@media screen{
 .requirements-view .module-tabs{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:visible;padding:0}
 .requirements-view .module-tabs button{background:#f0f3f8!important;color:#53647c!important;border:1px solid #dae2ec!important;border-top:3px solid #c9d4e2!important;box-shadow:none!important;min-height:76px;padding:10px!important;white-space:normal;min-width:0;font-size:11px;border-radius:9px}
 .requirements-view .module-tabs button.in-master{background:#eee5f6!important;color:#64268e!important;border-top-color:#7030a0!important}
 .requirements-view .module-tabs button.active{background:#fff0fa!important;color:#b0007a!important;border-top-color:#c90087!important}
 .requirements-view .module-tabs span{background:white!important;color:inherit!important}
 .requirements-view .assignments{background:#eaf7fc;border:1px solid #b8e0f2;border-left:4px solid #00b0f0;padding:14px;gap:16px;margin-bottom:14px}
 .requirements-view .assignments>span{font-weight:700;color:#006d94;max-width:120px}
 .requirements-view .assignments select{background:white;min-height:44px}
 .requirements-view .entry-sheet tr{background:#f5f7fc;border:1px solid #dbe3ef;border-left:4px solid #7030a0;border-radius:10px;margin:12px 0;padding:16px;gap:12px}
 .requirements-view .entry-sheet td:before{font-size:12px;color:#17213c}
 .requirements-view .entry-sheet input,.requirements-view .entry-sheet select,.requirements-view .entry-sheet textarea{background:white;min-height:44px;border-radius:6px}
 .requirements-view .sheet-bottom{flex-wrap:wrap;gap:10px;border-top:1px solid #dae2ec;padding-top:14px}
 .requirements-view .sheet-bottom .primary{margin-left:auto;min-height:44px}
 .requirements-view #add-grid-row{min-height:44px;margin:8px 0}
 @media(max-width:900px){.requirements-view .module-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
 @media(max-width:760px){.requirements-view .module-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.requirements-view .assignments{display:grid;grid-template-columns:1fr}.requirements-view .assignments>span{max-width:none}.requirements-view .sheet-bottom>*{margin-left:0!important;max-width:100%}.requirements-view .entry-sheet tr{grid-template-columns:1fr}}
}

@media screen{
 .requirements-view .entry-sheet tr{display:block!important;padding:16px}
 .requirements-view .entry-sheet .service-name:before{content:none}
 .requirements-view .entry-sheet .service-name{font-size:18px;color:#17213c;margin-bottom:12px}
 .requirements-view .entry-sheet .service-section{display:block;margin:12px 0}
 .requirements-view .entry-sheet .service-section:before{content:none}
 .service-section fieldset{margin:0;padding:12px;border:1px solid #dce4ef;border-radius:8px;background:white;min-width:0}
 .service-section legend{font-size:12px;font-weight:700;color:#7030a0;padding:0 6px}
 .service-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .service-field{min-width:0}.service-field-label{display:block;font-size:12px;font-weight:600;color:#17213c;margin-bottom:5px}
 .requirements-view .travel-choice{display:block;font-size:13px;margin:12px 0;padding:12px;background:#eaf7fc;border-radius:8px;max-width:450px}
 .requirements-view .travel-choice select{display:block;margin-top:8px;width:100%;font-weight:400}
 @media(max-width:760px){.service-fields{grid-template-columns:1fr}.requirements-view .entry-sheet tr{padding:12px}}
}
@media screen{
 .travel-options{display:flex;flex-wrap:wrap;gap:12px}.travel-options button{min-height:44px}
 .requirements-view .entry-sheet tr.travel-line{display:flex!important;align-items:end;gap:8px;padding:12px;flex-wrap:wrap}
 .requirements-view .entry-sheet .travel-line-title{position:static;background:none;border:0;padding:0;flex:0 0 100%;font-size:15px;color:#7030a0;text-align:left}
 .requirements-view .travel-line td{flex:1 1 80px;min-width:0!important}.requirements-view .travel-line td:before{content:none}
 .requirements-view .travel-line label{font-size:11px;display:block;margin:0}
 .requirements-view .travel-line input,.requirements-view .travel-line select,.requirements-view .travel-line textarea,.requirements-view .travel-line button{margin-top:5px;min-height:44px;width:100%;font-size:11px;padding:6px}
 @media(min-width:1000px){.requirements-view .entry-sheet tr.travel-line{flex-wrap:nowrap}.requirements-view .entry-sheet .travel-line-title{flex:0 0 75px;overflow-wrap:anywhere}}
 @media(max-width:760px){.requirements-view .travel-line td{flex-basis:calc(50% - 8px)}}
}
@media screen{.requirements-view .assignments{flex-wrap:wrap}.provider-scope-note{flex-basis:100%;color:#006d94;font-size:11px}}
/* Official service layout: a persistent lateral name and compact field band. */
@media screen{
 .requirements-view .entry-sheet tr.official-service-line{display:grid!important;grid-template-columns:115px minmax(0,1fr);align-items:stretch;gap:12px;padding:0;border-left:4px solid #7030a0;background:#f5f7fc}
 .requirements-view .entry-sheet .official-service-title{grid-column:1!important;display:flex!important;align-items:center;padding:14px!important;margin:0;font-size:14px;line-height:1.4;background:#eee5f6!important;color:#64268e;overflow-wrap:anywhere;border-radius:6px 0 0 6px}
 .requirements-view .entry-sheet .official-service-fields{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:10px;padding:12px!important;min-width:0;align-items:end}
 .requirements-view .entry-sheet .official-service-fields:before{content:none}
 .official-service-fields .service-field-label{font-size:11px;line-height:1.35;overflow-wrap:anywhere}
 .requirements-view .official-service-fields input,.requirements-view .official-service-fields select,.requirements-view .official-service-fields textarea,.requirements-view .official-service-fields button{min-height:44px;margin:0;width:100%;font-size:12px}
 @media(max-width:760px){.requirements-view .entry-sheet tr.official-service-line{grid-template-columns:1fr;gap:0}.requirements-view .entry-sheet .official-service-title{border-radius:6px 6px 0 0;padding:10px 12px!important}.requirements-view .entry-sheet .official-service-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:380px){.requirements-view .entry-sheet .official-service-fields{grid-template-columns:1fr}}
}
@media screen{.requirements-view .entry-sheet .official-service-title{white-space:normal!important;min-width:0!important;max-width:100%;word-break:normal}}
.module-owner-details{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#386078;overflow-wrap:anywhere}

@media screen{
 .requirements-view .assignments{align-items:flex-start}
 .requirements-view .assignments>span{padding-top:27px}
 .requirements-view .assignments>label{align-self:flex-start;min-width:0}
 .requirements-view .assignments select{min-height:44px}
 .requirements-view .shared-service-line .service-field-label{display:block;font-size:11px;line-height:1.35;min-height:30px;overflow-wrap:anywhere}
 .requirements-view .shared-service-line .service-field{min-width:0}
 .requirements-view .shared-service-line .service-extra-cell{flex:0 0 100%;width:100%}
 .requirements-view .shared-service-line:has(details[open]){flex-wrap:wrap}
 .requirements-view .shared-service-line details summary{font-size:12px;cursor:pointer;color:#7030a0;min-height:28px}
 .service-extra-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:10px 0}
 @media(min-width:1000px){.requirements-view .shared-service-line{flex-wrap:wrap!important}.requirements-view .shared-service-line .travel-line-title{flex-basis:75px}}
 @media(max-width:760px){.requirements-view .assignments>span{padding-top:0}.service-extra-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
}
@media screen{
 .requirements-view .entry-sheet tr.travel-line{flex-wrap:wrap!important}
 .requirements-view .entry-sheet tr.travel-line>.service-row-actions{display:flex;justify-content:flex-end;flex:0 0 100%;width:100%;padding:8px 0 0;border-top:1px solid #dce3ef}
 .requirements-view .entry-sheet .service-row-actions>.service-duplicate{width:104px!important;min-width:104px;max-width:104px;height:44px;min-height:44px;margin:0;padding:8px 12px;font-size:13px;line-height:1.2}
}
@media screen{
 .requirements-view .module-tabs button[data-completion="not-added"]{background:#f0f3f8!important;color:#52657d!important;border-top-color:#c9d5e4!important}
 .requirements-view .module-tabs button[data-completion="incomplete"]{background:#e3f6ff!important;color:#006b92!important;border-top-color:#00aeef!important}
 .requirements-view .module-tabs button[data-completion="complete"]{background:#eee5f6!important;color:#64268e!important;border-top-color:#7030a0!important}
 .requirements-view .module-tabs button.active[data-completion]{background:#fff0fa!important;color:#b0007a!important;border-top-color:#c90087!important}
 .requirements-view label.requirement-na{display:flex;align-items:center;gap:5px;font-size:11px;min-height:26px;margin:3px 0 0;color:#52657d}
 .requirements-view label.requirement-na input{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0}
}
.module-status-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;margin:-8px 0 16px}.module-status-legend span:nth-child(1){color:#52657d}.module-status-legend span:nth-child(2){color:#006b92}.module-status-legend span:nth-child(3){color:#7030a0}.module-status-legend span:nth-child(4){color:#b0007a}.module-completion-summary{font-size:12px;color:#52657d;margin:0 0 12px}
@media screen{
 [data-requirement-state="not-added"]{border-top-color:#c9d5e4!important;background:#f0f3f8!important}
 [data-requirement-state="incomplete"]{border-top-color:#00aeef!important;background:#e3f6ff!important}
 [data-requirement-state="complete"]{border-top-color:#7030a0!important;background:#eee5f6!important}
}
@media screen{.completed-preview{width:min(900px,94vw);max-width:94vw}.completed-document{padding:16px;line-height:1.6;overflow-wrap:anywhere}.completed-document p{white-space:pre-wrap}.completed-document section{border-bottom:1px solid #dce3ef;margin-bottom:16px}}
@media screen{dialog.completed-preview{width:min(900px,94vw)!important;max-width:94vw!important}}
.discovery-document-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:12px;color:#52657d}.discovery-document-actions button{min-height:44px}.discovery-document-preview .brief-document{width:100%;box-sizing:border-box}.discovery-document-preview .brief-cover h2{color:white}.discovery-document-preview .brief-cover div{min-width:0;overflow-wrap:anywhere}

/* Shared, bounded form grid: never squeeze a whole form into one line. */
@media screen{
 .requirements-view .entry-sheet tr.service-organized{display:grid!important;grid-template-columns:132px minmax(0,1fr);gap:0;padding:0!important;align-items:stretch;background:#fff}
 .requirements-view .entry-sheet .service-organized>.travel-line-title{display:flex;align-items:flex-start;background:#f0e8f7;padding:20px 14px!important;font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;min-width:0}
 .requirements-view .entry-sheet .service-organized>.service-organized-body{display:block;padding:18px!important;min-width:0;width:auto}
 .service-organized-body fieldset{border:0;border-bottom:1px solid #e2e7ef;margin:0 0 18px;padding:0 0 18px;min-width:0}
 .service-organized-body fieldset:last-child{margin:0;border:0;padding-bottom:0}
 .service-organized-body legend{color:#64268e;font-size:13px;font-weight:700;padding:0 0 12px;width:100%}
 .service-organized-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .requirements-view .service-organized .service-field{display:flex;flex-direction:column;align-items:stretch;min-width:0}
 .requirements-view .service-organized .service-field-label{font-size:12px;line-height:1.4;min-height:34px;margin:0 0 6px;font-weight:600}
 .requirements-view .service-organized .service-field input:not([type=checkbox]),.requirements-view .service-organized .service-field select,.requirements-view .service-organized .service-field textarea,.requirements-view .service-organized .service-field button{width:100%;margin:0;min-height:44px;font-size:13px;padding:10px;box-sizing:border-box}
 .requirements-view .service-organized label.requirement-na{display:flex;align-items:center;min-height:32px;font-size:11px;margin:4px 0 0;gap:6px}
 .requirements-view .service-organized .requirement-na input{flex:none}
 .requirements-view .entry-sheet .service-organized>.service-row-actions{grid-column:1/-1;width:auto;box-sizing:border-box;padding:12px 18px;background:#fafbfe;margin:0}
 .requirements-view .sheet-bottom{display:flex;align-items:center;justify-content:flex-end;gap:12px}
 .requirements-view .sheet-bottom>span{margin-right:auto}
 .requirements-view .sheet-bottom .primary{margin-left:0}
 @media(max-width:1100px){.service-organized-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:760px){
 .requirements-view .entry-sheet tr.service-organized{grid-template-columns:1fr}
 .requirements-view .entry-sheet .service-organized>.travel-line-title{padding:12px 14px!important}
 .requirements-view .entry-sheet .service-organized>.service-organized-body{padding:14px!important}
 .service-organized-fields{grid-template-columns:1fr;gap:12px}
 .requirements-view .service-organized .service-field-label{min-height:0}
 .requirements-view .sheet-bottom{display:grid;grid-template-columns:1fr;width:100%}
 .requirements-view .sheet-bottom button,.requirements-view .sheet-bottom a{width:100%;box-sizing:border-box;min-height:44px;margin:0!important}
 }
}
@media screen{
 .requirements-view .service-organized .service-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:8px;row-gap:6px;align-content:start}
 .requirements-view .service-organized .service-field-label{grid-column:1;grid-row:1;margin:0;min-height:34px;align-self:center}
 .requirements-view .service-organized .service-field>input:not([type=checkbox]),.requirements-view .service-organized .service-field>select,.requirements-view .service-organized .service-field>textarea,.requirements-view .service-organized .service-field>button{grid-column:1/-1;grid-row:2}
 .requirements-view .service-organized .service-field>label.requirement-na{grid-column:2;grid-row:1;margin:0;min-height:34px;white-space:nowrap;align-self:center}
 .requirements-view .service-organized .service-field:only-child{grid-column:1/-1}
 .requirements-view .service-organized .service-field:only-child textarea{min-height:72px}
}
@media screen{
 .requirements-view .assignments{display:grid;grid-template-columns:160px repeat(2,minmax(0,1fr));align-items:start}
 .requirements-view .assignments>label{width:100%;margin:0;min-width:0}
 .requirements-view .assignments>.provider-scope-note{grid-column:1/-1}
 .requirements-view .assignments>label:has([data-module-provider]){grid-column:2}
 .requirements-view .assignments>label:has([data-default="ownerId"]){grid-column:3;grid-row:1}
 @media(max-width:760px){.requirements-view .assignments{grid-template-columns:1fr}.requirements-view .assignments>label:has([data-module-provider]),.requirements-view .assignments>label:has([data-default="ownerId"]){grid-column:1;grid-row:auto}}
}
.evidence-dialog{width:min(850px,94vw)!important;max-width:94vw!important;box-sizing:border-box}.evidence-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.evidence-fields label{min-width:0}.evidence-dialog input,.evidence-dialog select{min-height:44px;max-width:100%;box-sizing:border-box}.evidence-dialog [data-evidence-view] iframe{width:100%;height:55vh;border:1px solid #dce3ef}.evidence-dialog [data-evidence-view] img{max-width:100%;max-height:55vh;object-fit:contain}.evidence-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.evidence-actions button{min-height:44px}.evidence-summary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px}.evidence-summary dd{margin:0;overflow-wrap:anywhere}.evidence-dialog .actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.evidence-dialog small{display:block;overflow-wrap:anywhere}@media(max-width:760px){.evidence-fields{grid-template-columns:1fr}.evidence-dialog .actions>*{min-height:44px;flex:1 1 100%}.evidence-summary{grid-template-columns:1fr}.evidence-summary dt{font-weight:700}}
.provider-form-dialog{width:min(780px,94vw)!important;max-width:94vw!important}.provider-form-dialog form,.provider-review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provider-form-dialog form>label{margin:0;min-width:0}.provider-form-dialog form>.actions{grid-column:1/-1}.provider-form-dialog input,.provider-form-dialog select,.provider-form-dialog textarea,.provider-review-fields select{min-height:44px;width:100%;box-sizing:border-box}.provider-history-control{grid-column:2/-1;font-size:12px}.provider-history-control button{min-height:44px;margin:6px 0}.provider-history-control p{padding:10px;background:#fff5df;color:#694100;overflow-wrap:anywhere}.provider-review{border-top:1px solid #dce3ef;padding:12px 0}.provider-review dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.provider-review p{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.provider-form-dialog form,.provider-review-fields{grid-template-columns:1fr}.provider-history-control{grid-column:1}.provider-form-dialog .actions button{min-height:44px;width:100%}}
.provider-history-dialog{width:min(780px,94vw)!important;max-width:94vw!important;box-sizing:border-box}.provider-history-dialog input,.provider-history-dialog select,.provider-history-dialog textarea{min-height:44px;width:100%;box-sizing:border-box}.provider-history-dialog .actions{display:flex;gap:10px;flex-wrap:wrap}.provider-history-dialog .actions button{min-height:44px}
/* Compact module assignment: shared labels, aligned controls, no empty side column. */
@media screen {
 .requirements-view .assignments.assignments-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:12px 14px;margin:8px 0 12px}
 .requirements-view .assignments.assignments-compact>label:has(select){grid-column:auto;grid-row:auto;display:block}
 .assignment-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;font-weight:600}
 .requirements-view .assignment-heading label.requirement-na{margin:0;min-height:28px;font-weight:400}
 .requirements-view .assignments.assignments-compact select{margin:0;min-height:44px;height:44px;padding:8px 10px}
 .requirements-view .assignments-compact .provider-scope-note{grid-column:1/-1;margin:0;font-size:11px}
 .requirements-view .assignments-compact .provider-history-control{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 .requirements-view .assignments-compact .provider-history-control p{margin:0;padding:6px 8px}
 .requirements-view .assignments-compact .provider-history-control button{margin:0}
 .requirements-view .grid-help{margin:8px 0;font-size:12px}
 .requirements-view .service-add-actions{display:flex;justify-content:flex-end;padding:12px 0 0}
 .requirements-view .service-add-actions button{min-height:44px;margin:0}
 .requirements-view .entry-sheet .service-organized>.service-organized-body{padding:12px!important}
 .service-organized-body fieldset{margin-bottom:12px;padding-bottom:12px}
 .service-organized-body legend{padding-bottom:6px}
 .service-organized-fields{gap:10px 14px}
 @media(max-width:760px){
  .requirements-view .assignments.assignments-compact{grid-template-columns:1fr;padding:10px;gap:10px}
  .requirements-view .service-add-actions button{width:100%}
 }
}
@media screen {
 .requirements-view .assignment-heading>.requirement-na{width:auto!important;flex:0 0 auto}
 .service-organized-fields:has(>.service-field:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 @media(max-width:760px){.service-organized-fields:has(>.service-field:nth-child(2):last-child){grid-template-columns:1fr}}
}
@media screen and (min-width:901px){.requirements-view .module-tabs{grid-template-columns:repeat(8,minmax(0,1fr))}}
/* Four useful columns, without separate mostly-empty section rows. */
@media screen {
 .requirements-view .service-organized-fields,.requirements-view .service-organized-fields:has(>.service-field:nth-child(2):last-child){grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
 .requirements-view .service-organized .service-field:only-child{grid-column:auto}
 .requirements-view .service-organized .service-field-wide{grid-column:span 2}
 .requirements-view .service-organized .service-field textarea{min-height:60px}
 .requirements-view .entry-sheet .service-organized>.travel-line-title{padding:14px 10px!important}
 .requirements-view .service-organized [data-not-applicable=true]{border-style:dashed}
 @media(max-width:1100px){.requirements-view .service-organized-fields,.requirements-view .service-organized-fields:has(>.service-field:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:760px){.requirements-view .service-organized-fields,.requirements-view .service-organized-fields:has(>.service-field:nth-child(2):last-child){grid-template-columns:1fr}.requirements-view .service-organized .service-field-wide{grid-column:auto}}
}
/* Assignment positions must not depend on optional supplier history siblings. */
@media screen and (min-width:761px){
 .requirements-view .assignments.assignments-compact>label:has([data-module-provider]){grid-column:1;grid-row:1}
 .requirements-view .assignments.assignments-compact>label:has([data-default="ownerId"]){grid-column:2;grid-row:1}
 .requirements-view .assignments.assignments-compact>.provider-history-control{grid-column:1;grid-row:2;min-width:0}
}
@media screen{
 .requirements-view .assignments.assignments-compact .module-owner-details{overflow-wrap:anywhere;white-space:normal}
}
