.moderator-ui{
    max-width:900px;
    margin:auto;
}

.mod-login-card{
    background:var(--surface);
    padding:40px;
    border-radius:var(--radius-big);
    box-shadow:var(--shadow-soft);
    max-width:420px;
    margin:80px auto;
}

.mod-login-card input{
    width:100%;
    margin:8px 0;
    padding:12px;
    border:1px solid var(--border);
    border-radius:var(--radius);
}

.mod-login-card button{
    width:100%;
    margin-top:12px;
}

.mod-login-link {
    margin-top: 1rem;
    font-size: 0.9rem;
}

.mod-login-link a {
    color: var(--text-muted);
}

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

.mod-tabs{
    display:flex;
    gap:10px;
    margin-bottom:20px;
}

.mod-tabs button{
    padding:10px 16px;
    border-radius:var(--radius);
    border:1px solid var(--border);
    background:var(--surface);
    cursor:pointer;
}

.mod-tabs .active{
    background:var(--primary-gradient);
    color:white;
}

.mod-section{
    background:var(--surface);
    padding:24px;
    border-radius:var(--radius-big);
    box-shadow:var(--shadow-soft);
}

.mod-create{
    display:flex;
    gap:10px;
    margin-bottom:20px;
}

.mod-list + .mod-create{
    margin-top:16px;
}

.mod-create input{
    flex:1;
    padding:10px;
}

.mod-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.mod-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    cursor:default;
}

.mod-partei-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.mod-partei-logo{
    width:40px;
    height:40px;
    object-fit:contain;
    flex-shrink:0;
    border-radius:var(--radius);
}

.mod-partei-name{
    font-weight:500;
}

.mod-thesen-count{
    font-size:0.9em;
    color:var(--text-muted);
    font-weight:400;
}

.mod-row-unanswered{
    opacity:0.65;
    background:var(--surface-muted, #f5f5f5);
}

.mod-row-unanswered .mod-partei-logo{
    filter:grayscale(1);
}

.mod-list-draggable .mod-row{
    cursor:grab;
}

.mod-list-draggable .mod-row:active{
    cursor:grabbing;
}

.mod-drag-handle{
    margin-right:10px;
    color:var(--text-muted);
    font-size:1rem;
    cursor:grab;
    user-select:none;
    flex-shrink:0;
}

.mod-row.mod-dragging{
    opacity:0.6;
    box-shadow:var(--shadow-soft);
}

.mod-row.mod-drag-over{
    border-color:var(--primary);
    background:var(--surface-muted, #f8f9fa);
}

.mod-edit-input{
    flex:1;
    min-width:0;
    margin:0 10px 0 0;
    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    font-size:1rem;
}

.mod-error{
    color:var(--danger);
    margin-bottom:10px;
}

/* ----- Parteien: aufklappbare Detailansicht ----- */
.mod-partei-block{
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
}

.mod-partei-header{
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.mod-partei-header:hover{
    background:var(--surface-muted, #f8f9fa);
}

.mod-partei-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

.mod-partei-toggle{
    font-size:0.75rem;
    color:var(--text-muted);
}

.mod-partei-del-btn{
    padding:6px 12px;
    font-size:0.9rem;
    border-radius:var(--radius);
    border:1px solid var(--border);
    background:var(--surface);
    cursor:pointer;
}

.mod-partei-del-btn:hover{
    background:var(--danger-bg, #fee2e2);
    border-color:var(--danger, #dc2626);
}

.mod-partei-detail{
    padding:1rem 1rem 1rem 2.5rem;
    background:var(--surface-muted, #f8f9fa);
    border-top:1px solid var(--border);
}

.mod-partei-detail-loading{
    color:var(--text-muted);
    font-size:0.95rem;
}

.mod-partei-detail-table{
    width:100%;
    border-collapse:collapse;
    font-size:0.9rem;
}

.mod-partei-detail-table th,
.mod-partei-detail-table td{
    padding:0.5rem 0.75rem;
    text-align:left;
    border-bottom:1px solid var(--border-soft, #eee);
}

.mod-partei-detail-table th{
    font-weight:600;
    color:var(--text-muted);
}

.mod-partei-detail-table .mod-detail-thesis{
    max-width:320px;
}

.mod-partei-detail-table .mod-detail-zustimmung{
    color:var(--success, #059669);
}

.mod-partei-detail-table .mod-detail-ablehnung{
    color:var(--danger, #dc2626);
}

.mod-partei-detail-table .mod-detail-neutral{
    color:var(--text-muted);
}

.mod-partei-detail-table .mod-detail-unbeantwortet{
    color:var(--text-muted);
}

.mod-partei-detail-table tr.mod-detail-unanswered .mod-detail-party{
    color:var(--text-muted);
    font-style:italic;
}

.mod-partei-detail-table .mod-detail-begruendung{
    max-width:280px;
}

@media (max-width: 640px) {
    .mod-partei-detail{
        padding:0.75rem 0.75rem 0.75rem 1rem;
    }
    .mod-partei-detail-table thead{ display:none; }
    .mod-partei-detail-table tbody tr{
        display:block;
        margin-bottom:1rem;
        padding:0.75rem;
        background:var(--surface);
        border-radius:var(--radius);
        border:1px solid var(--border);
    }
    .mod-partei-detail-table tbody td{
        display:block;
        padding:0.35rem 0;
        border:none;
    }
    .mod-partei-detail-table tbody td::before{
        content:attr(data-label);
        display:block;
        font-size:0.7rem;
        font-weight:600;
        text-transform:uppercase;
        color:var(--text-muted);
        margin-bottom:0.2rem;
    }
}