.topbar nav{overflow-x:auto;white-space:nowrap}
.module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.module-heading h1,.empty-module h1{margin:4px 0 6px}
.module-kpis{display:flex;gap:10px}.module-kpis article{min-width:150px;padding:10px 14px;background:#fff;border:1px solid #d8e1eb;border-left:4px solid #7594b5;border-radius:10px}.module-kpis span{display:block;color:#708097;font-size:12px}.module-kpis strong{font-size:25px}
.supplier-toolbar{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:14px}.supplier-toolbar .search-wrap{flex:1;max-width:580px}.supplier-toolbar select{min-width:190px}.supplier-toolbar>input{min-width:150px;padding:10px 12px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:#172b43}
.supplier-table-card{overflow:hidden}.supplier-table-scroll{overflow:auto;max-height:calc(100vh - 320px)}.supplier-table{width:100%;border-collapse:collapse;min-width:1000px}.supplier-table th{position:sticky;top:0;background:#edf3f7;color:#36516d;text-align:left;font-size:12px;z-index:1}.supplier-table th,.supplier-table td{padding:13px 14px;border-right:1px solid #e0e7ef;border-bottom:1px solid #e0e7ef;vertical-align:top}.supplier-table td strong{display:block}.supplier-table td small{display:block;color:#718096;margin-top:4px}.supplier-table-card footer{padding:12px 16px;color:#718096}.supplier-status-count{display:inline-flex;min-width:32px;justify-content:center;padding:3px 8px;border-radius:999px;background:#e5f5ee;color:#087d5b;font-weight:700}.supplier-status-count.inactive{background:#fff0f0;color:#b73746}
.empty-module{max-width:900px;padding:32px;margin:24px auto}.empty-module p:last-child{color:#66778e;line-height:1.6}
.requests-toolbar{flex-wrap:wrap}.requests-toolbar .compact-date{display:flex;align-items:center;gap:6px;color:#64748b;font-size:13px}.requests-toolbar .compact-date input{padding:9px 10px;border:1px solid #cbd6e2;border-radius:8px;background:#fff}.module-sync{margin:-7px 2px 10px}.requests-table{min-width:1500px}.requests-table .request-row{cursor:pointer}.requests-table .request-row:hover td{background:#f4f8fc}.request-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#fff4d9;color:#8a6200;font-weight:700;font-size:12px}.request-status.status-satisfied{background:#e3f5ed;color:#087d5b}.request-status.status-declined,.request-status.status-cancelled{background:#fff0f0;color:#b73746}.request-details-dialog{width:min(1000px,94vw)}.request-details-body{padding:18px 24px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-height:70vh;overflow:auto}.request-details-body section{padding:14px;border:1px solid #dce5ee;border-radius:9px;background:#fff}.request-details-body section:nth-child(4),.request-details-body section:nth-child(5){grid-column:1/-1}.request-details-body h3{margin:0 0 8px;font-size:15px}.request-details-body p{margin:0;line-height:1.5}.request-long-text{color:#334155;line-height:1.55;max-height:220px;overflow:auto}.request-documents a{display:block;margin:5px 0}.request-documents a+a{margin-top:7px}
.request-authority-cards{display:flex;gap:10px;overflow-x:auto;margin:-6px 0 14px;padding:6px 1px}.request-authority-card{min-width:180px;max-width:260px;padding:10px 14px;text-align:left;background:#eef7ea;border:1px solid #c7dfbd;border-radius:10px;color:#22364d;cursor:pointer}.request-authority-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#587050}.request-authority-card strong{display:block;margin-top:3px;font-size:24px}.request-authority-card.active{background:#d9ebff;border-color:#1670d2;box-shadow:0 0 0 2px rgba(22,112,210,.12)}
.deadline-ready,.deadline-wait,.statement-received{display:block;margin-top:4px;font-size:11px}.deadline-ready,.statement-received{color:#087d5b}.deadline-wait{color:#b36b00}.request-statement+.request-statement{margin-top:12px;padding-top:12px;border-top:1px solid #e1e8ef}.request-details-body section:nth-child(5),.request-details-body section:nth-child(6),.request-details-body section:nth-child(7){grid-column:1/-1}

/* Wide violation review is a vertical sequence of full-width sections.
   Keep this after the legacy generic request modal rules above. */
.request-details-dialog.request-details-dialog-wide{width:min(1500px,96vw);max-width:96vw}
.request-details-dialog-wide .request-details-body{display:block;max-height:72vh;overflow-x:hidden;padding:18px 24px}
.request-details-dialog-wide .request-details-body>section{width:100%;min-width:0;box-sizing:border-box;margin:0 0 14px}
.request-details-dialog-wide .violation-top-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(320px,1.15fr);gap:12px}
.request-details-dialog-wide .violation-object-links dd{min-width:0;overflow-wrap:anywhere;word-break:normal}
.request-details-dialog-wide .violation-object-links a{display:inline;white-space:normal}
@media(max-width:1050px){.request-details-dialog-wide .violation-top-row{grid-template-columns:1fr 1fr}.request-details-dialog-wide .violation-top-row>div:last-child{grid-column:1/-1}}
@media(max-width:760px){.request-details-dialog-wide .violation-top-row{grid-template-columns:1fr}.request-details-dialog-wide .violation-top-row>div:last-child{grid-column:auto}}
@media(max-width:900px){.module-heading{align-items:flex-start;flex-direction:column}.supplier-toolbar{align-items:stretch;flex-direction:column}.supplier-toolbar .search-wrap{max-width:none}.module-kpis{width:100%}.module-kpis article{flex:1;min-width:0}}
.supplier-table tr.supplier-candidate td{background:#f2f4f7;color:#667085}
.supplier-table tr.supplier-candidate strong{color:#475467}
.supplier-registry-state{display:inline-flex;white-space:nowrap;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#e8f5ee;color:#087a55}
.supplier-registry-state.candidate{background:#e4e7ec;color:#475467}
.candidate-kpi{border-color:#d0d5dd!important;background:#f8fafc!important}
.frameworks-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(145px,.8fr)) repeat(2,minmax(145px,.72fr)) auto;gap:10px;align-items:end;padding:12px;margin-bottom:12px}.frameworks-toolbar .search-wrap{min-width:0}.frameworks-toolbar select,.frameworks-toolbar input[type=date]{width:100%;padding:10px 11px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:#172b43}.frameworks-toolbar label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;color:#64748b;font-size:12px}.frameworks-table{min-width:1280px}.frameworks-table th[data-framework-sort]{cursor:pointer}.frameworks-table th[data-framework-sort]:hover{background:#e2ebf2}.frameworks-table tbody tr[data-framework-id]{cursor:pointer}.frameworks-table tbody tr[data-framework-id]:hover td{background:#f2f7fc}.frameworks-table td strong,.frameworks-table td small{display:block}.frameworks-table td small{margin-top:4px;color:#718096}.framework-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef1f5;color:#536273;font-size:12px;font-weight:700}.framework-status.active{background:#e5f5ee;color:#087d5b}.framework-details-dialog{width:min(1180px,95vw)}.framework-details-body{padding:18px 22px;max-height:72vh;overflow:auto}.framework-details-body h3{margin:22px 0 9px}.framework-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.framework-detail-summary>div{padding:12px;border:1px solid #dce5ee;border-radius:9px;background:#f8fafc}.framework-detail-summary span,.framework-detail-summary strong{display:block}.framework-detail-summary span{font-size:12px;color:#718096;margin-bottom:4px}.framework-detail-summary strong{overflow-wrap:anywhere}.framework-detail-table{overflow:auto;border:1px solid #dce5ee;border-radius:9px}.framework-detail-table table{width:100%;min-width:850px;border-collapse:collapse}.framework-detail-table th,.framework-detail-table td{padding:10px 12px;border-right:1px solid #e0e7ef;border-bottom:1px solid #e0e7ef;text-align:left;vertical-align:top}.framework-detail-table th{background:#edf3f7;color:#36516d;font-size:12px}.framework-detail-table small{display:block;color:#718096;margin-top:4px}
@media(max-width:1100px){.frameworks-toolbar{grid-template-columns:1fr 1fr 1fr}.frameworks-toolbar .search-wrap{grid-column:1/-1}.framework-detail-summary{grid-template-columns:1fr 1fr}}

/* The framework card is a full-width report, not the two-column request layout. */
.framework-details-dialog form{width:100%}
.framework-details-dialog .framework-details-body{display:block;width:100%;box-sizing:border-box}
.framework-details-dialog .framework-detail-table{width:100%;box-sizing:border-box}
.framework-details-dialog{width:min(1500px,98vw);max-width:none}.framework-details-body{max-height:76vh}
