.j-root{max-width:100%;min-width:0}.j-root .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.j-root .toolbar label{display:flex;gap:8px;align-items:center}.j-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.j-panel{padding:20px;border:1px solid var(--line,#d3d9dc);border-radius:16px;background:var(--panel,#fff);color:var(--text,#182327)}.j-table-wrap{max-width:100%;overflow:auto;margin:16px 0;border:1px solid var(--line,#d3d9dc);border-radius:10px}.j-table{width:100%;border-collapse:collapse;font-size:14px}.j-table th,.j-table td{padding:10px 12px;border-bottom:1px solid var(--line,#d3d9dc);text-align:left;vertical-align:top;min-width:100px;overflow-wrap:anywhere}.j-table th{background:var(--panel-2,#edf1f2)}.j-table td .button{margin:2px;font-size:12px;padding:6px 8px}.j-status{font-size:12px;display:block;max-width:430px;min-width:180px}.j-status.red{background:#ffe4df;color:#8c2414;border-left:4px solid #b93022;padding:8px}.j-status.amber{background:#fff0c8;color:#705000;padding:8px}.j-search{max-width:600px;width:100%;margin:12px 0}.j-dialog{max-width:min(1000px,95vw);width:100%;max-height:90vh;overflow:auto;padding:24px;border:1px solid #687576;border-radius:16px;background:var(--panel,#fff);color:var(--text,#182327)}.j-modal-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.j-modal-head button{font-size:28px}.j-check{display:flex;gap:8px;align-items:center;padding:8px}.j-source{font-family:inherit;white-space:pre-wrap;max-height:55vh;overflow:auto;font-size:13px;line-height:1.5}.j-dialog [data-j-error]{color:#c03020}.j-dialog .wide{grid-column:1/-1}.j-root select{max-width:100%}.j-dialog .record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.j-dialog textarea{min-height:90px}.j-dialog fieldset{border:1px solid var(--line,#aaa);border-radius:10px}.j-dialog .toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}@media(max-width:700px){.j-dialog .record-form{grid-template-columns:1fr}.j-dialog{padding:16px}.j-panel{padding:12px}.j-root .toolbar label{flex-wrap:wrap}.j-root .toolbar select{width:100%}}

.j-column-row{display:grid;grid-template-columns:1.3fr .6fr 1.4fr .6fr;gap:10px;margin:10px 0;border-bottom:1px solid var(--line,#ccc);padding-bottom:10px}@media(max-width:700px){.j-column-row{grid-template-columns:1fr 1fr}}

.j-root .toolbar label{min-width:0;max-width:100%;flex-wrap:wrap}.j-root select{min-width:0;max-width:100%;font:inherit;border:1px solid var(--line,#c6cdd2);border-radius:8px;padding:8px;background:var(--panel,#fff);color:var(--text,#182327)}.j-root .toolbar select{width:min(520px,100%)}

.j-document-preview{padding:20px;background:var(--panel,#fff);border:1px solid var(--line,#ccc);border-radius:12px}.j-document-header{text-align:center}.j-document-header img{max-width:110px;max-height:90px;object-fit:contain}.j-document-preview h3{text-align:center}.j-document-text{white-space:pre-wrap}.j-document-preview .j-table{table-layout:fixed;min-width:750px}.j-document-preview .j-table td,.j-document-preview .j-table th{min-width:0}

.j-source-dialog{width:min(1320px,96vw);max-width:96vw;max-height:92vh;overflow:auto}.j-source-dialog .j-modal-head{position:sticky;top:-24px;background:var(--panel,#fff);padding:12px 0;z-index:1}.j-source-dialog .toolbar{display:flex;flex-wrap:wrap;gap:12px}.j-source-dialog select{max-width:100%;width:min(450px,100%);font:inherit;padding:8px}.j-source-dialog .j-table{font-size:14px}.j-source-dialog .j-table th,.j-source-dialog .j-table td{min-width:100px;max-width:450px;white-space:normal;line-height:1.55}.j-source-dialog input[type=search]{width:100%;padding:10px;font:inherit;box-sizing:border-box}.j-full-source pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.6}.j-source-dialog details{margin:16px 0}.j-source-dialog summary{cursor:pointer;font-weight:600}.j-dialog fieldset .j-check{display:inline-flex;min-width:180px}.j-source-dialog .j-table-wrap{border-radius:8px}

.j-document-preview{overflow:auto}.j-document-preview .j-output-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;margin:14px 0 24px;font-size:13px}.j-output-table th,.j-output-table td{border:1px solid var(--line,#aaa);padding:6px;vertical-align:top;line-height:1.2;overflow-wrap:anywhere}.j-output-table th{text-align:center;background:var(--panel-2,#e8edf0)}.j-output-table .j-output-time{white-space:nowrap;line-height:1}.j-output-section h1{text-align:center;font-size:19px}.j-output-section .official-head{text-align:center}.j-output-section .official-head img{max-width:110px;max-height:90px;object-fit:contain}.j-output-section .official-head p{margin:3px 0}.j-output-text{white-space:normal;margin:8px 0}
.j-staffing-summary{margin:16px 0;padding:16px;border:1px solid var(--line,#ccd5da);border-radius:12px;background:var(--panel,#fff)}.j-staffing-summary [role=alert]{max-width:none;min-width:0;padding:12px 14px;border-left:5px solid #ba6500;background:#fff0c8;color:#654500;font-size:15px;line-height:1.5}.j-staffing-summary summary{cursor:pointer;font-weight:600}
.j-dialog [hidden]{display:none!important}.j-vacancy-label{display:block;background:#fff0c8;color:#654500;padding:8px}.j-output-table .j-output-vacancy{background:#fff0c8;color:#342800}.j-output-table .j-output-conflict{background:#ffe4df;color:#8c2414}
.j-board-dialog{box-sizing:border-box;width:min(1660px,97vw);max-width:97vw;height:94vh;max-height:94vh;padding:0;border:1px solid var(--line,#ccd5da);border-radius:16px;background:var(--panel,#fff);color:var(--text,#182327);overflow:hidden}.j-board-dialog[open]{display:flex;flex-direction:column}.j-board-dialog::backdrop{background:#14212d88}.j-board-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line,#ccd5da)}.j-board-head h2{margin:0 0 6px}.j-board-head p{margin:0;font-size:14px}.j-board-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px 20px}.j-board-toolbar label{display:flex;gap:8px;align-items:center}.j-board-toolbar select{padding:6px;font:inherit}.j-board-help{margin:0;padding:4px 20px 12px;font-size:13px}.j-board-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;overflow:auto;min-height:0;flex:1;padding:0 20px 20px;align-items:start}.j-board-column{min-width:0}.j-board-column>h3{position:sticky;top:0;z-index:1;margin:0;padding:12px;background:var(--panel-2,#edf1f2);border-radius:10px}.j-board-block{margin:12px 0 20px;border:1px solid var(--line,#ccd5da);border-radius:12px;overflow:hidden}.j-board-block>header{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel-2,#edf1f2);font-size:13px}.j-board-slot{margin:10px;padding:12px;border:1px solid var(--line,#ccd5da);border-radius:10px;background:var(--panel,#fff);font-size:13px}.j-board-slot[draggable=true]{cursor:grab}.j-board-role{font-weight:600;margin-bottom:7px}.j-board-person{border:0;background:transparent;color:inherit;text-align:left;padding:0;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.j-board-slot p{margin:7px 0}.j-board-tools{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.j-board-tools .button{font-size:12px;padding:5px 8px}.j-board-slot.vacant{background:#fff5d9;border-color:#c58b22;color:#654500}.j-board-slot.selected{outline:3px solid var(--gold,#3774b4)}.j-board-slot.drop-target{outline:3px dashed var(--gold,#3774b4)}.j-board-slot.conflict{background:#ffe4df;color:#8c2414;outline:3px solid #b93022}.j-board-cover{color:var(--gold,#1e5e87);font-weight:600}.j-board-error{padding:10px 14px;margin:8px 20px;background:#ffe4df;color:#8c2414;border-left:4px solid #b93022;overflow:auto;max-height:140px;font-size:14px}.j-board-footer{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 20px;border-top:1px solid var(--line,#ccd5da)}.j-board-picker{box-sizing:border-box;max-width:95vw;width:780px;max-height:90vh;overflow:auto;padding:22px;border-radius:14px;background:var(--panel,#fff);color:var(--text,#182327)}.j-board-picker label{display:block;margin:10px 0}.j-board-picker input,.j-board-picker select{box-sizing:border-box;width:100%;font:inherit;padding:8px}.j-board-picker select{height:270px}.j-board-picker .j-board-error{margin:8px 0}
@media(max-width:650px){.j-board-dialog{width:99vw;max-width:99vw;height:97vh;max-height:97vh;border-radius:8px}.j-board-columns{display:flex;flex-direction:column;padding:0 10px 12px}.j-board-column{width:100%}.j-board-head,.j-board-toolbar,.j-board-footer{padding:10px}.j-board-footer .button{flex:1}.j-board-head h2{font-size:20px}}

.j-board-toolbar select,.j-board-picker input,.j-board-picker select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.j-board-toolbar label{color:var(--muted);font-size:14px}.j-board-head p,.j-board-help,.j-board-slot p,.j-board-footer>span{color:var(--muted)}.j-board-slot.vacant p{color:#654500}.j-board-slot.conflict p{color:#8c2414}.j-board-slot .j-board-cover{color:var(--gold,#1e5e87)}
.j-board-toolbar select,.j-board-picker input,.j-board-picker select{border-radius:8px}
.j-board-columns{grid-template-columns:repeat(var(--j-board-columns,3),minmax(260px,1fr))}@media(max-width:1000px) and (min-width:651px){.j-board-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}

.j-allocation-status{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.j-allocation-status p{margin:8px 0;overflow-wrap:anywhere}.j-board-slot.condition{border-color:#ba8000}.j-allocation-status details summary{cursor:pointer;font-weight:700}
