.employment-hero[hidden],
.panel[hidden],
#employment-content[hidden],
#employment-empty[hidden],
#employment-loading[hidden],
#signed-actions[hidden] { display: none !important; }
#sidejob-form[hidden],
#sidejob-pending[hidden],
#workrule-documents[hidden],
#workrule-unavailable[hidden],
#workrule-form[hidden] { display: none !important; }
.employment-hero { display: grid; gap: 18px; }
.employment-status { justify-self: start; padding: 7px 12px; border-radius: 999px; color: #0f5d52; background: #dff4ee; font-weight: 700; }
.employment-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }
.employment-summary div, .important-conditions div { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fafcf9; }
.employment-summary dt, .important-conditions span { display: block; color: var(--muted); font-size: .78rem; }
.employment-summary dd { margin: 4px 0 0; font-weight: 700; }
.notice, .legal-note { padding: 14px; border-left: 4px solid #c38b22; background: #fff8e8; }
.workrule-documents { margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fafcf9; }
.workrule-documents h3 { margin: 0 0 12px; font-size: 1rem; }
.workrule-documents ol { display: grid; gap: 10px; margin: 0; padding-left: 28px; }
.workrule-documents li { padding-left: 4px; }
.workrule-documents li strong { display: inline-block; margin: 8px 12px 8px 0; }
.employment-admin-actions { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.employment-admin-actions h3 { margin-top: 24px; }
.employment-admin-actions textarea { width: 100%; min-height: 90px; box-sizing: border-box; }
.danger-button { color: #8d1d1d; border-color: #cf8d8d; }
.audit-entry { display: grid; gap: 5px; margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.audit-entry span, .audit-entry small { color: var(--muted); }
.audit-entry pre { max-height: 240px; overflow: auto; white-space: pre-wrap; background: #f6f7f5; padding: 10px; }
.employment-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 0; list-style: none; }
.employment-steps li { padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.employment-steps .done { border-color: #80c9b8; background: #effaf6; }
.employment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.employment-form label span { display: block; margin-bottom: 6px; font-weight: 700; }
.employment-form input:not([type=checkbox]), .employment-form select { width: 100%; box-sizing: border-box; padding: 11px; border: 1px solid var(--line); border-radius: 9px; }
.employment-form .wide, .employment-form .check { grid-column: 1 / -1; }
.check, .agreement-list label, .delivery-options label { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; }
.important-conditions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.contract-body { max-height: 520px; overflow: auto; white-space: pre-wrap; font: inherit; line-height: 1.8; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.employment-dialog { width: min(560px, calc(100% - 28px)); border: 0; border-radius: 18px; padding: 24px; box-shadow: 0 20px 70px #0004; }
.employment-dialog dl div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 10px 0; }
.employment-dialog dd { font-weight: 700; text-align: right; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
@media (max-width: 760px) {
  .employment-summary, .employment-steps, .important-conditions, .employment-form { grid-template-columns: 1fr; }
}
