/* =====================================================
   AUFTRAGSVERARBEITUNGSVERTRAG – FRONTEND
   Gleiche Designsprache wie Board und Dashboard.
===================================================== */

.cmd-dpa{
    --d-bg:        #0e131b;
    --d-surface:   #161d28;
    --d-surface-2: #1b2331;
    --d-border:    #232c3b;
    --d-border-2:  #303b4d;
    --d-text:      #e7ecf3;
    --d-text-2:    #a8b3c4;
    --d-muted:     #6c788b;
    --d-primary:   #3b82f6;
    --d-primary-2: #2563eb;
    --d-green:     #22c55e;
    --d-red:       #f87171;

    color-scheme:dark;
    box-sizing:border-box;
    background:var(--d-bg);
    color:var(--d-text);
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    font-size:14px;
    line-height:1.6;
    border:1px solid var(--d-border);
    border-radius:20px;
    padding:28px;
    margin:0 auto 40px;
    max-width:900px;
    -webkit-font-smoothing:antialiased;
}

.cmd-dpa *,
.cmd-dpa *::before,
.cmd-dpa *::after{ box-sizing:border-box; }

.cmd-dpa h2,
.cmd-dpa h3,
.cmd-dpa h4,
.cmd-dpa p,
.cmd-dpa ul{
    margin:0;
    padding:0;
    font-family:inherit;
    letter-spacing:normal;
    text-transform:none;
}


/* Kopf */

.cmd-dpa-head{
    margin-bottom:20px;
}

.cmd-dpa-head h2{
    font-size:24px;
    font-weight:700;
    line-height:1.25;
    color:var(--d-text);
    margin-bottom:8px !important;
}

.cmd-dpa-lead{
    color:var(--d-text-2);
    max-width:62ch;
}


/* Meldungen */

.cmd-dpa-msg{
    border-radius:12px;
    padding:14px 18px;
    margin-bottom:18px;
    font-size:13.5px;
}

.cmd-dpa-msg.is-error{
    background:rgba(239,68,68,.12);
    border:1px solid rgba(248,113,113,.4);
    color:#fecaca;
}

.cmd-dpa-msg.is-info{
    background:rgba(59,130,246,.12);
    border:1px solid rgba(59,130,246,.4);
    color:#bfdbfe;
}


/* Vertragsparteien */

.cmd-dpa-parties{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
    margin-bottom:22px;
}

.cmd-dpa-parties > div{
    background:var(--d-surface);
    border:1px solid var(--d-border);
    border-radius:14px;
    padding:16px 18px;
}

.cmd-dpa-parties h4{
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--d-muted);
    margin-bottom:8px !important;
}

.cmd-dpa-parties p{
    color:var(--d-text);
    font-size:13.5px;
    line-height:1.55;
}


/* Vertragstext */

.cmd-dpa-text{
    background:var(--d-surface);
    border:1px solid var(--d-border);
    border-radius:14px;
    padding:22px 24px;
    max-height:60vh;
    overflow-y:auto;
    margin-bottom:22px;
}

.cmd-dpa-text h3{
    font-size:14px;
    font-weight:700;
    color:var(--d-text);
    margin:22px 0 8px !important;
}

.cmd-dpa-text h3:first-child{ margin-top:0 !important; }

.cmd-dpa-text p{
    color:var(--d-text-2);
    margin-bottom:12px !important;
}

.cmd-dpa-text ul{
    margin:0 0 12px 0 !important;
    padding-left:20px !important;
    list-style:disc;
}

.cmd-dpa-text li{
    color:var(--d-text-2);
    margin-bottom:5px;
}

.cmd-dpa-text hr{
    border:none;
    border-top:1px solid var(--d-border);
    margin:18px 0;
}

/* Bildlaufleiste dezent halten */
.cmd-dpa-text::-webkit-scrollbar{ width:10px; }
.cmd-dpa-text::-webkit-scrollbar-thumb{
    background:var(--d-border-2);
    border-radius:8px;
    border:3px solid var(--d-surface);
}


/* Formular */

.cmd-dpa-form{
    background:var(--d-surface);
    border:1px solid var(--d-border);
    border-radius:14px;
    padding:22px 24px;
}

.cmd-dpa-check{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:18px;
    cursor:pointer;
}

.cmd-dpa-check input{
    width:19px;
    height:19px;
    margin:2px 0 0;
    accent-color:var(--d-primary);
    flex:0 0 auto;
    cursor:pointer;
}

.cmd-dpa-check span{
    color:var(--d-text);
    font-size:14px;
}

.cmd-dpa-fields{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.cmd-dpa-fields label{
    display:block;
}

.cmd-dpa-fields span{
    display:block;
    font-size:12px;
    font-weight:600;
    color:var(--d-text-2);
    margin-bottom:6px;
}

.cmd-dpa-fields em{
    font-style:normal;
    font-weight:400;
    color:var(--d-muted);
}

.cmd-dpa-fields input{
    width:100% !important;
    height:42px !important;
    padding:0 14px !important;
    background:var(--d-surface-2) !important;
    border:1px solid var(--d-border) !important;
    border-radius:9px !important;
    color:var(--d-text) !important;
    font-family:inherit;
    font-size:14px !important;
    box-shadow:none !important;
}

.cmd-dpa-fields input:focus{
    outline:none;
    border-color:var(--d-primary) !important;
    box-shadow:0 0 0 3px rgba(37,99,235,.15) !important;
}

.cmd-dpa-form button{
    display:inline-flex;
    align-items:center;
    height:44px;
    padding:0 22px;
    background:var(--d-primary);
    color:#fff;
    border:none;
    border-radius:10px;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(37,99,235,.28);
    transition:background .15s ease, transform .15s ease;
}

.cmd-dpa-form button:hover{
    background:var(--d-primary-2);
    color:#fff;
    transform:translateY(-1px);
}

.cmd-dpa-hint{
    margin-top:14px !important;
    font-size:12px;
    color:var(--d-muted);
    max-width:62ch;
}


/* Bestätigt */

.cmd-dpa-done{
    max-width:1400px;
    margin:0 auto 18px;
    background:rgba(34,197,94,.12);
    border:1px solid rgba(34,197,94,.4);
    border-radius:12px;
    padding:14px 18px;
    color:#bbf7d0;
    font-family:"Inter",system-ui,sans-serif;
    font-size:13.5px;
}

.cmd-dpa-done a{
    color:#bbf7d0 !important;
    text-decoration:underline !important;
    margin-left:6px;
}


/* Responsiv */

@media(max-width:700px){

    .cmd-dpa{
        padding:20px;
        border-radius:16px;
    }

    .cmd-dpa-parties,
    .cmd-dpa-fields{
        grid-template-columns:1fr;
    }
}

.cmd-dpa-text h4{
    font-size:13px;
    font-weight:600;
    color:var(--d-text);
    margin:14px 0 6px !important;
}
