:root{
  --cui-navy:#102585;
  --cui-blue:#1837b7;
  --cui-blue-2:#2457d6;
  --cui-sky:#168bf0;
  --cui-bg:#f3f6fb;
  --cui-card:#ffffff;
  --cui-line:#dce3ef;
  --cui-text:#1f2937;
  --cui-muted:#667085;
  --cui-positive:#0d7a4b;
  --cui-warning:#a15c00;
  --cui-negative:#b42318;
  --cui-radius:14px;
}

.cui-mdu-wrap,.cui-mdu-portal{font-family:Arial,Helvetica,sans-serif;color:var(--cui-text)}
.cui-mdu-wrap *,.cui-mdu-portal *{box-sizing:border-box}

.cui-mdu-pagehead{display:flex;justify-content:space-between;align-items:flex-start;margin:18px 0 20px}
.cui-mdu-pagehead h1{margin:0;font-size:26px;color:var(--cui-navy)}

.cui-mdu-btn{display:inline-block;background:var(--cui-blue);color:#fff!important;border:0;border-radius:8px;padding:10px 18px;text-decoration:none;cursor:pointer;font:inherit;font-weight:700}
.cui-mdu-btn:hover{background:var(--cui-blue-2)}
.cui-mdu-btn.secondary{background:var(--cui-muted)}
.cui-mdu-btn-full{width:100%;padding:12px 16px;font-size:16px;margin-top:8px}
.cui-mdu-btn-sm{padding:6px 12px;font-size:13px}
.cui-mdu-link{color:var(--cui-blue)!important;font-weight:600;text-decoration:none}

.cui-mdu-card{background:var(--cui-card);border:1px solid var(--cui-line);border-radius:var(--cui-radius);padding:22px;margin:0 0 18px;box-shadow:0 1px 4px rgba(16,37,133,.06)}
.cui-mdu-card h2{margin-top:0;color:var(--cui-navy);font-size:18px}

.cui-mdu-edit-grid{display:grid;grid-template-columns:minmax(320px,520px) minmax(320px,520px);gap:20px;align-items:start;max-width:1100px}
.cui-mdu-portal-wide .cui-mdu-edit-grid{margin:0 auto}
@media(max-width:900px){.cui-mdu-edit-grid{grid-template-columns:1fr}}

.cui-mdu-wrap label,.cui-mdu-portal label{display:block;font-weight:700;margin:12px 0;font-size:13px;color:#344054}
.cui-mdu-wrap input[type=text],.cui-mdu-wrap input[type=number],.cui-mdu-wrap input[type=date],.cui-mdu-wrap input[type=email],.cui-mdu-wrap select,.cui-mdu-wrap textarea,
.cui-mdu-portal input[type=text],.cui-mdu-portal input[type=number],.cui-mdu-portal input[type=date],.cui-mdu-portal input[type=email],.cui-mdu-portal select,.cui-mdu-portal textarea{width:100%;padding:9px 11px;border:1px solid var(--cui-line);border-radius:7px;font:inherit;background:#fff;font-weight:400;margin-top:5px}
.cui-mdu-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.cui-mdu-field-row{grid-template-columns:1fr}}

.cui-mdu-filterbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:var(--cui-card);border:1px solid var(--cui-line);border-radius:10px;padding:14px;margin:0 0 16px}
.cui-mdu-filterbar label{margin:0}
.cui-mdu-filterbar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 14px}
.cui-mdu-filterbar-grid label{display:flex;flex-direction:column;gap:4px;margin:0}
.cui-mdu-zip-field{display:block;max-width:160px}

.cui-mdu-receipt-list{margin:4px 0 12px 18px;padding:0}
.cui-mdu-receipt-list li{margin:2px 0;font-size:13px}
.cui-mdu-receipt-upload{margin-top:10px}
.cui-mdu-materials-box{background:#fff;border:1px solid var(--cui-line);border-radius:12px;padding:14px 16px;margin-top:14px}
[hidden]{display:none!important}

.cui-mdu-user-picker{margin:8px 0}
.cui-mdu-user-picker summary{list-style:none;cursor:pointer;display:inline-block}
.cui-mdu-user-picker summary::-webkit-details-marker{display:none}
.cui-mdu-user-picker-body{margin-top:10px;max-width:520px}
.cui-mdu-user-search{width:100%;padding:9px 11px;border:1px solid var(--cui-line);border-radius:7px;font:inherit;margin-bottom:8px}

.cui-mdu-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}
.cui-mdu-stat-card{background:#fff;border:1px solid var(--cui-line);border-radius:14px;padding:16px 18px}
.cui-mdu-stat-card .cui-mdu-stat-num{font-size:26px;font-weight:800;color:var(--cui-navy);line-height:1.2}
.cui-mdu-stat-card .cui-mdu-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cui-muted);margin-top:4px;font-weight:700}
.cui-mdu-stat-card.warn .cui-mdu-stat-num{color:var(--cui-negative)}
.cui-mdu-stat-card.good .cui-mdu-stat-num{color:var(--cui-positive)}

.cui-mdu-status-bars{display:flex;flex-direction:column;gap:8px}
.cui-mdu-status-bar-row{display:grid;grid-template-columns:160px 1fr 60px;gap:10px;align-items:center;font-size:13px}
.cui-mdu-status-bar-track{background:#eef1f8;border-radius:6px;height:14px;overflow:hidden;display:block}
.cui-mdu-status-bar-fill{background:linear-gradient(90deg,var(--cui-blue),var(--cui-sky));height:100%;border-radius:6px;display:block}
.cui-mdu-filterbar-actions{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin-top:2px}
@media(max-width:700px){.cui-mdu-filterbar-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.cui-mdu-filterbar-grid{grid-template-columns:1fr}}

.cui-mdu-table-wrap{overflow:auto;background:var(--cui-card);border:1px solid var(--cui-line);border-radius:var(--cui-radius)}
.cui-mdu-table{width:100%;border-collapse:collapse;min-width:820px}
.cui-mdu-table th,.cui-mdu-table td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf0f4;vertical-align:top}
.cui-mdu-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cui-muted);background:#f8fafc}

.cui-mdu-status{display:inline-block;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:700;background:#eef1f8;color:#344054;white-space:nowrap}
.cui-mdu-status--bid_pending{background:#eef1f8;color:#344054}
.cui-mdu-status--assigned{background:#e6f1fb;color:var(--cui-blue)}
.cui-mdu-status--in_progress{background:#e5f4ff;color:var(--cui-sky)}
.cui-mdu-status--on_hold{background:#fdf1e0;color:var(--cui-warning)}
.cui-mdu-status--completed{background:#e6f7f0;color:#0f6e56}
.cui-mdu-status--qc{background:#eeeaf9;color:#534ab7}
.cui-mdu-status--qc_rejected{background:#fdeaea;color:var(--cui-negative)}
.cui-mdu-status--billing_prep{background:#fdf1e0;color:var(--cui-warning)}
.cui-mdu-status--ready_to_invoice{background:#e6f1fb;color:var(--cui-blue)}
.cui-mdu-status--invoice_submitted{background:#e6f6ec;color:var(--cui-positive)}
.cui-mdu-status-overdue{background:#fdeaea!important;color:var(--cui-negative)!important}

.cui-mdu-muted{color:var(--cui-muted)}
.cui-mdu-help{display:block;color:var(--cui-muted);font-size:12px;font-weight:400;margin-top:4px}
.cui-mdu-notice{background:#e6f6ec;border-left:4px solid var(--cui-positive);padding:12px 14px;margin:0 0 16px;border-radius:4px}

.cui-mdu-summary{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:8px 18px;margin:14px 0}
.cui-mdu-summary dt{font-weight:700;color:#344054}
.cui-mdu-summary dd{margin:0}

.cui-mdu-timeline{border-left:2px solid var(--cui-line);margin-left:6px;padding-left:18px}
.cui-mdu-timeline>div{position:relative;padding:0 0 16px}
.cui-mdu-timeline>div:before{content:"";position:absolute;left:-24px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--cui-blue);box-shadow:0 0 0 3px #e6f1fb}
.cui-mdu-timeline time{font-size:12px;color:var(--cui-muted)}
.cui-mdu-timeline p{margin:3px 0 0}

.cui-mdu-checklist{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;border:1px solid var(--cui-line);border-radius:8px;padding:12px;margin:10px 0}
.cui-mdu-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important;margin:0!important}
.cui-mdu-check.cui-mdu-hidden{display:none!important}
.cui-mdu-check input{width:auto!important;margin:0!important}

/* Frontend portal (subcontractor dashboard) */
.cui-mdu-portal{background:var(--cui-bg);border:1px solid #e6eaf2;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(16,37,133,.1);max-width:960px;margin:20px auto}
.cui-mdu-portal-wide{max-width:100%}
.cui-mdu-portal-header{padding:18px 22px;background:linear-gradient(100deg,var(--cui-navy),var(--cui-blue));color:#fff}
.cui-mdu-portal .cui-mdu-brand strong{font-size:19px}
.cui-mdu-portal .cui-mdu-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.78);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.cui-mdu-portal-body{padding:20px}
.cui-mdu-empty{background:#fff;border:1px solid var(--cui-line);border-radius:12px;padding:20px;color:var(--cui-muted)}

.cui-mdu-tabs{display:flex;flex-wrap:wrap;gap:2px;background:var(--cui-navy);padding:0 14px}
.cui-mdu-tab{color:rgba(255,255,255,.72);text-decoration:none!important;font-size:13px;font-weight:600;padding:12px 14px;border-bottom:3px solid transparent;white-space:nowrap}
.cui-mdu-tab:hover{color:#fff}
.cui-mdu-tab-active{color:#fff!important;border-bottom-color:var(--cui-sky)}

.cui-mdu-embed{background:#fff;border:1px solid var(--cui-line);border-radius:10px;padding:14px;margin:8px 0 14px}

.cui-mdu-request-list{display:flex;flex-direction:column;gap:12px}
.cui-mdu-accordion{background:#fff;border:1px solid var(--cui-line);border-radius:12px;overflow:hidden}
.cui-mdu-accordion>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px}
.cui-mdu-accordion>summary::-webkit-details-marker{display:none}
.cui-mdu-caret{font-size:24px;color:var(--cui-blue);transition:transform .12s ease}
.cui-mdu-accordion[open] .cui-mdu-caret{transform:rotate(90deg)}
.cui-mdu-heading strong{display:block;color:var(--cui-navy)}
.cui-mdu-heading small{display:block;margin-top:2px;color:var(--cui-muted);font-size:12px}
.cui-mdu-accordion-body{padding:4px 16px 16px 48px;border-top:1px solid #edf0f4}

.cui-mdu-inline-form{display:flex;gap:8px;align-items:center;margin-top:12px}
.cui-mdu-inline-form select{width:auto;margin:0}

.cui-mdu-progress-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.cui-mdu-progress-done{background:#e6f7f0;color:#0f6e56;border-radius:14px;padding:5px 12px;font-size:12px;font-weight:700}
.cui-mdu-progress-pending{background:#eef1f8;color:var(--cui-muted);border-radius:14px;padding:5px 12px;font-size:12px;font-weight:700}
.cui-mdu-btn[disabled]{opacity:.5;cursor:not-allowed}

.cui-mdu-hold-toggle summary{list-style:none;cursor:pointer;display:inline-block}
.cui-mdu-hold-toggle summary::-webkit-details-marker{display:none}
.cui-mdu-hold-toggle[open] summary{margin-bottom:10px}
.cui-mdu-hold-toggle form{max-width:420px}

@media(max-width:620px){
  .cui-mdu-pagehead{flex-direction:column;gap:10px}
  .cui-mdu-filterbar{align-items:stretch}
  .cui-mdu-inline-form{flex-direction:column;align-items:stretch}
}
