/* FX AI Job Analyzer – Phase 3 */
.fx-aijob-wrap { max-width:980px; margin:30px auto; font-family:inherit; }
.fx-aijob-card { background:#fff; border:1px solid #ddd; border-radius:14px; padding:30px; box-shadow:0 8px 30px rgba(0,0,0,.06); }
.fx-aijob-progress { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.fx-aijob-progress span { padding:8px 12px; border-radius:999px; background:#f1f1f1; font-size:13px; }
.fx-aijob-progress .is-active { font-weight:700; }
.fx-aijob-card h2 { margin:0 0 10px; font-size:30px; }
.fx-aijob-workflow { margin:0 0 18px; line-height:1.55; }
.fx-aijob-workflow strong { display:block; margin-bottom:4px; }
.fx-aijob-workflow ol { margin:0 0 0 22px; padding:0; }
.fx-aijob-workflow li { margin:2px 0; }
.fx-aijob-card h3 { margin:0 0 8px; font-size:21px; }
.fx-aijob-intro,.fx-aijob-help { color:#555; line-height:1.55; }
.fx-aijob-required-note { margin: 0 0 16px; font-size: 13px; color: #555; }
.fx-aijob-required-note span, .fx-aijob-required { font-weight: 700; color: #d00000; }
.fx-aijob-required { margin-left: 2px; }
.fx-aijob-card input:required:invalid, .fx-aijob-card textarea:required:invalid { border-color: #bbb; box-shadow: none; }
.fx-aijob-card input:required:focus:invalid, .fx-aijob-card textarea:required:focus:invalid { border-color: #888; box-shadow: 0 0 0 2px rgba(0,0,0,.06); }

.fx-aijob-section { border-top:1px solid #e5e5e5; padding-top:24px; margin-top:24px; }
.fx-aijob-card label { display:block; font-weight:600; margin-bottom:7px; }
.fx-aijob-card input[type=text],.fx-aijob-card input[type=email],.fx-aijob-card textarea {
 width:100%; box-sizing:border-box; border:1px solid #bbb; border-radius:8px;
 padding:12px; background:#fff; font:inherit; line-height:1.5;
}
.fx-aijob-card textarea { resize:vertical; min-height:230px; }
.fx-aijob-counter { text-align:left; color:#666; font-size:13px; margin-top:6px; }
.fx-aijob-actions { margin-top:28px; text-align:right; }
.fx-aijob-button { display:inline-block; border:0; border-radius:8px; padding:13px 20px; cursor:pointer; font-weight:700; text-decoration:none; background:#111; color:#fff; }
.fx-aijob-button:disabled { opacity:.55; cursor:wait; }
.fx-aijob-message { margin-top:18px; min-height:22px; font-weight:600; color:#e67e22; }
.fx-aijob-message.is-success { color:#2e7d32; }
.fx-aijob-message.is-error { color:#d00000; }
.fx-aijob-result { margin-top:25px; padding:20px; border:1px solid #ddd; border-radius:10px; background:#fafafa; }
.fx-aijob-result-group { margin:18px 0; }
.fx-aijob-result-group ul { margin:7px 0 0 20px; }
.fx-aijob-privacy { margin-top:22px; padding-top:15px; border-top:1px solid #eee; color:#777; font-size:12px; }
.fx-aijob-grid { display:grid; grid-template-columns:2fr 1fr 1.5fr; gap:14px; }
@media (max-width:700px) {
 .fx-aijob-card{padding:20px}
 .fx-aijob-grid{grid-template-columns:1fr}
 .fx-aijob-actions{text-align:left}
}

.fx-aijob-jobs { margin-top:28px; }
.fx-aijob-job { border:1px solid #ddd; border-radius:10px; padding:18px; margin:12px 0; background:#fff; }
.fx-aijob-job-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; font-size:18px; }
.fx-aijob-fit { font-size:13px; font-weight:700; white-space:nowrap; }
.fx-aijob-job-company { color:#555; margin:7px 0 14px; }
.fx-aijob-job ul { margin-top:6px; }
.fx-aijob-select { margin-top:24px; padding:18px; border:1px solid #ddd; border-radius:10px; background:#f8f8f8; }
.fx-aijob-select input { max-width:180px; width:180px; height:46px; margin-right:10px; padding:12px; box-sizing:border-box; vertical-align:middle; }
.fx-aijob-select .fx-aijob-button { height:46px; box-sizing:border-box; vertical-align:middle; }
@media(max-width:700px){.fx-aijob-job-head{flex-direction:column}.fx-aijob-select input{max-width:100%;margin:0 0 10px}}

.fx-aijob-detail { margin-top:30px; }
.fx-aijob-detail section { border-top:1px solid #ddd; padding-top:20px; margin-top:20px; }
.fx-aijob-detail h4 { margin-bottom:6px; }
.fx-aijob-application { white-space:normal; line-height:1.7; padding:18px; background:#fff; border:1px solid #ddd; border-radius:10px; }
.fx-aijob-detail a { word-break:break-word; }

.fx-aijob-salary { font-size:20px; }
.fx-aijob-match { max-width:700px; padding:15px; border:1px solid #ddd; border-radius:10px; background:#fff; }
.fx-aijob-match-label { display:flex; justify-content:space-between; margin-bottom:8px; }
.fx-aijob-match-track { height:16px; background:linear-gradient(to right,#e8e8e8 0%,#e8e8e8 50%,#d8d8d8 50%,#d8d8d8 75%,#c8c8c8 75%,#c8c8c8 100%); border-radius:999px; overflow:hidden; }
.fx-aijob-match-fill { display:block; height:100%; background:#111; border-radius:999px; }
.fx-aijob-match-scale { display:flex; justify-content:space-between; font-size:12px; color:#666; margin-top:5px; }
.fx-aijob-route-table-wrap { overflow-x:auto; margin-top:15px; }
.fx-aijob-route-table { width:100%; border-collapse:collapse; background:#fff; }
.fx-aijob-route-table th,.fx-aijob-route-table td { border:1px solid #ddd; padding:11px; text-align:left; }
.fx-aijob-route-table th { background:#f5f5f5; }
.fx-aijob-route-note { font-size:12px; color:#666; }


.fx-aijob-cv-document { margin-top:16px; background:#fff; border:1px solid #ddd; border-radius:10px; padding:28px; line-height:1.6; }
.fx-aijob-cv-header { border-bottom:2px solid #222; padding-bottom:15px; margin-bottom:20px; }
.fx-aijob-cv-header h2 { margin:0 0 6px; font-size:27px; }
.fx-aijob-cv-header p { margin:4px 0; color:#555; }
.fx-aijob-cv-target { margin-top:12px !important; color:#111 !important; }
.fx-aijob-cv-document section { border-top:1px solid #e5e5e5; padding-top:15px; margin-top:18px; }
.fx-aijob-cv-document h4 { margin:0 0 7px; font-size:18px; }
.fx-aijob-cv-document h5 { margin:0 0 3px; font-size:16px; }
.fx-aijob-cv-experience { margin:0 0 16px; }
.fx-aijob-cv-experience p { margin:3px 0; }
.fx-aijob-cv-missing { background:#fff8e8; padding:14px !important; border:1px solid #e8d6a8 !important; border-radius:8px; }
.fx-aijob-cv-loading { padding:16px; border:1px solid #ddd; border-radius:8px; background:#fff; }
.fx-aijob-cv-actions { margin-top:15px; }
.fx-aijob-error { color:#9b1c1c; }
@media print {
    body * { visibility:hidden !important; }
    #fx-aijob-cv, #fx-aijob-cv * { visibility:visible !important; }
    #fx-aijob-cv { position:absolute; left:0; top:0; width:100%; }
    #fx-print-cv, .fx-aijob-cv-actions { display:none !important; }
    .fx-aijob-cv-document { border:0; box-shadow:none; }
}

/* Phase 5.6.10 – systematic chronological CV layout */
.fx-aijob-cv-document .fx-aijob-cv-section { margin: 0 0 12px; }
.fx-aijob-cv-document .fx-aijob-cv-section h4 {
    background: #f1f1f1;
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
    padding: 4px 6px;
    margin: 0 0 8px;
}
.cv-personal-grid { display:grid; grid-template-columns: 1fr 100px; gap:20px; }
.cv-photo { border:1px dashed #555; min-height:80px; display:flex; align-items:center; justify-content:center; }
.cv-timeline-item { display:grid; grid-template-columns: 145px 1fr; gap:10px; padding:5px 0; border-bottom:1px dashed #777; }
.cv-date { font-weight:400; }
.cv-entry { white-space:pre-wrap; }
@media(max-width:650px){ .cv-personal-grid,.cv-timeline-item{grid-template-columns:1fr;} .cv-photo{display:none;} }

.fx-aijob-photo-preview img { max-width:120px; max-height:150px; object-fit:cover; margin-top:8px; border:1px solid #aaa; }
.fx-aijob-photo-status { margin-top:5px; font-size:12px; }
.cv-photo { overflow:hidden; width:100px; min-height:120px; display:flex; align-items:center; justify-content:center; }
.cv-photo img { width:100px; height:120px; object-fit:cover; display:block; }

.fx-aijob-cv-upload { margin: 10px 0 12px; padding: 10px; border: 1px dashed #aaa; }
.fx-aijob-cv-upload input[type=file] { display:block; margin:6px 0; }
.fx-aijob-cv-upload small { display:block; font-size:12px; }

.fx-aijob-personal input#fx-cv-name { min-width: 220px; }

.fx-aijob-export-buttons { display:flex; gap:8px; margin:10px 0 14px; }
.fx-aijob-export-buttons .fx-aijob-button { min-width:70px; }
@media print { .fx-aijob-export-buttons { display:none !important; } }

.fx-aijob-export-buttons {
    display:flex;
    gap:8px;
    margin:16px 0 0;
    padding-top:12px;
    border-top:1px solid #ddd;
}

.fx-aijob-access-box { margin:16px 0 12px; padding:14px; border:1px solid #ddd; border-radius:8px; }
.fx-aijob-access-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.fx-aijob-access-row input { width:50%; min-width:0; max-width:50%; box-sizing:border-box; }
.fx-aijob-access-buy { display:inline-block; margin-top:10px; }
#fx-search-jobs:disabled { opacity:.6; cursor:not-allowed; }
.fx-aijob-access-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-left:auto;
}
.fx-aijob-access-actions .fx-aijob-button {
    white-space:nowrap;
}
@media (max-width:700px) {
    .fx-aijob-access-actions {
        width:100%;
        margin-left:0;
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}



/* Bewerbungsschreiben – Briefkopf */
.fx-aijob-application-letterhead {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin: 8px 0 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
    line-height: 1.55;
}
.fx-aijob-letter-recipient {
    padding-top: 0;
}
.fx-aijob-letter-title {
    margin: 0 0 22px;
    font-weight: 600;
}
@media (max-width: 700px) {
    .fx-aijob-application-letterhead {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* Einheitliche Größen für E-Mail- und Datei-Eingaben */
.fx-aijob-card input[type=email],
.fx-aijob-card input[type=file] {
    width:100%;
    min-height:46px;
    height:46px;
    box-sizing:border-box;
    padding:10px 12px;
    font:inherit;
    line-height:1.5;
}
.fx-aijob-card input[type=file] {
    padding:6px 8px;
}
.fx-aijob-card input[type=file]::file-selector-button {
    height:34px;
    margin-right:10px;
    padding:6px 12px;
    border:0;
    border-radius:6px;
    background:#eee;
    color:#111;
    font:inherit;
    cursor:pointer;
}


.fx-aijob-email-editor { margin-top:28px; padding:22px; border:1px solid #ddd; border-radius:10px; background:#fafafa; }
.fx-aijob-email-editor h3 { margin-top:0; }
.fx-aijob-email-editor input[type=email],
.fx-aijob-email-editor input[type=text],
.fx-aijob-email-editor textarea { width:100%; box-sizing:border-box; margin-bottom:14px; }
.fx-aijob-email-editor textarea { min-height:180px; resize:vertical; }
.fx-aijob-email-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:6px; }
.fx-aijob-email-actions .fx-aijob-help { margin:0; }

.fx-aijob-attachment-list { margin:6px 0 14px; font-size:12px; color:#555; line-height:1.5; }

.fx-aijob-email-actions .fx-aijob-button { margin-right: 6px; margin-bottom: 6px; }
