/* Baza zleceń — admin + panel realizatora */
.pjm-jobs-panel { max-width: none; }
.pjm-jobs-hero { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.pjm-jobs-lead { margin: 4px 0 0; font-size: 13px; color: var(--ja-text-light, #637381); max-width: 560px; }
.pjm-jobs-kpi { margin-bottom: 16px; }
.pjm-jobs-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pjm-jobs-filter {
    display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px;
    font-size: 13px; font-weight: 600; text-decoration: none !important;
    background: #fff; border: 1px solid var(--ja-border, #dfe6e9); color: var(--ja-text, #16241D);
}
.pjm-jobs-filter.active { background: var(--ja-primary, #16241D); border-color: var(--ja-primary, #16241D); color: #fff; }
.pjm-jobs-search { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pjm-jobs-search input[type=search] { flex: 1; min-width: 200px; padding: 10px 12px; border: 1px solid var(--ja-border); border-radius: 8px; }
.pjm-jobs-table-wrap { overflow-x: auto; }
.pjm-jobs-empty { text-align: center; color: #637381; padding: 20px !important; }
.pjm-jobs-ext { font-size: 10px; font-weight: 700; color: #b45309; margin-left: 4px; }
.pjm-badge--job { font-size: 11px; }
.pjm-badge--job-pending { background: #fffbeb; color: #92400e; }
.pjm-badge--job-published { background: #ecfdf5; color: #047857; }
.pjm-badge--job-assigned { background: #eff6ff; color: #1d4ed8; }
.pjm-badge--job-rejected, .pjm-badge--job-cancelled { background: #fef2f2; color: #b91c1c; }
.pjm-badge--job-closed { background: #f3f4f6; color: #4b5563; }
.pjm-badge--job-draft { background: #f3f4f6; color: #6b7280; }
.pjm-badge--job-cancelled { background: #f3f4f6; color: #6b7280; }
.pjm-jobs-muted { display: block; font-size: 11px; color: #8a978f; font-weight: 500; }
.pjm-jobs-filters--type { margin-top: -6px; }
.pjm-job-type {
    display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 999px;
    background: #eef5f1; color: #1B5E4B;
}
.pjm-job-type--text { background: #eef2ff; color: #4338ca; }
.pjm-job-type--video { background: #fff7ed; color: #c2410c; }
.pjm-job-type--event { background: #eef5f1; color: #1B5E4B; }

.pjm-job-modal-box { max-width: min(860px, 96vw); }
.pjm-job-steps { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.pjm-job-step {
    border: 1px solid #e3e8e5; background: #f8faf9; color: #586660; border-radius: 999px;
    padding: 7px 12px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit;
}
.pjm-job-step.active { background: #1B5E4B; border-color: #1B5E4B; color: #fff; }
.pjm-job-step-pane { margin-bottom: 8px; }
.pjm-job-type-cards {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px;
}
.pjm-job-type-cards--compact { margin-bottom: 12px; }
.pjm-job-type-card {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    border: 1px solid #e3e8e5; border-radius: 12px; padding: 12px 14px; cursor: pointer; background: #fff;
}
.pjm-job-type-card:has(input:checked) { border-color: #1B5E4B; background: #f3faf6; box-shadow: inset 0 0 0 1px #1B5E4B; }
.pjm-job-type-card input { position: absolute; opacity: 0; pointer-events: none; }
.pjm-job-type-card .material-symbols-rounded { color: #1B5E4B; font-size: 22px; }
.pjm-job-type-card strong { font-size: 13px; color: #14352A; }
.pjm-job-preview { margin-top: 16px; padding-top: 14px; border-top: 1px solid #eef2f0; }
.pjm-job-preview h4 { margin: 0 0 10px; font-size: 14px; color: #14352A; }
.pjm-job-preview-card { pointer-events: none; }
.pjm-job-preview-hint { margin: 8px 0 0; font-size: 12px; color: #8a978f; }
.pjm-job-form-note { margin: 8px 0 0; font-size: 12px; color: #8a978f; }

.pjm-job-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}
.pjm-job-field { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #42514a; }
.pjm-job-field--wide { grid-column: 1 / -1; }
.pjm-job-field input, .pjm-job-field select, .pjm-job-field textarea {
    font-weight: 400; padding: 10px 12px; border: 1px solid #dfe6e9; border-radius: 8px; font-size: 14px;
}
.pjm-job-form-actions { margin-top: 16px; flex-wrap: wrap; }
.pjm-badge--bid-mode-team { background: #eef2ff; color: #4338ca; }
.pjm-badge--bid-mode-solo { background: #ecfdf5; color: #047857; }
.pjm-portal-job-my { margin-top: 20px; }
.pjm-portal-job-my h4 { margin: 0 0 10px; font-size: 15px; }

.pjm-job-detail__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.pjm-job-detail__meta { margin: 6px 0 0; font-size: 13px; color: #637381; }
.pjm-job-detail__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pjm-job-detail__grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
    margin-bottom: 16px; padding: 12px; background: #f8faf9; border-radius: 10px; border: 1px solid #eef2f0;
}
.pjm-job-detail__grid .k { display: block; font-size: 11px; color: #637381; text-transform: uppercase; letter-spacing: .03em; }
.pjm-job-detail__grid .v { display: block; font-size: 14px; font-weight: 600; margin-top: 2px; }
.pjm-job-detail__block { margin-bottom: 16px; }
.pjm-job-detail__block h5 { margin: 0 0 8px; font-size: 14px; }
.pjm-job-detail__alert { padding: 10px 12px; border-radius: 8px; font-size: 13px; margin-bottom: 12px; }
.pjm-job-detail__alert--warn { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }

.pjm-jobs-bids { display: flex; flex-direction: column; gap: 10px; }
.pjm-jobs-bid { padding: 12px; border: 1px solid #eef2f0; border-radius: 10px; background: #fff; }
.pjm-jobs-bid__main { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pjm-jobs-bid__amount { font-weight: 700; color: #16241D; }
.pjm-jobs-bid__msg { margin: 8px 0 0; font-size: 13px; color: #586660; }

/* Panel realizatora */
.pjm-tp-jobs-list { display: flex; flex-direction: column; gap: 12px; }
.pjm-tp-job-card {
    border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; background: #fff;
}
.pjm-tp-job-card__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.pjm-tp-job-card__title { margin: 0; font-size: 16px; }
.pjm-tp-job-card__meta { font-size: 13px; color: #586660; margin: 0 0 10px; }
.pjm-tp-job-bid-form {
    display: grid; grid-template-columns: 1fr 120px 1fr auto; gap: 8px; align-items: end; margin-top: 10px;
}
.pjm-tp-job-bid-form label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; }
.pjm-tp-job-bid-form input, .pjm-tp-job-bid-form textarea { padding: 8px 10px; border: 1px solid #dfe6e9; border-radius: 8px; }
.pjm-tp-job-bid-mode {
    grid-column: 1 / -1; border: 1px solid #eef2f0; border-radius: 10px; padding: 10px 12px; margin: 0;
    display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; background: #f8faf9;
}
.pjm-tp-job-bid-mode legend { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #586660; padding: 0 4px; }
.pjm-tp-job-bid-mode label { flex-direction: row; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; }
.pjm-tp-job-bid-msg { font-size: 12px; margin-top: 6px; grid-column: 1 / -1; }
.pjm-tp-job-mybid { margin-top: 8px; padding: 8px 10px; background: #ecfdf5; border-radius: 8px; font-size: 13px; }

.pjm-portal-job-submit { margin-top: 24px; padding: 16px; border: 1px solid #eef2f0; border-radius: 12px; background: #fafcfb; }
.pjm-portal-job-submit h4 { margin: 0 0 12px; }

@media (max-width: 720px) {
    .pjm-tp-job-bid-form { grid-template-columns: 1fr; }
    .pjm-job-form-grid { grid-template-columns: 1fr; }
    .pjm-job-type-cards { grid-template-columns: 1fr; }
}
