.field-access-panel { min-width: 0; padding: 16px; }
.field-invoice-panel { width: 100%; border-top: 1px solid #b8cad4; }
.field-invoice-panel .table-wrap { max-width: 100%; overflow: auto; }
.field-invoice-panel table { min-width: 760px; width: 100%; }
.field-access-dialog.field-invoice-dialog { width: min(1000px, calc(100vw - 32px)); }
.field-invoice-dialog h2 { min-width: 0; overflow-wrap: anywhere; }
.field-invoice-panel td { max-width: 320px; overflow-wrap: anywhere; }
.field-invoice-dialog > .table-wrap, .field-invoice-dialog > .report-note { margin: 16px; }
.field-invoice-document table { min-width: 660px; width: 100%; border-collapse: collapse; }
.field-invoice-document td, .field-invoice-document th { padding: 8px; border-bottom: 1px solid #b8cad4; text-align: left; }
.field-invoice-document p { overflow-wrap: anywhere; }
.field-invoice-dialog .field-review-actions { padding: 16px; }
.field-invoice-dialog .field-review-actions textarea { width: 100%; min-height: 64px; }
.field-access-panel .panel-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.field-access-panel h3 { margin-right: auto; }
.field-access-panel button, .field-access-dialog button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.field-access-panel button svg, .field-access-dialog button svg { width: 16px; height: 16px; flex: none; }
.field-access-panel td button { margin: 3px; }
.field-access-dialog { width: min(660px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #b8cad4; border-radius: 8px; background: #fff; color: #142d3b; overflow: auto; }
.field-access-dialog::backdrop { background: rgba(0, 0, 0, .58); }
.field-access-dialog header { display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 16px; border-bottom: 1px solid #b8cad4; }
.field-access-dialog h2 { font-size: 20px; margin: 0; }
.field-access-content { padding: 16px; }
.field-access-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field-access-dialog label { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin-bottom: 12px; }
.field-access-dialog label[hidden] { display: none; }
.field-access-dialog input, .field-access-dialog select { box-sizing: border-box; width: 100%; min-width: 0; }
.field-access-dialog .report-note { overflow-wrap: anywhere; }
.field-jobs-controls { margin-bottom: 16px; }
.field-section { min-width: 0; border-top: 1px solid var(--border, #ccd6dc); }
.field-section > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-height: 44px; padding: 10px 4px; cursor: pointer; list-style: none; color: inherit; }
.field-section > summary::-webkit-details-marker { display: none; }
.field-section > summary:focus-visible { outline: 2px solid var(--accent, #0785bc); outline-offset: -2px; }
.field-section > summary > svg, .field-section > summary > i { width: 18px; height: 18px; flex: 0 0 18px; }
.field-section[open] > summary > svg, .field-section[open] > summary > i { transform: rotate(90deg); }
.field-section-title { font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }
.field-section-summary { flex: 1 1 240px; font-size: 13px; font-weight: 400; overflow-wrap: anywhere; color: var(--muted, #526776); }
.field-section-content { min-width: 0; padding: 8px 4px 16px; }
.field-section:not([open]) > .field-section-content { display: none; }
.field-section-content > .field-access-panel { padding: 0; }
.field-section-content > .field-access-panel > .panel-head { justify-content: flex-end; }
.field-access-panel > .report-note:empty { display: none; }
@media (max-width: 540px) { .field-section-summary { flex-basis: 100%; margin-left: 30px; } }
.field-access-panel label, #constructionFieldJobsWorkspace > label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field-jobs-controls select { width: 100%; min-width: 0; box-sizing: border-box; }
.field-access-panel .table-wrap { overflow-x: auto; }
.field-access-panel th, .field-access-panel td { padding: 10px; text-align: left; vertical-align: top; }
.field-access-panel .report-note { overflow-wrap: anywhere; }
body.dark-mode .field-access-dialog, body[data-theme="dark"] .field-access-dialog { background: #0c202c; color: #e6f2f7; border-color: #476271; }
@media (max-width: 540px) { .field-access-form { grid-template-columns: minmax(0, 1fr); } }
.field-daily-row { padding: 16px 0; border-bottom: 1px solid var(--border, #ccd6dc); }
.field-unit-form { padding: 16px; }
.field-map-status:not(:empty) { max-width: 240px; padding: 6px 8px; background: #fff; color: #9a3412; border: 1px solid #d8d8d8; font: 12px/1.4 sans-serif; }
.field-map-structure span { display: block; width: 20px; height: 20px; border: 3px solid #d71920; background: rgba(255,255,255,.8); }
.field-unit-form .field-line-preview, .field-unit-form .report-note, .field-unit-form button { grid-column: 1 / -1; }
.field-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 12px; }
.field-review-actions input { flex: 1; min-width: 180px; }
.field-line-preview { height: 40px; min-width: 80px; position: relative; }
.field-line-preview::before { content: ""; display: block; width: 100%; border-top: 3px solid #d71920; position: absolute; top: 18px; }
.field-line-preview[data-pattern="dashed"]::before { border-top-style: dashed; }
.field-line-preview[data-pattern="dotted"]::before { border-top-style: dotted; }
.field-line-preview[data-pattern="dash-dot"]::before { border: 0; height: 3px; background: repeating-linear-gradient(to right,#d71920 0 12px,transparent 12px 17px,#d71920 17px 19px,transparent 19px 24px); }
.field-line-preview[data-kind="structure"]::before { width: 22px; height: 22px; top: 7px; border: 3px solid #d71920; background: transparent; }
.field-line-preview[data-kind="structure"][data-symbol="circle"]::before { border-radius: 50%; }
.field-line-preview[data-kind="structure"][data-symbol="diamond"]::before { transform: rotate(45deg); }
