*{box-sizing:border-box}
:root{font-family:Arial,sans-serif;color:#172a44;background:#edf2f7}
body{margin:0;min-width:320px;background:#edf2f7}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top right,rgba(237,28,36,.18),transparent 32%),linear-gradient(135deg,#071b3d,#0b3268)}
.login-card{width:min(660px,100%);padding:38px;border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.primary-logo{display:block;width:min(640px,100%);max-height:175px;object-fit:contain;object-position:left center;margin:0 auto 24px}
.company-name,.eyebrow{margin:0;color:#ed1c24;font-size:12px;font-weight:800;letter-spacing:.13em}
h1{margin:9px 0 5px;color:#071b3d;font-size:38px}
h2,h3{color:#071b3d}
.subtitle{margin:0 0 24px;color:#5f6f84;font-size:17px}
form{display:grid;gap:15px}
label{display:grid;gap:6px;font-size:13px;font-weight:800}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd6e3;border-radius:9px;background:#fff}
textarea{min-height:90px;resize:vertical}
.btn,form>button,.login-card button{padding:11px 14px;border:0;border-radius:9px;background:#071b3d;color:#fff;font-weight:800}
.btn.red{background:#ed1c24}.btn.light{border:1px solid #cbd6e3;background:#fff;color:#071b3d}.btn.small{padding:7px 9px;font-size:12px}
.error-box{padding:12px;border-left:4px solid #ed1c24;background:#fff0f0;color:#8b1d1d}
.status-links{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0}
.status-links a{padding:10px 13px;border-radius:9px;background:#f1f5fa;color:#071b3d;text-decoration:none;font-weight:800}
.staging-pill{position:fixed;right:15px;top:14px;z-index:20;padding:7px 11px;border-radius:999px;background:#ed1c24;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;box-shadow:0 7px 20px rgba(0,0,0,.22)}

.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{display:flex;flex-direction:column;padding:20px;background:#071b3d;color:#fff}
.sidebar-logo{display:block;width:100%;max-width:205px;height:auto;max-height:62px;object-fit:contain;object-position:left center;margin:7px 0 30px}
.sidebar nav{display:grid;gap:7px}
.sidebar nav button{padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#dbe5f1;text-align:left;font-weight:700}
.sidebar nav button.active,.sidebar nav button:hover{background:#fff;color:#071b3d}
.sidebar-footer{display:grid;gap:10px;margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.sidebar-footer span{font-size:12px;color:#c8d5e6}
.sidebar-footer button{padding:10px;border:0;border-radius:9px;background:#ed1c24;color:#fff;font-weight:800}
.main-panel{min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #d8e1ec;background:#fff}
.topbar strong,.topbar span{display:block}.topbar span{font-size:12px;color:#5f6f84}.user-chip{font-size:12px}
.content{padding:24px}
.hero{padding:28px;border-radius:20px;background:linear-gradient(135deg,#071b3d,#0c3b7a);color:#fff}
.hero h1{margin:5px 0 8px;color:#fff}.hero p{margin:0;color:#d6e1ef;line-height:1.65}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.kpi{padding:18px;border:1px solid #d8e1ec;border-radius:14px;background:#fff}
.kpi span,.kpi strong{display:block}.kpi span{font-size:11px;color:#5f6f84}.kpi strong{margin-top:7px;font-size:24px;color:#071b3d}
.panel{padding:20px;border:1px solid #d8e1ec;border-radius:15px;background:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 12px}.section-head h2{margin:0}.section-head p{margin:5px 0 0;color:#5f6f84}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.table-wrap{overflow:auto;border:1px solid #d8e1ec;border-radius:14px;background:#fff}
table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #e5ebf2;text-align:left;font-size:13px;vertical-align:top}th{font-size:11px;color:#5f6f84;text-transform:uppercase;letter-spacing:.04em}td small{display:block;margin-top:4px;color:#5f6f84}
.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#31527a;font-size:11px;font-weight:800}.badge.active,.badge.pre_construction,.badge.owner,.badge.manager{background:#e7f5ee;color:#18794e}.badge.suspended,.badge.blacklisted,.badge.cancelled{background:#fff0f0;color:#b42318}.badge.on_hold,.badge.inactive{background:#fff4df;color:#a15c00}
.empty{padding:28px;text-align:center;color:#5f6f84}
.search-row{display:flex;gap:10px;margin-bottom:12px}.search-row input{max-width:360px}
.money{text-align:right;white-space:nowrap}

dialog{width:min(760px,calc(100% - 28px));max-height:90vh;padding:0;border:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(3,14,30,.68)}
.modal-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;max-height:90vh;padding:0;overflow:hidden}
.modal-card header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #d8e1ec}.modal-card h2{margin:0}
.icon-button{width:38px;height:38px;padding:0;border:1px solid #d8e1ec;border-radius:9px;background:#fff;color:#071b3d;font-size:26px}
#modalBody{min-height:0;padding:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-card footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 20px;border-top:1px solid #d8e1ec;background:#f7f9fc}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.modal-error{margin:0 20px 16px}
.access-list{display:grid;gap:8px}.access-item{display:flex;justify-content:space-between;gap:20px;padding:11px;border:1px solid #d8e1ec;border-radius:10px}

@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar-footer{margin-top:20px}.kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.content{padding:14px}.topbar{padding:15px}.sidebar nav{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.login-card{padding:25px}h1{font-size:31px}}

.security-banner{margin:12px 0;padding:13px 15px;border:1px solid #cad8e8;border-radius:11px;background:#eef5ff;color:#25466f;font-size:13px;line-height:1.55}
.system-hero{background:linear-gradient(135deg,#071b3d,#174d83)}
button:disabled{cursor:not-allowed;opacity:.55}
td:nth-child(3){overflow-wrap:anywhere}


.lead-sync-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #f0c5c7;border-radius:12px;background:#fff3f3;color:#7f1d1d}.lead-sync-banner strong,.lead-sync-banner span{display:block}.lead-sync-banner span{font-size:12px}
.lead-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px;gap:10px;margin-bottom:12px}.lead-filter-row input,.lead-filter-row select{margin:0}
.followup-due td{background:#fff9ea}.followup-due td:first-child{border-left:4px solid #f59e0b}
.badge.hot{background:#fff0f0;color:#b42318}.badge.warm{background:#fff4df;color:#a15c00}.badge.cold{background:#eef2f6;color:#31527a}
.badge.new,.badge.contacted{background:#eef2f6;color:#31527a}.badge.qualified,.badge.consultation{background:#e8f1ff;color:#174ea6}.badge.proposal,.badge.follow_up{background:#fff4df;color:#a15c00}.badge.won,.badge.converted{background:#e7f5ee;color:#18794e}.badge.lost,.badge.closed{background:#fff0f0;color:#b42318}.badge.nurture{background:#f1eafe;color:#6b3fa0}
.lead-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.lead-summary-grid>div{padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}.lead-summary-grid span,.lead-summary-grid strong,.lead-summary-grid small{display:block}.lead-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}.lead-summary-grid strong{margin:6px 0;color:#071b3d}.lead-summary-grid small{color:#5f6f84}
.linked-customer{margin:12px 0;padding:12px;border-left:4px solid #18794e;background:#e7f5ee;color:#125c3d}.lead-notes{margin:12px 0;padding:14px}.lead-notes p{margin:7px 0 0;white-space:pre-wrap}.lead-detail-actions{margin:14px 0 4px}
.lead-timeline{display:grid;gap:0}.timeline-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;padding:0 0 18px}.timeline-item:before{content:"";position:absolute;left:7px;top:12px;bottom:-1px;width:2px;background:#d8e1ec}.timeline-item:last-child:before{display:none}.timeline-dot{position:relative;z-index:1;width:16px;height:16px;margin-top:3px;border:4px solid #fff;border-radius:50%;background:#ed1c24;box-shadow:0 0 0 1px #ed1c24}.timeline-item strong,.timeline-item span,.timeline-item small{display:block}.timeline-item strong{color:#071b3d;text-transform:capitalize}.timeline-item span,.timeline-item small{margin-top:3px;color:#5f6f84;font-size:11px}.timeline-item p{margin:7px 0;white-space:pre-wrap;color:#263b55}
@media(max-width:760px){.lead-sync-banner{align-items:flex-start;flex-direction:column}.lead-filter-row{grid-template-columns:1fr}.lead-summary-grid{grid-template-columns:1fr}}

body.modal-open{overflow:hidden}
.page-loading{display:grid;place-items:center;min-height:220px;padding:28px;border:1px solid #d8e1ec;border-radius:15px;background:#fff;color:#5f6f84;text-align:center}
.loading-spinner{width:34px;height:34px;margin-bottom:12px;border:4px solid #dbe4ee;border-top-color:#071b3d;border-radius:50%;animation:imas-spin .8s linear infinite}
@keyframes imas-spin{to{transform:rotate(360deg)}}
.btn[disabled],button[disabled]{cursor:not-allowed;opacity:.62}
.api-retry{margin-top:12px}
@media(max-width:650px){
  dialog{width:calc(100% - 16px);max-height:94vh}
  .modal-card{max-height:94vh}
  #modalBody{padding:15px}
  .modal-card header,.modal-card footer{padding:14px}
}


.sales-control-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#174d83)}
.qualification-preview{display:grid;gap:5px;margin-bottom:16px;padding:16px;border:1px solid #cad8e8;border-radius:12px;background:#eef5ff}
.qualification-preview span,.qualification-preview strong,.qualification-preview small{display:block}
.qualification-preview span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6f84}
.qualification-preview strong{font-size:22px;color:#071b3d}
.qualification-preview small{color:#526981}
.control-summary{margin:12px 0;padding:14px;border-left:4px solid #174ea6;background:#eef5ff;color:#173c69}
.control-summary strong,.control-summary p,.control-summary small{display:block}
.control-summary p{margin:7px 0;white-space:pre-wrap}
.control-card-list{display:grid;gap:9px}
.control-card{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.control-card strong{color:#071b3d}.control-card span,.control-card small{color:#5f6f84}
.task-overdue td,.control-card.task-overdue{background:#fff1f1}
.task-overdue td:first-child{border-left:4px solid #ed1c24}
.badge.urgent,.badge.disqualified{background:#fff0f0;color:#b42318}
.badge.high,.badge.conditional,.badge.rescheduled,.badge.in_progress{background:#fff4df;color:#a15c00}
.badge.normal,.badge.scheduled{background:#eef5ff;color:#174ea6}
.badge.low,.badge.completed,.badge.qualified{background:#e7f5ee;color:#18794e}
.badge.pending,.badge.unassessed{background:#eef2f6;color:#31527a}
.badge.no_show,.badge.cancelled{background:#fff0f0;color:#b42318}
@media(max-width:760px){
  .control-card{padding:12px}
}


.technical-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#305f8d)}
.technical-filter-row{display:flex;gap:10px;margin-bottom:12px}
.technical-filter-row input{max-width:430px}
.technical-filter-row select{max-width:230px}
.technical-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}
.technical-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.technical-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.technical-summary-grid strong{color:#071b3d}
.technical-summary-grid small{color:#5f6f84}
.technical-action-bar{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.technical-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.technical-dl{display:grid;gap:9px;margin:0}
.technical-dl div{display:grid;grid-template-columns:135px 1fr;gap:10px;padding-bottom:8px;border-bottom:1px solid #e7edf4}
.technical-dl dt{font-size:11px;font-weight:800;color:#5f6f84}
.technical-dl dd{margin:0;color:#172a44;white-space:pre-wrap}
.danger-text{display:block;margin-top:5px;color:#b42318;font-weight:800}
.badge.draft,.badge.not_started{background:#eef2f6;color:#31527a}
.badge.submitted,.badge.in_progress,.badge.in_review{background:#eef5ff;color:#174ea6}
.badge.clarification,.badge.returned{background:#fff4df;color:#a15c00}
.badge.management_review{background:#f3ecff;color:#6b3fa0}
.badge.approved,.badge.ready{background:#e7f5ee;color:#18794e}
.badge.cancelled{background:#fff0f0;color:#b42318}
.badge.sales{background:#eef5ff;color:#174ea6}
.badge.design{background:#eef2ff;color:#4338ca}
.badge.qs{background:#fff4df;color:#a15c00}
.badge.management{background:#f3ecff;color:#6b3fa0}
@media(max-width:900px){
  .technical-section-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .technical-filter-row{flex-direction:column}
  .technical-filter-row input,.technical-filter-row select{max-width:none}
  .technical-summary-grid{grid-template-columns:1fr}
  .technical-dl div{grid-template-columns:1fr}
}


.file-identity-banner{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:center;margin-bottom:20px;padding:18px 20px;border:1px solid #cbd9ea;border-radius:15px;background:linear-gradient(135deg,#071b3d,#174d83);color:#fff}
.file-identity-banner div{display:grid;gap:4px}
.file-identity-banner span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#9fc7ef}
.file-identity-banner strong{font-size:25px}
.file-identity-banner p{margin:0;color:#dbe8f5;line-height:1.55}
.customer-id-banner{display:flex;gap:10px;align-items:center;margin-bottom:16px;padding:13px 16px;border-left:5px solid #ed1c24;border-radius:10px;background:#fff;color:#172a44}
.customer-id-banner span{color:#5f6f84}
.permanent-code{font-size:15px;color:#071b3d}
.file-identity-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}
.file-identity-chain>div:not(.chain-arrow){display:grid;gap:4px;padding:15px;border:1px solid #d8e1ec;border-radius:12px;background:#f8fafc;text-align:center}
.file-identity-chain span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6f84}
.file-identity-chain strong{font-size:18px;color:#071b3d}
.file-identity-chain small{color:#18794e;font-weight:800}
.chain-arrow{font-size:24px;color:#ed1c24}
.file-policy-note{margin:16px 0;padding:15px;border-left:4px solid #174ea6;background:#eef5ff}
.file-policy-note p{margin:6px 0;color:#31527a}
.document-number-example{display:grid;gap:5px;margin-top:15px;padding:15px;border:1px dashed #9bb2cc;border-radius:12px;background:#f8fafc}
.document-number-example span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#5f6f84}
.document-number-example strong{font-size:20px;color:#071b3d}
.document-number-example small{color:#5f6f84}
.badge.technical_handover{background:#e7f5ee;color:#18794e}
.badge.manual,.badge.legacy{background:#fff4df;color:#a15c00}
.badge.open{background:#e7f5ee;color:#18794e}
.badge.handover_dlp{background:#f3ecff;color:#6b3fa0}
.badge.procurement,.badge.operations,.badge.accounts,.badge.qa_qc{background:#eef5ff;color:#174ea6}

@media(max-width:760px){
  .file-identity-banner{grid-template-columns:1fr}
  .file-identity-chain{grid-template-columns:1fr}
  .chain-arrow{transform:rotate(90deg);text-align:center}
  .customer-id-banner{align-items:flex-start;flex-direction:column}
}

.quotation-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#6b3fa0)}
.quotation-identity-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center}
.quotation-identity-chain>div:not(.chain-arrow){display:grid;gap:4px;padding:15px;border:1px solid #d8e1ec;border-radius:12px;background:#f8fafc;text-align:center}
.quotation-identity-chain span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6f84}
.quotation-identity-chain strong{font-size:17px;color:#071b3d}.quotation-identity-chain small{color:#5f6f84}
.quotation-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}
.quotation-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.quotation-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.quotation-summary-grid strong{color:#071b3d}.quotation-summary-grid small{color:#5f6f84}
.quotation-card-list{display:grid;gap:8px}.quotation-line-card{display:flex;justify-content:space-between;gap:20px;padding:12px;border:1px solid #d8e1ec;border-radius:10px;background:#fff}
.quotation-line-card>div{display:grid;gap:4px}.quotation-line-card small{color:#5f6f84}
.quotation-editor-header,.quotation-editor-row{display:grid;gap:7px;align-items:center;margin-bottom:7px}
.quotation-item-header,.quotation-item-row{grid-template-columns:130px 135px minmax(210px,1fr) 75px 90px 110px 90px 38px}
.quotation-payment-header,.quotation-payment-row{grid-template-columns:190px 90px minmax(260px,1fr) 38px}
.quotation-editor-header{padding:0 4px;font-size:10px;font-weight:800;text-transform:uppercase;color:#5f6f84}
.quotation-editor-row{padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.quotation-editor-row input,.quotation-editor-row select{padding:8px}.quotation-selected{display:flex;align-items:center;gap:5px;font-size:11px}.quotation-selected input{width:auto}
.badge.approved_internal,.badge.management_approved,.badge.qs_ready{background:#e7f5ee;color:#18794e}
.badge.issued,.badge.negotiation{background:#eef5ff;color:#174ea6}.badge.client{background:#f3ecff;color:#6b3fa0}
.badge.accounts,.badge.accepted{background:#e7f5ee;color:#18794e}.badge.rejected,.badge.expired,.badge.withdrawn{background:#fff0f0;color:#b42318}
.badge.superseded{background:#eef2f6;color:#5f6f84}.badge.provisional_sum{background:#fff4df;color:#a15c00}.badge.optional{background:#f3ecff;color:#6b3fa0}
@media(max-width:1050px){.quotation-summary-grid{grid-template-columns:1fr 1fr}.quotation-item-header,.quotation-payment-header{display:none}.quotation-item-row{grid-template-columns:1fr 1fr}.quotation-item-row .quotation-item-description{grid-column:1/-1}.quotation-payment-row{grid-template-columns:1fr}}
@media(max-width:700px){.quotation-identity-chain{grid-template-columns:1fr}.quotation-summary-grid{grid-template-columns:1fr}.quotation-line-card{flex-direction:column}.quotation-item-row{grid-template-columns:1fr}}

.contract-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#18794e)}
.contract-identity-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:9px;align-items:center}
.contract-identity-chain>div:not(.chain-arrow){display:grid;gap:4px;padding:14px;border:1px solid #d8e1ec;border-radius:12px;background:#f8fafc;text-align:center}
.contract-identity-chain span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6f84}
.contract-identity-chain strong{font-size:16px;color:#071b3d}.contract-identity-chain small{color:#5f6f84}
.contract-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}
.contract-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.contract-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.contract-summary-grid strong{color:#071b3d}.contract-summary-grid small{color:#5f6f84}
.payment-request-card{display:flex;justify-content:space-between;gap:20px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.payment-request-card>div{display:grid;gap:4px}.payment-request-card small{color:#5f6f84}
.contract-receipt-review{display:grid;gap:5px;margin-bottom:16px;padding:16px;border:1px solid #cad8e8;border-radius:12px;background:#eef5ff}
.contract-receipt-review strong{font-size:24px;color:#071b3d}.contract-receipt-review span,.contract-receipt-review small{color:#526981}
.badge.ready_for_signature,.badge.client_signed,.badge.company_signed{background:#f3ecff;color:#6b3fa0}
.badge.executed,.badge.activated,.badge.verified,.badge.paid{background:#e7f5ee;color:#18794e}
.badge.blocked,.badge.rejected{background:#fff0f0;color:#b42318}
.badge.pending,.badge.partially_paid{background:#fff4df;color:#a15c00}
.badge.credit_to_initial_payment{background:#eef5ff;color:#174ea6}
.badge.separate_non_refundable{background:#fff4df;color:#a15c00}
.badge.refundable_before_execution{background:#f3ecff;color:#6b3fa0}
.badge.waived{background:#eef2f6;color:#5f6f84}
@media(max-width:1100px){.contract-summary-grid{grid-template-columns:1fr 1fr}.contract-identity-chain{grid-template-columns:1fr}.contract-identity-chain .chain-arrow{transform:rotate(90deg)}}
@media(max-width:700px){.contract-summary-grid{grid-template-columns:1fr}.payment-request-card{flex-direction:column}}


.kickoff-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#246da8)}
.kickoff-identity-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:9px;align-items:center}
.kickoff-identity-chain>div:not(.chain-arrow){display:grid;gap:4px;padding:14px;border:1px solid #d8e1ec;border-radius:12px;background:#f8fafc;text-align:center}
.kickoff-identity-chain span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6f84}
.kickoff-identity-chain strong{font-size:16px;color:#071b3d}
.kickoff-identity-chain small{color:#5f6f84}
.kickoff-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}
.kickoff-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.kickoff-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.kickoff-summary-grid strong{color:#071b3d}
.kickoff-summary-grid small{color:#5f6f84}
.readiness-blockers{margin:14px 0;padding:15px;border-left:5px solid #ed1c24;border-radius:10px;background:#fff1f1;color:#8b1d1d}
.readiness-blockers ul{margin:8px 0 0;padding-left:20px}
.readiness-pass{margin:14px 0;padding:15px;border-left:5px solid #18794e;border-radius:10px;background:#e7f5ee;color:#18794e}
.checklist-editor{display:grid;gap:9px}
.checklist-editor-card{display:grid;grid-template-columns:minmax(260px,1.5fr) 150px 135px minmax(170px,1fr);gap:8px;align-items:start;padding:11px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.checklist-editor-title{display:grid;gap:3px}
.checklist-editor-title small{color:#5f6f84}
.checklist-editor-card textarea{grid-column:2/-1;min-height:68px}
.kickoff-milestone-header,.kickoff-milestone-row{display:grid;grid-template-columns:65px 135px minmax(190px,1fr) 125px 125px 80px 150px 105px minmax(130px,1fr) 38px;gap:6px;align-items:center}
.kickoff-milestone-header{padding:0 4px;font-size:10px;font-weight:800;text-transform:uppercase;color:#5f6f84}
.kickoff-milestone-row{margin-bottom:7px;padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.kickoff-milestone-row input,.kickoff-milestone-row select{padding:8px}
.badge.readiness_review,.badge.approved_for_mobilisation{background:#f3ecff;color:#6b3fa0}
.badge.mobilised,.badge.complete{background:#e7f5ee;color:#18794e}
.badge.returned,.badge.in_progress,.badge.conditional{background:#fff4df;color:#a15c00}
.badge.blocked,.badge.not_ready,.badge.not_confirmed,.badge.major_obstruction{background:#fff0f0;color:#b42318}
.badge.not_applicable{background:#eef2f6;color:#5f6f84}
.badge.operations{background:#eef5ff;color:#174ea6}
.badge.confirmed,.badge.clear{background:#e7f5ee;color:#18794e}

@media(max-width:1150px){
  .kickoff-summary-grid{grid-template-columns:1fr 1fr}
  .kickoff-identity-chain{grid-template-columns:1fr}
  .kickoff-identity-chain .chain-arrow{transform:rotate(90deg)}
  .kickoff-milestone-header{display:none}
  .kickoff-milestone-row{grid-template-columns:1fr 1fr}
  .kickoff-milestone-name,.kickoff-milestone-notes{grid-column:1/-1}
}
@media(max-width:760px){
  .kickoff-summary-grid{grid-template-columns:1fr}
  .checklist-editor-card{grid-template-columns:1fr}
  .checklist-editor-card textarea{grid-column:auto}
  .kickoff-milestone-row{grid-template-columns:1fr}
  .kickoff-milestone-name,.kickoff-milestone-notes{grid-column:auto}
}


.site-operations-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#174d83)}
.site-tabs{display:flex;gap:8px;margin:18px 0}
.site-tabs button{padding:10px 14px;border:1px solid #cbd6e3;border-radius:9px;background:#fff;color:#071b3d;font-weight:800}
.site-tabs button.active{border-color:#071b3d;background:#071b3d;color:#fff}
.site-diary-summary,.instruction-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:15px}
.site-diary-summary>div,.instruction-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.site-diary-summary span,.instruction-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.site-diary-summary strong,.instruction-summary-grid strong{color:#071b3d}
.site-diary-summary small,.instruction-summary-grid small{color:#5f6f84}
.site-editor-row{display:grid;gap:6px;align-items:center;margin-bottom:7px;padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.site-activity-row{grid-template-columns:minmax(190px,1.4fr) 130px 100px 100px 75px 90px 105px minmax(140px,1fr) 38px}
.site-resource-row{grid-template-columns:130px minmax(190px,1.4fr) 100px 85px 170px minmax(140px,1fr) 38px}
.instruction-response{margin:14px 0;padding:15px;border-left:5px solid #174ea6;border-radius:10px;background:#eef5ff}
.instruction-response p{margin:7px 0 0}
.badge.on_track,.badge.verified,.badge.closed{background:#e7f5ee;color:#18794e}
.badge.at_risk,.badge.acknowledged,.badge.in_progress,.badge.possible{background:#fff4df;color:#a15c00}
.badge.delayed,.badge.urgent,.badge.confirmed{background:#fff0f0;color:#b42318}
.badge.submitted,.badge.issued{background:#eef5ff;color:#174ea6}
.badge.returned,.badge.held{background:#fff4df;color:#a15c00}
.badge.normal,.badge.none{background:#eef2f6;color:#5f6f84}
.badge.high,.badge.completed{background:#f3ecff;color:#6b3fa0}
.badge.labour,.badge.material,.badge.equipment,.badge.subcontractor{background:#eef5ff;color:#174ea6}

@media(max-width:1200px){
  .site-diary-summary,.instruction-summary-grid{grid-template-columns:1fr 1fr}
  .site-activity-row,.site-resource-row{grid-template-columns:1fr 1fr}
  .site-activity-name,.site-activity-notes,.site-resource-name,.site-resource-notes{grid-column:1/-1}
}
@media(max-width:700px){
  .site-diary-summary,.instruction-summary-grid{grid-template-columns:1fr}
  .site-activity-row,.site-resource-row{grid-template-columns:1fr}
  .site-activity-name,.site-activity-notes,.site-resource-name,.site-resource-notes{grid-column:auto}
}


.procurement-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#a15c00)}
.procurement-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}
.procurement-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.procurement-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.procurement-summary-grid strong{color:#071b3d}
.procurement-summary-grid small{color:#5f6f84}
.procurement-item-row{display:grid;grid-template-columns:120px minmax(180px,1.2fr) minmax(160px,1fr) 90px 70px 110px minmax(130px,1fr) 38px;gap:6px;align-items:center;margin-bottom:7px;padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.procurement-review-list,.quote-item-list,.inspection-item-list{display:grid;gap:8px;margin-bottom:15px}
.proc-review-item,.proc-quote-item,.proc-delivery-item,.proc-inspect-item{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(110px,.6fr)) minmax(130px,.8fr);gap:8px;align-items:center;padding:11px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.proc-review-item{grid-template-columns:minmax(260px,1.5fr) 140px 150px}
.supplier-quote-card,.goods-receipt-card{display:flex;justify-content:space-between;gap:20px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.supplier-quote-card>div,.goods-receipt-card>div{display:grid;gap:4px}
.selected-quote{border:2px solid #18794e;background:#e7f5ee}
.badge.approved,.badge.fulfilled,.badge.delivered,.badge.closed,.badge.selected,.badge.accepted,.badge.good{background:#e7f5ee;color:#18794e}
.badge.pending,.badge.procurement_review,.badge.management_review,.badge.po_review,.badge.issued{background:#eef5ff;color:#174ea6}
.badge.comparison,.badge.po_draft,.badge.po_approved{background:#f3ecff;color:#6b3fa0}
.badge.po_issued,.badge.partially_delivered,.badge.pending_inspection,.badge.partial_acceptance{background:#fff4df;color:#a15c00}
.badge.rejected,.badge.cancelled,.badge.blacklisted,.badge.damaged,.badge.short,.badge.wrong_item{background:#fff0f0;color:#b42318}
.badge.not_selected,.badge.inactive,.badge.expired{background:#eef2f6;color:#5f6f84}

@media(max-width:1150px){
  .procurement-summary-grid{grid-template-columns:1fr 1fr}
  .procurement-item-row,.proc-review-item,.proc-quote-item,.proc-delivery-item,.proc-inspect-item{grid-template-columns:1fr 1fr}
  .proc-description,.proc-specification,.proc-notes{grid-column:1/-1}
}
@media(max-width:700px){
  .procurement-summary-grid{grid-template-columns:1fr}
  .procurement-item-row,.proc-review-item,.proc-quote-item,.proc-delivery-item,.proc-inspect-item{grid-template-columns:1fr}
  .proc-description,.proc-specification,.proc-notes{grid-column:auto}
  .supplier-quote-card,.goods-receipt-card{flex-direction:column}
}


.finance-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#18794e)}
.finance-completeness-banner{display:flex;gap:12px;align-items:center;margin:16px 0;padding:14px 16px;border-left:5px solid #18794e;border-radius:10px;background:#e7f5ee;color:#174f36}
.finance-completeness-banner span{color:#315e4b}
.finance-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}
.finance-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.finance-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.finance-summary-grid strong{color:#071b3d}
.finance-summary-grid small{color:#5f6f84}
.finance-line-header,.finance-line-row{display:grid;gap:7px;align-items:center;margin-bottom:7px}
.finance-claim-header,.finance-claim-line,.finance-supplier-header,.finance-supplier-line{grid-template-columns:minmax(240px,1.5fr) 150px minmax(190px,1fr) 38px}
.finance-line-header{padding:0 4px;font-size:10px;font-weight:800;text-transform:uppercase;color:#5f6f84}
.finance-line-row{padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.finance-line-row input{padding:8px}
.finance-receipt-card,.finance-voucher-card{display:flex;justify-content:space-between;gap:20px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.finance-receipt-card>div,.finance-voucher-card>div{display:grid;gap:4px}
.finance-voucher-actions{display:flex!important;align-items:center;justify-content:flex-end;grid-auto-flow:column}
.finance-receipt-review,.finance-payment-review{display:grid;gap:5px;margin-bottom:16px;padding:16px;border:1px solid #cad8e8;border-radius:12px;background:#eef5ff}
.finance-receipt-review strong,.finance-payment-review strong{font-size:24px;color:#071b3d}
.finance-receipt-review span,.finance-payment-review span,.finance-receipt-review small{color:#526981}
.badge.qs_review,.badge.management_review{background:#eef5ff;color:#174ea6}
.badge.issued,.badge.partially_paid,.badge.partial_match{background:#fff4df;color:#a15c00}
.badge.paid,.badge.matched,.badge.verified{background:#e7f5ee;color:#18794e}
.badge.over_billed,.badge.rejected,.badge.cancelled{background:#fff0f0;color:#b42318}
.badge.client{background:#f3ecff;color:#6b3fa0}

@media(max-width:1050px){
  .finance-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .finance-completeness-banner{align-items:flex-start;flex-direction:column}
  .finance-summary-grid{grid-template-columns:1fr}
  .finance-line-header{display:none}
  .finance-claim-line,.finance-supplier-line{grid-template-columns:1fr}
  .finance-receipt-card,.finance-voucher-card{flex-direction:column}
  .finance-voucher-actions{justify-content:flex-start}
}


.quality-hero{margin-top:16px;background:linear-gradient(135deg,#071b3d,#6b3fa0)}
.quality-completeness-banner{display:flex;gap:12px;align-items:center;margin:16px 0;padding:14px 16px;border-left:5px solid #6b3fa0;border-radius:10px;background:#f3ecff;color:#4e2d78}
.quality-completeness-banner span{color:#675579}
.quality-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}
.quality-summary-grid>div{display:grid;gap:5px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.quality-summary-grid span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6f84}
.quality-summary-grid strong{color:#071b3d}
.quality-summary-grid small{color:#5f6f84}
.quality-checklist-header,.quality-checklist-edit-row{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(280px,1.7fr) 105px 38px;gap:7px;align-items:center}
.quality-checklist-header,.quality-action-header{padding:0 4px;font-size:10px;font-weight:800;text-transform:uppercase;color:#5f6f84}
.quality-checklist-edit-row,.quality-action-edit-row{margin-bottom:7px;padding:8px;border:1px solid #d8e1ec;border-radius:10px;background:#f8fafc}
.quality-checklist-edit-row input,.quality-checklist-edit-row select,.quality-action-edit-row input,.quality-action-edit-row select{padding:8px}
.quality-mandatory{display:flex;align-items:center;gap:6px;font-size:11px}
.quality-mandatory input{width:auto}
.quality-activity-card,.quality-question-card,.quality-response-card,.quality-review-card,.quality-ncr-card,.quality-evidence-card{display:grid;gap:6px;margin:13px 0;padding:15px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.quality-response-card{border-left:5px solid #174ea6;background:#eef5ff}
.quality-review-card{border-left:5px solid #6b3fa0;background:#f3ecff}
.quality-ncr-card{border-left:5px solid #b42318;background:#fff5f5}
.quality-result-list,.quality-action-edit-list{display:grid;gap:8px}
.quality-result-row{display:grid;grid-template-columns:minmax(280px,1.7fr) 145px minmax(160px,1fr);gap:8px;padding:11px;border:1px solid #d8e1ec;border-radius:11px;background:#f8fafc}
.quality-result-row>div{display:grid;gap:4px}
.quality-result-row small{color:#5f6f84}
.quality-result-row textarea{grid-column:2/-1;min-height:65px}
.quality-ncr-inline{margin-top:16px;padding:15px;border:1px solid #f2c7c7;border-radius:12px;background:#fff8f8}
.quality-inspection-card,.quality-link-card,.quality-action-card{display:flex;justify-content:space-between;gap:18px;padding:13px;border:1px solid #d8e1ec;border-radius:11px;background:#fff}
.quality-inspection-card>div,.quality-link-card>div,.quality-action-card>div{display:grid;gap:4px}
.quality-action-card>div:last-child{display:flex;align-items:center;gap:7px}
.quality-action-header,.quality-action-edit-row{display:grid;grid-template-columns:minmax(300px,1.8fr) minmax(180px,1fr) 135px 38px;gap:7px;align-items:center}
.badge.qa_review,.badge.scheduled,.badge.review,.badge.in_verification,.badge.management_review{background:#eef5ff;color:#174ea6}
.badge.pass,.badge.passed,.badge.closed,.badge.verified{background:#e7f5ee;color:#18794e}
.badge.conditional,.badge.returned,.badge.acknowledged,.badge.corrective_action,.badge.root_cause,.badge.possible{background:#fff4df;color:#a15c00}
.badge.fail,.badge.failed,.badge.critical,.badge.rejected,.badge.overdue{background:#fff0f0;color:#b42318}
.badge.major,.badge.urgent,.badge.confirmed{background:#ffe7e7;color:#9d1212}
.badge.minor,.badge.normal,.badge.pending,.badge.not_applicable,.badge.superseded{background:#eef2f6;color:#5f6f84}
.badge.high,.badge.conditional,.badge.design,.badge.qa_qc{background:#f3ecff;color:#6b3fa0}
.badge.issued,.badge.responded{background:#eef5ff;color:#174ea6}
.badge.completed{background:#f3ecff;color:#6b3fa0}

@media(max-width:1100px){
  .quality-summary-grid{grid-template-columns:1fr 1fr}
  .quality-checklist-header,.quality-action-header{display:none}
  .quality-checklist-edit-row,.quality-action-edit-row,.quality-result-row{grid-template-columns:1fr 1fr}
  .quality-check-criteria,.quality-action-description,.quality-result-row>div,.quality-result-row textarea{grid-column:1/-1}
}
@media(max-width:700px){
  .quality-completeness-banner{align-items:flex-start;flex-direction:column}
  .quality-summary-grid{grid-template-columns:1fr}
  .quality-checklist-edit-row,.quality-action-edit-row,.quality-result-row{grid-template-columns:1fr}
  .quality-check-criteria,.quality-action-description,.quality-result-row>div,.quality-result-row textarea{grid-column:auto}
  .quality-inspection-card,.quality-link-card,.quality-action-card{flex-direction:column}
  .quality-action-card>div:last-child{align-items:flex-start;flex-wrap:wrap}
}


.store-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#0d6b67);
}
.store-mobile-flow{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #0d6b67;
  border-radius:10px;
  background:#e8f7f5;
  color:#174f4c;
}
.store-mobile-flow span{flex:1;color:#416d6a}
.store-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.store-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.store-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.store-attention-row{background:#fffaf0}
.store-evidence-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px;
}
.store-evidence-card{
  overflow:hidden;
  margin:0;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#fff;
}
.store-evidence-card img{
  display:block;
  width:100%;
  height:140px;
  object-fit:cover;
  background:#eef2f6;
}
.store-evidence-card figcaption{
  display:grid;
  gap:3px;
  padding:9px;
}
.store-evidence-card small{color:#5f6f84}
.store-camera-instruction{
  display:grid;
  gap:5px;
  margin-bottom:14px;
  padding:13px;
  border-left:5px solid #174ea6;
  border-radius:10px;
  background:#eef5ff;
}
.store-camera-field{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  padding:18px;
  border:2px dashed #94abc5;
  border-radius:12px;
  text-align:center;
  background:#f8fafc;
  font-weight:800;
}
.store-camera-field input{padding:8px;background:#fff}
.store-upload-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:8px;
  margin-bottom:14px;
}
.store-upload-preview figure{
  overflow:hidden;
  margin:0;
  border:1px solid #d8e1ec;
  border-radius:9px;
  background:#fff;
}
.store-upload-preview img{
  display:block;
  width:100%;
  height:100px;
  object-fit:cover;
}
.store-upload-preview figcaption{
  padding:6px;
  font-size:10px;
  color:#526981;
}
.store-scanner-panel{
  display:grid;
  gap:8px;
  overflow:hidden;
  margin-bottom:14px;
  border:1px solid #cbd6e3;
  border-radius:12px;
  background:#071b3d;
}
.store-scanner-panel video{
  width:100%;
  min-height:260px;
  max-height:440px;
  object-fit:cover;
}
.store-scanner-panel div{
  padding:10px;
  color:#fff;
  text-align:center;
}
.store-master-summary,
.store-asset-summary,
.store-receiving-summary,
.store-movement-summary,
.store-stocktake-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.store-master-summary>div,
.store-asset-summary>div,
.store-receiving-summary>div,
.store-movement-summary>div,
.store-stocktake-summary>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.store-master-summary span,
.store-asset-summary span,
.store-receiving-summary span,
.store-movement-summary span,
.store-stocktake-summary span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#5f6f84;
}
.store-master-summary strong,
.store-asset-summary strong,
.store-receiving-summary strong,
.store-movement-summary strong,
.store-stocktake-summary strong{color:#071b3d}
.store-master-summary small,
.store-asset-summary small,
.store-receiving-summary small,
.store-movement-summary small,
.store-stocktake-summary small{color:#5f6f84}
.store-receiving-list,
.store-movement-list,
.store-receipt-list,
.store-stocktake-count-list{
  display:grid;
  gap:8px;
  margin-bottom:15px;
}
.store-receiving-line{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) 110px 115px 125px minmax(130px,1fr);
  gap:7px;
  align-items:center;
  padding:11px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.store-receiving-line>div{display:grid;gap:4px}
.store-receiving-line label,
.store-receipt-item label{
  display:grid;
  gap:4px;
  font-size:10px;
  font-weight:800;
  color:#526981;
}
.store-movement-line{
  display:grid;
  grid-template-columns:minmax(250px,1.5fr) 105px 125px 130px minmax(140px,1fr) 38px;
  gap:7px;
  align-items:center;
  padding:10px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.store-movement-preset>div{display:grid;gap:4px}
.store-receiver-confirmation{
  display:grid;
  gap:4px;
  margin-bottom:14px;
  padding:14px;
  border-left:5px solid #18794e;
  border-radius:10px;
  background:#e7f5ee;
}
.store-receipt-item{
  display:grid;
  grid-template-columns:minmax(230px,1.5fr) repeat(4,105px) minmax(140px,1fr);
  gap:7px;
  align-items:center;
  padding:11px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.store-receipt-item>div{display:grid;gap:4px}
.store-stocktake-count-row{
  display:grid;
  grid-template-columns:minmax(250px,1.5fr) 150px 150px minmax(220px,1fr);
  gap:8px;
  align-items:center;
  padding:11px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.store-stocktake-count-row>div{display:grid;gap:4px}
.store-stocktake-count-row label{
  display:grid;
  gap:4px;
  font-size:10px;
  font-weight:800;
  color:#526981;
}
.badge.receiving,.badge.in_transit,.badge.pending_approval{
  background:#eef5ff;
  color:#174ea6;
}
.badge.available,.badge.received,.badge.put_away_complete,.badge.posted{
  background:#e7f5ee;
  color:#18794e;
}
.badge.quarantine,.badge.partial_received,.badge.returned_pending_inspection{
  background:#fff4df;
  color:#a15c00;
}
.badge.lost,.badge.disposed,.badge.unserviceable,.badge.wrong_item{
  background:#fff0f0;
  color:#b42318;
}
.badge.under_repair,.badge.reserved,.badge.in_use{
  background:#f3ecff;
  color:#6b3fa0;
}
.badge.available,.badge.asset,.badge.quantity{
  font-weight:800;
}

@media(max-width:1200px){
  .store-master-summary,
  .store-asset-summary,
  .store-receiving-summary,
  .store-movement-summary,
  .store-stocktake-summary{
    grid-template-columns:1fr 1fr;
  }
  .store-receiving-line,
  .store-movement-line,
  .store-receipt-item,
  .store-stocktake-count-row{
    grid-template-columns:1fr 1fr;
  }
  .store-receiving-line>div,
  .store-movement-line>select:first-child,
  .store-movement-preset>div,
  .store-receipt-item>div,
  .store-stocktake-count-row>div,
  .store-stocktake-count-row textarea{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .store-mobile-flow{
    align-items:flex-start;
    flex-direction:column;
  }
  .store-master-summary,
  .store-asset-summary,
  .store-receiving-summary,
  .store-movement-summary,
  .store-stocktake-summary{
    grid-template-columns:1fr;
  }
  .store-receiving-line,
  .store-movement-line,
  .store-receipt-item,
  .store-stocktake-count-row{
    grid-template-columns:1fr;
  }
  .store-receiving-line>div,
  .store-movement-line>select:first-child,
  .store-movement-preset>div,
  .store-receipt-item>div,
  .store-stocktake-count-row>div,
  .store-stocktake-count-row textarea{
    grid-column:auto;
  }
  .store-evidence-card img{height:180px}
}

.maintenance-control-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:0 0 16px;
  padding:14px 16px;
  border-left:5px solid #a15c00;
  border-radius:10px;
  background:#fff4df;
  color:#704005;
}
.maintenance-control-banner span{flex:1;color:#765b35}
.maintenance-kpi-grid{margin-bottom:18px}
.maintenance-subtabs{
  display:flex;
  gap:7px;
  overflow-x:auto;
  margin:12px 0 16px;
}
.maintenance-subtabs button{
  flex:0 0 auto;
  padding:9px 13px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.maintenance-subtabs button.active{
  border-color:#a15c00;
  background:#a15c00;
  color:#fff;
}
.maintenance-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-bottom:15px;
}
.maintenance-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.maintenance-summary-grid span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#5f6f84;
}
.maintenance-summary-grid strong{color:#071b3d}
.maintenance-summary-grid small{color:#5f6f84}
.maintenance-task-edit-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(320px,1.7fr) 110px 38px;
  gap:7px;
  align-items:center;
  margin-bottom:7px;
  padding:9px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.maintenance-task-edit-row label{
  display:flex;
  gap:6px;
  align-items:center;
  font-size:11px;
  color:#526981;
}
.maintenance-task-edit-row label input{width:auto}
.maintenance-task-result-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.maintenance-task-result{
  display:grid;
  grid-template-columns:minmax(280px,1.7fr) 150px minmax(160px,1fr);
  gap:8px;
  padding:11px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.maintenance-task-result>div{display:grid;gap:4px}
.maintenance-task-result>div small{color:#5f6f84}
.maintenance-task-result textarea{
  grid-column:2/-1;
  min-height:60px;
}
.badge.due_soon{
  background:#fff4df;
  color:#a15c00;
}
.badge.overdue,
.badge.critical{
  background:#fff0f0;
  color:#b42318;
}
.badge.ok,
.badge.approved,
.badge.valid{
  background:#e7f5ee;
  color:#18794e;
}
.badge.not_scheduled,
.badge.suspended{
  background:#eef2f6;
  color:#5f6f84;
}
.badge.maintenance,
.badge.verification,
.badge.calibration,
.badge.statutory_inspection{
  background:#f3ecff;
  color:#6b3fa0;
}
.badge.breakdown,
.badge.immobilized{
  background:#fff0f0;
  color:#b42318;
}
.badge.off_hire_requested{
  background:#fff4df;
  color:#a15c00;
}

@media(max-width:1100px){
  .maintenance-summary-grid{grid-template-columns:1fr 1fr}
  .maintenance-task-edit-row,
  .maintenance-task-result{grid-template-columns:1fr 1fr}
  .maintenance-task-criteria,
  .maintenance-task-result>div,
  .maintenance-task-result textarea{grid-column:1/-1}
}
@media(max-width:700px){
  .maintenance-control-banner{align-items:flex-start;flex-direction:column}
  .maintenance-summary-grid{grid-template-columns:1fr}
  .maintenance-task-edit-row,
  .maintenance-task-result{grid-template-columns:1fr}
  .maintenance-task-criteria,
  .maintenance-task-result>div,
  .maintenance-task-result textarea{grid-column:auto}
}


.subcontractor-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#7a4d12);
}
.subcontractor-control-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #a86510;
  border-radius:10px;
  background:#fff4df;
  color:#74460a;
}
.subcontractor-control-banner span{
  flex:1;
  color:#765d3a;
}
.subcontractor-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.subcontractor-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.subcontractor-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.subcontractor-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-bottom:15px;
}
.subcontractor-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.subcontractor-summary-grid span,
.subcontractor-certificate-card span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#5f6f84;
}
.subcontractor-summary-grid strong,
.subcontractor-certificate-card strong{
  color:#071b3d;
}
.subcontractor-summary-grid small,
.subcontractor-certificate-card small{
  color:#5f6f84;
}
.subcontractor-wo-header,
.subcontractor-wo-item-row{
  display:grid;
  grid-template-columns:90px minmax(250px,1.7fr) 80px 105px 125px minmax(140px,1fr) 38px;
  gap:7px;
  align-items:center;
}
.subcontractor-wo-header,
.subcontractor-claim-header{
  padding:0 4px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  color:#5f6f84;
}
.subcontractor-wo-item-row,
.subcontractor-claim-line,
.subcontractor-review-line{
  margin-bottom:7px;
  padding:9px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.subcontractor-claim-header,
.subcontractor-claim-line{
  display:grid;
  grid-template-columns:minmax(320px,1.8fr) 150px minmax(190px,1fr) 38px;
  gap:7px;
  align-items:center;
}
.subcontractor-review-list{
  display:grid;
  gap:8px;
  margin-bottom:15px;
}
.subcontractor-review-line{
  display:grid;
  grid-template-columns:minmax(300px,1.7fr) 170px minmax(220px,1fr);
  gap:8px;
  align-items:center;
}
.subcontractor-review-line>div{
  display:grid;
  gap:4px;
}
.subcontractor-review-line label{
  display:grid;
  gap:4px;
  font-size:10px;
  font-weight:800;
  color:#526981;
}
.subcontractor-certificate-card{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
  margin:15px 0;
  padding:12px;
  border-left:5px solid #18794e;
  border-radius:12px;
  background:#e7f5ee;
}
.subcontractor-certificate-card>div{
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #c4dfd0;
  border-radius:9px;
  background:#fff;
}
.badge.pending,
.badge.qs_review,
.badge.operations_review,
.badge.qs_certification,
.badge.management_review,
.badge.accounts_ready{
  background:#eef5ff;
  color:#174ea6;
}
.badge.active,
.badge.acknowledged,
.badge.accounts_acknowledged,
.badge.approved{
  background:#e7f5ee;
  color:#18794e;
}
.badge.suspended,
.badge.returned,
.badge.issued{
  background:#fff4df;
  color:#a15c00;
}
.badge.blacklisted,
.badge.rejected,
.badge.cancelled{
  background:#fff0f0;
  color:#b42318;
}
.badge.subcontractor,
.badge.procurement,
.badge.operations,
.badge.qs,
.badge.accounts{
  font-weight:800;
}

@media(max-width:1150px){
  .subcontractor-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .subcontractor-wo-header,
  .subcontractor-claim-header{
    display:none;
  }
  .subcontractor-wo-item-row,
  .subcontractor-claim-line,
  .subcontractor-review-line{
    grid-template-columns:1fr 1fr;
  }
  .sub-wo-item-description,
  .sub-wo-item-note,
  .sub-claim-reference,
  .sub-claim-note,
  .subcontractor-review-line>div{
    grid-column:1/-1;
  }
  .subcontractor-certificate-card{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .subcontractor-control-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .subcontractor-summary-grid,
  .subcontractor-certificate-card{
    grid-template-columns:1fr;
  }
  .subcontractor-wo-item-row,
  .subcontractor-claim-line,
  .subcontractor-review-line{
    grid-template-columns:1fr;
  }
  .sub-wo-item-description,
  .sub-wo-item-note,
  .sub-claim-reference,
  .sub-claim-note,
  .subcontractor-review-line>div{
    grid-column:auto;
  }
}


.completion-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#315f7d);
}
.completion-control-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #315f7d;
  border-radius:10px;
  background:#edf5fa;
  color:#23475d;
}
.completion-control-banner span{
  flex:1;
  color:#536e7f;
}
.completion-tabs,
.completion-stage-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.completion-tabs button,
.completion-stage-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.completion-tabs button.active,
.completion-stage-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.completion-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.completion-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.completion-summary-grid span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#5f6f84;
}
.completion-summary-grid strong{color:#071b3d}
.completion-summary-grid small{color:#5f6f84}
.completion-ready-card,
.completion-blocker-card{
  display:grid;
  gap:7px;
  margin:14px 0;
  padding:14px;
  border-radius:11px;
}
.completion-ready-card{
  border-left:5px solid #18794e;
  background:#e7f5ee;
  color:#174f36;
}
.completion-blocker-card{
  border-left:5px solid #b42318;
  background:#fff0f0;
  color:#8d1e17;
}
.completion-blocker-card ul{
  margin:0;
  padding-left:20px;
}
.completion-evidence-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:10px;
}
.completion-evidence-card{
  overflow:hidden;
  margin:0;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#fff;
}
.completion-evidence-card img{
  display:block;
  width:100%;
  height:140px;
  object-fit:cover;
  background:#eef2f6;
}
.completion-evidence-card figcaption{
  display:grid;
  gap:3px;
  padding:9px;
}
.completion-evidence-card small{color:#5f6f84}
.completion-photo-instruction{
  display:grid;
  gap:5px;
  margin-bottom:14px;
  padding:13px;
  border-left:5px solid #174ea6;
  border-radius:10px;
  background:#eef5ff;
}
.completion-camera-field{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  padding:18px;
  border:2px dashed #94abc5;
  border-radius:12px;
  text-align:center;
  background:#f8fafc;
  font-weight:800;
}
.completion-camera-field input{
  padding:8px;
  background:#fff;
}
.handover-key-row,
.handover-meter-row{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) 110px minmax(180px,1fr) 38px;
  gap:7px;
  align-items:center;
  margin-bottom:7px;
  padding:9px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.handover-document-header,
.handover-document-row{
  display:grid;
  grid-template-columns:150px minmax(190px,1fr) minmax(160px,1fr) 130px 100px minmax(150px,1fr) 38px;
  gap:7px;
  align-items:center;
}
.handover-document-header{
  padding:0 4px;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  color:#5f6f84;
}
.handover-document-row{
  margin-bottom:7px;
  padding:9px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.completion-checkbox{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  font-weight:800;
  color:#526981;
}
.badge.practical_completion_approved,
.badge.final_completion_approved,
.badge.handed_over,
.badge.dlp_active{
  background:#e7f5ee;
  color:#18794e;
}
.badge.snag_rectification,
.badge.handover_preparation,
.badge.final_inspection,
.badge.ready_verification{
  background:#fff4df;
  color:#a15c00;
}
.badge.management_pc_review,
.badge.management_final_review,
.badge.qa_review{
  background:#eef5ff;
  color:#174ea6;
}
.badge.out_of_scope,
.badge.not_applicable{
  background:#eef2f6;
  color:#5f6f84;
}
.badge.handover_dlp,
.badge.client{
  background:#f3ecff;
  color:#6b3fa0;
}

@media(max-width:1150px){
  .completion-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .handover-document-header{
    display:none;
  }
  .handover-document-row{
    grid-template-columns:1fr 1fr;
  }
  .handover-doc-name,
  .handover-doc-reference,
  .handover-doc-note{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .completion-control-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .completion-summary-grid{
    grid-template-columns:1fr;
  }
  .handover-key-row,
  .handover-meter-row,
  .handover-document-row{
    grid-template-columns:1fr;
  }
  .handover-doc-name,
  .handover-doc-reference,
  .handover-doc-note{
    grid-column:auto;
  }
  .completion-evidence-card img{
    height:180px;
  }
}


.technical-next-step-banner{
  display:grid;
  gap:5px;
  margin:14px 0;
  padding:13px 15px;
  border-left:5px solid #174ea6;
  border-radius:10px;
  background:#eef5ff;
  color:#153e75;
}
.technical-next-step-banner span{
  color:#526981;
}


.workflow-guidance-banner{
  display:grid;
  gap:5px;
  margin:14px 0;
  padding:13px 15px;
  border-left:5px solid #174ea6;
  border-radius:10px;
  background:#eef5ff;
  color:#153e75;
}
.workflow-guidance-banner span{
  color:#526981;
}


.nav-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:22px;
  margin-left:auto;
  padding:0 7px;
  border-radius:999px;
  background:#ed1c24;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
#navigation button{
  display:flex;
  align-items:center;
  gap:8px;
}
.action-dashboard-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 0;
  padding:15px 17px;
  border-left:5px solid #ed1c24;
  border-radius:11px;
  background:#fff0f0;
  color:#7c1e1e;
}
.action-dashboard-banner>div{
  display:grid;
  gap:4px;
}
.action-dashboard-banner span{
  color:#6f5a5a;
}
.action-centre-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#174ea6);
}
.action-kpi{
  border-top:3px solid #174ea6;
}
.action-filter-panel{
  margin:17px 0;
  padding:14px;
  border:1px solid #d8e1ec;
  border-radius:12px;
  background:#fff;
}
.action-scope-tabs{
  display:flex;
  gap:8px;
  margin-bottom:13px;
}
.action-scope-tabs button{
  padding:9px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.action-scope-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.action-filter-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.6fr) 180px 150px 140px auto auto;
  gap:8px;
  align-items:center;
}
.action-filter-check{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  font-weight:800;
  color:#526981;
}
.action-module-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:9px;
  margin:14px 0;
}
.action-module-summary{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#fff;
  text-align:left;
}
.action-module-summary:hover{
  border-color:#174ea6;
  box-shadow:0 5px 18px rgba(7,27,61,.08);
}
.action-module-summary span{
  font-size:11px;
  font-weight:800;
  color:#526981;
}
.action-module-summary strong{
  font-size:25px;
  color:#071b3d;
}
.action-module-summary small{
  color:#697b91;
}
.action-centre-list{
  display:grid;
  gap:10px;
}
.action-centre-card{
  position:relative;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #d8e1ec;
  border-radius:12px;
  background:#fff;
}
.action-centre-card.is-unread{
  border-color:#8ab4f8;
  box-shadow:0 4px 16px rgba(23,78,166,.08);
}
.action-centre-card.is-overdue{
  background:#fffafa;
}
.action-card-priority{
  min-height:100%;
  background:#b8c5d4;
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-align:center;
  padding-top:10px;
}
.action-card-priority.critical{
  background:#b42318;
}
.action-card-priority.high{
  background:#d97706;
}
.action-card-priority.normal{
  background:#174ea6;
}
.action-card-priority.low{
  background:#6b7d90;
}
.action-card-main{
  display:grid;
  gap:8px;
  padding:13px 0;
}
.action-card-topline{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.action-card-topline>div:first-child{
  display:grid;
  gap:3px;
}
.action-card-topline strong{
  color:#071b3d;
  font-size:15px;
}
.action-module{
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#174ea6;
}
.action-card-main p{
  margin:0;
  color:#526981;
}
.action-card-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.action-unread-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#174ea6;
}
.action-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 15px;
  font-size:11px;
  color:#697b91;
}
.danger-text{
  color:#b42318!important;
}
.action-card-actions{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-width:104px;
  padding:12px;
  border-left:1px solid #e2e8f0;
  background:#f8fafc;
}
.action-empty{
  display:grid;
  gap:5px;
  padding:28px;
  border:1px dashed #b9c6d5;
  border-radius:11px;
  text-align:center;
  color:#526981;
}
.action-task-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.action-task-summary>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.action-task-summary span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#697b91;
}
.action-task-summary strong{
  color:#071b3d;
}
.action-task-summary small{
  color:#526981;
}

@media(max-width:1150px){
  .action-filter-grid{
    grid-template-columns:1fr 1fr 1fr;
  }
  .action-centre-card{
    grid-template-columns:8px minmax(0,1fr);
  }
  .action-card-actions{
    grid-column:2;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
    border-left:0;
    border-top:1px solid #e2e8f0;
  }
  .action-task-summary{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .action-dashboard-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .action-filter-grid{
    grid-template-columns:1fr;
  }
  .action-card-topline{
    flex-direction:column;
  }
  .action-card-badges{
    justify-content:flex-start;
  }
  .action-card-meta{
    display:grid;
    gap:5px;
  }
  .action-card-actions{
    flex-direction:column;
  }
  .action-task-summary{
    grid-template-columns:1fr;
  }
}


.document-control-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#5d4278);
}
.document-control-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #6b3fa0;
  border-radius:10px;
  background:#f3ecff;
  color:#56317f;
}
.document-control-banner span{
  flex:1;
  color:#6c5b7d;
}
.document-control-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.document-control-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.document-control-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.document-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.document-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.document-summary-grid span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#697b91;
}
.document-summary-grid strong{
  color:#071b3d;
}
.document-summary-grid small{
  color:#526981;
}
.document-revision-list{
  display:grid;
  gap:11px;
}
.document-revision-card{
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:12px;
  background:#fff;
}
.document-revision-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}
.document-revision-head>div:first-child{
  display:grid;
  gap:4px;
}
.document-revision-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 15px;
  margin-bottom:10px;
  font-size:11px;
  color:#697b91;
}
.document-file-list{
  display:grid;
  gap:6px;
}
.document-file-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e1e8f0;
  border-radius:9px;
  background:#f8fafc;
}
.document-file-row>div:first-child{
  display:grid;
  gap:4px;
}
.document-file-row>div:last-child{
  display:flex;
  gap:6px;
}
.document-review-list{
  display:grid;
  gap:5px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #e1e8f0;
}
.document-upload-field{
  display:grid;
  gap:8px;
  padding:16px;
  border:2px dashed #94abc5;
  border-radius:11px;
  background:#f8fafc;
  text-align:center;
  font-weight:800;
}
.document-file-preview{
  display:grid;
  gap:4px;
  grid-column:1/-1;
  padding:10px;
  border-radius:9px;
  background:#eef5ff;
  color:#174ea6;
}
.transmittal-revision-list{
  display:grid;
  gap:7px;
  max-height:360px;
  overflow:auto;
  margin-bottom:14px;
}
.transmittal-revision-option{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px;
  border:1px solid #d8e1ec;
  border-radius:9px;
  background:#f8fafc;
}
.transmittal-revision-option span{
  display:grid;
  gap:4px;
}
.badge.department_review,
.badge.management_approval{
  background:#eef5ff;
  color:#174ea6;
}
.badge.superseded,
.badge.archived{
  background:#eef2f6;
  color:#526981;
}
.badge.restricted,
.badge.management{
  background:#fff0f0;
  color:#b42318;
}
.badge.primary{
  background:#e7f5ee;
  color:#18794e;
}
.badge.attachment,
.badge.supporting{
  background:#f3ecff;
  color:#6b3fa0;
}

@media(max-width:1050px){
  .document-summary-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .document-control-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .document-summary-grid{
    grid-template-columns:1fr;
  }
  .document-revision-head,
  .document-file-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .document-file-row>div:last-child{
    width:100%;
    flex-wrap:wrap;
  }
}


.management-review-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#355b47);
}
.management-review-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #18794e;
  border-radius:10px;
  background:#e7f5ee;
  color:#174f36;
}
.management-review-banner span{
  flex:1;
  color:#527162;
}
.management-review-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.management-review-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.management-review-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.management-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.management-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.management-summary-grid span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#697b91;
}
.management-summary-grid strong{
  color:#071b3d;
}
.management-summary-grid small{
  color:#526981;
}
.management-agenda-row{
  display:grid;
  grid-template-columns:130px minmax(180px,1fr) minmax(250px,1.6fr) 170px repeat(4,minmax(125px,1fr)) 38px;
  gap:7px;
  align-items:start;
  margin-bottom:8px;
  padding:10px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.management-agenda-row textarea{
  min-height:70px;
}
.management-attendee-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:7px;
  max-height:300px;
  overflow:auto;
  margin-bottom:15px;
}
.management-attendee-option{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:9px;
  border:1px solid #d8e1ec;
  border-radius:9px;
  background:#f8fafc;
}
.management-attendee-option span{
  display:grid;
  gap:3px;
}
.management-attendee-option strong{
  color:#071b3d;
}
.management-attendee-option small{
  color:#697b91;
}
.management-minutes-card{
  margin:14px 0;
  padding:14px;
  border-left:5px solid #174ea6;
  border-radius:10px;
  background:#eef5ff;
  color:#153e75;
}
.management-minutes-card p{
  white-space:pre-wrap;
}
.management-risk-preview{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
}
.management-risk-preview span{
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  color:#697b91;
}
.management-risk-preview strong{
  font-size:22px;
  color:#071b3d;
}
.management-risk-treatment-card{
  margin:14px 0;
  padding:14px;
  border-left:5px solid #d97706;
  border-radius:10px;
  background:#fff4df;
  color:#7c4a09;
}
.management-risk-treatment-card p{
  white-space:pre-wrap;
}
.badge.achieved,
.badge.effective,
.badge.verified{
  background:#e7f5ee;
  color:#18794e;
}
.badge.at_risk,
.badge.medium,
.badge.treating,
.badge.effectiveness_review,
.badge.deferred{
  background:#fff4df;
  color:#a15c00;
}
.badge.not_achieved,
.badge.not_effective,
.badge.critical,
.badge.overdue{
  background:#fff0f0;
  color:#b42318;
}
.badge.no_data,
.badge.accepted{
  background:#eef2f6;
  color:#526981;
}

@media(max-width:1300px){
  .management-agenda-row{
    grid-template-columns:1fr 1fr 1fr;
  }
  .management-agenda-details,
  .management-agenda-source-module,
  .management-agenda-source-type,
  .management-agenda-source-id,
  .management-agenda-source-page{
    grid-column:auto;
  }
}
@media(max-width:900px){
  .management-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .management-agenda-row{
    grid-template-columns:1fr 1fr;
  }
  .management-agenda-details{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .management-review-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .management-summary-grid{
    grid-template-columns:1fr;
  }
  .management-agenda-row{
    grid-template-columns:1fr;
  }
  .management-agenda-details{
    grid-column:auto;
  }
}

/* GARO iMAS V1.7.0 — consolidation shell */
.app-shell{
  grid-template-columns:278px minmax(0,1fr);
}
.sidebar{
  position:sticky;
  top:0;
  height:100vh;
  min-height:0;
  overflow:hidden;
  padding:16px;
  box-shadow:10px 0 28px rgba(4,20,45,.10);
  z-index:40;
}
.sidebar-brand-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.sidebar-logo{
  max-width:198px;
  margin:5px 0 18px;
}
.sidebar-close,
.mobile-menu-button{
  display:none;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;
  background:transparent;
  color:#fff;
  font-weight:900;
}
.sidebar #navigation{
  display:grid;
  gap:7px;
  min-height:0;
  overflow-y:auto;
  padding:0 3px 15px 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}
.nav-group{
  display:grid;
  gap:3px;
}
.sidebar #navigation .nav-group-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:8px 10px 6px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#8fa7c5;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.sidebar #navigation .nav-group-toggle:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.nav-chevron{
  transition:transform .18s ease;
}
.nav-group.collapsed .nav-chevron{
  transform:rotate(-90deg);
}
.nav-group-items{
  display:grid;
  gap:3px;
}
.nav-group.collapsed .nav-group-items{
  display:none;
}
.sidebar #navigation .nav-group-items>button{
  position:relative;
  min-height:41px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#dbe5f1;
  text-align:left;
  font-size:13px;
  font-weight:750;
}
.sidebar #navigation .nav-group-items>button:hover{
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.08);
  color:#fff;
}
.sidebar #navigation .nav-group-items>button.active{
  border-color:#fff;
  background:#fff;
  color:#071b3d;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.sidebar-footer{
  margin-top:0;
  padding-top:14px;
}
.sidebar-backdrop{
  position:fixed;
  inset:0;
  z-index:35;
  background:rgba(3,14,30,.62);
}
.main-panel{
  min-width:0;
}
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  min-height:74px;
  padding:13px 22px;
  box-shadow:0 4px 16px rgba(7,27,61,.05);
}
.topbar-title{
  min-width:180px;
}
.topbar-title strong{
  color:#071b3d;
}
.topbar-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.global-search-trigger{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:270px;
  padding:9px 11px;
  border:1px solid #cbd6e3;
  border-radius:10px;
  background:#f8fafc;
  color:#526981;
  text-align:left;
}
.global-search-trigger:hover{
  border-color:#174ea6;
  background:#eef5ff;
  color:#174ea6;
}
.global-search-trigger kbd{
  margin-left:auto;
  padding:3px 6px;
  border:1px solid #cbd6e3;
  border-bottom-width:2px;
  border-radius:5px;
  background:#fff;
  color:#697b91;
  font-size:10px;
}
.user-chip{
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.global-search-dialog{
  width:min(780px,calc(100% - 24px));
  max-height:min(82vh,760px);
  border-radius:18px;
  overflow:hidden;
}
.global-search-card{
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  max-height:min(82vh,760px);
  padding:0;
  background:#fff;
}
.global-search-card>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:17px 19px;
  border-bottom:1px solid #d8e1ec;
}
.global-search-card>header>div{
  display:grid;
  gap:4px;
}
.global-search-card>header strong{
  color:#071b3d;
  font-size:18px;
}
.global-search-card>header span{
  color:#697b91;
  font-size:11px;
}
.global-search-input-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  margin:15px 17px 8px;
  padding:5px 11px;
  border:2px solid #174ea6;
  border-radius:12px;
  background:#fff;
}
.global-search-input-row input{
  border:0;
  outline:0;
  box-shadow:none;
  font-size:16px;
}
.global-search-spinner{
  width:20px;
  height:20px;
  border:3px solid #dbe4ee;
  border-top-color:#174ea6;
  border-radius:50%;
  animation:imas-spin .7s linear infinite;
}
.global-search-status{
  padding:0 19px 9px;
  color:#697b91;
  font-size:11px;
}
.global-search-results{
  min-height:0;
  overflow:auto;
  padding:0 13px 15px;
}
.global-search-result{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  width:100%;
  padding:11px;
  border:1px solid transparent;
  border-bottom-color:#e5ebf2;
  background:#fff;
  color:#172a44;
  text-align:left;
}
.global-search-result:hover,
.global-search-result:focus{
  border-color:#8ab4f8;
  border-radius:10px;
  background:#eef5ff;
  outline:0;
}
.global-search-result-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:10px;
  background:#071b3d;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.global-search-result-main{
  display:grid;
  gap:4px;
  min-width:0;
}
.global-search-result-main>div{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.global-search-result-main strong{
  overflow:hidden;
  color:#071b3d;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.global-search-result-main>span{
  overflow:hidden;
  color:#697b91;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.global-search-open{
  color:#174ea6;
  font-size:11px;
  font-weight:900;
}
.global-search-empty{
  display:grid;
  gap:5px;
  padding:30px;
  text-align:center;
  color:#697b91;
}

.consolidation-hero{
  background:linear-gradient(135deg,#071b3d,#174ea6 62%,#315f7d);
}
.dashboard-module-warning{
  display:grid;
  gap:9px;
  margin:14px 0;
  padding:13px 15px;
  border-left:5px solid #d97706;
  border-radius:10px;
  background:#fff4df;
  color:#7c4a09;
}
.dashboard-module-warning>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.dashboard-module-warning span{
  color:#765d3a;
}
.dashboard-module-warning details{
  font-size:12px;
}
.dashboard-module-warning code{
  margin-left:5px;
}
.dashboard-quick-section{
  margin:16px 0;
  padding:16px;
  border:1px solid #d8e1ec;
  border-radius:14px;
  background:#fff;
}
.dashboard-quick-section .section-head{
  margin:0 0 12px;
}
.dashboard-quick-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:8px;
}
.dashboard-quick-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  border:1px solid #d8e1ec;
  border-radius:10px;
  background:#f8fafc;
  color:#071b3d;
  text-align:left;
  font-weight:800;
}
.dashboard-quick-link:hover{
  border-color:#174ea6;
  background:#eef5ff;
}
.dashboard-quick-link b{
  color:#174ea6;
  font-size:10px;
}

.module-error-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:15px;
  padding:20px;
  border:1px solid #f0c5c7;
  border-radius:14px;
  background:#fff;
  color:#8b1d1d;
}
.module-error-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#ed1c24;
  color:#fff;
  font-size:24px;
  font-weight:900;
}
.module-error-card p{
  color:#6f4a4a;
}
.error-reference{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
  padding:9px;
  border-radius:8px;
  background:#f8fafc;
  color:#526981;
  font-size:11px;
}
.error-reference code{
  padding:4px 6px;
  border-radius:5px;
  background:#071b3d;
  color:#fff;
}
.error-blockers{
  margin-top:10px;
  color:#7c4a09;
}
.error-blockers ul{
  margin:6px 0 0;
}
.consolidation-loading{
  display:grid;
  gap:20px;
}
.loading-shell{
  display:grid;
  justify-items:center;
  gap:5px;
}
.loading-shell span{
  max-width:480px;
  font-size:11px;
}
.loading-skeleton-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  width:min(760px,100%);
}
.loading-skeleton-grid i{
  height:58px;
  border-radius:10px;
  background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6);
  background-size:200% 100%;
  animation:imas-skeleton 1.2s linear infinite;
}
@keyframes imas-skeleton{
  to{background-position:-200% 0}
}

@media(max-width:1080px){
  .global-search-trigger{
    min-width:210px;
  }
  .global-search-trigger kbd{
    display:none;
  }
}

@media(max-width:960px){
  .app-shell{
    display:block;
  }
  .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:min(310px,88vw);
    height:100vh;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:40;
  }
  .sidebar.mobile-open{
    transform:translateX(0);
  }
  .sidebar-close,
  .mobile-menu-button{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:40px;
    height:40px;
  }
  .mobile-menu-button{
    border-color:#cbd6e3;
    background:#fff;
    color:#071b3d;
  }
  .sidebar #navigation{
    display:grid;
    grid-template-columns:1fr;
  }
  .sidebar-footer{
    margin-top:0;
  }
  .topbar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    padding:11px 14px;
  }
  .topbar-tools{
    gap:7px;
  }
  .global-search-trigger{
    min-width:0;
    width:42px;
    height:42px;
    justify-content:center;
    padding:0;
  }
  .global-search-trigger>span:nth-child(2),
  .global-search-trigger kbd,
  .user-chip{
    display:none;
  }
  body.sidebar-open{
    overflow:hidden;
  }
}

@media(max-width:650px){
  .topbar-title span{
    display:none;
  }
  .content{
    padding:12px;
  }
  .global-search-dialog{
    width:calc(100% - 12px);
    max-height:92vh;
  }
  .global-search-card{
    max-height:92vh;
  }
  .global-search-result{
    grid-template-columns:38px minmax(0,1fr);
  }
  .global-search-open{
    display:none;
  }
  .dashboard-module-warning>div,
  .action-dashboard-banner{
    align-items:flex-start;
    flex-direction:column;
  }
  .loading-skeleton-grid{
    grid-template-columns:1fr 1fr;
  }
  .module-error-card{
    grid-template-columns:1fr;
  }
}
.sidebar #navigation{flex:1}
.global-search-trigger span{color:inherit}

.release-control-hero{
  margin-top:16px;
  background:linear-gradient(135deg,#071b3d,#7a3419);
}
.release-control-banner{
  display:flex;
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:14px 16px;
  border-left:5px solid #d97706;
  border-radius:10px;
  background:#fff4df;
  color:#7c4a09;
}
.release-control-banner span{flex:1;color:#765d3a}
.release-control-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  margin:18px 0;
  padding-bottom:3px;
}
.release-control-tabs button{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #cbd6e3;
  border-radius:9px;
  background:#fff;
  color:#071b3d;
  font-weight:800;
}
.release-control-tabs button.active{
  border-color:#071b3d;
  background:#071b3d;
  color:#fff;
}
.release-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px;
}
.release-summary-grid>div{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #d8e1ec;
  border-radius:11px;
  background:#f8fafc;
}
.release-summary-grid span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#697b91;
}
.release-summary-grid strong{color:#071b3d}
.release-summary-grid small{color:#526981}
.badge.pilot,.badge.conditional,.badge.retest,.badge.verification{
  background:#fff4df;
  color:#a15c00;
}
.badge.production,.badge.no_go,.badge.failed,.badge.rolled_back{
  background:#fff0f0;
  color:#b42318;
}
.badge.ready,.badge.passed,.badge.verified,.badge.deployed{
  background:#e7f5ee;
  color:#18794e;
}
.badge.staging,.badge.regression,.badge.role_uat{
  background:#eef5ff;
  color:#174ea6;
}
@media(max-width:900px){.release-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .release-control-banner{align-items:flex-start;flex-direction:column}
  .release-summary-grid{grid-template-columns:1fr}
}
