.dc-workspace,.dc-detail { min-width:0; }
.dc-workspace { color:var(--product-ink,#163c35); }
.dc-workspace .panel { margin-bottom:18px; }
.dc-filter { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:12px 0; }
.dc-filter label { display:grid; gap:6px; font-size:13px; min-width:0; }
.dc-filter input { width:260px; max-width:100%; }
.dc-table-scroll,.dc-matrix-scroll { max-width:100%; overflow:auto; border:1px solid #dbe5e3; border-radius:6px; }
.dc-table-scroll { max-height:60vh; }
.dc-table,.dc-course-matrix { width:100%; border-spacing:0; table-layout:fixed; font-size:13px; }
.dc-table { min-width:1400px; }
.dc-table th,.dc-table td,.dc-course-matrix th,.dc-course-matrix td { border-bottom:1px solid #dbe5e3; padding:10px 12px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.dc-table th { position:sticky; top:0; background:#edf3f2; z-index:2; }
.dc-table th:first-child,.dc-table td:first-child { position:sticky; left:0; width:160px; background:white; border-right:1px solid #dbe5e3; z-index:1; }
.dc-table th:first-child { background:#edf3f2; z-index:3; }
.dc-table small { display:block; color:#6c7c78; font-size:12px; margin-top:5px; }
.dc-table .text-button { white-space:normal; text-align:left; padding:3px 0; }
.dc-status { font-size:12px; padding:3px 6px; border-left:3px solid #b6c8c3; background:#f1f6f4; display:inline-block; }
.dc-status[data-status=returned] { border-color:#b54708; background:#fff4e9; }
.dc-status[data-status=submitted] { border-color:#e86420; }
.dc-status[data-status=confirmed] { border-color:#117264; }
.dc-contract-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:14px; border:1px solid #dbe5e3; background:#f7faf9; border-radius:6px; }
.dc-contract-summary dt { color:#6c7c78; font-size:12px; }
.dc-contract-summary dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:14px; }
.dc-detail form,.dc-detail fieldset { min-width:0; display:grid; gap:14px; }
.dc-detail fieldset { border:0; margin:14px 0; padding:0; }
.dc-detail legend { font-size:16px; font-weight:650; padding:8px 0; }
.dc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.dc-detail label,.dc-form-grid label { display:grid; gap:6px; min-width:0; font-size:13px; }
.dc-detail input,.dc-detail select,.dc-detail textarea,.dc-form-grid input,.dc-form-grid select { min-width:0; width:100%; box-sizing:border-box; font:inherit; }
.dc-course-matrix { min-width:1120px; }
.dc-course-matrix caption { text-align:left; padding:10px; font-size:12px; color:#6c7c78; }
.dc-course-matrix th { background:#edf3f2; }
.dc-course-matrix th:first-child { position:sticky; left:0; z-index:1; border-right:1px solid #dbe5e3; }
.dc-course-matrix input,.dc-course-matrix select { width:100%; min-width:0; box-sizing:border-box; font-size:12px; padding:6px; }
.dc-check { display:flex!important; align-items:center; gap:8px; }
.dc-check input { width:18px!important; min-height:18px; }
.dc-contract-body { margin:14px 0; font-size:13px; }
.dc-contract-body pre { max-height:45vh; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid #dbe5e3; padding:14px; font:13px/1.8 system-ui,sans-serif; }
.dc-detail details { margin:12px 0; }
.dc-workspace summary { cursor:pointer; padding:8px 0; }
.dc-workspace [hidden] { display:none!important; }
.dc-workspace :focus-visible { outline:2px solid #117264; outline-offset:3px; }
.dc-form-error { border-left:3px solid #b42318; color:#b42318; padding-left:10px; font-size:13px; }
.dc-disclosure { font-size:12px; color:#6c7c78; margin:0 0 12px; }
.dc-access-list { font-size:13px; line-height:1.8; overflow-wrap:anywhere; padding-left:20px; }
@media(max-width:1100px) { .product-ui:has(.dc-workspace) .topbar { margin-inline:0; } }
@media(max-width:650px) { .dc-contract-summary,.dc-form-grid { grid-template-columns:minmax(0,1fr); } .dc-contract-summary { gap:10px; } .dc-filter { align-items:stretch; } .dc-filter label { flex:1 1 100%; } .dc-filter input { width:100%; } .dc-table th:first-child,.dc-table td:first-child { width:130px; } }
