*{box-sizing:border-box}body{margin:0;font-family:Arial,Tahoma,sans-serif;background:#f4f6f8;color:#17212b;display:flex;min-height:100vh}aside{width:245px;background:#13212f;color:#fff;padding:24px 16px;position:fixed;right:0;top:0;bottom:0}aside h1{font-size:22px;line-height:1.4;margin:0 0 30px}nav button{width:100%;border:0;background:transparent;color:#d8e0e8;text-align:right;padding:13px 14px;margin:3px 0;border-radius:9px;font-size:15px;cursor:pointer}nav button:hover,nav button.active{background:#1f5f83;color:#fff}.user{position:absolute;bottom:22px;border-top:1px solid #344555;padding-top:15px;width:calc(100% - 32px)}main{width:calc(100% - 245px);margin-right:245px;padding:25px 30px}.project-main{height:100vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.project-main::-webkit-scrollbar{width:10px}.project-main::-webkit-scrollbar-track{background:#eef2f5}.project-main::-webkit-scrollbar-thumb{background:#a2adb8;border-radius:8px}.project-main{scrollbar-width:thin;scrollbar-color:#a2adb8 #eef2f5}.header-left-actions{display:flex;align-items:center;gap:10px}.back-header-btn{white-space:nowrap}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h2{margin:0 0 5px}header p{margin:0;color:#687684}.online{background:#e8f8ef;color:#18804b;padding:7px 12px;border-radius:20px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{background:#fff;border-radius:13px;padding:19px;box-shadow:0 2px 10px #1525360c}.label{color:#71808d;font-size:13px}.value{font-size:25px;font-weight:700;margin-top:8px}.sub{font-size:12px;color:#71808d;margin-top:6px}.section{margin-top:20px}.section h3{margin:0 0 12px}.table{background:#fff;border-radius:13px;overflow:auto;box-shadow:0 2px 10px #1525360c}.table table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 14px;border-bottom:1px solid #edf0f2;text-align:right;white-space:nowrap}.table th{background:#f8fafb;font-size:13px;color:#5f6e7b}.badge{padding:5px 9px;border-radius:14px;font-size:12px}.green{background:#e7f7ee;color:#18794a}.yellow{background:#fff5d8;color:#946d00}.red{background:#fdeaea;color:#a73535}.bar{height:9px;background:#e9edf0;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:#1f789e}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.project{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #eee}.btn{border:0;background:#1f5f83;color:#fff;border-radius:8px;padding:9px 14px;cursor:pointer}.empty{padding:35px;text-align:center;color:#7a8792}@media(max-width:800px){aside{width:70px;padding:15px 8px}aside h1{font-size:0}aside h1:after{content:'🏗️';font-size:25px}nav button{font-size:0;text-align:center}nav button:after{content:'•';font-size:22px} .user{font-size:0}.user:before{content:'👤';font-size:20px}main{margin-right:70px;width:calc(100% - 70px);padding:18px}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}}
.modal-backdrop{position:fixed;inset:0;background:#0b172499;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;width:min(650px,95vw);border-radius:16px;padding:22px;box-shadow:0 20px 60px #0004}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h3{margin:0}.close{border:0;background:#f1f3f5;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#53616d}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;border:1px solid #dbe1e6;border-radius:8px;padding:10px;background:#fff}.form-grid textarea{min-height:90px;resize:vertical}.modal-actions{display:flex;justify-content:flex-start;gap:8px;margin-top:22px}.btn.secondary{background:#eef1f3;color:#26333d}.project-detail hr{border:0;border-top:1px solid #eee;margin:18px 0}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}
/* Authentication & user management */
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b1f33,#12395c);padding:24px}.login-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card h1{margin:0 0 8px}.login-card p{color:#667085}.login-card label,.modal label{display:block;font-weight:700;font-size:14px}.login-card input,.login-card select,.modal input,.modal select,.modal textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d0d5dd;border-radius:9px;margin-top:6px;background:#fff}.login-card .field{margin:16px 0}.login-error{background:#fff1f0;color:#c62828;border:1px solid #ffcdd2;padding:10px;border-radius:8px;margin:12px 0}.auth-note{font-size:12px;color:#777;margin-top:14px}.user-menu{display:flex;gap:8px;align-items:center;justify-content:space-between}.user-actions button{margin:2px}.danger{background:#b42318!important}.users-table td,.users-table th{padding:10px}.role-badge{display:inline-block;padding:4px 9px;border-radius:12px;background:#eef4ff;color:#155eef;font-size:12px}

.company-home{max-width:1200px;margin:auto}.company-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.company-head h1{margin:6px 0;font-size:30px}.company-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.company-select{padding:11px 14px;border:1px solid #ccd5df;border-radius:10px;background:white;min-width:230px;font-size:15px}.folder-title{display:flex;justify-content:space-between;align-items:center;margin:14px 4px}.project-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.project-folder{position:relative;text-align:right;border:1px solid #dce3eb;background:#fff;border-radius:14px;padding:22px;min-height:180px;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.05);transition:.15s}.project-folder:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.09)}.project-folder .folder-icon{font-size:42px;margin-bottom:14px}.folder-name{font-weight:800;font-size:18px;margin-bottom:9px}.folder-meta,.folder-progress{color:#687586;font-size:13px;margin-top:7px}.add-folder{border-style:dashed;background:#f8fafc}.company-head .sub{margin:0}.company-home .card{background:#fff}
.project-context{background:#0e1a26;border:1px solid #304152;border-radius:10px;padding:10px 11px;margin:-12px 0 14px;display:flex;flex-direction:column;gap:3px}.project-context small{color:#93a2b0;font-size:11px}.project-context b{font-size:12px;margin-bottom:5px}.nav-group{margin:7px 0 12px;padding-bottom:7px;border-bottom:1px solid #293b4b}.nav-group:last-child{border-bottom:0}.nav-group-title{font-size:11px;color:#8fa1b0;font-weight:700;padding:5px 10px 4px}.nav-group button{padding:9px 11px;font-size:13px;margin:2px 0}.nav-group button.nested{padding-right:25px;font-size:12px;color:#b9c6d1}.module-hero{display:flex;align-items:center;gap:16px;margin-bottom:18px}.module-icon{font-size:38px;background:#eef5f9;border-radius:14px;padding:13px}.module-hero h2{margin:4px 0}.module-hero .sub{max-width:800px}
@media(max-width:800px){.nav-group-title{font-size:0;text-align:center}.nav-group-title:first-letter{font-size:18px}.project-context{display:none}.nav-group button.nested{padding-right:9px}}

.project-folder{cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s}.project-folder:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.10)}.open-hint{margin-top:10px;font-size:12px;color:#1677c8;font-weight:700}.project-folder:focus{outline:3px solid rgba(22,119,200,.25)}
/* Contract module - approved design from user reference */
.contract-module{padding:0;direction:rtl}.contract-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.contract-breadcrumb{font-size:12px;color:#687386;margin-bottom:5px}.contract-top h1{font-size:21px;margin:0}.contract-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.contract-tabs a{padding:10px 14px;border:1px solid #d5dde6;background:#fff;border-radius:9px;color:#24313d;text-decoration:none;font-size:13px}.contract-tabs a.active{background:#176b45;color:#fff;border-color:#176b45}.contract-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.contract-kpi{background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:16px;text-align:right;box-shadow:0 2px 8px rgba(18,33,47,.03)}.contract-kpi span,.contract-kpi small{display:block;color:#687386;font-size:12px}.contract-kpi b{display:block;font-size:23px;margin:7px 0}.contract-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}.contract-card{background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(18,33,47,.03)}.contract-card h2{font-size:16px;margin:0 0 15px}.contract-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.contract-card label{display:block;color:#687386;font-size:12px;margin-bottom:9px}.contract-card input,.contract-card select{width:100%;margin-top:5px;padding:10px;border:1px solid #cfd7df;border-radius:7px;background:#fff;box-sizing:border-box;font:inherit}.contract-card button{border:0;border-radius:7px;padding:9px 13px;background:#176b45;color:#fff;cursor:pointer;margin:4px;font:inherit}.contract-card button.secondary{background:#eef2f6;color:#17212b;border:1px solid #d5dce4}.contract-file{border:2px dashed #cfd7df;border-radius:10px;padding:18px;text-align:center}.contract-file-name{font-weight:700;margin:4px 0 10px}.contract-actions{display:flex;justify-content:center;flex-wrap:wrap;margin-top:10px}.table-wrap{overflow:auto}.contract-card table{width:100%;border-collapse:collapse}.contract-card th,.contract-card td{border-bottom:1px solid #e7ebef;padding:9px;text-align:right;font-size:12px}.contract-card th{background:#f7f9fb}.contract-card td input{margin:0;padding:7px}.contract-total{background:#eff8f2;border:1px solid #cde3d5;border-radius:8px;padding:12px;margin-top:12px}.profit-lines>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e7ebef}.profit-final{font-size:16px;background:#eff8f2;padding:13px!important;border-radius:7px}.contract-note{color:#687386;font-size:12px;line-height:1.8;margin:12px 0 0}.contract-empty{padding:12px;text-align:center;color:#687386;background:#f8fafb;border-radius:8px}.share-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.share-user{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e2e7ec;border-radius:8px;background:#fafbfc}.share-user input{width:auto!important;margin:0!important}.contract-modal-note{font-size:12px;color:#687386;margin-top:8px}@media(max-width:950px){.contract-kpis,.contract-grid,.contract-fields{grid-template-columns:1fr}.share-list{grid-template-columns:1fr}}

/* BOQ module */
.boq-module{padding-bottom:30px}.boq-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.boq-kpi{background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:16px}.boq-kpi span,.boq-kpi small{display:block;color:#6b7584;font-size:12px}.boq-kpi b{display:block;font-size:23px;margin:6px 0}.boq-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.vendor-btn{background:#7b4aa8!important}.boq-layout{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}.boq-folders{background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:14px;position:sticky;top:14px}.boq-folders h3{margin:0 0 6px}.boq-folder{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:right;background:#f8fafb;border:1px solid #e0e6ec;border-radius:8px;padding:10px;margin-top:8px;cursor:pointer}.boq-folder:hover{border-color:#176b45}.boq-folder small{color:#687386}.vendor-folder{background:#f5effa}.boq-content{min-width:0}.boq-section{background:#fff;border:1px solid #dfe5eb;border-radius:12px;margin-bottom:16px;overflow:hidden}.boq-section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid #e8edf1;background:#f8fafb}.boq-section-head h3{display:inline-block;margin:0 0 0 8px}.division-code{display:inline-block;background:#176b45;color:#fff;border-radius:6px;padding:5px 8px;font-size:12px}.section-actions{display:flex;gap:5px;flex-wrap:wrap}.mini-btn{border:1px solid #d3dbe3;background:#fff;border-radius:7px;padding:7px 9px;cursor:pointer}.danger-lite{color:#a33;background:#fff5f5}.boq-table-wrap{overflow:auto}.boq-table{width:100%;min-width:1180px;table-layout:fixed;border-collapse:collapse}.boq-table th,.boq-table td{border-bottom:1px solid #e7ebef;padding:10px 9px;text-align:right;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.boq-table th{background:#f3f6f8;font-weight:700}.boq-table tbody tr:hover{background:#fafcfd}.boq-table th:nth-child(1),.boq-table td:nth-child(1){width:70px}.boq-table th:nth-child(2),.boq-table td:nth-child(2){width:82px}.boq-table th:nth-child(3),.boq-table td:nth-child(3){width:100px}.boq-table th:nth-child(4),.boq-table td:nth-child(4){width:120px}.boq-table th:nth-child(5),.boq-table td:nth-child(5){width:220px;max-width:220px}.boq-table th:nth-child(6),.boq-table td:nth-child(6){width:140px;max-width:140px}.boq-table th:nth-child(7),.boq-table td:nth-child(7){width:130px;max-width:130px}.boq-table th:nth-child(8),.boq-table td:nth-child(8){width:130px;max-width:130px}.boq-table th:nth-child(9),.boq-table td:nth-child(9){width:105px;max-width:105px}.boq-table th:nth-child(10),.boq-table td:nth-child(10){width:75px}.boq-table td:nth-child(5) .description,.boq-table td:nth-child(5){overflow:hidden;text-overflow:ellipsis}.row-edit{border:1px solid #d6dde4;background:#fff;border-radius:6px;padding:4px 7px;cursor:pointer}.division-total{padding:11px 16px;text-align:left;background:#f6fbf8;border-top:1px solid #dceee2}.vendor-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
@media(max-width:950px){.boq-kpis{grid-template-columns:repeat(2,1fr)}.boq-layout{grid-template-columns:1fr}.boq-folders{position:static}}
@media(max-width:600px){.boq-kpis{grid-template-columns:1fr}.boq-section-head{align-items:flex-start;flex-direction:column}}
.boq-folder.selected{border:2px solid #176b45;background:#eff8f2}
.add-estimate-folder{border:2px dashed #b7c2cc!important;background:#fafbfd}
.boq-folders hr{border:0;border-top:1px solid #e4e8ed;margin:14px 0}
/* BOQ large-list navigation: independent vertical scrolling + sticky headers */
.boq-content{max-height:calc(100vh - 245px);overflow-y:auto;overflow-x:hidden;padding-left:6px;padding-right:4px;scroll-behavior:smooth}
.boq-content::-webkit-scrollbar{width:11px}.boq-content::-webkit-scrollbar-track{background:#eef2f5;border-radius:10px}.boq-content::-webkit-scrollbar-thumb{background:#9aa7b3;border-radius:10px;border:2px solid #eef2f5}.boq-content{scrollbar-width:thin;scrollbar-color:#9aa7b3 #eef2f5}
.boq-table-wrap{height:360px;max-height:360px;overflow-y:auto;overflow-x:auto;position:relative;overscroll-behavior:contain}.boq-table-wrap::-webkit-scrollbar{width:10px;height:10px}.boq-table-wrap::-webkit-scrollbar-track{background:#eef2f5;border-radius:8px}.boq-table-wrap::-webkit-scrollbar-thumb{background:#9aa7b3;border-radius:8px;border:2px solid #eef2f5}.boq-table-wrap{scrollbar-width:thin;scrollbar-color:#9aa7b3 #eef2f5}.boq-table thead th{position:sticky;top:0;z-index:3;background:#f3f6f8;box-shadow:0 1px 0 #dfe5eb}.boq-section .boq-table-wrap{border-top:0}
.boq-table thead th{position:sticky;top:0;z-index:2;background:#eaf0f3;box-shadow:0 1px 0 #d7dfe5}
.boq-section{scroll-margin-top:12px}
@media(max-width:800px){.boq-content{max-height:none;overflow:visible}.boq-table-wrap{height:50vh;max-height:50vh}}

/* BOQ side lists: each list scrolls independently so long estimates/sections never expand the page */
.boq-folders{max-height:calc(100vh - 245px);overflow:hidden;display:flex;flex-direction:column;min-height:0}
.boq-list-scroll{overflow-y:auto;overflow-x:hidden;min-height:0;padding-left:2px;padding-right:2px}
.boq-estimates-scroll{max-height:190px}
.boq-divisions-scroll{max-height:calc(100vh - 500px)}
.boq-list-scroll::-webkit-scrollbar{width:9px}
.boq-list-scroll::-webkit-scrollbar-track{background:#eef2f5;border-radius:10px}
.boq-list-scroll::-webkit-scrollbar-thumb{background:#9aa7b3;border-radius:10px;border:2px solid #eef2f5}
.boq-list-scroll{scrollbar-width:thin;scrollbar-color:#9aa7b3 #eef2f5}
.boq-folders hr{width:100%;border:0;border-top:1px solid #e4e9ee;margin:12px 0}
.boq-estimates-scroll .boq-folder,.boq-divisions-scroll .boq-folder{margin-top:8px}
@media(max-width:800px){
  .boq-folders{max-height:none;overflow:visible}
  .boq-estimates-scroll{max-height:180px}
  .boq-divisions-scroll{max-height:260px}
}
/* Final BOQ side-panel sizing: vertical-only independent scrolling */
.boq-folders{max-height:calc(100vh - 210px);overflow:hidden}
.boq-estimates-scroll{height:380px;max-height:380px;overflow-y:auto;overflow-x:hidden}
.boq-divisions-scroll{height:340px;max-height:340px;overflow-y:auto;overflow-x:hidden}
.boq-estimates-scroll,.boq-divisions-scroll{scrollbar-width:thin;scrollbar-color:#8f9da9 #eef2f5}
.boq-estimates-scroll::-webkit-scrollbar,.boq-divisions-scroll::-webkit-scrollbar{width:10px;height:0}
.boq-estimates-scroll::-webkit-scrollbar-track,.boq-divisions-scroll::-webkit-scrollbar-track{background:#eef2f5;border-radius:10px}
.boq-estimates-scroll::-webkit-scrollbar-thumb,.boq-divisions-scroll::-webkit-scrollbar-thumb{background:#8f9da9;border-radius:10px;border:2px solid #eef2f5}
@media(max-width:800px){
  .boq-folders{max-height:none;overflow:visible}
  .boq-estimates-scroll{height:320px;max-height:320px}
  .boq-divisions-scroll{height:320px;max-height:320px}
}

/* V9: inline totals beside division and estimate names */
.division-total-inline,.estimate-total-inline{display:inline-block;margin-right:10px;padding:4px 9px;border-radius:999px;background:#eef8f2;border:1px solid #c9e5d3;color:#176b45;font-size:13px;font-weight:800;white-space:nowrap}
.estimate-total-inline{font-size:12px;vertical-align:middle}
.boq-section-head h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:16px 0}
.schedule-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.schedule-import{background:#eaf7ef!important;color:#176b45!important;border:1px solid #b9ddc7!important}
.schedule-status{width:100%;color:#176b45;font-weight:600}
.schedule-warning{background:#fff8e8;border:1px solid #ead49a;color:#72570e;padding:12px 16px;border-radius:10px;margin:12px 0}
.schedule-kpis{margin:14px 0}
.schedule-view-switch{display:flex;gap:8px;justify-content:flex-start;margin:12px 0}
.schedule-grid{display:grid;grid-template-columns:340px 1fr;gap:14px}
.schedule-table-card{overflow:hidden}
.schedule-card-title{font-weight:700;font-size:16px;padding:14px 16px;border-bottom:1px solid #e7ebef}
.schedule-scroll{max-height:430px;overflow:auto}
.schedule-table{width:100%;border-collapse:collapse;direction:rtl}
.schedule-table th,.schedule-table td{padding:9px 10px;border-bottom:1px solid #e8edf1;font-size:12px;white-space:nowrap;text-align:right}
.schedule-table th{background:#f3f6f8;position:sticky;top:0;z-index:2}
.schedule-table td:nth-child(2){white-space:normal;min-width:180px}
.schedule-empty{text-align:center;padding:50px}
.schedule-gantt{margin-top:14px;overflow:hidden}
.gantt-scroll{max-height:420px;overflow:auto;padding:8px 14px}
.gantt-row{display:grid;grid-template-columns:310px 1fr;gap:12px;align-items:center;min-height:34px;border-bottom:1px solid #f0f2f4}
.gantt-label{display:flex;gap:8px;align-items:center;font-size:11px;overflow:hidden}
.gantt-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667684}
.gantt-track{height:18px;position:relative;background:repeating-linear-gradient(to right,#f2f5f7 0,#f2f5f7 calc(10% - 1px),#e0e5e9 calc(10% - 1px),#e0e5e9 10%);border-radius:4px;direction:rtl}
.gantt-bar{position:absolute;top:3px;height:12px;background:#2b789c;border-radius:5px;min-width:4px}
@media(max-width:1000px){.schedule-grid{grid-template-columns:1fr}.gantt-row{grid-template-columns:210px 1fr}}

.schedule-files-panel{margin-top:14px}
.schedule-files-title{font-weight:700;margin-bottom:8px}
.schedule-files-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto}
.schedule-file-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dfe6eb;border-radius:10px;background:#fbfcfd}
.schedule-file-item.selected{border-color:#77a9c0;background:#f2f8fb}
.schedule-file-main{display:flex;align-items:center;gap:10px;min-width:0}
.schedule-file-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-file-main small{display:block;color:#72818c;margin-top:3px}
.schedule-file-icon{font-size:20px}
.schedule-file-actions{display:flex;gap:5px;flex-shrink:0}
.btn.mini{padding:6px 9px;font-size:11px}
.btn.danger{color:#a62828;border-color:#e5baba;background:#fff7f7}
.schedule-files-empty{padding:10px;border:1px dashed #cdd7df;border-radius:9px;color:#73818b;text-align:center}
.cost-page{padding:22px;background:#f5f7fa;min-height:100%}.cost-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.cost-top h1{margin:5px 0;font-size:24px}.cost-badge{display:inline-block;background:#eef5ff;border:1px solid #cddff7;padding:9px 12px;border-radius:9px}.cost-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.cost-kpi{background:#fff;border:1px solid #e0e5eb;border-radius:12px;padding:15px}.cost-kpi span,.cost-kpi small,.cost-summary-grid span{display:block;color:#687386;font-size:12px}.cost-kpi b{display:block;font-size:22px;margin-top:7px}.cost-layout{display:grid;grid-template-columns:320px 1fr;gap:16px}.cost-list{padding:14px;height:calc(100vh - 260px);overflow:auto}.cost-list-head{position:sticky;top:0;background:#fff;z-index:2;padding-bottom:10px}.cost-list-head h3{margin:4px 0 10px}.cost-list-head input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d1d8df;border-radius:8px}.cost-item{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:right;background:#fff;border:0;border-bottom:1px solid #edf0f3;padding:12px 8px;cursor:pointer}.cost-item.active{background:#eef8f2;border-right:4px solid #176b45}.cost-item span{font-size:11px;color:#687386;white-space:nowrap}.cost-main{min-width:0}.cost-item-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cost-item-head h2{margin:5px 0;font-size:21px}.cost-alerts{display:flex;gap:7px;flex-wrap:wrap}.alert{padding:8px 10px;border-radius:7px;font-size:12px}.alert.red{background:#fff0f0;color:#a52828}.alert.green{background:#eff9f2;color:#176b45}.cost-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.cost-summary-grid .card{padding:14px}.cost-summary-grid b{display:block;margin-top:7px;font-size:17px}.cost-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.cost-card-title h3{margin:0}.cost-table{width:100%;border-collapse:collapse}.cost-table th,.cost-table td{padding:10px;border-bottom:1px solid #e8edf1;text-align:right;font-size:12px}.cost-table th{background:#f7f9fb}.cost-table .bad{color:#b32929;font-weight:700}.cost-table .ok{color:#176b45}.approval-box{grid-column:1/-1;background:#fff8e7;border:1px solid #f0d58c;border-radius:8px;padding:10px}.btn.secondary{background:#eef2f6;color:#17212b;border:1px solid #d5dce4}@media(max-width:1000px){.cost-layout{grid-template-columns:1fr}.cost-list{height:auto;max-height:320px}.cost-kpis,.cost-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.cost-kpis,.cost-summary-grid{grid-template-columns:1fr}.cost-item-head,.cost-top{flex-direction:column}}

.cost-selectors{display:grid;grid-template-columns:1fr 1fr 1.8fr auto;gap:14px;margin-bottom:16px;padding:16px;align-items:end}.date-range-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.date-range-selector .cost-selector{margin:0}.cc-date-picker{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cfd7df;border-radius:8px;background:#fff;font-size:14px;direction:ltr;text-align:left}.cc-date-picker:focus{outline:none;border-color:#176b45;box-shadow:0 0 0 2px rgba(23,107,69,.08)}.cost-selector label{display:block;font-weight:700;font-size:13px;margin-bottom:7px;color:#263342}.cost-selector select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cfd7df;border-radius:8px;background:#fff;font-size:14px}.cost-selector small{display:block;color:#7a8492;font-size:11px;margin-top:6px}.cost-selector select:focus{outline:none;border-color:#176b45;box-shadow:0 0 0 2px rgba(23,107,69,.08)}
@media(max-width:1000px){.cost-selectors{grid-template-columns:1fr 1fr}.date-range-selector{grid-column:1/-1}}@media(max-width:650px){.cost-selectors{grid-template-columns:1fr}.date-range-selector{grid-column:auto;grid-template-columns:1fr 1fr}}
/* V5 Cost Control: editable unit-based dry-cost breakdown */
.breakdown-table{min-width:980px}
.breakdown-table tfoot th{background:#eef8f2;font-weight:800}
.breakdown-help{grid-column:1/-1;background:#f4f8fb;border:1px solid #dce6ee;border-radius:8px;padding:11px;color:#5f6f7e;font-size:12px;line-height:1.7}
.mini-btn.danger{color:#a62828;background:#fff7f7;border-color:#e5baba}
.cost-kpi small{margin-top:3px}

.owner-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0}.owner-price-summary>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:12px}.owner-price-summary span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.owner-price-summary b{font-size:16px}.owner-price-summary .ok{color:#15803d}.owner-price-summary .bad{color:#b91c1c}@media(max-width:900px){.owner-price-summary{grid-template-columns:1fr 1fr}}

/* V10: show the complete BOQ item description in Cost Control */
.cost-item-identity{min-width:0;flex:1}
.cost-full-description{margin-top:12px;padding:12px 14px;background:#f7fafc;border:1px solid #e2e8ee;border-radius:9px}
.cost-full-description-label{font-size:11px;font-weight:700;color:#657585;margin-bottom:6px}
.cost-full-description-text{font-size:13px;line-height:1.75;color:#263442;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.cost-item-head h2{white-space:normal;overflow-wrap:anywhere}

/* Procurement module - integrated on top of the approved cost-control baseline */
.proc-wrap{padding:22px;background:#f5f7fa;min-height:100%}.proc-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.proc-top h1{margin:0 0 5px;font-size:23px}.proc-sub{color:#687386}.proc-flow{display:inline-block;background:#eef6ff;color:#1769aa;border-radius:10px;padding:8px 12px}.proc-dashboard{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.proc-kpi{background:#fff;border:1px solid #e0e5eb;border-radius:12px;padding:15px}.proc-kpi span{display:block;color:#687386;font-size:12px}.proc-kpi b{display:block;font-size:22px;margin-top:7px}.proc-grid{display:grid;grid-template-columns:38% 62%;gap:16px}.proc-card{background:#fff;border:1px solid #e0e5eb;border-radius:12px;padding:17px;margin-bottom:16px}.proc-card h2,.proc-card h3{margin:0 0 13px}.proc-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.proc-card label{display:block;color:#687386;font-size:12px}.proc-card input,.proc-card select,.proc-card textarea{width:100%;margin-top:6px;padding:10px;border:1px solid #cfd7df;border-radius:8px;background:#fff;box-sizing:border-box}.proc-card textarea{min-height:78px;resize:vertical}.proc-full{grid-column:1/-1}.proc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.proc-btn{border:0;border-radius:8px;padding:9px 13px;background:#176b45;color:#fff;cursor:pointer}.proc-btn.secondary{background:#eef2f6;color:#17212b;border:1px solid #d5dce4}.proc-btn.red{background:#c62828;color:#fff}.proc-btn.blue{background:#2563eb;color:#fff}.proc-btn.amber{background:#fff6dd;color:#8a5b00;border:1px solid #e0b34b}.proc-badge{display:inline-block;padding:6px 10px;border-radius:20px;background:#fff2c2;color:#8a6500;font-size:12px}.proc-badge.ok{background:#e1f5e9;color:#137a40}.proc-badge.no{background:#fde4e2;color:#a1261c}.proc-badge.blue{background:#e1efff;color:#1d5ea8}.proc-badge.gray{background:#f1f3f5;color:#5d6670}.proc-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.proc-note{padding:10px;border-radius:8px;background:#f8fafc;border:1px dashed #cfd7df;line-height:1.7;margin-top:9px}.proc-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:12px}.proc-step{border:1px solid #e2e7ed;border-radius:9px;padding:9px;text-align:center;font-size:11px;background:#fbfdff}.proc-step b{display:block;margin-bottom:4px}.proc-step.active{background:#eef6ff;border-color:#93c5fd}.proc-audit{line-height:2;border-top:1px solid #e7ebef;padding-top:12px;margin-top:13px}.proc-quote{background:#fbfdff;border:1px solid #d9e4ee;border-radius:10px;padding:12px;margin:9px 0}.proc-section{margin-top:16px}.proc-table-wrap{overflow:auto}.proc-card table{width:100%;border-collapse:collapse}.proc-card th,.proc-card td{border-bottom:1px solid #e7ebef;padding:9px;text-align:right;font-size:12px;vertical-align:top}.proc-card th{background:#f7f9fb}.proc-alert{padding:10px;border-radius:8px;margin:9px 0;font-weight:600}.proc-alert.good{background:#ecfdf5;color:#15803d}.proc-alert.warn{background:#fffbeb;color:#9a6700}.proc-alert.bad{background:#fef2f2;color:#b91c1c}.proc-role{background:#fff;border:1px solid #e0e5eb;border-radius:12px;padding:12px;margin-bottom:16px}.proc-role select{padding:9px;border:1px solid #cfd7df;border-radius:8px;min-width:220px}.proc-locked{opacity:.45;cursor:not-allowed}.proc-file-name{font-size:12px;color:#5d6670;margin-top:6px}.proc-invoice-preview{display:none;position:fixed;inset:0;background:#0009;z-index:9999;padding:4vh 4vw}.proc-invoice-preview .inner{background:#fff;width:100%;height:100%;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.proc-invoice-preview .head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e5e7eb}.proc-invoice-preview .viewer{flex:1;background:#f3f4f6;display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}.proc-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.proc-small{font-size:11px;color:#687386}@media(max-width:1000px){.proc-dashboard{grid-template-columns:repeat(2,1fr)}.proc-grid{grid-template-columns:1fr}.proc-timeline{grid-template-columns:repeat(2,1fr)}.proc-fields{grid-template-columns:1fr 1fr}}@media(max-width:650px){.proc-fields{grid-template-columns:1fr}.proc-dashboard{grid-template-columns:1fr 1fr}}


/* Integrated Stores V3 styles */

*{box-sizing:border-box}
body{margin:0;background:#f4f6f9;color:#172033;font-family:Segoe UI,Tahoma,Arial,sans-serif}
.stores-module .page{max-width:1500px;margin:20px auto;padding:0 14px}
.stores-module .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.stores-module .title{font-size:28px;font-weight:800}.stores-module .sub{color:#64748b}
.stores-module .card{background:#fff;border:1px solid #e4e8ef;border-radius:16px;padding:18px;box-shadow:0 2px 8px #00000008;margin-bottom:16px}
.stores-module h2{margin:0 0 14px}.stores-module h3{margin:0 0 10px}
.stores-module .flow{display:inline-block;background:#eff6ff;color:#1d4ed8;padding:7px 11px;border-radius:9px}
.stores-module .dashboard{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:12px 0}
.stores-module .kpi{background:#fff;border:1px solid #e4e8ef;border-radius:12px;padding:12px}
.stores-module .kpi small{display:block;color:#64748b}.stores-module .kpi strong{display:block;font-size:21px;margin-top:4px}
.stores-module .layout{display:grid;grid-template-columns:55% 45%;gap:16px}
.stores-module .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stores-module .stores-module .field label{display:block;color:#64748b;font-size:13px;margin-bottom:5px}
.stores-module .stores-module .field input,.stores-module .stores-module .field select,.stores-module .stores-module .field textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.stores-module .stores-module .field textarea{min-height:84px}.stores-module .full{grid-column:1/-1}
.stores-module .stores-module .badge{display:inline-block;padding:6px 10px;border-radius:20px;background:#f1f5f9;color:#475569;font-size:13px}
.stores-module .ok{background:#dcfce7;color:#15803d}.stores-module .warn{background:#fff7df;color:#a16207}.stores-module .bad{background:#fee2e2;color:#b91c1c}.stores-module .blue{background:#dbeafe;color:#1d4ed8}
.stores-module .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.stores-module .btn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}
.stores-module .green{background:#198754;color:#fff}.stores-module .stores-module .bluebtn{background:#2563eb;color:#fff}.stores-module .orange{background:#fff7e6;color:#9a6700;border:1px solid #e5a43a}.stores-module .red{background:#c92a20;color:#fff}.stores-module .graybtn{background:#fff;border:1px solid #cbd5e1;color:#334155}
.stores-module .alert{padding:10px;border-radius:9px;margin:10px 0;font-weight:600}
.stores-module .goodalert{background:#ecfdf5;color:#15803d}.stores-module .stores-module .warnalert{background:#fffbeb;color:#a16207}.stores-module .stores-module .badalert{background:#fef2f2;color:#b91c1c}.stores-module .infoalert{background:#eff6ff;color:#1d4ed8}
.stores-module .stores-module .barbg{height:12px;background:#e5e7eb;border-radius:20px;overflow:hidden}.stores-module .bar{height:100%;background:#2563eb}
.stores-module table{width:100%;border-collapse:collapse}.stores-module th,.stores-module td{padding:9px;border-bottom:1px solid #edf0f3;text-align:right}.stores-module th{background:#f8fafc}
.stores-module .note{padding:10px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:9px;color:#475569;line-height:1.7}
.stores-module .modal{display:none;position:fixed;inset:0;background:#0008;z-index:50;padding:7vh 8vw}
.stores-module .stores-module .modalbox{background:#fff;border-radius:16px;max-height:86vh;overflow:auto;padding:18px}
.stores-module .small{font-size:12px;color:#64748b}
.stores-module .section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.stores-module .tab{padding:9px 13px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}
.stores-module .tab.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:700}
@media(max-width:1100px){.stores-module .dashboard{grid-template-columns:repeat(3,1fr)}.stores-module .layout{grid-template-columns:1fr}}
@media(max-width:700px){.stores-module .dashboard{grid-template-columns:1fr 1fr}.stores-module .grid{grid-template-columns:1fr}}

<style>
.store-mini{font-size:12px;color:#64748b}
.store-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.store-form .stores-module .full{grid-column:1/-1}
.store-field label{display:block;color:#64748b;font-size:13px;margin-bottom:5px}
.store-field input,.store-field select,.store-field textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.store-field textarea{min-height:80px}
.store-badge{display:inline-block;padding:6px 10px;border-radius:20px;background:#f1f5f9;color:#475569;font-size:12px}
.store-ok{background:#dcfce7;color:#15803d}.store-warn{background:#fff7df;color:#a16207}.store-bad{background:#fee2e2;color:#b91c1c}.store-blue{background:#dbeafe;color:#1d4ed8}
.store-table-wrap{overflow:auto;border:1px solid #edf0f3;border-radius:10px}
.store-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.store-btn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}
.store-green{background:#198754;color:#fff}.store-red{background:#c92a20;color:#fff}.store-blue-btn{background:#2563eb;color:#fff}.store-orange-btn{background:#fff7e6;color:#9a6700;border:1px solid #e5a43a}.store-gray-btn{background:#fff;border:1px solid #cbd5e1;color:#334155}
.store-approval{border:1px solid #e5e7eb;border-radius:12px;padding:13px;margin-bottom:10px}
.store-approval .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.store-progress{height:11px;background:#e5e7eb;border-radius:20px;overflow:hidden}.store-progress .fill{height:100%;background:#2563eb}
@media(max-width:1000px){.store-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.store-form{grid-template-columns:1fr}}

<style>
.boq-alloc-card{border:1px solid #dbe5f0;background:#fbfdff;border-radius:12px;padding:14px;margin-top:10px}
.boq-alloc-title{font-weight:800;font-size:18px;margin-bottom:4px}
.boq-alloc-sub{color:#64748b;font-size:13px;margin-bottom:11px}
.boq-alloc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.boq-alloc-grid .stores-module .full{grid-column:1/-1}
.boq-alloc-field label{display:block;color:#64748b;font-size:13px;margin-bottom:5px}
.boq-alloc-field select,.boq-alloc-field input,.boq-alloc-field textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.boq-alloc-field textarea{min-height:76px}
.boq-chain{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0}
.boq-chain span{background:#eff6ff;color:#1d4ed8;padding:6px 9px;border-radius:8px;font-size:12px}
.boq-arrow{color:#94a3b8}


.expense-v30 .module-actions{display:flex;gap:8px;flex-wrap:wrap}
.expense-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:12px}
.expense-flow span{background:#eff6ff;color:#1d4ed8;padding:7px 10px;border-radius:9px}
.platform-status-note{border:1px solid #dfe6ef;background:#fff;border-radius:12px;padding:14px;margin-bottom:14px}

.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.checks label{padding:8px;border:1px solid var(--border,#ddd);border-radius:8px;background:var(--card,#fff)}

/* V47 - Scrollable company-user invitation modal */
.modal{max-height:calc(100vh - 40px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.modal-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 2px;margin-top:18px;border-top:1px solid #eef1f4;z-index:2}

/* V48 - Company user audit and manager */
.audit-note{font-size:12px;color:#687386;line-height:1.8}.table{overflow:auto}.table table{min-width:900px}

/* V55: project sidebar scrolling + collapsible navigation groups */
body:has(aside) aside{display:flex;flex-direction:column;height:100vh;overflow:hidden}
body:has(aside) aside nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px;padding-bottom:18px;scroll-behavior:smooth}
body:has(aside) aside nav::-webkit-scrollbar{width:8px}
body:has(aside) aside nav::-webkit-scrollbar-track{background:transparent}
body:has(aside) aside nav::-webkit-scrollbar-thumb{background:#3a4d5e;border-radius:8px}
body:has(aside) aside nav{scrollbar-width:thin;scrollbar-color:#3a4d5e transparent}
body:has(aside) .nav-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;user-select:none;padding:9px 8px;border-radius:7px}
body:has(aside) .nav-group-title:hover{background:#1a2d3e}
body:has(aside) .nav-chevron{font-size:13px;opacity:.8;min-width:14px;text-align:center}
body:has(aside) .nav-group.collapsed>button{display:none}
body:has(aside) .nav-group.collapsed .nav-group-title{margin-bottom:2px}
body:has(aside) aside h1{flex:0 0 auto}
.report-card{cursor:pointer;text-align:inherit;width:100%;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;background:var(--card,#fff);}
.report-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08);border-color:#2b6f95;}
.report-open-hint{display:inline-block;margin-top:8px;font-size:12px;color:#2b6f95;font-weight:700;}
.report-detail .table{overflow:auto;}
@media print{aside,.header-left-actions,.company-actions{display:none!important}.project-main{margin:0!important}.report-detail{padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}
.report-card{cursor:pointer;text-align:inherit;width:100%;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;background:var(--card,#fff)}
.report-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08);border-color:#2b6f95}
.report-open-hint{display:inline-block;margin-top:8px;font-size:12px;color:#2b6f95;font-weight:700}
.report-detail .table{overflow:auto}
@media print{aside,.header-left-actions,.company-actions{display:none!important}.project-main{margin:0!important}.report-detail{padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}
.contract-cost-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 14px}.contract-cost-kpis>div{background:#f7f9fb;border:1px solid #e0e6eb;border-radius:9px;padding:12px}.contract-cost-kpis span,.contract-cost-kpis small{display:block;color:#687386;font-size:11px}.contract-cost-kpis b{display:block;font-size:19px;margin:6px 0}.contract-ev-note{background:#eef6ff;border:1px solid #cfe0f2;border-radius:8px;padding:11px;line-height:1.8;color:#526273;font-size:12px;margin-bottom:12px}.contract-ev-table{width:100%;border-collapse:collapse}.contract-ev-table th,.contract-ev-table td{border-bottom:1px solid #e7ebef;padding:9px;text-align:right;font-size:12px}.contract-ev-table th{background:#f7f9fb}.contract-ev-table tfoot th{background:#eff8f2}.contract-ev-table .ok{color:#176b45}.contract-ev-table .bad{color:#b42318}@media(max-width:950px){.contract-cost-kpis{grid-template-columns:1fr 1fr}}

.performance-card{margin-top:18px;padding:16px;border:1px solid #dfe5eb;border-radius:10px;background:#f8fafc}.performance-card h3{margin:0 0 12px;font-size:15px}.performance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.performance-item{background:#fff;border:1px solid #e1e6eb;border-radius:9px;padding:12px}.performance-item span{display:block;color:#687386;font-size:12px}.performance-item b{display:block;font-size:20px;margin:7px 0}.performance-item small{display:block;color:#687386;line-height:1.5}.indicator-good{color:#176b45!important;font-weight:700}.indicator-bad{color:#b42318!important;font-weight:700}.indicator-rules{margin-top:12px;padding:12px;background:#eef5ff;border:1px solid #cbdcf5;border-radius:8px;color:#40546a;font-size:12px;line-height:1.9}.profit-planned{background:#f7f9fb;border-radius:7px;padding:13px!important}@media(max-width:950px){.performance-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.performance-grid{grid-template-columns:1fr}}

/* V63 contract organization + print */
.contract-header{align-items:flex-start}.contract-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.contract-subtitle{margin:6px 0 0}.contract-tabs{position:sticky;top:0;z-index:4;background:#f5f7fa;padding:8px 0}.contract-kpi.highlight{border-color:#b9dcc8;background:#f3faf5}.contract-organized-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;align-items:start}.contract-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.contract-section-head>div{display:flex;align-items:center;gap:9px}.contract-section-head h2{margin:0!important}.section-number{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#176b45;color:#fff;font-weight:700}.section-note{font-size:11px;color:#687386;background:#f5f7fa;border:1px solid #e2e7ec;padding:5px 9px;border-radius:999px}.contract-base-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.contract-base-row label{margin:0}.contract-file-icon{font-size:30px}.contract-profit-card{margin-top:16px}.contract-profit-card .profit-lines{max-width:900px}.performance-card{margin-top:16px}.indicator-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.indicator-rules>div{background:#f7f9fb;border:1px solid #e2e7ec;border-radius:8px;padding:10px;line-height:1.7;font-size:12px;color:#526273}.contract-organized .contract-card{scroll-margin-top:70px}
@media(max-width:950px){.contract-organized-grid{grid-template-columns:1fr}.indicator-rules{grid-template-columns:1fr}.contract-base-row{grid-template-columns:1fr}.contract-header-actions{width:100%}}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  .contract-organized{padding:0 10mm!important;margin:0!important;width:auto!important;max-width:none!important}
  .contract-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:12px!important}
  .contract-header-actions,.contract-tabs,.contract-actions,.contract-card button,.contract-file input,.contract-breadcrumb,.contract-modal-note,.contract-file-actions-row{display:none!important}
  .contract-card,.contract-kpi{box-shadow:none!important;break-inside:avoid;border:1px solid #bbb!important}
  .contract-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
  .contract-organized-grid{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;gap:14px!important;align-items:start!important}
  .contract-profit-card{break-before:auto!important}
  .contract-top h1{font-size:24px!important}
  #contract-file{display:none!important}
  .contract-files-bottom{display:none!important}
  .contract-organized .contract-summary-section{display:block!important}
  .contract-organized-grid .contract-card{display:block!important}
  .contract-profit-card{display:block!important}
  .contract-organized-grid,.contract-profit-card,.contract-summary-section{page-break-inside:auto}
}


/* Contract file compact icon controls */
.contract-file-compact{position:relative;min-height:112px;padding:16px 18px;text-align:center}
.contract-file-actions{position:absolute;left:10px;top:10px;display:flex!important;flex-direction:column;gap:5px;margin:0!important;justify-content:flex-start!important}
.file-icon-btn{width:34px!important;height:34px!important;padding:0!important;margin:0!important;border-radius:8px!important;background:#eef2f6!important;color:#17212b!important;border:1px solid #d5dce4!important;display:flex;align-items:center;justify-content:center;font-size:16px!important;cursor:pointer}
.print-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.print-option{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e0e6ec;border-radius:8px;background:#fafbfc;cursor:pointer}
.print-option input{width:auto!important;margin:0!important}
@media(max-width:650px){.print-options{grid-template-columns:1fr}}
@media print{
  body[data-print-scope]:not([data-print-scope="all"]) .contract-organized > *{display:none!important}
  body[data-print-scope="contract-summary"] .contract-summary-section{display:block!important}
  body[data-print-scope="contract-data"] #contract-data{display:block!important}
  body[data-print-scope="contract-addenda"] #contract-addenda{display:block!important}
  body[data-print-scope="contract-profit"] #contract-profit{display:block!important}
  body[data-print-scope]:not([data-print-scope="all"]) .contract-organized{padding:0 10mm!important}
  body[data-print-scope]:not([data-print-scope="all"]) .contract-top{display:block!important}
  body[data-print-scope]:not([data-print-scope="all"]) .contract-organized-grid{display:block!important}
  body[data-print-scope] #contract-file{display:none!important}
}

/* V65: move contract file actions beside contract tabs */
.contract-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.contract-tabs>a{display:inline-flex;align-items:center;justify-content:center}
.contract-file-tab-wrap{display:inline-flex;align-items:center;gap:5px}
.contract-file-tab-wrap>a{display:inline-flex;align-items:center;justify-content:center}
.contract-tab-file-actions{display:inline-flex;align-items:center;gap:3px;margin-inline-start:2px}
.contract-tab-file-actions .file-icon-btn{width:28px!important;height:28px!important;border-radius:7px!important;font-size:13px!important}
@media(max-width:650px){.contract-tabs{gap:5px}.contract-tab-file-actions .file-icon-btn{width:26px!important;height:26px!important;font-size:12px!important}}
@media print{.contract-tab-file-actions{display:none!important}}

/* Contract file folder */
.contract-files-bottom{margin-top:18px}.contract-files-folder-wrap{border:1px solid #dfe5eb;border-radius:12px;background:#f8fafc;padding:14px}.contract-folder-title{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:12px;background:#fff;border:1px solid #e2e7ec;border-radius:10px}.contract-folder-title .folder-icon{font-size:30px}.contract-folder-title b{display:block;font-size:15px}.contract-folder-title small{display:block;color:#687386;font-size:11px;margin-top:3px}.contract-files-folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contract-file-folder{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #e0e6ec;border-radius:10px;padding:9px}.contract-file-open{display:flex!important;align-items:center!important;gap:10px!important;flex:1!important;background:transparent!important;color:#17212b!important;border:0!important;padding:4px!important;margin:0!important;text-align:right!important}.contract-file-folder-icon{font-size:27px}.contract-file-open b{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-file-open small{display:block;color:#687386;font-size:10px;margin-top:3px}.contract-file-mini-actions{display:flex;gap:4px}.contract-file-mini-actions button{width:32px!important;height:32px!important;padding:0!important;margin:0!important;background:#eef2f6!important;color:#17212b!important;border:1px solid #d5dce4!important;display:inline-flex!important;align-items:center;justify-content:center}.contract-file-mini-actions button:hover,.file-icon-btn:hover{background:#e4ebf1!important}@media(max-width:750px){.contract-files-folder-grid{grid-template-columns:1fr}}

/* V67: contract file actions moved below tabs and kept compact */
.contract-file-actions-row{display:flex;justify-content:flex-start;align-items:center;gap:5px;margin:-6px 0 12px;padding:2px 0;direction:ltr}
.contract-file-actions-row .file-icon-btn{width:30px!important;height:30px!important;border-radius:7px!important;font-size:13px!important;padding:0!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;background:#eef2f6!important;color:#17212b!important;border:1px solid #d5dce4!important;cursor:pointer}
@media(max-width:650px){.contract-file-actions-row .file-icon-btn{width:28px!important;height:28px!important;font-size:12px!important}}
@media print{.contract-file-actions-row{display:none!important}}

/* V69: single back button + file actions inside section 4 */
.contract-file-actions-row{margin:0!important;padding:0!important;display:flex!important;align-items:center!important;gap:4px!important;direction:ltr!important}
.contract-file-actions-row .file-icon-btn{width:28px!important;height:28px!important;border-radius:7px!important;font-size:12px!important}
.contract-header-actions{justify-content:flex-end!important}
@media print{.contract-file-actions-row{display:none!important}}

/* V72: BOQ visual order and compact description */
.boq-table{table-layout:fixed;width:100%;min-width:1120px}
.boq-table th:nth-child(1),.boq-table td:nth-child(1){width:7%;white-space:nowrap}
.boq-table th:nth-child(2),.boq-table td:nth-child(2){width:8%;white-space:nowrap}
.boq-table th:nth-child(3),.boq-table td:nth-child(3){width:10%;white-space:nowrap}
.boq-table th:nth-child(4),.boq-table td:nth-child(4){width:12%;white-space:nowrap}
.boq-table th:nth-child(5),.boq-table td:nth-child(5){width:16%;font-size:12px;line-height:1.3}
.boq-table .boq-desc-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.boq-table th:nth-child(6),.boq-table td:nth-child(6){width:13%;white-space:nowrap}
.boq-table th:nth-child(7),.boq-table td:nth-child(7){width:10%;white-space:nowrap}
.boq-table th:nth-child(8),.boq-table td:nth-child(8){width:12%;white-space:nowrap}
.boq-table th:nth-child(9),.boq-table td:nth-child(9){width:7%;white-space:nowrap}
.boq-table td[title]{cursor:help}
.boq-table td[title]:hover{background:#f8fbfd}
/* V78 — BOQ display order: Amount → Rate → Qty → Unit → Description → Activity → Division */
.boq-table{min-width:1220px;direction:ltr}
.boq-table th,.boq-table td{text-align:center}
.boq-table th:nth-child(1),.boq-table td:nth-child(1){width:105px;max-width:105px}
.boq-table th:nth-child(2),.boq-table td:nth-child(2){width:105px;max-width:105px}
.boq-table th:nth-child(3),.boq-table td:nth-child(3){width:85px;max-width:85px}
.boq-table th:nth-child(4),.boq-table td:nth-child(4){width:85px;max-width:85px}
.boq-table th:nth-child(5),.boq-table td:nth-child(5){width:240px;max-width:240px}
.boq-table th:nth-child(6),.boq-table td:nth-child(6){width:145px;max-width:145px}
.boq-table th:nth-child(7),.boq-table td:nth-child(7){width:125px;max-width:125px}
.boq-table th:nth-child(8),.boq-table td:nth-child(8){width:120px;max-width:120px}
.boq-table th:nth-child(9),.boq-table td:nth-child(9){width:105px;max-width:105px}
.boq-table th:nth-child(10),.boq-table td:nth-child(10){width:92px;max-width:92px;white-space:nowrap}
.boq-table td.boq-desc-cell{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boq-actions-cell{display:flex;gap:4px;justify-content:center;align-items:center}
.boq-actions-cell .row-edit{min-width:34px;height:30px;padding:3px 6px}
/* V78 — requested BOQ column order and row actions */
.boq-table{min-width:1220px;direction:ltr}
.boq-table th,.boq-table td{text-align:center}
.boq-table th:nth-child(1),.boq-table td:nth-child(1){width:105px;max-width:105px}
.boq-table th:nth-child(2),.boq-table td:nth-child(2){width:105px;max-width:105px}
.boq-table th:nth-child(3),.boq-table td:nth-child(3){width:85px;max-width:85px}
.boq-table th:nth-child(4),.boq-table td:nth-child(4){width:85px;max-width:85px}
.boq-table th:nth-child(5),.boq-table td:nth-child(5){width:240px;max-width:240px}
.boq-table th:nth-child(6),.boq-table td:nth-child(6){width:145px;max-width:145px}
.boq-table th:nth-child(7),.boq-table td:nth-child(7){width:125px;max-width:125px}
.boq-table th:nth-child(8),.boq-table td:nth-child(8){width:120px;max-width:120px}
.boq-table th:nth-child(9),.boq-table td:nth-child(9){width:105px;max-width:105px}
.boq-table th:nth-child(10),.boq-table td:nth-child(10){width:92px;max-width:92px;white-space:nowrap}
.boq-table td.boq-desc-cell{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boq-actions-cell{display:flex;gap:4px;justify-content:center;align-items:center}
.boq-actions-cell .row-edit{min-width:34px;height:30px;padding:3px 6px}
.client-claim-kpis{grid-template-columns:repeat(5,minmax(0,1fr));}
.claim-flow{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:14px;border:1px solid var(--border,#d9e0e8);border-radius:12px;background:#f7fafc}
.claim-flow span{padding:9px 14px;border-radius:999px;background:#fff;border:1px solid #d7dee7;font-weight:700}
.claim-flow b{opacity:.55}
.client-claims-page .table{overflow:auto}
.client-claims-page table{min-width:1100px}
.client-claims-page td,.client-claims-page th{white-space:nowrap}
.client-claims-page td:nth-child(4){max-width:260px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.client-claim-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media print{.client-claims-page .company-actions,.client-claims-page .claim-flow,.client-claims-page button{display:none!important}.client-claims-page{padding:0}.client-claims-page .card{box-shadow:none!important;break-inside:avoid}}
/* V80 - Client claim BOQ quantity/payment controls */
.claim-boq-table,.claim-edit-table{overflow-x:auto}
.claim-boq-table table,.claim-edit-table table{min-width:1500px}
.claim-boq-table td,.claim-boq-table th,.claim-edit-table td,.claim-edit-table th{white-space:nowrap}
.claim-boq-table td:nth-child(4),.claim-edit-table td:nth-child(2){max-width:260px;overflow:hidden;text-overflow:ellipsis}
.claim-edit-table input[type=number]{width:82px;box-sizing:border-box}
.claim-edit-table input[type=checkbox]{width:18px;height:18px}

/* V81 - Client claims table: keep text inside cells and expose full text on click */
.claim-boq-table .claim-cell-text,.claim-edit-table .claim-cell-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.claim-boq-table td,.claim-edit-table td{overflow:hidden;vertical-align:middle}
.claim-boq-table td:nth-child(4){max-width:260px}
.claim-boq-table td:nth-child(5){max-width:90px}
.claim-hscroll-top{height:14px;overflow-x:auto;overflow-y:hidden;margin:0 0 4px;background:#f3f6f8;border:1px solid #e1e6eb;border-radius:8px}
.claim-hscroll-top>div{height:1px}
.claim-hscroll-top::-webkit-scrollbar{height:10px}.claim-hscroll-top::-webkit-scrollbar-track{background:#eef2f5;border-radius:8px}.claim-hscroll-top::-webkit-scrollbar-thumb{background:#9aa7b3;border-radius:8px}
.claim-boq-table{overflow-x:auto}
.full-cell-text-modal{position:fixed;inset:0;background:rgba(0,0,0,.28);z-index:10020;display:flex;align-items:center;justify-content:center;padding:24px}
.full-cell-text-modal .inner{background:#fff;max-width:min(760px,92vw);max-height:75vh;overflow:auto;border-radius:12px;border:1px solid #dfe5eb;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:20px;direction:rtl;text-align:right}
.full-cell-text-modal h3{margin:0 0 12px}.full-cell-text-modal .text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#263442}
.full-cell-text-modal .close{margin-top:16px;border:1px solid #d5dce4;background:#eef2f6;border-radius:8px;padding:8px 14px;cursor:pointer}
/* V117 drawings status counters */
.drawing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.drawing-kpi{border:1px solid var(--border,#ddd);border-radius:14px;padding:18px;text-align:right;background:var(--card,#fff);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:.15s}
.drawing-kpi:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.drawing-kpi span{font-weight:700;font-size:16px}.drawing-kpi b{font-size:30px;line-height:1}.drawing-kpi small{color:var(--muted,#777)}
.drawing-status-fixed{border:1px solid var(--border,#ddd);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.drawing-status-fixed span{font-size:12px;color:var(--muted,#777)}.drawing-status-fixed b{font-size:16px}.drawing-status-fixed small{color:var(--muted,#777)}
@media(max-width:800px){.drawing-kpis{grid-template-columns:1fr}}
.reports-dashboard .company-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.report-filters{margin-top:12px}.report-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.report-chart{padding:8px}.report-chart h3{margin:4px 0 10px}.report-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:20px}.donut-wrap svg{max-width:180px}.donut-row{display:flex;align-items:center;gap:7px;margin:7px 0;font-size:13px}.donut-row i{width:11px;height:11px;border-radius:50%;display:inline-block}.report-detail .table{overflow:auto}@media(max-width:1000px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.reports-dashboard .company-head{flex-direction:column;align-items:flex-start}}

/* V123 access / employee shell */
.login-logo{width:74px;height:74px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border-radius:22px;background:#f0f6ff;font-size:42px;box-shadow:0 8px 24px rgba(16,24,40,.10)}
.login-brand{text-align:center;font-weight:800;font-size:18px;color:#12395c;margin-bottom:18px}.login-card{text-align:right}.login-card h1{text-align:center;font-size:28px}.login-card>p{text-align:center}.login-main-btn{width:100%;margin-top:8px;font-size:16px;padding:12px}.welcome-overlay{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#0b1f33,#12395c);display:flex;align-items:center;justify-content:center;animation:welcomeFade .2s ease}.welcome-card{width:min(520px,calc(100% - 40px));text-align:center;color:#fff;padding:42px 30px;border-radius:24px;background:rgba(255,255,255,.10);backdrop-filter:blur(14px);box-shadow:0 25px 80px rgba(0,0,0,.30)}.welcome-icon{font-size:58px;margin-bottom:12px}.welcome-kicker{letter-spacing:1px;opacity:.8}.welcome-card h1{font-size:32px;margin:12px 0 8px}.welcome-card p{font-size:18px;opacity:.9}.welcome-target{margin-top:24px;padding:13px 16px;border-radius:12px;background:rgba(255,255,255,.10)}@keyframes welcomeFade{from{opacity:0}to{opacity:1}}
.task-home .home-user{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-shell{padding:24px;max-width:1400px;margin:auto}.task-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#eef5fb);border:1px solid #dbe7f2;margin-bottom:18px}.task-hero h1{margin:6px 0;font-size:30px}.task-date{font-weight:700;color:#345}.task-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.task-stat{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(16,24,40,.05)}.task-stat b{display:block;font-size:30px}.task-stat span{color:#667085}.task-stat.danger{border-right:5px solid #d92d20}.task-stat.warn{border-right:5px solid #f79009}.task-stat.good{border-right:5px solid #12b76a}.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.task-row{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #eee}.task-row:last-child{border-bottom:0}.task-dot{font-size:20px}.task-row p{margin:5px 0 0;color:#667085}.assigned-project{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eee}.assigned-project:last-child{border-bottom:0}.empty-state{padding:30px;text-align:center;color:#667085}.task-shell .project-folders{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}@media(max-width:850px){.task-stats,.task-grid{grid-template-columns:1fr}.task-hero{flex-direction:column;align-items:flex-start}.assigned-project{flex-direction:column;align-items:flex-start}}

/* V126 polish - centered horizontal login + Construction Control logo */
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b1f33,#12395c);padding:32px;box-sizing:border-box}
.login-card{width:min(860px,calc(100vw - 64px));max-width:860px;background:#fff;border-radius:24px;padding:0;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;direction:ltr;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.login-brand-panel{direction:rtl;background:linear-gradient(145deg,#f7fbff,#eef5fb);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:46px 34px;text-align:center;border-left:1px solid #e1e8ef}
.login-logo-image{width:150px;height:150px;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 10px 20px rgba(16,24,40,.14))}
.login-brand-panel .login-brand{font-size:24px;font-weight:900;color:#12395c;margin-bottom:8px}
.login-brand-ar{font-size:14px;color:#667085;line-height:1.7}
.login-form-panel{direction:rtl;padding:44px 46px;text-align:right}
.login-form-panel h1{text-align:center;font-size:30px;margin:0 0 8px}
.login-form-panel>p{text-align:center;color:#667085;margin:0 0 22px}
.login-form-panel .field{margin:15px 0}
.login-form-panel .login-main-btn{width:100%;margin-top:8px;font-size:17px;padding:13px}
.brand-small{display:flex;align-items:center;gap:9px;font-weight:800;color:#12395c;font-size:18px}
.brand-small img{width:34px;height:34px;object-fit:contain}
.welcome-logo{width:92px;height:92px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}
@media(max-width:760px){.login-card{grid-template-columns:1fr;width:min(520px,calc(100vw - 28px))}.login-brand-panel{padding:28px 22px;border-left:0;border-bottom:1px solid #e1e8ef}.login-logo-image{width:105px;height:105px}.login-form-panel{padding:30px 24px}}

.sidebar-brand{display:flex;align-items:center;gap:10px}.sidebar-brand img{width:48px;height:48px;object-fit:contain}


/* V127 polish - final login centering, signature, and project branding */
.auth-screen{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;display:flex;align-items:center;justify-content:center;box-sizing:border-box;direction:ltr;background:linear-gradient(135deg,#0b1f33,#12395c);padding:40px;z-index:9990}
.auth-screen .login-card{width:min(1000px,calc(100vw - 80px));max-width:1000px;min-height:560px;grid-template-columns:1fr 1fr;direction:ltr}
.login-brand-panel{direction:rtl}
.login-signature{font-size:12px;color:#7b8794;margin-top:16px;letter-spacing:.35px;font-weight:600}
.project-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:0 0 22px;text-align:center}
.project-brand img{width:78px;height:78px;object-fit:contain;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}
.project-brand div{font-size:21px;font-weight:800;line-height:1.35;color:#fff}
@media(max-width:760px){.auth-screen{padding:18px}.auth-screen .login-card{width:min(560px,calc(100vw - 36px));min-height:auto;grid-template-columns:1fr}.project-brand img{width:62px;height:62px}.project-brand div{font-size:18px}}

/* V129 language + signature polish */
.auth-screen{direction:ltr!important}
.auth-screen .login-card{position:relative}
.login-brand-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:560px;padding:48px 34px;background:linear-gradient(180deg,#f5f9fd,#edf4fa);text-align:center}
.login-form-panel{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.language-switcher{position:absolute;top:22px;left:22px;display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);border:1px solid #d6e0e9;border-radius:10px;padding:5px 8px;box-shadow:0 3px 10px rgba(13,61,99,.08);z-index:2}
.language-switcher select{border:0;background:transparent;color:#17324b;font:inherit;outline:none;cursor:pointer;padding:4px 20px 4px 4px}
.language-mark{font-size:17px;line-height:1}
.login-signature-image{width:235px;height:auto;margin-top:18px;opacity:.96}
@media(max-width:760px){.login-brand-panel{min-height:310px;padding:35px 22px}.login-form-panel{padding:30px 24px}.language-switcher{top:12px;left:12px}.login-signature-image{width:190px}}

/* V131 — final visual polish only; no workflow/data behavior changes */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}
button{transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease}
button:hover:not(:disabled){box-shadow:0 3px 10px rgba(15,39,61,.10)}
button:active:not(:disabled){transform:translateY(1px)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
input,select,textarea{transition:border-color .12s ease,box-shadow .12s ease}
input:focus,select:focus,textarea:focus{border-color:#2b6f95!important;box-shadow:0 0 0 3px rgba(43,111,149,.10)}
::selection{background:rgba(43,111,149,.18)}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#c3ced9;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#98a9b8;border:2px solid transparent;background-clip:padding-box}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* V135 - execution variance status */
.exec-variance{display:inline-block;min-width:72px;padding:5px 9px;border-radius:999px;font-weight:800;text-align:center;border:1px solid transparent}
.exec-ok{color:#147a45;background:#e8f7ef;border-color:#b9e7cc}
.exec-over{color:#b42318;background:#fdecec;border-color:#f3b5b0}
.exec-over-text{color:#b42318;font-weight:800}
.execution-table .exec-qty:focus{outline:2px solid #2d6f95;outline-offset:1px}

/* Client Claims: all project BOQs, collapsible sections, change highlighting */
.cc-boq-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;flex-wrap:wrap}.cc-boq-tool-actions{display:flex;gap:8px}.cc-collapse-btn{border:0;background:transparent;cursor:pointer;font-size:16px;margin-left:8px}.cc-section-row td{background:#eef5fb!important;border-top:2px solid #c7d9e8;font-size:15px;padding:12px}.cc-section-row .badge{margin-right:8px}.cc-sep{opacity:.5;margin:0 5px}.cc-item-row td{white-space:nowrap}.cc-live-qty.cc-changed{background:#fff2cc!important;border:2px solid #e0a800!important;box-shadow:0 0 0 2px rgba(255,193,7,.12)}.cc-change-note{margin:8px 0;padding:10px 14px;border-radius:8px;background:#fff3cd;color:#7a5b00;border:1px solid #f0d98a;font-weight:700}

.cc-scope-panel{margin-top:8px}.cc-scope-box{border:1px solid #cfdce8;background:#f7fbfe;border-radius:10px;padding:12px}.cc-scope-box span{display:block;color:#667085;margin-top:4px}.cc-scope-box select{min-width:280px;margin-top:6px}.cc-scope-title{font-weight:700;margin-bottom:8px}.cc-scope-checks{display:flex;flex-wrap:wrap;gap:8px}.cc-scope-check{display:flex;align-items:center;gap:7px;border:1px solid #d5e1ea;background:#fff;border-radius:8px;padding:8px 10px}.cc-scope-actions{display:flex;gap:8px;margin-top:10px}.cc-scope-summary{display:flex;gap:8px;align-items:center;margin-bottom:10px;padding:8px 10px;background:#f7fbfe;border-radius:8px}

/* V150 client-claim scope selector + horizontal table scroll */
.cc-current-scope-box{margin:14px 0;padding:16px;border:1px solid #d7e4ee;background:#f8fbfd;border-radius:14px}
.cc-current-scope-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.cc-current-scope-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr) auto;gap:12px;align-items:end;margin-top:12px}
.cc-current-scope-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.cc-current-scope-form select{min-height:40px}
.cc-current-scope-panel{min-height:40px}
.cc-current-scope-panel .cc-scope-box{padding:10px;border-radius:10px;background:#fff;border:1px solid #d7e4ee}
.claim-boq-table{overflow-x:auto!important;overflow-y:visible;max-width:100%}
.claim-boq-table table{min-width:1800px;width:max-content}
.cc-scope-checks{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}
.cc-scope-check{display:flex;align-items:center;gap:7px;padding:8px 10px;background:#fff;border:1px solid #d7e4ee;border-radius:9px;font-weight:600}
@media(max-width:900px){.cc-current-scope-form{grid-template-columns:1fr}.cc-current-scope-form .btn{width:100%}}

.cost-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.cost-breakdown-grid>.card{min-width:0}@media(max-width:1100px){.cost-breakdown-grid{grid-template-columns:1fr}}

/* V155 Cost Control presentation */
.cost-main-full{width:100%;min-width:0}.breakdown-tabs{padding:0;overflow:hidden;margin-top:14px}.breakdown-tabs-head{display:flex;gap:8px;padding:10px;border-bottom:1px solid #e4e9ee;background:#f7f9fb;direction:rtl}.breakdown-tab{flex:1;border:1px solid #d5dce4;background:#fff;border-radius:10px;padding:14px 18px;font-weight:800;font-size:15px;color:#263342;cursor:pointer}.breakdown-tab.active{background:#1f6d91;color:#fff;border-color:#1f6d91}.breakdown-panel{padding:18px}.breakdown-status-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.breakdown-panel .breakdown-table input{width:130px;box-sizing:border-box;padding:8px;border:1px solid #cfd7df;border-radius:7px;text-align:center}.breakdown-panel .table-wrap{overflow-x:auto}.cost-main-full .cost-item-head{margin-top:0}@media(max-width:650px){.breakdown-tabs-head{flex-direction:column}.breakdown-tab{width:100%}}

/* V156 Cost Control overview + multi-BOQ scope */
.cost-kpis-horizontal{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:14px 0 18px!important}
.cost-kpis-horizontal .cost-kpi{min-width:0;text-align:center;padding:14px 10px}
.cost-kpis-horizontal .cost-kpi b{font-size:20px}
.cost-kpis-horizontal .cost-kpi .bad{color:#b32929}
.cost-scope-selectors{grid-template-columns:minmax(220px,1.1fr) minmax(300px,1.8fr) auto!important;align-items:end!important}
.cc-cost-scope-panel{min-width:0}
.cc-cost-scope-panel>label{display:block;font-weight:700;font-size:13px}
.cc-cost-scope-panel select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cfd7df;border-radius:8px;background:#fff;font-size:14px;margin-top:7px}
.cc-scope-box{background:#f5f9fc;border:1px solid #d8e3ec;border-radius:10px;padding:12px;line-height:1.8;color:#526273}
.cc-scope-title{font-weight:700;margin-bottom:7px}
.cc-scope-checks{display:flex;gap:8px;flex-wrap:wrap;max-height:105px;overflow:auto;padding:4px 0}
.cc-scope-check{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d6dee6;border-radius:9px;padding:8px 10px;cursor:pointer}
.cc-scope-actions{display:flex;gap:7px;margin-top:7px}
.cost-scope-apply{display:flex;align-items:end}
.cost-overview-card{margin-bottom:16px}
.cost-overview-card h2{margin:0 0 5px}
.cost-overview-card tfoot th{background:#eff8f2}
@media(max-width:1250px){.cost-kpis-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cost-scope-selectors{grid-template-columns:1fr 1.5fr auto!important}}
@media(max-width:850px){.cost-kpis-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cost-scope-selectors{grid-template-columns:1fr!important}.cost-scope-apply{align-items:stretch}.cost-scope-apply .btn{width:100%}}
/* V159 — Execution readiness / multidisciplinary approvals */
.execution-table .exec-gate-btn{margin-top:6px;font-size:12px;padding:6px 9px}
.execution-table td{vertical-align:middle}
.exec-gate-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border:1px solid #dce6ee;border-radius:14px;background:linear-gradient(135deg,#f7fbfd,#ffffff);margin-bottom:14px}
.exec-gate-section{margin-top:14px;padding:14px;border:1px solid #e2e8ee;border-radius:14px;background:#fff}
.exec-gate-section h4{margin:0 0 10px}
.exec-dept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.exec-dept-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe4eb;border-radius:10px;background:#f9fbfc;cursor:pointer}
.exec-dept-check input{accent-color:#176b8f}
.exec-approval-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed #d9e2e8}
.exec-approval-row:last-child{border-bottom:0}
.exec-approval-row>div:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.exec-dept-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-gate-head{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.exec-dept-grid{grid-template-columns:1fr}}

/* V171 schedule presentation */
.schedule-summary-main{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:16px}.schedule-info-card{background:#f8fafc;border:1px solid #e3e9ef;border-radius:14px;padding:18px;text-align:center}.schedule-info-card span{display:block;color:#718096;font-size:12px;margin-bottom:8px}.schedule-info-card b{font-size:20px;color:#132238}.schedule-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0 14px}.schedule-section-sub{color:#73818c;font-size:12px;padding:0 16px 10px}.schedule-month-box{min-width:220px;font-weight:700}.schedule-month-box select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cfd8e1;border-radius:9px;background:#fff}.schedule-progress-cell{display:flex;align-items:center;gap:4px;justify-content:center}.schedule-progress-input{width:72px;padding:7px;border:1px solid #ccd6df;border-radius:7px;text-align:center}.schedule-count{display:inline-flex;min-width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#eaf4fa;color:#146084;font-size:11px;margin-right:5px}.schedule-cash-layout{display:grid;grid-template-columns:1.25fr .9fr;gap:14px}.schedule-chart-card{grid-column:1/-1}.schedule-level-form{padding:16px;display:flex;gap:12px;align-items:end}.schedule-level-form label{flex:1;font-weight:700}.schedule-level-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:11px;border:1px solid #ccd6df;border-radius:9px}.schedule-level-form small{display:block;color:#718096;font-weight:400;margin-top:5px}.schedule-level-form .btn{white-space:nowrap}.schedule-chart-row{display:grid;grid-template-columns:130px 1fr 300px;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid #edf1f4}.cash-chart-label{font-weight:700;font-size:12px}.cash-chart-track{height:28px;background:#f1f4f7;border-radius:7px;position:relative;overflow:hidden}.cash-in-bar,.cash-out-bar{position:absolute;top:0;height:13px;border-radius:7px}.cash-in-bar{right:0;background:#2563eb}.cash-out-bar{right:0;top:15px;background:#f59e0b}.cash-chart-values{display:flex;justify-content:space-between;font-size:11px;color:#667085}.cash-chart-legend{display:flex;gap:18px;padding:10px 14px;color:#667085;font-size:12px}.cash-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:4px}.legend-in{background:#2563eb}.legend-out{background:#f59e0b}.schedule-level-ok,.schedule-level-warn,.schedule-level-summary,.schedule-level-note{margin:12px 16px;padding:12px;border-radius:9px}.schedule-level-ok{background:#effaf2;color:#176b45}.schedule-level-warn{background:#fff5f5;color:#a52828}.schedule-level-summary{background:#fff8e7;border:1px solid #f0d58c}.schedule-level-note{background:#f4f8fb;color:#536273;font-size:12px}.schedule-table .bad{color:#b42318;font-weight:700}@media(max-width:1000px){.schedule-summary-main{grid-template-columns:1fr}.schedule-cash-layout{grid-template-columns:1fr}.schedule-chart-row{grid-template-columns:100px 1fr}.cash-chart-values{display:none}.schedule-level-form{flex-direction:column;align-items:stretch}.schedule-section-head{flex-direction:column;align-items:stretch}.schedule-month-box{min-width:0}}

/* ===== V180 Procurement redesign ===== */
.proc-v180{direction:rtl}.proc-v180-kpis{grid-template-columns:repeat(6,1fr)}
.proc-v180-gate{border:1px solid #bfdbfe;background:#eff6ff;color:#174ea6;margin:0 0 14px}
.proc-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #dfe5ec;border-radius:12px;padding:8px;margin-bottom:14px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #0000000a}
.proc-tab{border:1px solid #d6dee7;background:#f8fafc;color:#26323f;border-radius:9px;padding:10px 13px;cursor:pointer;font-weight:700;font-size:12px}.proc-tab:hover{background:#eef6ff}.proc-tab.active{background:#12324a;color:#fff;border-color:#12324a}.proc-tab span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:12px;background:#e7eef5;color:#12324a;margin-right:5px;font-size:11px}.proc-tab.active span{background:#fff;color:#12324a}
.proc-v180-layout{display:grid;grid-template-columns:1.55fr .85fr;gap:14px}.proc-v180-layout>.proc-card{margin-bottom:0}.proc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.proc-v180-fields{grid-template-columns:repeat(3,1fr)}
.proc-v180-list{display:flex;flex-direction:column;gap:8px}.proc-v180-mini{display:grid;grid-template-columns:1.3fr .8fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e4e9ef;border-radius:9px;background:#fbfdff}.proc-v180-mini b,.proc-v180-mini span,.proc-v180-mini small{display:block}.proc-v180-mini span,.proc-v180-mini small{font-size:11px;color:#687386;margin-top:3px}.proc-empty{padding:30px;text-align:center;color:#7b8794;border:1px dashed #cfd7df;border-radius:10px;background:#fbfcfd}
.proc-v180-queue{display:flex;flex-direction:column;gap:12px}.proc-v180-request{border:1px solid #dce4ec;border-radius:12px;background:#fff;padding:14px;box-shadow:0 1px 3px #00000008}.proc-v180-request-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.proc-v180-request h3{margin:5px 0 3px;font-size:15px}.proc-v180-pr{display:inline-block;background:#eaf3ff;color:#1769aa;border-radius:7px;padding:4px 8px;font-weight:800;font-size:11px}.proc-v180-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:9px;margin-top:12px}.proc-v180-grid>div{background:#f8fafc;border:1px solid #e7ebef;border-radius:8px;padding:9px}.proc-v180-grid label{font-size:10px;color:#7a8794;display:block;margin-bottom:4px}.proc-v180-approvals{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.proc-v180-approvals span{font-size:11px;background:#f3f4f6;color:#7a818a;border-radius:15px;padding:6px 9px}.proc-v180-approvals span.done{background:#e5f7ec;color:#168048}.proc-v180-flowcard{margin-top:14px}.proc-v180-flowline{display:flex;gap:7px;align-items:center;justify-content:center;flex-wrap:wrap}.proc-v180-flowline span{padding:9px 12px;border-radius:9px;background:#f1f5f9;border:1px solid #dbe3eb;font-size:12px;font-weight:700}.proc-v180-flowline span.hq{background:#fff7df;border-color:#e8c86b;color:#795d00}.proc-v180-flowline span.exec{background:#eaf7ef;border-color:#a9d9bb;color:#187043}.proc-v180-flowline i{font-style:normal;color:#7c8b99;font-weight:800}.proc-v180-audit details{border:1px solid #e1e6ec;border-radius:9px;background:#fbfcfd}.proc-v180-audit summary{cursor:pointer;padding:10px 12px;font-weight:800}.proc-audit-box{padding:12px;border-top:1px solid #e6ebef;color:#657180;line-height:1.8}
@media(max-width:1100px){.proc-v180-kpis{grid-template-columns:repeat(3,1fr)}.proc-v180-layout{grid-template-columns:1fr}.proc-v180-grid{grid-template-columns:1fr 1fr}.proc-v180-fields{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.proc-v180-kpis{grid-template-columns:1fr 1fr}.proc-v180-grid{grid-template-columns:1fr}.proc-v180-mini{grid-template-columns:1fr}.proc-tabs{position:static}.proc-tab{flex:1 1 46%}}
.proc-v180-quote{display:flex;gap:6px;flex-wrap:wrap;width:100%;margin-bottom:8px}.proc-v180-quote input{width:150px;margin-top:0;padding:8px;border:1px solid #cfd7df;border-radius:7px;box-sizing:border-box}

/* V183 procurement refinements */
.proc-new-request-bar{align-items:center;margin:10px 0 14px;padding:10px 12px;background:#f8fbff;border:1px solid #dbe8f5;border-radius:10px}
.proc-history-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:12px;margin:12px 0 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}
.proc-history-filter label{display:flex;flex-direction:column;gap:5px;min-width:190px;font-size:13px}
.proc-history-filter input[type=date]{direction:ltr;text-align:center;font-family:Arial,sans-serif}
.proc-history-filter .proc-btn{margin-bottom:0}

/* V204 QS quantity aggregation */
.proc-aggregate-qs{border:2px solid #1d72d8;border-radius:16px;padding:16px;background:#f7fbff;margin-top:14px}
.proc-aggregate-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #d8e5f2}
.proc-aggregate-footer span{font-size:13px;color:#445}
.proc-agg-summary{border:1px solid #cfe1f4;background:#f8fbff}
.proc-agg-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.proc-agg-inline span{display:inline-block;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid #dbe7f3}
@media(max-width:800px){.proc-aggregate-footer{flex-direction:column;align-items:stretch}}
/* V217 Procurement Officer */
.proc-v217-officer{direction:rtl}.proc-v217-list{display:flex;flex-direction:column;gap:14px}.proc-v217-order{border:1px solid #d8e1ea;border-radius:14px;background:#fff;padding:16px;box-shadow:0 2px 7px #0000000a}.proc-v217-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.proc-v217-head h3{margin:6px 0 4px;font-size:17px}.proc-v217-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.proc-v217-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}.proc-v217-summary>div{background:#f7f9fb;border:1px solid #e4e9ef;border-radius:9px;padding:10px}.proc-v217-summary label{display:block;font-size:10px;color:#778392;margin-bottom:4px}.proc-v217-section{border:1px solid #e1e7ed;border-radius:10px;margin-top:10px;background:#fbfcfd}.proc-v217-section summary{cursor:pointer;padding:11px 13px;font-weight:800}.proc-v217-section>.proc-table-wrap,.proc-v217-section>.proc-v217-form,.proc-v217-section>.proc-v217-doc-note,.proc-v217-section>.proc-file-list,.proc-v217-section>.proc-file-chip{margin:0 12px 12px}.proc-v217-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.proc-v217-form input{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd6df;border-radius:8px;background:#fff}.proc-v217-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px dashed #b8c5d1;border-radius:8px;background:#fff;font-size:12px}.proc-v217-file input{max-width:55%}.proc-v217-doc-note{font-size:12px;color:#667382;padding-top:2px}.proc-file-list{display:flex;gap:7px;flex-wrap:wrap}.proc-file-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:7px;background:#eef5ff;color:#245b8f;font-size:11px}.proc-v217-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid #e5e9ee}.proc-v217-actions{display:flex;gap:8px;flex-wrap:wrap}.proc-v217-detail{direction:rtl}.proc-v217-detail h4{margin:16px 0 8px}.proc-v217-detail .proc-table-wrap{overflow:auto}.proc-v217-detail table{min-width:1000px}@media(max-width:1000px){.proc-v217-summary{grid-template-columns:repeat(2,1fr)}.proc-v217-form{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-v217-footer{align-items:stretch;flex-direction:column}}@media(max-width:600px){.proc-v217-summary,.proc-v217-form{grid-template-columns:1fr}.proc-v217-head{flex-direction:column}.proc-v217-file{flex-direction:column;align-items:stretch}.proc-v217-file input{max-width:100%}}

.proc-v219-items{display:flex;flex-direction:column;gap:14px}.proc-v219-item-card{border:1px solid #d7e1ea;border-radius:12px;background:#fff;padding:14px}.proc-v219-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.proc-v219-item-head h4{margin:5px 0;font-size:16px}.proc-v219-item-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0}.proc-v219-item-summary>div{background:#f7f9fb;border:1px solid #e4e9ef;border-radius:8px;padding:9px}.proc-v219-item-summary label{display:block;font-size:10px;color:#778392;margin-bottom:4px}.proc-v219-item-summary select{width:100%;padding:7px;border:1px solid #ccd6df;border-radius:7px;background:#fff}.proc-v219-dist-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0;padding:8px 0;border-top:1px dashed #d9e1e8;border-bottom:1px dashed #d9e1e8;font-size:11px;color:#667382}.proc-v219-quote{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px 0}.proc-v219-quote input{width:100%;box-sizing:border-box;padding:8px;border:1px solid #ccd6df;border-radius:8px;background:#fff}.proc-v219-quote-title{grid-column:1/-1;font-weight:800;color:#245b8f}.proc-v219-line-total{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;align-items:center;margin-top:10px;padding:10px;background:#f7f9fb;border:1px solid #e4e9ef;border-radius:8px;font-size:12px}.proc-v219-line-actions{display:flex;justify-content:flex-end;margin-top:10px}.proc-v219-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid #e5e9ee}.proc-v219-detail{direction:rtl}.proc-v219-detail table{min-width:1250px}.proc-v219-detail .proc-note{margin-top:10px}@media(max-width:1000px){.proc-v219-item-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-v219-quote{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-v219-footer{align-items:stretch;flex-direction:column}}@media(max-width:600px){.proc-v219-item-summary,.proc-v219-quote{grid-template-columns:1fr}.proc-v219-item-head{flex-direction:column}.proc-v219-line-total{grid-template-columns:1fr auto}}

/* V222 Procurement Officer compact practical layout */
.proc-v220-item-summary{grid-template-columns:1fr 1fr 1fr!important}.proc-v220-quote summary{background:#f5f8fb}.proc-v220-quote summary small{font-weight:500;color:#7a8794}.proc-v220-quote-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.proc-v220-quote-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#465361}.proc-v220-quote-grid input,.proc-v220-quote-grid select{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd6df;border-radius:8px;background:#fff;font-size:12px}.proc-v220-quote-grid label:nth-last-child(-n+2){min-height:68px}.proc-v220-file{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:6px!important}.proc-v220-file input{max-width:100%!important}.proc-optional{font-size:10px;color:#7b8794;font-weight:500}.proc-v219-item-card{padding:16px}.proc-v219-line-actions{justify-content:flex-start}.proc-v219-line-actions .proc-btn{min-width:120px}@media(max-width:1000px){.proc-v220-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.proc-v220-item-summary,.proc-v220-quote-grid{grid-template-columns:1fr!important}}

/* V223 — simplified Procurement Officer screen */
.proc-v223-order{max-width:1400px;margin:auto}
.proc-v223-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.proc-v223-summary>div{background:#f7f9fc;border:1px solid #dbe3ee;border-radius:10px;padding:10px;text-align:center}
.proc-v223-summary label{display:block;font-size:11px;color:#6b7280;margin-bottom:4px}.proc-v223-summary b{font-size:15px}
.proc-v223-aggregate{border:1px solid #dbe3ee;border-radius:12px;background:#fff;margin:12px 0;padding:10px}
.proc-v223-aggregate-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.proc-v223-aggregate-head span{font-size:11px;color:#6b7280}
.proc-v223-item-card{border:1px solid #dbe3ee;border-radius:14px;background:#fff;margin:12px 0;padding:14px;box-shadow:0 1px 4px rgba(20,40,70,.05)}
.proc-v223-item-card.saved{border-color:#a9d8b6}
.proc-v223-item-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.proc-v223-item-head h4{margin:4px 0;font-size:17px}.proc-v223-item-head .proc-v180-pr{font-size:11px;color:#64748b}
.proc-v223-stock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px;margin:10px 0}.proc-v223-stock>div:first-child{min-width:150px}.proc-v223-stock label{display:block;font-size:10px;color:#64748b}.proc-v223-stock-msg{font-size:12px;color:#64748b;flex:1}.proc-v223-stock-msg.has-stock{color:#a15c00;font-weight:700}
.proc-v223-quote-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0 7px;padding-bottom:6px;border-bottom:1px solid #edf1f6}.proc-v223-quote-head .proc-optional{font-size:11px}
.proc-v223-quote-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}.proc-v223-quote-grid label{font-size:11px}.proc-v223-quote-grid input,.proc-v223-quote-grid select{width:100%;box-sizing:border-box}
.proc-v223-line-total{display:flex;justify-content:flex-end;gap:18px;align-items:center;background:#f8fafc;border-radius:9px;padding:9px;margin-top:9px;font-size:12px}.proc-v223-line-total b{font-size:15px}
.proc-v223-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.proc-v223-second{margin-top:10px;border-top:1px dashed #cbd5e1;padding-top:10px}.proc-v223-second-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.proc-v223-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:10px;border:1px solid #dbe3ee;border-radius:12px;box-shadow:0 -3px 12px rgba(20,40,70,.08);z-index:5}
@media(max-width:900px){.proc-v223-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.proc-v223-summary{grid-template-columns:1fr}.proc-v223-footer{flex-direction:column;align-items:stretch}}
@media(max-width:600px){.proc-v223-quote-grid{grid-template-columns:1fr!important}.proc-v223-actions{flex-direction:column}.proc-v223-actions button{width:100%}}

.proc-v223-item-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.proc-v223-item-tab{border:1px solid #dbe3ee;background:#f8fafc;border-radius:9px;padding:7px 10px;cursor:pointer;font-size:12px}.proc-v223-item-tab.active{background:#eaf2ff;border-color:#7aa7e8;font-weight:700}.proc-v223-item-tab.done{background:#e8f8ee;border-color:#67c58a;color:#167a3d;font-weight:700}.proc-v223-item-card{margin-top:10px}.proc-save-vendor{margin-top:5px!important;width:100%;justify-content:center}.proc-v223-item-card:not(.active){}
.proc-v225-manager-box{margin-top:14px}.proc-v225-manager-item{border:1px solid #d8dee9;border-radius:12px;padding:12px;margin:10px 0;background:#fff}.proc-v225-manager-item.is-approved{border-color:#78b88a;background:#f4fbf6}.proc-v225-manager-item.is-returned{border-color:#e3a34a;background:#fff9ef}.proc-v225-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.proc-v225-all-status{font-weight:700;margin-top:12px;padding:10px;border-radius:10px;background:#f5f7fa}

/* V226 — Procurement Manager clean approval layout */
.proc-v226-manager-page{max-width:1500px;margin:0 auto}.proc-v226-manager-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 2px 16px}.proc-v226-manager-head h2{margin:3px 0 5px;font-size:24px}.proc-v226-manager-list{display:flex;flex-direction:column;gap:14px}.proc-v226-manager-order{border:1px solid #d9e2ef;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(20,40,70,.05);overflow:hidden}.proc-v226-order-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:#f8fafc;border-bottom:1px solid #e5eaf1}.proc-v226-order-head h3{margin:5px 0 4px;font-size:19px}.proc-v226-order-total{text-align:left;min-width:170px}.proc-v226-order-total span,.proc-v226-item-values span,.proc-v226-detail-grid span,.proc-v226-order-stats span{display:block;font-size:10px;color:#64748b}.proc-v226-order-total b{font-size:20px}.proc-v226-order-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 18px;border-bottom:1px solid #edf1f6}.proc-v226-order-stats>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;text-align:center}.proc-v226-order-stats b{display:block;font-size:16px;margin-top:2px}.proc-v226-order-stats .okbox{background:#f3fbf5;border-color:#b9dfc2}.proc-v226-order-stats .warnbox{background:#fffaf0;border-color:#f1d59c}.proc-v226-order-stats .returnbox{background:#fff7f2;border-color:#efc0a7}.proc-v226-items{padding:10px 18px}.proc-v226-item{border:1px solid #e0e6ef;border-radius:12px;margin:8px 0;background:#fff}.proc-v226-item.approved{border-color:#9bd0a8;background:#fbfffc}.proc-v226-item.returned{border-color:#e6b56e;background:#fffdf8}.proc-v226-item-main{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(360px,2fr) auto;gap:14px;align-items:center;padding:12px 14px}.proc-v226-item-title{display:flex;align-items:center;gap:10px}.proc-v226-item-title b{font-size:15px}.proc-v226-num{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef4fb;color:#334155;font-weight:700}.proc-v226-item-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.proc-v226-item-values b{display:block;margin-top:2px;font-size:13px}.proc-v226-status{text-align:left}.proc-v226-details{border-top:1px solid #edf1f6;padding:0 14px}.proc-v226-details summary{cursor:pointer;padding:9px 0;font-size:12px;color:#315a88}.proc-v226-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0 10px}.proc-v226-detail-grid>div{background:#f8fafc;border-radius:8px;padding:7px 9px}.proc-v226-detail-grid b{display:block;font-size:12px;margin-top:2px}.proc-v226-files{font-size:11px;padding:8px 0 12px;border-top:1px dashed #dbe3ee;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.proc-v226-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid #edf1f6}.proc-v226-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:#fafbfd;border-top:1px solid #e5eaf1}.proc-v226-footer .proc-note{margin:0}.greenb{background:#f0faf3!important;border-color:#b8dfc1!important;color:#23613a}.amberb{background:#fff8eb!important;border-color:#e6c17b!important}
@media(max-width:1000px){.proc-v226-item-main{grid-template-columns:1fr}.proc-v226-item-values{grid-template-columns:repeat(3,1fr)}.proc-v226-status{text-align:right}.proc-v226-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.proc-v226-order-head,.proc-v226-footer{flex-direction:column;align-items:stretch}.proc-v226-order-total{text-align:right}.proc-v226-order-stats{grid-template-columns:repeat(2,1fr)}.proc-v226-item-values{grid-template-columns:1fr 1fr}.proc-v226-detail-grid{grid-template-columns:1fr}}
.proc-v226-order-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 14px;position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e5eaf1}.proc-v226-order-tab{border:1px solid #d6deea;background:#f8fafc;border-radius:10px;padding:8px 14px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:700}.proc-v226-order-tab small{font-weight:600;color:#64748b}.proc-v226-order-tab.active{border-color:#315a88;background:#eef5ff}.proc-v226-order-tab.done{border-color:#9bd0a8;background:#f2fbf4}.proc-v226-order-tab.done small{color:#277043}.proc-v226-order-tab.returned{border-color:#e6b56e;background:#fff8eb}.proc-v226-distribution-btn{margin-top:6px}.proc-v226-item-title{align-items:flex-start}

.proc-v229-cc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}.proc-v229-cc-grid>div{background:#f8fafc;border:1px solid #dbe4ee;border-radius:10px;padding:9px}.proc-v229-cc-grid span{display:block;font-size:11px;color:#64748b;margin-bottom:4px}.proc-v229-cc-grid b{font-size:14px}.proc-v229-cc-alerts{display:grid;gap:6px;margin:8px 0}.proc-v229-cc-alerts .proc-alert{margin:0}.proc-v226-item .proc-small b{font-weight:700}@media(max-width:800px){.proc-v229-cc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.proc-v230-threshold{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0;padding:10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.proc-v230-threshold label{display:block;font-weight:700;font-size:13px}.proc-v230-threshold input{width:120px;padding:8px;border:1px solid #cbd5e1;border-radius:8px}.proc-v230-threshold .proc-small{align-self:center}
.proc-v237-project-page{max-width:1500px;margin:0 auto}.proc-v237-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.proc-v237-summary>div{padding:12px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc}.proc-v237-summary label,.proc-v237-item-grid label{display:block;font-size:12px;color:#64748b;margin-bottom:5px}.proc-v237-previous{padding:10px 12px;background:#eef6ff;border-radius:9px;margin-bottom:14px}.proc-v237-item{border:1px solid #dbe3ea;border-radius:12px;padding:14px;margin:10px 0;background:#fff}.proc-v237-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.proc-v237-item-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:12px 0}.proc-v237-item-grid>div{padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.proc-v237-actions{display:flex;gap:8px;flex-wrap:wrap}.proc-v237-final{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-top:1px solid #dbe3ea;margin-top:14px}.proc-v237-project-order{padding-bottom:10px}.proc-v237-project-page .proc-v226-order-tabs{overflow-x:auto}.proc-v237-project-page .proc-v226-order-tabs{display:flex;gap:8px}.proc-v237-project-page .proc-v226-order-tab{min-width:120px}@media(max-width:1000px){.proc-v237-summary{grid-template-columns:repeat(2,1fr)}.proc-v237-item-grid{grid-template-columns:repeat(2,1fr)}}

/* V238 — Head Office / Company Approval */
.proc-v238-company-page{direction:rtl}.proc-v238-company-page .proc-v226-manager-head{margin-bottom:10px}.proc-v238-company-page .proc-v226-manager-head h2{font-size:20px;margin:2px 0}.proc-v238-company-page .proc-small{font-size:12px}.proc-v238-company-item{border:1px solid #dfe5ec;border-radius:10px;padding:10px;margin:0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}.proc-v238-company-item.is-delayed{background:#fffaf0}.proc-v238-company-item.is-cancelled{background:#fff6f6;opacity:.9}.proc-v238-company-item-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.proc-v238-company-item-head b{font-size:14px}.proc-v238-company-grid{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:6px;margin-top:8px}.proc-v238-company-grid>div{background:#f7f9fb;border-radius:7px;padding:7px}.proc-v238-company-grid label,.proc-v238-summary label{display:block;font-size:10px;color:#697586;margin-bottom:3px}.proc-v238-company-grid b{font-size:12px}.proc-v238-company-grid input{width:100%;box-sizing:border-box;padding:6px;border:1px solid #cfd7e3;border-radius:6px;background:#fff;font-weight:700;font-size:13px}.proc-v238-company-context{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;font-size:10px;color:#667085}.proc-v238-company-context span{background:#f3f5f7;padding:5px 7px;border-radius:6px}.proc-v238-company-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.proc-v238-company-actions .proc-btn{padding:6px 11px;font-size:12px}.proc-v238-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:9px 0}.proc-v238-summary>div{padding:7px;background:#f7f9fb;border-radius:7px}.proc-v238-summary b{font-size:14px}.proc-v238-final{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px;border-top:1px solid #e5e7eb;font-size:12px}.proc-v238-final button:disabled{opacity:.5;cursor:not-allowed}.proc-v238-company-item .proc-alert{margin-top:7px;font-size:11px;padding:7px}.proc-v238-company-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:calc(100vh - 310px);overflow-y:auto;padding:2px 4px 6px 2px}.proc-v238-company-page .proc-v226-order-tabs{margin-bottom:8px}.proc-v238-company-page .proc-v226-order-tab{padding:7px 12px}.proc-v238-company-page .proc-v226-order-tab small{font-size:10px}
@media(max-width:1100px){.proc-v238-company-items{grid-template-columns:1fr}.proc-v238-company-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:700px){.proc-v238-company-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.proc-v238-summary{grid-template-columns:repeat(2,1fr)}.proc-v238-final{flex-direction:column;align-items:stretch}.proc-v238-company-items{max-height:none}}
/* V239 - Company funding -> Accounts cheque -> Execution */
.proc-v239-finance{direction:rtl;max-width:1500px;margin:0 auto}.proc-v239-finance .proc-v226-manager-head h2{font-size:20px;margin:2px 0}.proc-v239-finance-list{min-height:120px}.proc-v239-finance-order{padding:14px;background:#fff;border:1px solid #dfe5ec;border-radius:12px}.proc-v239-cheque{margin-top:14px;padding:14px;border:1px dashed #cfd8e3;border-radius:10px;background:#f8fafc}.proc-v239-cheque h3{margin:0 0 10px;font-size:16px}.proc-v239-cheque label{display:block;margin:10px 0;font-weight:700}.proc-v239-cheque input[type=file]{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid #d4dce7;border-radius:7px;background:#fff}.proc-v239-finance .proc-v238-summary{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.proc-v239-finance .proc-v238-summary{grid-template-columns:repeat(2,1fr)}}
.proc-v240-exec{direction:rtl;max-width:1500px;margin:0 auto}.proc-v240-order{padding:14px;background:#fff;border:1px solid #dfe5ec;border-radius:12px}.proc-v240-exec-box{margin-top:14px;padding:14px 16px;border:1px dashed #bfcddd;border-radius:10px;background:#f7fafc;display:flex;justify-content:space-between;align-items:center;gap:16px}.proc-v240-exec-box p{margin:5px 0 0;color:#687586;font-size:12px}.proc-v240-exec-box .proc-btn{white-space:nowrap}@media(max-width:800px){.proc-v240-exec-box{flex-direction:column;align-items:stretch}.proc-v240-exec-box .proc-btn{width:100%}}
.proc-v240-exec .proc-table-wrap{overflow-x:auto}.proc-v240-exec table{min-width:1050px}.proc-v240-exec-action{display:flex;gap:6px;align-items:center;justify-content:center}.proc-v240-exec-action input{min-width:145px;padding:7px 8px;border:1px solid #cbd5e1;border-radius:7px}.proc-exec-done{background:#f5fbf6}.proc-exec-done td{opacity:.82}
@media(max-width:800px){.proc-v240-exec-action{flex-direction:column;align-items:stretch}.proc-v240-exec-action input{width:100%}}

/* V254 — Organized Warehouse UI */
.wh-page{max-width:1600px!important;margin:12px auto!important;padding:0 12px!important;color:#182230}
.wh-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;background:linear-gradient(120deg,#f7fbff,#edf5ff);border:1px solid #dce8f6;border-radius:18px;margin-bottom:14px}
.wh-eyebrow{font-size:10px;letter-spacing:1.5px;color:#53708f;font-weight:800;margin-bottom:5px}
.wh-hero h1{margin:0 0 7px;font-size:27px;color:#142c48}.wh-hero p{margin:0;color:#52657b;font-size:13px;line-height:1.7}
.wh-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wh-flow span{padding:9px 11px;border-radius:9px;background:#fff;border:1px solid #d9e4f1;font-weight:700;font-size:12px;white-space:nowrap}.wh-flow i{color:#6b8bab;font-style:normal}
.wh-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:14px 0}.wh-kpis>div{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:15px;min-width:0;box-shadow:0 2px 7px #152c4607}.wh-kpis span,.wh-kpis small{display:block;color:#65758b;font-size:11px}.wh-kpis b{display:block;font-size:22px;margin:7px 0;color:#152b45;overflow-wrap:anywhere}.wh-kpis small{font-size:10px}
.wh-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;padding:8px;border-radius:14px;margin:16px 0 12px}.wh-tab{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:#f7f9fc;color:#475569;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer;transition:.15s}.wh-tab:hover{background:#eef5fc}.wh-tab.active{background:#1769aa;color:#fff;box-shadow:0 3px 9px #1769aa25}.wh-tab span{font-size:17px}
.wh-card{background:#fff;border:1px solid #e1e8f0;border-radius:15px;padding:17px;margin:0 0 14px;box-shadow:0 2px 7px #152c4606}.wh-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.wh-section-head h2{font-size:18px;margin:0 0 5px;color:#1c334d}.wh-section-head p{margin:0;color:#66758a;font-size:12px;line-height:1.7}.wh-count{background:#edf5ff;color:#1769aa;border-radius:99px;padding:6px 10px;font-weight:800;font-size:11px;white-space:nowrap}
.wh-table-wrap{width:100%;overflow:auto;border:1px solid #e6ebf1;border-radius:11px}.wh-table-wrap table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.wh-table-wrap th{position:sticky;top:0;background:#f4f7fb;color:#53657a;font-size:11px;white-space:nowrap}.wh-table-wrap th,.wh-table-wrap td{padding:10px 11px;border-bottom:1px solid #edf0f4;text-align:right;vertical-align:middle;font-size:12px}.wh-table-wrap tbody tr:hover{background:#fafcff}.wh-table-wrap tbody tr:last-child td{border-bottom:0}.wh-table-wrap td small{display:block;color:#77869a;font-size:10px;margin-top:4px;line-height:1.5}.wh-input{width:95px;min-width:75px;padding:8px;border:1px solid #d5dde7;border-radius:7px;background:#fff;color:#172b43;box-sizing:border-box}.wh-input:focus,.wh-form input:focus,.wh-form select:focus{outline:2px solid #b8d9fb;border-color:#6da9e3}.wh-btn{border:1px solid #d7e0ea;border-radius:8px;background:#f5f8fc;color:#2e455e;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;margin:2px;white-space:nowrap}.wh-btn:hover{filter:brightness(.97)}.wh-btn.primary{background:#1769aa;border-color:#1769aa;color:#fff}.wh-btn.danger{background:#fff0ef;border-color:#f2c3bf;color:#a32d26}.wh-btn.mini{padding:5px 7px;font-size:10px}.wh-zero{color:#a32d26}.wh-empty{text-align:center!important;color:#8290a2;padding:28px!important}
.wh-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.wh-form label{display:block;color:#52657b;font-size:11px;font-weight:700;min-width:0}.wh-form input:not([type=checkbox]),.wh-form select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #d5dde7;border-radius:8px;background:#fff;color:#172b43;font:inherit;font-weight:500}.wh-form .wide{grid-column:1/-1}.wh-form .wh-check{display:flex;align-items:center;gap:8px;background:#fff8e8;border:1px solid #f1dfb7;border-radius:8px;padding:10px}.wh-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.wh-note{background:#f0f7ff;border-right:3px solid #4e93d0;padding:11px 13px;border-radius:8px;color:#405b78;font-size:11px;line-height:1.8;margin-top:12px}.wh-footer-note{padding:12px 14px;margin:12px 0 20px;border:1px dashed #c9d6e5;background:#f8fbff;border-radius:10px;color:#586d84;font-size:11px;line-height:1.8}.wh-top-gap{margin-top:14px}.wh-approval-stack{display:grid;gap:6px;min-width:190px}.wh-approval-stack>div{display:grid;grid-template-columns:1fr auto;gap:4px 7px;align-items:center;padding:7px;border:1px solid #e9edf3;border-radius:8px;background:#fbfcfe}.wh-approval-stack span{font-size:10px;color:#5c6e82}.wh-approval-stack b{font-size:10px}.wh-approved{color:#16834d}.wh-pending{color:#a16c08}
@media(max-width:1150px){.wh-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.wh-hero{align-items:flex-start;flex-direction:column}.wh-flow{justify-content:flex-start}}
@media(max-width:700px){.wh-page{padding:0 4px!important}.wh-hero{padding:16px}.wh-hero h1{font-size:22px}.wh-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wh-kpis>div{padding:11px}.wh-kpis b{font-size:18px}.wh-tabs{display:grid;grid-template-columns:1fr 1fr}.wh-tab{justify-content:flex-start;padding:10px;font-size:11px}.wh-form{grid-template-columns:1fr 1fr}.wh-form .wide{grid-column:1/-1}.wh-card{padding:12px}.wh-section-head h2{font-size:16px}}
@media(max-width:420px){.wh-form{grid-template-columns:1fr}.wh-form .wide{grid-column:auto}.wh-flow span{font-size:10px;padding:7px}.wh-flow i{display:none}}

/* V255 Warehouse horizontal tabs: keep navigation in one row and show selected panel below */
.stores-module .wh-tabs{display:flex!important;flex-direction:row!important;align-items:stretch;justify-content:flex-start;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;scrollbar-width:thin}
.stores-module .wh-tabs .wh-tab{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:max-content;justify-content:center;align-items:center;white-space:nowrap;border:1px solid #e2e8f0;background:#f7f9fc;border-radius:10px;padding:12px 18px;margin:0;text-align:center;line-height:1.4}
.stores-module .wh-tabs .wh-tab.active{background:#1769aa;color:#fff;border-color:#1769aa}
.stores-module .wh-tab-content{display:block!important;width:100%;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;box-sizing:border-box}
.stores-module .wh-tab-content>.wh-card:first-child{margin-top:0}
@media(max-width:700px){.stores-module .wh-tabs{display:flex!important;flex-wrap:nowrap!important}.stores-module .wh-tabs .wh-tab{flex:0 0 auto!important;width:auto!important;padding:10px 13px;font-size:12px}.stores-module .wh-tab-content{padding:9px}}

/* V260: receiving page visual polish and notes */
.wh-arrival-alerts{border-top:3px solid #2786d8;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%)}
.wh-arrival-alerts .wh-section-head h2{font-size:20px;color:#173d63}
.wh-arrival-alerts .wh-metrics>div{border:1px solid #e1eaf4;border-radius:12px;background:#fff;padding:13px 15px;box-shadow:0 3px 10px rgba(25,72,115,.045)}
.wh-arrival-alerts .wh-metrics>div b{font-size:22px;color:#163b60}
.wh-arrival-alerts .wh-table-wrap{border-color:#dce7f2}
.wh-arrival-alerts .wh-table-wrap th{background:#eaf3fd;color:#274c72;padding:12px 10px}
.wh-arrival-alerts .wh-table-wrap td{padding:11px 10px;vertical-align:middle}
.wh-arrival-alerts tbody tr:hover{background:#f8fbff}
.wh-note-chip{display:inline-block;max-width:220px;white-space:normal;overflow-wrap:anywhere;background:#fff8e8;border:1px solid #f4dfae;color:#76551b;border-radius:8px;padding:6px 8px;font-size:11px;line-height:1.6}
.wh-muted-note{color:#96a1af;font-size:11px}
.wh-notes-input{min-width:170px!important;width:180px!important}
@media(max-width:800px){.wh-arrival-alerts .wh-section-head{flex-direction:column}.wh-note-chip{max-width:150px}}

/* V263: receiving metrics in a horizontal row */
.wh-arrival-alerts .wh-metrics-horizontal{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch}
.wh-arrival-alerts .wh-metrics-horizontal>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.wh-arrival-alerts .wh-metrics-horizontal>div span{line-height:1.5}
@media(max-width:900px){.wh-arrival-alerts .wh-metrics-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.wh-arrival-alerts .wh-metrics-horizontal{grid-template-columns:1fr!important}}

/* V264: keep arrival status metrics horizontal on desktop */
.wh-arrival-alerts .wh-metrics-horizontal{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
.wh-arrival-alerts .wh-metrics-horizontal>div{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;min-width:0!important}
@media(max-width:900px){.wh-arrival-alerts .wh-metrics-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.wh-arrival-alerts .wh-metrics-horizontal{grid-template-columns:1fr!important}}

/* V269 - Focused receipt modal */
.wh-receipt-modal{position:fixed;inset:0;z-index:100000;background:rgba(15,32,55,.58);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;direction:rtl}
.wh-receipt-dialog{width:min(920px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #dbe5f2;border-radius:20px;box-shadow:0 24px 80px rgba(10,30,60,.25);padding:24px;color:#193653}
.wh-receipt-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid #e5edf6;margin-bottom:18px}.wh-receipt-dialog-head h2{margin:4px 0 6px;font-size:24px;color:#173b63}.wh-receipt-dialog-head p{margin:0;color:#6b7e95;font-size:13px}.wh-modal-kicker{font-size:12px;color:#1674c7;font-weight:800}
.wh-receipt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.wh-receipt-summary>div{background:#f4f8fd;border:1px solid #e1eaf5;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:8px;min-width:0}.wh-receipt-summary span{font-size:12px;color:#6a7f98}.wh-receipt-summary b{font-size:16px;overflow-wrap:anywhere}.wh-receipt-summary .good{color:#13834b}.wh-receipt-summary .warn{color:#b96b00}
.wh-receipt-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wh-receipt-field{display:flex;flex-direction:column;gap:7px;min-width:0}.wh-receipt-field.wide{grid-column:1/-1}.wh-receipt-field label{font-size:13px;font-weight:750;color:#294766}.wh-receipt-field label em{color:#d33b4c;font-style:normal}.wh-receipt-field small{font-size:11px;color:#71849b}.wh-receipt-field .wh-input{width:100%;box-sizing:border-box;min-height:43px;border:1px solid #cfdced;border-radius:10px;padding:10px 12px;background:#fff;color:#203d5d;font:inherit}.wh-receipt-field textarea.wh-input{resize:vertical;min-height:84px}.wh-receipt-validation{margin-top:16px;border-radius:10px;padding:12px 14px;font-size:13px;border:1px solid}.wh-receipt-validation.bad{background:#fff1f1;color:#b42332;border-color:#f3d0d3}.wh-receipt-validation.good{background:#edf7f0;color:#177448;border-color:#d1ead8}.wh-receipt-dialog-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e5edf6}.wh-modal-open{overflow:hidden}
@media(max-width:700px){.wh-receipt-modal{padding:8px;align-items:flex-start}.wh-receipt-dialog{max-height:calc(100vh - 16px);padding:16px;border-radius:14px}.wh-receipt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.wh-receipt-form{grid-template-columns:1fr}.wh-receipt-field.wide{grid-column:auto}.wh-receipt-dialog-head h2{font-size:20px}}

/* V270 - inline receipt form and persistent receipt batch history */
.wh-receipt-inline{scroll-margin-top:18px;border:2px solid #cfe2f8;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);padding:22px!important;margin-top:18px}.wh-receipt-inline .wh-receipt-dialog-head{margin-bottom:18px}.wh-receipt-inline .wh-receipt-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.wh-receipt-history .wh-table-wrap{max-height:420px;overflow:auto}.wh-receipt-history td{vertical-align:top}.store-text-good{color:#17834b}.store-text-bad{color:#c83242}@media(max-width:700px){.wh-receipt-inline .wh-receipt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V272 quantity change and excess receipt review */
.wh-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.wh-receipt-validation.warn{background:#fff7e6;color:#9a5b00;border:1px solid #f2d28b;padding:10px;border-radius:8px}.wh-row-actions .wh-btn{white-space:nowrap}

/* V278: item movement profile */
.wh-link-button{border:0;background:transparent;color:inherit;cursor:pointer;text-align:inherit;padding:4px 2px;border-radius:6px;font:inherit;max-width:100%}.wh-link-button:hover{color:#1769aa;background:#eff6ff;text-decoration:underline}.wh-item-movement-detail{margin-top:16px;scroll-margin-top:18px}.wh-item-movement-detail .wh-section-head{align-items:center}


/* V374: compact funding-review layout for normal browser zoom (around 80%), scoped to this screen only */
.funding-aggregate-v334 { width:100%; max-width:none; }
.funding-aggregate-v334 > .section.card:first-child {
  box-sizing:border-box; width:100%; max-width:none; padding:14px !important;
  border-width:1px !important; border-radius:12px !important;
}
.funding-aggregate-v334 > .section.card:first-child h2 { font-size:clamp(18px,1.35vw,24px); line-height:1.35; }
.funding-aggregate-v334 > .section.card:first-child .sub { font-size:12px; line-height:1.5; }
.funding-aggregate-v334 > .section.card:first-child > div[style*="display:flex"] { gap:10px !important; }
.funding-aggregate-v334 .module-actions { gap:6px !important; margin:8px 0 !important; }
.funding-aggregate-v334 .module-actions .btn { padding:7px 10px; font-size:12px; white-space:nowrap; }
.funding-aggregate-v334 .grid { gap:8px !important; margin:10px 0 !important; }
.funding-aggregate-v334 .grid > .card { padding:10px 12px !important; min-width:0; }
.funding-aggregate-v334 .grid .label { font-size:11px; }
.funding-aggregate-v334 .grid .value { font-size:clamp(18px,1.35vw,25px); }
.funding-aggregate-v334 h3 { font-size:15px; margin:10px 0 7px; }
.funding-aggregate-v334 .table { max-width:100%; }
.funding-aggregate-v334 table { width:100%; table-layout:auto; border-collapse:collapse; }
.funding-aggregate-v334 th, .funding-aggregate-v334 td { padding:6px 7px !important; font-size:11px !important; line-height:1.35; vertical-align:middle; }
.funding-aggregate-v334 th { white-space:normal; }
.funding-aggregate-v334 td .badge { font-size:10px; padding:3px 6px; white-space:nowrap; }
.funding-aggregate-v334 td input { max-width:100%; box-sizing:border-box; }
.funding-aggregate-v334 td .btn { padding:5px 7px; font-size:10px; line-height:1.3; }
.funding-aggregate-v334 td div[style*="min-width:230px"] { min-width:0 !important; gap:3px !important; }
.funding-aggregate-v334 .alert { padding:9px 11px; font-size:11px; line-height:1.5; }
@media (min-width:1200px) {
 .funding-aggregate-v334 > .section.card:first-child { padding:12px !important; }
 .funding-aggregate-v334 th, .funding-aggregate-v334 td { padding:5px 6px !important; }
}
@media (max-width:900px) {
 .funding-aggregate-v334 .table { overflow-x:auto !important; }
 .funding-aggregate-v334 table { min-width:1050px; }
}

/* V375: narrow budget-classification column and wrap long text to keep funding review compact */
.funding-aggregate-v334 .table { width:100%; max-width:100%; overflow-x:auto; }
.funding-aggregate-v334 table { width:100%; table-layout:fixed !important; }
.funding-aggregate-v334 th, .funding-aggregate-v334 td { white-space:normal !important; overflow-wrap:anywhere; word-break:normal; }
.funding-aggregate-v334 th:nth-child(5), .funding-aggregate-v334 td:nth-child(5) { width:15% !important; max-width:15%; }
.funding-aggregate-v334 td:nth-child(5) > div { white-space:normal !important; overflow-wrap:anywhere; word-break:break-word; line-height:1.35; }
.funding-aggregate-v334 th:nth-child(2), .funding-aggregate-v334 td:nth-child(2) { width:9%; }
.funding-aggregate-v334 th:nth-child(3), .funding-aggregate-v334 td:nth-child(3) { width:6%; }
.funding-aggregate-v334 th:nth-child(4), .funding-aggregate-v334 td:nth-child(4) { width:9%; }
.funding-aggregate-v334 th:nth-child(6), .funding-aggregate-v334 td:nth-child(6) { width:8%; }
.funding-aggregate-v334 th:nth-child(7), .funding-aggregate-v334 td:nth-child(7) { width:9%; }
.funding-aggregate-v334 th:nth-child(8), .funding-aggregate-v334 td:nth-child(8) { width:17%; }
.funding-aggregate-v334 th:nth-child(9), .funding-aggregate-v334 td:nth-child(9) { width:12%; }
.funding-aggregate-v334 th:nth-child(10), .funding-aggregate-v334 td:nth-child(10) { width:7%; }
.funding-aggregate-v334 td:nth-child(8) > div { min-width:0 !important; }
.funding-aggregate-v334 td:nth-child(8) .btn { white-space:normal; }
@media (min-width:1200px) { .funding-aggregate-v334 .table { overflow-x:hidden; } }

/* V426 project launch and quick-switch improvements */
.project-switcher-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;white-space:nowrap}.project-switcher{max-width:290px;min-width:190px;padding:9px 10px;border:1px solid #cfd8e3;border-radius:8px;background:#fff;color:#17212b;font:inherit}.project-quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.project-quick-links .btn{margin:0}@media(max-width:850px){.project-switcher-label{align-items:stretch;flex-direction:column;white-space:normal}.project-switcher{max-width:100%;min-width:0;width:100%}.header-left-actions{flex-wrap:wrap}}

/* Construction Control V428 — Project Work Hub */
.workhub-v428{direction:rtl}.workhub-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.workhub-head h2{margin:5px 0}.workhub-actions{display:flex;gap:8px;flex-wrap:wrap}.workhub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.workhub-stat{border:1px solid #e1e7ef;border-radius:12px;padding:14px;background:#f8fafc;display:flex;flex-direction:column;gap:7px}.workhub-stat span{font-size:13px;color:#667085}.workhub-stat b{font-size:25px;color:#101828}.workhub-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.workhub-columns h3{font-size:16px;margin:8px 0 12px}.workhub-list{display:flex;flex-direction:column;gap:9px}.workhub-item{border:1px solid #e4e7ec;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workhub-item>div{flex:1;min-width:150px}.workhub-item p{margin:5px 0;font-size:13px;color:#475467;white-space:pre-wrap}.workhub-item small{color:#667085;font-size:11px}.workhub-empty{padding:18px;border:1px dashed #d0d5dd;border-radius:10px;color:#667085;text-align:center}.workhub-note{margin-top:14px;font-size:12px}.workhub-v428~.project-quick-links{gap:8px}.workhub-v428 label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#344054;margin-bottom:12px}.workhub-v428 input,.workhub-v428 select,.workhub-v428 textarea,#workHubFormV428 input,#workHubFormV428 select,#workHubFormV428 textarea{width:100%;padding:10px;border:1px solid #d0d5dd;border-radius:8px;font:inherit;box-sizing:border-box}#workHubFormV428{padding:14px 0 0}#workHubFormV428 .form-grid{display:block}@media(max-width:850px){.workhub-columns{grid-template-columns:1fr}.workhub-stats{grid-template-columns:1fr 1fr}.workhub-head{display:block}.workhub-actions{margin-top:12px}}@media(max-width:520px){.workhub-stats{grid-template-columns:1fr}.workhub-actions .btn{flex:1}}

/* V431: place the sidebar toggle inside the project dashboard, upper-left */
.project-sidebar{transition:width .2s ease;z-index:20}
.project-main{position:relative}
.project-title-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project-title-group h2{margin:0}.project-title-group p{flex-basis:100%;margin:4px 0 0}.project-sidebar-toggle{position:static;transform:none;z-index:10;flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #367da5;border-radius:12px;background:#1f5f83;color:#fff;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 3px 10px #0b223322;transition:background .15s,transform .15s}
.project-sidebar-toggle span{display:block;line-height:1;font-weight:700;transform:scaleX(1.05)}
.project-sidebar-toggle:hover{background:#2878a3;transform:translateY(1px)}
body.project-sidebar-collapsed aside.project-sidebar{width:20px;padding:0;overflow:visible}
body.project-sidebar-collapsed aside.project-sidebar .project-brand,body.project-sidebar-collapsed aside.project-sidebar .project-context,body.project-sidebar-collapsed aside.project-sidebar nav{display:none}
body.project-sidebar-collapsed main.project-main{width:calc(100% - 20px);margin-right:20px}
@media(max-width:800px){.project-sidebar-toggle{width:42px;height:42px}body.project-sidebar-collapsed aside.project-sidebar{width:18px}body.project-sidebar-collapsed main.project-main{width:calc(100% - 18px);margin-right:18px}}

/* V434: company identity administration and read-only visibility */
:root{--cc-brand-primary:#0b68f3;--cc-brand-secondary:#10b981;}
.cc-company-branded .btn.primary,.cc-company-branded .cc-brand-save{background:var(--cc-brand-primary)!important;border-color:var(--cc-brand-primary)!important;}
.cc-company-branded .project-sidebar-toggle{background:var(--cc-brand-primary)!important;}
.cc-brand-readonly{padding:10px 14px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc;color:#64748b;font-size:13px;align-self:center;}
.cc-brandbar{align-items:center;}
.cc-brand-logo{object-fit:contain;}

/* V437: place the dashboard menu toggle at the right edge beside the page title (RTL). */
.project-title-group{direction:rtl;}
.project-title-group .project-sidebar-toggle{order:0;}
.project-title-group h2{order:1;}
.project-title-group p{order:2;}

/* V445: BOQ division table compact layout for desktop at browser zoom 90% */
.boq-module .boq-layout{grid-template-columns: minmax(220px, 250px) minmax(0,1fr);gap:12px}
.boq-module .boq-content{min-width:0;overflow-x:hidden}
.boq-module .boq-section{min-width:0}
.boq-module .boq-table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:auto}
.boq-module table.boq-table{width:100%;min-width:1050px;table-layout:fixed}
.boq-module .boq-table th,.boq-module .boq-table td{padding:8px 6px;font-size:11px;line-height:1.35}
.boq-module .boq-table th:nth-child(1),.boq-module .boq-table td:nth-child(1){width:76px}
.boq-module .boq-table th:nth-child(2),.boq-module .boq-table td:nth-child(2){width:70px}
.boq-module .boq-table th:nth-child(3),.boq-module .boq-table td:nth-child(3){width:70px}
.boq-module .boq-table th:nth-child(4),.boq-module .boq-table td:nth-child(4){width:65px}
.boq-module .boq-table th:nth-child(5),.boq-module .boq-table td:nth-child(5){width:205px;max-width:205px}
.boq-module .boq-table th:nth-child(6),.boq-module .boq-table td:nth-child(6){width:125px;max-width:125px}
.boq-module .boq-table th:nth-child(7),.boq-module .boq-table td:nth-child(7){width:115px;max-width:115px}
.boq-module .boq-table th:nth-child(8),.boq-module .boq-table td:nth-child(8){width:120px;max-width:120px}
.boq-module .boq-table th:nth-child(9),.boq-module .boq-table td:nth-child(9){width:90px;max-width:90px}
.boq-module .boq-table th:nth-child(10),.boq-module .boq-table td:nth-child(10){width:90px}
.boq-module .boq-section-head{padding:11px 13px}
.boq-module .division-total{padding:9px 13px}
@media(min-width:1200px){.boq-module .boq-table{min-width:1050px}}
@media(max-width:1199px){.boq-module .boq-layout{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.boq-module .boq-table{min-width:1050px}}


/* Construction Control V475 — Global 90% desktop-density and no-overlap layout */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; overflow-x: hidden; }
main, main.project-main { min-width: 0; max-width: 100%; padding: 15px 18px; }
main > *, .project-main > *, .module-page, .module-page > *, .section, .card { min-width: 0; }
header { gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
header h2 { line-height: 1.3; }
.section { margin-top: 14px; }
.section h3 { font-size: 15px; line-height: 1.4; }
.card { padding: 13px; }
.grid { gap: 10px; }
.value { font-size: clamp(17px, 1.4vw, 23px); overflow-wrap: anywhere; }
.sub, .label { line-height: 1.45; }
.btn, button, input, select, textarea { max-width: 100%; }
.btn, button { line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
input, select, textarea { min-width: 0; }
.form-grid { gap: 10px; }
.form-grid label { min-width: 0; overflow-wrap: anywhere; }

/* Make tabular content fit available width first. Long text wraps instead of colliding
   with money/status/actions. Tables wider than the viewport retain their content and wrap. */
table, .table table, .table-responsive table, .table-wrap table,
.module-page table, .section table, .card table, .modal table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse;
}
.table, .table-responsive, .table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.table th, .table td,
table th, table td {
  padding: 6px 7px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: middle;
}
table th { font-weight: 700; }
table td > div, table td > span, table td > p,
table th > div, table th > span {
  max-width: 100%;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
table td .btn, table td button {
  padding: 5px 8px;
  font-size: 11px;
  max-width: 100%;
  margin: 2px 1px;
}
table td input, table td select, table td textarea {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  font-size: 12px;
}
table .badge { display: inline-block; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; }

/* Keep key financial values readable on one line while letting labels wrap. */
td:has(.money), td .money, .currency, .amount, .financial-value { font-variant-numeric: tabular-nums; }
.table tfoot th, table tfoot th, table tfoot td { font-weight: 700; }

/* More compact dashboards and module headers at a typical desktop 90% zoom. */
@media (min-width: 1100px) {
  aside { width: 220px; padding: 18px 12px; }
  aside h1 { font-size: 20px; margin-bottom: 20px; }
  main { width: calc(100% - 220px); margin-right: 220px; padding: 14px 18px; }
  body.project-sidebar-collapsed main.project-main { width: calc(100% - 20px); margin-right: 20px; }
  .grid { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
  .two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .module-hero { gap: 11px; margin-bottom: 13px; }
  .module-icon { font-size: 30px; padding: 10px; }
  .module-hero h2, .module-head h1 { line-height: 1.3; }
  .table { overflow-x: hidden !important; }
  .table table, table { overflow-wrap: anywhere; }
  .table th, .table td, table th, table td { padding: 5px 6px !important; }
  .modal { width: min(900px, 94vw); max-height: 92vh; overflow: auto; padding: 18px; }
}
@media (min-width: 801px) and (max-width: 1099px) {
  main { width: calc(100% - 220px); margin-right: 220px; padding: 12px; }
  aside { width: 220px; padding: 14px 10px; }
  .grid { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }
  .table { overflow-x: auto; }
}
@media (max-width: 800px) {
  main { min-width: 0; padding: 10px !important; }
  .grid, .two, .contract-grid, .contract-kpis, .form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .table { overflow-x: auto !important; }
  table, .table table { min-width: 0 !important; }
  .table th, .table td, table th, table td { padding: 6px 5px !important; font-size: 11px !important; }
  .card { padding: 10px; }
}
/* Forms, controls, and nested flex/grid items must not push the page wider than the viewport. */
main .grid > *, main .two > *, main .form-grid > *,
main .module-head > *, main .module-hero > *, main .contract-grid > *,
main .contract-kpis > *, main .workhub-columns > * {
  min-width: 0;
  max-width: 100%;
}
img, video, iframe, canvas, svg { max-width: 100%; }
pre, code { overflow-wrap: anywhere; white-space: pre-wrap; }


/* V475 desktop-fit column ratios for wide tables that previously forced horizontal scrolling. */
@media (min-width: 1100px) {
  table[style*="min-width:1000px"] colgroup col:nth-child(1) { width:4% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(2) { width:15% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(3) { width:9% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(4) { width:28% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(5) { width:15% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(6) { width:10% !important; }
  table[style*="min-width:1000px"] colgroup col:nth-child(7) { width:19% !important; }

  table[style*="min-width:1050px"] colgroup col:nth-child(1) { width:5% !important; }
  table[style*="min-width:1050px"] colgroup col:nth-child(2) { width:16% !important; }
  table[style*="min-width:1050px"] colgroup col:nth-child(3) { width:9% !important; }
  table[style*="min-width:1050px"] colgroup col:nth-child(4) { width:12% !important; }
  table[style*="min-width:1050px"] colgroup col:nth-child(5) { width:43% !important; }
  table[style*="min-width:1050px"] colgroup col:nth-child(6) { width:15% !important; }

  table[style*="min-width:1460px"] colgroup col:nth-child(1) { width:9% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(2) { width:13% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(3) { width:10% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(4) { width:22% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(5) { width:8% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(6) { width:7% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(7) { width:11% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(8) { width:9% !important; }
  table[style*="min-width:1460px"] colgroup col:nth-child(9) { width:11% !important; }
}


/* V478: grouped subcontractor workspace navigation */
.subcontractor-module-nav{background:#fff;border:1px solid #dce5ec;border-radius:12px;padding:12px 14px;margin:0 0 16px;box-shadow:0 2px 10px #1525360c}
.subcontractor-module-title{font-weight:700;color:#21445a;margin-bottom:9px;font-size:14px}
.subcontractor-module-tabs{display:flex;gap:8px;flex-wrap:wrap}
.subcontractor-module-tab{border:1px solid #d6e1e8;background:#f8fafc;color:#324b5c;padding:9px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:13px}
.subcontractor-module-tab:hover{border-color:#8bb4cc;background:#f0f7fb}
.subcontractor-module-tab.active{background:#1f5f83;border-color:#1f5f83;color:#fff;font-weight:700}
@media(max-width:800px){.subcontractor-module-title{font-size:13px}.subcontractor-module-tab{flex:1 1 150px;text-align:center}}

/* V484: legible cumulative subcontractor IPC table */
.sc-claim-cumulative-scroll{border-radius:10px;border:1px solid #dbe4ee;background:#fff;max-width:100%;}
.sc-claim-cumulative-table{width:max-content;min-width:1500px;border-collapse:separate;border-spacing:0;table-layout:auto;}
.sc-claim-cumulative-table th{position:sticky;top:0;z-index:1;background:#eef4f8;color:#23384d;font-size:12px;line-height:1.5;white-space:normal;min-width:100px;max-width:180px;padding:12px 10px;border-bottom:2px solid #cbd5e1;text-align:center;vertical-align:middle;}
.sc-claim-cumulative-table td{padding:9px 8px;vertical-align:middle;border-bottom:1px solid #e5eaf0;}
.sc-claim-cumulative-table tr:nth-child(even) td{background:#fafcff;}
.sc-claim-cumulative-table input,.sc-claim-cumulative-table select{min-width:95px;max-width:220px;padding:8px 9px;font-size:13px;border:1px solid #cbd5e1;border-radius:8px;}
.sc-claim-cumulative-table .sc-row-breakdown{min-width:180px;max-width:230px;}
.sc-claim-cumulative-table .sc-row-prev,.sc-claim-cumulative-table .sc-row-total,.sc-claim-cumulative-table .sc-row-amount{background:#f1f5f9;font-weight:700;text-align:center;}
.sc-claim-cumulative-table .sc-row-current{background:#fffdf1;border-color:#d8b45b;font-weight:700;text-align:center;}

/* V485: clear, card-based subcontractor claim items; keep the full BOQ description readable */
.sc-claim-items-list{display:flex;flex-direction:column;gap:14px;margin-top:14px;max-width:100%;}
.sc-claim-line-card{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #d5e0e8;border-radius:14px;padding:15px;box-shadow:0 3px 12px rgba(21,45,65,.045);min-width:0;}
.sc-claim-line-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e5edf3;}
.sc-claim-line-heading>div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.sc-claim-line-number{font-weight:800;color:#183c55;font-size:16px;}
.sc-claim-line-hint{font-size:12px;color:#64798a;}
.sc-claim-line-select-grid{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(170px,.9fr) minmax(320px,2.25fr);gap:12px;align-items:start;}
.sc-claim-line-detail-grid{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,3fr);gap:12px;align-items:stretch;}
.sc-claim-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:#334a5c;font-size:12px;font-weight:700;}
.sc-claim-field>span{display:block;line-height:1.4;}
.sc-claim-line-card input,.sc-claim-line-card select{width:100%;min-width:0;max-width:none;box-sizing:border-box;min-height:42px;padding:9px 10px;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:#142f43;font-size:14px;line-height:1.45;font-family:inherit;}
.sc-claim-line-card select{white-space:normal;}
.sc-claim-item-field{min-width:0;}
.sc-row-selected-item-label{display:block;margin-top:7px;padding:10px 11px;border:1px solid #b9d3e3;border-right:4px solid #27779a;border-radius:8px;background:#f1f8fc;color:#123b55;font-size:14px;font-weight:800;line-height:1.65;white-space:normal;overflow-wrap:anywhere;min-height:44px;}
.sc-claim-breakdown-panel{min-width:0;padding:11px 12px;border:1px dashed #c5d6e0;border-radius:10px;background:#f8fbfd;}
.sc-claim-breakdown-title{font-size:13px;font-weight:800;color:#24566f;margin-bottom:9px;}
.sc-claim-breakdown-fields{display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1.5fr);gap:12px;}
.sc-claim-quantity-grid{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:10px;align-items:end;}
.sc-claim-line-card .sc-row-prev,.sc-claim-line-card .sc-row-total,.sc-claim-line-card .sc-row-amount{background:#f0f5f8;color:#183c55;font-weight:800;text-align:center;}
.sc-claim-line-card .sc-row-current{background:#fff9e8;border-color:#d7b44f;font-weight:800;text-align:center;}
.sc-claim-amount-field .sc-row-amount{border-color:#b7d7c6;background:#f0faf4;color:#17623f;}
.sc-claim-line-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;border-top:1px solid #e6edf2;}
.sc-claim-line-note{font-size:12px;line-height:1.6;color:#667b89;}
.sc-claim-line-card .sc-claim-remove{min-width:auto;width:auto;white-space:nowrap;}
@media(max-width:1120px){.sc-claim-line-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.sc-claim-line-detail-grid{grid-template-columns:1fr;}.sc-claim-quantity-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.sc-claim-line-card{padding:11px;}.sc-claim-line-select-grid,.sc-claim-breakdown-fields,.sc-claim-quantity-grid{grid-template-columns:1fr;}.sc-claim-line-heading{align-items:flex-start;}.sc-claim-line-footer{align-items:flex-start;flex-direction:column;}.sc-claim-line-footer .btn{width:100%;}}

/* V486: nested claim breakdowns, editable rates, and per-line disbursement */
.sc-claim-breakdown-row{margin-inline-start:clamp(12px,3vw,34px);border-right:4px solid #2f7f9f;background:#f9fcfe;box-shadow:0 2px 8px rgba(26,73,95,.05);}
.sc-claim-breakdown-row .sc-claim-line-heading{border-bottom-style:dashed;}
.sc-claim-breakdown-row .sc-claim-line-number{color:#236f8c;font-size:14px;}
.sc-claim-field-help{display:block;margin-top:3px;color:#64798a;font-size:11px;font-weight:500;line-height:1.5;}
.sc-claim-line-card .sc-row-rate{background:#fff; border-color:#7eabc1; font-weight:700;}
.sc-claim-line-card .sc-row-disbursement{background:#fff9e8;border-color:#d7b44f;font-weight:800;text-align:center;}
@media(max-width:1120px){.sc-claim-quantity-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:640px){.sc-claim-breakdown-row{margin-inline-start:8px;}}

/* V487 — Full-page subcontractor claim editor and grouped approval / funding cycles */
.sc-claim-editor-shell{max-width:100%;width:100%;margin:0 auto;padding-bottom:28px}
.sc-claim-editor-page{display:block;position:relative;width:100%;max-width:none;max-height:none;overflow:visible;box-sizing:border-box;padding:clamp(12px,2vw,28px);margin-top:14px;background:#fff;border:1px solid #d8e2ed;border-radius:16px;box-shadow:0 4px 20px rgba(15,23,42,.06)}
.sc-claim-editor-page .sc-claim-items-list{display:flex;flex-direction:column;gap:16px;min-width:0}
.sc-claim-editor-page .sc-claim-line-card{width:100%;box-sizing:border-box}
.sc-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;position:sticky;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);padding:14px 4px 2px;margin-top:20px;border-top:1px solid #dbe4ed;z-index:5}
.sc-editor-footer .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.sc-claim-breakdown-row{margin-right:clamp(0px,3vw,34px);width:calc(100% - clamp(0px,3vw,34px));border-right:4px solid #2b7899!important;background:#f7fbfe!important}
.sc-claim-breakdown-row .sc-claim-line-heading{background:transparent}
.sc-claim-breakdown-row .sc-claim-line-select-grid{display:none!important}
.sc-claim-breakdown-row .sc-claim-line-footer{border-top:1px dashed #d7e3ed}
.sc-cycle-page-v487{max-width:100%;padding-bottom:30px}
.sc-cycle-page-v487 .section{margin-top:16px}
.sc-cycle-card-v487{margin-top:16px;padding:20px;border:1px solid #d8e2ed;border-radius:16px}
.sc-cycle-card-v487 .company-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.sc-cycle-card-v487 .company-head h2{margin:4px 0}
.sc-cycle-card-v487 .card{box-shadow:none}
.sc-cycle-review-action{border-top:1px solid #e5eaf0;padding-top:18px;margin-top:18px}
.sc-cycle-review-action .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sc-cycle-review-action .form-grid{margin-top:12px}
.sc-cycle-fund-row{margin:14px 0;padding:16px;border:1px solid #d3e0eb;border-radius:12px;background:#fbfdff}
.sc-cycle-fund-row h4{margin:0 0 12px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sc-cycle-fund-row .grid{margin:10px 0}
.sc-cycle-track-v487{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.sc-cycle-history-item{border-right:3px solid #3b829f;padding:4px 12px 8px;display:flex;flex-direction:column;gap:4px}
.sc-cycle-history-item span,.sc-cycle-history-item p{font-size:12px;color:#657589;margin:0}
.sc-cycle-page-v487 .table-wrap{width:100%;overflow-x:auto;margin-top:14px}
.sc-cycle-page-v487 table{min-width:680px;width:100%;border-collapse:collapse}
.sc-cycle-page-v487 th,.sc-cycle-page-v487 td{padding:10px;border-bottom:1px solid #e8edf2;text-align:right;vertical-align:middle}
.sc-cycle-page-v487 input[type=checkbox]{width:18px;height:18px}
@media(max-width:760px){.sc-claim-editor-page{padding:10px}.sc-claim-breakdown-row{margin-right:10px;width:calc(100% - 10px)}.sc-editor-footer{position:static}.sc-cycle-card-v487{padding:12px}}

/* V487.1 — cycle-stage access and layout safeguards */
.sc-cycle-page-v487 .form-grid{align-items:end}
.sc-cycle-page-v487 input,.sc-cycle-page-v487 select,.sc-cycle-page-v487 textarea{box-sizing:border-box;max-width:100%}
.sc-cycle-page-v487 .sc-cycle-fund-row .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.sc-cycle-page-v487 .sc-cycle-fund-row .form-grid{grid-template-columns:1fr}}


/* V488 — clearer subcontractor claim layout and dedicated accounting tab */
.sc-claim-identity-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;margin:0 0 16px;background:var(--surface,#f7fafc);border:1px solid var(--border,#d7e2ec);border-radius:14px;position:sticky;top:8px;z-index:3;box-shadow:0 4px 14px rgba(18,46,72,.06)}
.sc-claim-identity-strip div{min-width:0;display:flex;flex-direction:column;gap:5px}.sc-claim-identity-strip span{font-size:12px;color:var(--muted,#60758b)}.sc-claim-identity-strip strong{font-size:16px;line-height:1.6;overflow-wrap:anywhere;color:var(--text,#12334b)}
.sc-claim-head-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.sc-claim-head-fields input[readonly]{font-weight:700;background:#f1f6fa}
.sc-claim-items-card{padding:18px}.sc-claim-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sc-claim-section-heading h3{margin:0 0 5px}.sc-claim-section-heading p{margin:0;color:var(--muted,#647b90);font-size:13px}
.sc-claim-financials{padding:0}.sc-claim-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sc-claim-kpi,.sc-claim-deductions-card,.sc-claim-net-card{padding:16px;min-width:0}.sc-claim-kpi .value,.sc-claim-net-card .value{font-size:22px;line-height:1.5;overflow-wrap:anywhere}.sc-claim-kpi label{display:flex;flex-direction:column;gap:6px;font-weight:600}.sc-claim-kpi small{display:block;margin-top:8px;color:var(--muted,#60758b);line-height:1.55}.sc-claim-net-card{border:1px solid #9ccdb2;background:#f0faf4}.sc-claim-net-card .value{color:#12643f;font-weight:800}.sc-claim-deduction-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.sc-claim-deduction-heading .sub{margin-top:4px}.sc-claim-deduction-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,1fr) auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--border,#e0e8ef)}.sc-claim-deduction-row label{display:flex;flex-direction:column;gap:6px;min-width:0}.sc-claim-deduction-row label span{font-size:12px;color:var(--muted,#60758b)}.sc-claim-deduction-row input{min-width:0;width:100%}.sc-claim-deduction-row .btn{min-height:40px}.sc-claim-ded-total{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-weight:700}.sc-claim-no-deductions{padding:10px 0}.sc-claim-note-card{padding:16px}.sc-claim-note-card label{display:flex;flex-direction:column;gap:8px}.sc-claim-note-card textarea{width:100%;min-height:78px}
.sc-payments-page-v488>.grid{margin:16px 0}.sc-payments-claim-list-v488{display:flex;flex-direction:column;gap:16px}.sc-payments-claim-card-v488{padding:18px;min-width:0}.sc-payments-claim-card-v488 .company-head{gap:14px;align-items:flex-start}.sc-payments-claim-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.sc-payments-claim-kpis>div{padding:12px;border-radius:10px;background:var(--surface,#f7fafc);border:1px solid var(--border,#e0e8ef);display:flex;flex-direction:column;gap:7px;min-width:0}.sc-payments-claim-kpis span{font-size:12px;color:var(--muted,#60758b)}.sc-payments-claim-kpis b{font-size:15px;overflow-wrap:anywhere}.sc-invoice-editor-v488,.sc-payment-history-v488{margin-top:12px;border:1px solid var(--border,#d7e2ec);border-radius:10px;padding:12px}.sc-invoice-editor-v488 summary,.sc-payment-history-v488 summary{cursor:pointer;font-weight:700;padding:4px}.sc-invoice-editor-v488>.form-grid{margin-top:14px}.sc-invoice-editor-v488 input[type=file]{margin-top:6px}.sc-payment-history-v488 .table-wrap{margin-top:12px;overflow-x:auto}.sc-payment-history-v488 table{min-width:680px;width:100%}
@media(max-width:800px){.sc-claim-identity-strip{grid-template-columns:1fr;position:static}.sc-claim-head-fields{grid-template-columns:1fr}.sc-claim-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-payments-claim-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sc-claim-summary-grid{grid-template-columns:1fr}.sc-claim-deduction-row{grid-template-columns:1fr}.sc-claim-deduction-row .btn{justify-self:start}.sc-payments-claim-kpis{grid-template-columns:1fr}.sc-claim-items-card,.sc-payments-claim-card-v488{padding:12px}}

/* V489 — saved subcontractor claim tabs */
.sc-claim-tabs-v489{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:10px;margin:0 0 14px;background:#f7fafc;border:1px solid #dbe5ee;border-radius:14px;scrollbar-width:thin}
.sc-claim-tab-v489{flex:0 0 auto;min-width:145px;max-width:230px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:11px 14px;border:1px solid #d2dce7;border-radius:10px;background:#fff;color:#22354b;cursor:pointer;text-align:right;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s,background .15s,box-shadow .15s}
.sc-claim-tab-v489 span{font-size:14px;font-weight:800;white-space:nowrap}
.sc-claim-tab-v489 small{font-size:11px;color:#64748b;max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-claim-tab-v489 em{font-size:10px;font-style:normal;color:#687386;background:#f1f5f9;border-radius:999px;padding:2px 7px}
.sc-claim-tab-v489.active,.sc-claim-tab-v489[aria-selected="true"]{background:#eaf4fb;border-color:#28769b;box-shadow:inset 0 -3px 0 #28769b;color:#124d6a}
.sc-claim-tab-new-v489{border-style:dashed;background:#f4fbf7;border-color:#a6ceb9}
.sc-claim-tab-count-v489{margin-inline-start:auto;align-self:center;flex:0 0 auto;padding:8px 12px;color:#536477;font-size:12px;white-space:nowrap}
.sc-claim-tab-count-v489 strong{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;margin-inline-start:5px;border-radius:999px;background:#1f6787;color:white;font-size:13px}
@media(max-width:700px){.sc-claim-tabs-v489{padding:7px}.sc-claim-tab-v489{min-width:125px;padding:9px 11px}.sc-claim-tab-count-v489{font-size:11px}}


/* V490: clickable subcontractor claim summary and readable detail modal */
.sc-claim-summary-row-v490 { cursor: pointer; }
.sc-claim-summary-row-v490:hover td { background: #f0f7fc; }
.sc-claim-summary-row-v490:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; }
.sc-claim-open-link-v490 { display:flex; flex-direction:column; align-items:flex-start; gap:4px; border:0; padding:0; background:transparent; color:inherit; cursor:pointer; text-align:right; }
.sc-claim-open-link-v490 span { color:#1769aa; font-size:11px; font-weight:600; }
.sc-claim-detail-lines-v490 { overflow:hidden; }
.sc-claim-detail-lines-v490 .table-wrap { max-width:100%; overflow:auto; }
.sc-claim-detail-lines-v490 table { min-width:1080px; }
.sc-claim-detail-kpis-v490 .value { overflow-wrap:anywhere; }


/* V491: contractor-only workspace, readable at browser zoom around 90%, and rate-locked claim entry */
.cp-v491-workspace{margin-top:18px;padding:20px!important;border:1px solid #dbe5ed;border-radius:16px;background:#fff;box-shadow:0 3px 14px rgba(20,55,80,.05);font-size:14px;line-height:1.55;min-width:0}
.cp-v491-workspace h2{font-size:21px;margin:0 0 6px;font-weight:750;color:#132e45}
.cp-v491-workspace h3{font-size:17px;margin:0 0 5px;color:#17384d}
.cp-v491-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 14px;flex-wrap:wrap}
.cp-v491-section-head .sub{font-size:13px;line-height:1.55;margin:2px 0 0;color:#718196}
.cp-v491-kpis{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:12px;margin:14px 0 22px}
.cp-v491-kpis>div{border:1px solid #e1e8ef;border-radius:12px;padding:13px 15px;background:#f8fafc;min-width:0}
.cp-v491-kpis span{display:block;color:#6e7f90;font-size:12px;margin-bottom:6px}
.cp-v491-kpis strong{display:block;font-size:20px;line-height:1.35;overflow-wrap:anywhere;color:#122c44;font-variant-numeric:tabular-nums}
.cp-v491-contract-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:12px 0 22px}
.cp-v491-contract-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid #dae4ed;background:#fbfcfd;border-radius:12px;padding:13px 14px}
.cp-v491-contract-choice b{font-size:15px;color:#153750}.cp-v491-contract-choice p{font-size:12.5px;color:#738195;margin:4px 0 0}
.cp-v491-contract-choice .btn{flex:0 0 auto;white-space:nowrap;min-height:36px;font-size:13px}
.cp-v491-table-wrap{width:100%;overflow:auto;border:1px solid #e0e7ed;border-radius:11px;margin:10px 0 14px;-webkit-overflow-scrolling:touch}
.cp-v491-list-table,.cp-v491-inner-table table,.cp-v491-claim-table{border-collapse:separate;border-spacing:0;width:100%;min-width:910px;font-size:13px;line-height:1.45;background:#fff}
.cp-v491-list-table th,.cp-v491-list-table td,.cp-v491-inner-table th,.cp-v491-inner-table td,.cp-v491-claim-table th,.cp-v491-claim-table td{padding:10px 11px;border-bottom:1px solid #e8edf2;text-align:right;vertical-align:middle;white-space:nowrap}
.cp-v491-list-table th,.cp-v491-inner-table th,.cp-v491-claim-table th{background:#f3f6f9;color:#536a7d;font-weight:700;font-size:12.5px}
.cp-v491-list-table tbody tr:last-child td,.cp-v491-inner-table tbody tr:last-child td,.cp-v491-claim-table tbody tr:last-child td{border-bottom:0}
.cp-v491-claim-details{margin-top:5px}.cp-v491-claim-details summary{cursor:pointer;display:inline-flex;align-items:center;color:#216b91;font-weight:650;font-size:12.5px;padding:4px 0}
.cp-v491-inner-table{max-width:100%;overflow:auto;border:1px solid #e5eaf0;border-radius:8px;margin-top:8px}.cp-v491-inner-table table{min-width:780px;font-size:12px}
.cp-v491-status{display:inline-flex;align-items:center;justify-content:center;max-width:190px;border-radius:20px;padding:5px 9px;font-size:12px;line-height:1.3;background:#f0f2f5;color:#5e6874;white-space:normal;text-align:center}
.cp-v491-status.is-approved{background:#e1f6eb;color:#18774a}.cp-v491-status.is-review{background:#fff3d6;color:#875e0a}.cp-v491-status.is-draft{background:#eaf0f8;color:#3f5d7a}
.cp-v491-empty{padding:16px;text-align:center;color:#718196;font-size:13px;line-height:1.6}
.cp-v491-privacy-note{margin-top:14px;padding:11px 13px;border-right:3px solid #4c8aa8;border-radius:7px;background:#f2f7fa;color:#536b7d;font-size:12.5px;line-height:1.65}
.cp-v491-muted{color:#77879a;font-size:12px;line-height:1.55}
.cp-v491-modal-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(14,28,40,.54);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.cp-v491-modal{width:min(1380px,98vw);max-height:94vh;overflow:auto;background:#fff;border:1px solid #d5e0e9;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.22);padding:20px;color:#18364b;font-size:14px;line-height:1.55}
.cp-v491-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #e2e9ef}.cp-v491-modal-head h2{margin:0 0 5px;font-size:21px}.cp-v491-modal-head p{margin:0;color:#6b7c8d;font-size:13px}
.cp-v491-claim-meta{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0}
.cp-v491-claim-meta label,.cp-v491-note-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#5a7183;font-weight:650;min-width:0}
.cp-v491-claim-meta input,.cp-v491-note-label textarea{width:100%;min-width:0;border:1px solid #ccd8e2;border-radius:8px;padding:9px 10px;font:inherit;font-size:13.5px;color:#17364d;background:#fff}
.cp-v491-claim-meta input[readonly]{background:#f3f6f8;color:#566b7d}
.cp-v491-notice{padding:10px 12px;border-right:3px solid #3985a7;border-radius:7px;background:#f1f7fa;color:#48677b;font-size:12.5px;margin:12px 0;line-height:1.6}
.cp-v491-claim-table{min-width:1120px;font-size:12.5px}.cp-v491-claim-table th,.cp-v491-claim-table td{padding:8px 8px}.cp-v491-claim-table td:first-child{white-space:normal;min-width:210px;max-width:260px}.cp-v491-claim-table td:first-child b{display:block;color:#173b55}.cp-v491-claim-table td:first-child .cp-v491-muted{display:block;overflow-wrap:anywhere;margin-top:3px}
.cp-v491-claim-table input{box-sizing:border-box;width:110px;max-width:100%;height:35px;padding:6px 8px;border:1px solid #ccd8e2;border-radius:7px;font:inherit;font-size:12.5px;background:#fff;color:#17364d}
.cp-v491-claim-table input.cp-v491-current{width:90px;border-color:#7aa7c7}.cp-v491-claim-table input.cp-v491-disbursement{width:78px}.cp-v491-claim-table input.cp-v491-rate{width:95px;background:#f1f5f8;font-weight:700;color:#28475d}
.cp-v491-claim-table td.cp-v491-amount{font-weight:750;min-width:94px;font-variant-numeric:tabular-nums}
.cp-v491-claim-table button{font-size:12px;padding:6px 8px;min-height:30px}
.cp-v491-note-label{margin-top:14px}.cp-v491-note-label textarea{resize:vertical;min-height:65px}
.cp-v491-total{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin:15px 0 10px}
.cp-v491-total>div{border:1px solid #e0e7ed;border-radius:10px;background:#f8fafb;padding:12px;min-width:0}
.cp-v491-total span{display:block;color:#6c7e8f;font-size:12px;line-height:1.4;margin-bottom:7px}.cp-v491-total strong{font-size:16px;display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cp-v491-modal-foot{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e3e9ef}.cp-v491-modal-foot .btn{min-height:38px;font-size:13.5px}
@media(max-width:900px){.cp-v491-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}.cp-v491-claim-meta{grid-template-columns:1fr 1fr}.cp-v491-total{grid-template-columns:repeat(2,minmax(140px,1fr))}.cp-v491-workspace{padding:14px!important}.cp-v491-modal{padding:14px}}
@media(max-width:560px){.cp-v491-kpis{grid-template-columns:1fr 1fr;gap:8px}.cp-v491-kpis>div{padding:10px}.cp-v491-kpis strong{font-size:17px}.cp-v491-claim-meta{grid-template-columns:1fr}.cp-v491-contract-choice{align-items:flex-start;flex-direction:column}.cp-v491-contract-choice .btn{width:100%}.cp-v491-modal-backdrop{padding:5px}.cp-v491-modal{max-height:98vh;width:100%;border-radius:10px;padding:11px}.cp-v491-modal-head h2{font-size:18px}.cp-v491-total{grid-template-columns:1fr 1fr}.cp-v491-modal-foot .btn{flex:1}}

/* V491: contractor identity/profile panel and medium-scale layout */
body:has(.cp-v491-profile) > .module-page{width:100%;max-width:1760px;margin:0 auto;padding:clamp(12px,1.4vw,22px);box-sizing:border-box;font-size:14px;line-height:1.55}
body:has(.cp-v491-profile) > .module-page > .module-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;margin:0 0 12px;border:1px solid #dce5ec;border-radius:13px;background:#fff}
body:has(.cp-v491-profile) > .module-page > .module-head h1{font-size:21px;line-height:1.35;margin:0 0 4px}
body:has(.cp-v491-profile) > .module-page > .module-head .sub{font-size:13px;margin:0;color:#6e7f90;line-height:1.55}
.cp-v491-profile{margin:0 0 14px;padding:18px!important;border:1px solid #dbe5ed;border-radius:14px;background:#fff;box-shadow:0 3px 13px rgba(20,55,80,.045);font-size:14px}
.cp-v491-profile-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:13px;border-bottom:1px solid #e5ebf0}
.cp-v491-profile-title h2{font-size:22px;line-height:1.35;margin:3px 0 5px;color:#153750}
.cp-v491-profile-title p{font-size:13px;color:#6e7f90;margin:0}
.cp-v491-eyebrow{font-size:12px;color:#708399;font-weight:700}
.cp-v491-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:14px 0}
.cp-v491-profile-grid>div,.cp-v491-eval>div{background:#f8fafc;border:1px solid #e4eaf0;border-radius:10px;padding:11px 12px;min-width:0}
.cp-v491-profile-grid span,.cp-v491-eval span{display:block;color:#718297;font-size:12px;margin-bottom:5px}
.cp-v491-profile-grid b,.cp-v491-eval b{display:block;color:#18374e;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.cp-v491-eval{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin:12px 0}
.cp-v491-eval b{font-size:15px}
.cp-v491-profile .cp-v491-muted{margin:9px 0 0}
body:has(.cp-v491-profile) .cp-contract-card{margin:12px 0;padding:17px!important;border:1px solid #dce5ed;border-radius:13px;box-shadow:0 2px 10px rgba(20,55,80,.04);font-size:14px;line-height:1.55}
body:has(.cp-v491-profile) .cp-contract-card h2{font-size:18px;line-height:1.4;margin:0}
body:has(.cp-v491-profile) .cp-contract-card h3{font-size:15px;line-height:1.4;margin:15px 0 8px}
body:has(.cp-v491-profile) .cp-contract-card .table{max-width:100%;overflow:auto}
body:has(.cp-v491-profile) .cp-contract-card .table table{min-width:780px;font-size:13px;line-height:1.45}
body:has(.cp-v491-profile) .cp-contract-card .table th,body:has(.cp-v491-profile) .cp-contract-card .table td{padding:9px 10px}
@media(max-width:900px){.cp-v491-profile-grid,.cp-v491-eval{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:520px){.cp-v491-profile{padding:12px!important}.cp-v491-profile-title h2{font-size:19px}.cp-v491-profile-grid,.cp-v491-eval{grid-template-columns:1fr 1fr;gap:8px}.cp-v491-profile-grid>div,.cp-v491-eval>div{padding:9px}.cp-v491-profile-grid b,.cp-v491-eval b{font-size:13px}}

/* V492: subcontract price-review card, tuned for readable desktop layouts near 90% zoom */
.cp-v492-price-review{border:1px solid #c8d8e4;background:#fff;min-width:0}
.cp-v492-price-review .company-head{align-items:flex-start;gap:12px;flex-wrap:wrap}
.cp-v492-price-review .table-wrap{width:100%;overflow-x:auto;margin-top:12px}
.cp-v492-price-review table{min-width:760px}
.cp-v492-price-review .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.cp-v492-price-review .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cp-v492-price-review details{margin-top:10px;padding-top:8px;border-top:1px solid #e2eaf0}
.cp-v492-price-review details summary{cursor:pointer;font-weight:700}
@media(max-width:760px){.cp-v492-price-review{padding:12px}.cp-v492-price-review .toolbar .btn{width:100%}}

/* V493 — Flexible contractor settlement modes */
.sc-mode-panel-v493{border:1px solid #b9d3e1;background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);border-radius:14px;padding:16px;margin:14px 0}
.sc-mode-panel-v493 .company-head{align-items:flex-start;gap:14px;flex-wrap:wrap}
.sc-mode-panel-v493 h3,.sc-mode-panel-v493 h4{margin:0 0 6px}
.sc-mode-config-v493{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:10px 0}
.sc-mode-config-v493 .card{padding:10px;display:grid;gap:5px}
.sc-mode-config-v493 span{font-size:12px;color:#667789}.sc-mode-config-v493 b{font-size:16px}
.sc-mode-entries-list-v493,.sc-mode-allocations-list-v493{display:grid;gap:10px;margin:12px 0}
.sc-mode-entry-v493{border:1px solid #d2e0e9;border-radius:10px;background:#fff;padding:12px;min-width:0}
.sc-mode-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sc-mode-fields-grid-v493{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.sc-mode-fields-grid-v493 label,.sc-mode-allocation-row-v493 label{display:block;font-size:12px;color:#415568;min-width:0}
.sc-mode-fields-grid-v493 input,.sc-mode-fields-grid-v493 select,.sc-mode-allocation-row-v493 input,.sc-mode-allocation-row-v493 select{width:100%;min-width:0;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #ccd8e2;border-radius:7px;background:#fff;color:#142b3c}
.sc-mode-entry-result-v493{display:flex;flex-wrap:wrap;gap:10px 20px;background:#f1f7fa;border-radius:8px;padding:10px;margin-top:10px;font-size:12px}
.sc-mode-entry-result-v493 b{color:#155c78}
.sc-mode-allocation-section-v493{border-top:1px solid #dbe5ec;padding-top:14px;margin-top:16px}
.sc-mode-allocation-row-v493{display:grid;grid-template-columns:1.3fr 1fr 1.2fr .75fr 1fr auto;gap:8px;align-items:end;border:1px dashed #c9d8e3;border-radius:8px;padding:10px;background:#fff}
.sc-mode-empty-v493,.sc-mode-empty-allocation-v493{padding:12px;background:#f5f8fa;border-radius:8px;color:#62788b}
.sc-mode-basic-note-v493{border-right:4px solid #2c7893}
.sc-claim-items-special-v493 .sc-claim-line-select-grid,.sc-claim-items-special-v493 .sc-claim-line-detail-grid,.sc-claim-items-special-v493 .sc-claim-line-footer,.sc-claim-items-special-v493 .sc-claim-remove{display:none!important}
.sc-claim-items-special-v493 .sc-claim-section-heading>div p{max-width:100%}
.sc-claim-items-special-v493 .sc-row-current,.sc-claim-items-special-v493 .sc-row-rate,.sc-claim-items-special-v493 .sc-row-disbursement{background:#f0f6f8!important;color:#22495a!important;font-weight:700}
.sc-claim-items-special-v493 .sc-row-rate{cursor:not-allowed}
.sc-mode-panel-v493 .danger-text{color:#a53025;margin-bottom:0}
@media(max-width:900px){.sc-mode-fields-grid-v493{grid-template-columns:repeat(2,minmax(130px,1fr))}.sc-mode-allocation-row-v493{grid-template-columns:repeat(2,minmax(135px,1fr))}}
@media(max-width:560px){.sc-mode-fields-grid-v493,.sc-mode-allocation-row-v493{grid-template-columns:1fr}.sc-mode-entry-result-v493{display:grid;grid-template-columns:1fr 1fr}}

/* V493 — Contractor portal measurement layouts */
.cp-v493-mode-modal{max-width:1220px;max-height:92vh;overflow:auto}
.cp-v493-portal-log-list{display:grid;gap:10px;margin:12px 0}
.cp-v493-portal-log{border:1px solid #d4e0e8;border-radius:10px;padding:12px;background:#fff;min-width:0}
.cp-v493-log-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.cp-v493-log-grid{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:10px}
.cp-v493-log-grid label{display:block;min-width:0;font-size:12px;color:#415568}
.cp-v493-log-grid input,.cp-v493-log-grid select{width:100%;min-width:0;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #ccd8e2;border-radius:7px;background:#fff;color:#142b3c}
.cp-v493-log-grid .full{grid-column:1/-1}
.cp-v493-log-result{margin-top:10px;padding:10px;background:#f1f7fa;border-radius:7px;display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;font-size:12px}
.cp-v493-log-result b{color:#155c78}
.cp-v493-portal-log-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.cp-v493-validation{color:#a53025;min-height:18px;margin:4px 0}
@media(max-width:760px){.cp-v493-log-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.cp-v493-mode-modal{width:calc(100% - 20px);max-height:94vh}}
@media(max-width:520px){.cp-v493-log-grid{grid-template-columns:1fr}.cp-v493-log-grid .full{grid-column:auto}.cp-v493-log-head{align-items:flex-start}}

/* V494 — mixed measurement methods in one subcontractor claim */
.cp-v494-mixed-portal-modal{max-width:1460px;max-height:94vh}
.cp-v494-mixed-table{min-width:1380px}
.cp-v494-mixed-table th,.cp-v494-mixed-table td{vertical-align:middle}
.cp-v494-mixed-table td:first-child{min-width:220px;max-width:300px;white-space:normal}
.cp-v494-mixed-table td:first-child small{display:block;margin-top:3px;color:#738398;font-size:11px;line-height:1.35}
.cp-v494-mixed-table select,.cp-v494-mixed-table input{box-sizing:border-box;width:100%;min-width:95px;max-width:190px;height:36px;padding:6px 8px;border:1px solid #ccd8e2;border-radius:7px;background:#fff;color:#17364d;font:inherit;font-size:12.5px}
.cp-v494-mixed-table .cp-v494-line-mode{min-width:200px;max-width:230px}
.cp-v494-mixed-table .cp-v494-line-breakdown{min-width:150px;max-width:220px}
.cp-v494-mixed-table .cp-v494-line-current{min-width:90px;max-width:110px;border-color:#79a8c5}
.cp-v494-mixed-table .cp-v494-line-rate{min-width:105px;max-width:125px;background:#f1f5f8;font-weight:700}
.cp-v494-mixed-table .cp-v494-line-disbursement{min-width:85px;max-width:100px}
.cp-v494-mixed-table .cp-v494-line-amount{font-weight:750;min-width:105px;font-variant-numeric:tabular-nums}
.cp-v494-portal-panel{margin:12px 0;border:1px solid #d6e2eb;border-radius:11px;background:#fbfcfd;overflow:hidden}
.cp-v494-portal-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;padding:13px 15px;background:#f3f7fa;color:#173b55;list-style-position:inside}
.cp-v494-portal-panel[open]>summary{border-bottom:1px solid #dce6ed}
.cp-v494-panel-inner{padding:13px 15px}
.cp-v494-portal-log-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin:10px 0}
.cp-v494-portal-log-list{display:grid;gap:10px}
.cp-v494-mixed-portal-modal .cp-v491-claim-table .cp-v494-line-current[readonly]{background:#f1f7fa;color:#234d62;font-weight:700}
.cp-v494-mixed-portal-modal .cp-v491-notice{line-height:1.7}
.cp-v494-mixed-portal-modal .cp-v491-total{margin-top:14px}
@media(max-width:760px){.cp-v494-mixed-portal-modal{width:calc(100% - 12px);max-height:96vh}.cp-v494-panel-inner{padding:10px}.cp-v494-portal-panel>summary{align-items:flex-start;flex-direction:column}.cp-v494-mixed-table{min-width:1380px}}

/* V495 equipment daily allocation selectors */
.sc-mode-entry-v493 .sc-mode-estimate-v495,.sc-mode-entry-v493 .sc-mode-section-v495,.sc-mode-entry-v493 .sc-mode-target-component-v495{min-width:0;width:100%;}
.sc-mode-entry-v493 .sc-mode-fields-grid-v493{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}


/* V504 — welcoming login and safe local-data continuity tools */
.login-brand-panel .login-logo-image{width:126px;height:126px;margin-bottom:11px}
.login-brand-panel{padding:33px 28px;}
.cc-v504-welcome{width:100%;max-width:440px;margin:11px 0 5px;color:#163550}
.cc-v504-welcome h2{font-size:17px;line-height:1.4;margin:0 0 4px;color:#16466b}
.cc-v504-welcome>p{font-size:12px;line-height:1.6;margin:0 0 8px;color:#5e7489}
.cc-v504-welcome blockquote{font-family:Tahoma,Arial,sans-serif;margin:7px 0 5px;padding:9px 11px;border-right:3px solid #249b80;border-radius:8px;background:#ffffffbf;color:#164d43;font-size:16px;line-height:1.9;text-align:center}
.cc-v504-ayah-ref{font-size:10px;color:#718198;margin:3px 0 8px}
.cc-v504-audio-btn{border:1px solid #176b89;background:#e8f4f8;color:#155978;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}
.cc-v504-audio-btn:hover{background:#d8edf4}
.cc-v504-welcome small{display:block;margin-top:5px;font-size:10px;color:#8392a2;line-height:1.5}
.cc-v504-login-backups{margin-top:10px;padding-top:8px;border-top:1px solid #e8edf2}
.cc-v504-login-backups p{font-size:10px;line-height:1.55;color:#8793a0;margin:5px 0 0;text-align:right}
.cc-v504-backup-tools{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap}
.cc-v504-backup-tools .btn{font-size:10px!important;padding:6px 8px!important;min-height:0}
.home-user .cc-v504-backup-tools,.user-menu .cc-v504-backup-tools{margin-inline-end:6px}
@media(max-width:760px){.login-brand-panel .login-logo-image{width:90px;height:90px}.login-brand-panel{padding:27px 20px}.cc-v504-welcome blockquote{font-size:14px}.cc-v504-welcome{margin-top:8px}.cc-v504-login-backups .cc-v504-backup-tools{display:flex}.cc-v504-login-backups .cc-v504-backup-tools .btn{flex:1}}



/* V506 — compact subcontractor cards and hideable optional contractor fields */
.sc-contractors-grid-v506{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0;align-items:stretch}
.sc-contractor-card-v506{min-width:0;min-height:0;padding:13px!important;border:1px solid #dbe4ed;box-shadow:0 2px 8px #1525360a;display:flex;flex-direction:column;gap:9px;align-self:stretch}
.sc-v506-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sc-v506-avatar{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:10px;background:#eef6fb;font-size:21px;flex:0 0 auto}
.sc-v506-card-top .badge{font-size:10px;padding:4px 7px;white-space:nowrap}.sc-v506-contractor-name{font-size:15px!important;line-height:1.45;margin:0!important;min-width:0;overflow-wrap:anywhere;min-height:2.8em}.sc-v506-discipline{display:flex;flex-direction:column;gap:3px;min-width:0}.sc-v506-discipline .label{font-size:11px}.sc-v506-discipline b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.sc-v506-contractor-counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;font-size:11px;color:#687386}.sc-v506-contractor-counts span{background:#f6f9fc;border-radius:7px;padding:5px 7px}.sc-v506-contractor-counts b{color:#173d58;font-size:13px;margin-inline-end:3px}.sc-v506-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:5px}.sc-v506-card-actions .btn{padding:6px 8px!important;font-size:11px!important;line-height:1.25;margin:0!important;white-space:nowrap}.sc-v506-card-actions .btn.danger,.sc-v506-card-actions .btn.red{background:#b42318;color:#fff}.sc-v506-performance{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sc-v506-performance>div{background:#f7fafc;border:1px solid #e6edf3;border-radius:7px;padding:7px;min-width:0}.sc-v506-performance span{display:block;color:#718096;font-size:10px;margin-bottom:3px}.sc-v506-performance b{font-size:12px;overflow-wrap:anywhere}.sc-v506-performance .sc-v506-decision{grid-column:1/-1}.sc-v506-empty{padding:22px;text-align:center;color:#718096}.sc-v506-summary-grid{margin-bottom:8px}
.sc-v506-contractor-form{width:100%}.sc-v506-form-intro{background:#f7fafc;border:1px solid #e3ebf2;border-radius:10px;padding:11px 13px;margin-bottom:12px}.sc-v506-form-intro>b{display:block;font-size:14px;color:#173d58}.sc-v506-form-intro p{font-size:12px;line-height:1.6;color:#66788a;margin:5px 0 8px}.sc-v506-form-legend{display:flex;gap:14px;flex-wrap:wrap;color:#617285;font-size:11px}.sc-v506-form-legend span{display:inline-flex;align-items:center;gap:5px}.required-dot{color:#d92d20}.optional-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2d81a8}.sc-v506-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sc-v506-field{min-width:0;border:1px solid #e5ebf1;border-radius:9px;padding:8px 9px;background:#fff}.sc-v506-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:21px;margin-bottom:5px;color:#506274;font-size:11px;font-weight:700}.sc-v506-field-head>span:first-child{overflow-wrap:anywhere}.sc-v506-field-toggle{display:inline-flex!important;align-items:center;gap:4px;white-space:nowrap;cursor:pointer;color:#617a8e!important;font-size:10px!important;font-weight:500!important;margin:0!important;flex:0 0 auto}.sc-v506-field-toggle input{width:13px!important;height:13px;margin:0!important;accent-color:#247294}.sc-v506-field-control{min-width:0}.sc-v506-field-control.is-hidden{display:none!important}.sc-v506-field-control>input:not([type=checkbox]),.sc-v506-field-control>select,.sc-v506-field-control>textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #ccd7e2;border-radius:7px;padding:8px 9px;margin:0;font:inherit;font-size:12px;background:#fff}.sc-v506-field-control>textarea{resize:vertical;min-height:66px}.sc-v506-inline-check{display:flex!important;align-items:center;gap:7px;margin:0!important;font-weight:500!important;color:#334155!important;font-size:12px!important}.sc-v506-inline-check input{width:auto!important;margin:0!important}.sc-v506-field-notes{grid-column:1/-1}.sc-v506-span-all{grid-column:1/-1}.sc-v506-fixed-field{background:#edf6fb;color:#176589;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:600;white-space:nowrap}.sc-v506-warning{grid-column:1/-1;font-size:11px;line-height:1.65;margin-top:10px}
@media(max-width:1400px){.sc-contractors-grid-v506{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.sc-contractors-grid-v506{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.sc-contractors-grid-v506{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-v506-form-grid{grid-template-columns:1fr}}
@media(max-width:510px){.sc-contractors-grid-v506{grid-template-columns:1fr}.sc-v506-form-legend{gap:7px}}
html[dir="ltr"] .sc-v506-field-head{text-align:left}html[dir="ltr"] .sc-v506-contractor-counts{direction:ltr}html[dir="ltr"] .sc-v506-card-actions{justify-content:flex-start}

/* V516: compact side action and modal company creation form */
.cc-v516-company-actions{display:flex;justify-content:flex-start;align-items:center;margin:14px 0 18px;direction:rtl}
.cc-v516-side-action{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;width:auto!important;min-width:190px;max-width:100%;padding:12px 18px!important;border-radius:12px!important;box-shadow:0 4px 12px rgba(14,88,112,.12);font-weight:700}
.cc-v516-action-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);font-size:22px;line-height:1}
.cc-v516-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(15,29,43,.58);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.cc-v516-modal-backdrop[hidden]{display:none!important}
.cc-v516-modal{width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--card,#fff);color:var(--text,#172b3a);border-radius:20px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.25);direction:rtl}
.cc-v516-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border,#dce5ed)}
.cc-v516-modal-head h2{margin:0;font-size:1.35rem}
.cc-v516-modal-close{border:0;border-radius:50%;width:42px;height:42px;background:#eef2f5;color:#1c2933;font-size:28px;cursor:pointer;flex:0 0 auto}
.cc-v516-modal .cc-v498-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cc-v516-modal .cc-v498-create-btn{width:100%;margin-top:14px}
@media(max-width:650px){.cc-v516-modal{padding:16px;border-radius:14px}.cc-v516-modal .cc-v498-form-grid{grid-template-columns:1fr}.cc-v516-side-action{width:100%!important}}
/* V520 platform owner finance, renewal alerts, and readable destructive actions */
.cc-v520-money-panel,.cc-v520-alert-panel{margin:14px 0;padding:16px;border:1px solid #dce6ef;border-radius:14px;background:#fff}
.cc-v520-money-panel h2,.cc-v520-alert-panel h2{margin:0 0 12px;font-size:18px}
.cc-v520-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cc-v520-money-grid>div{padding:14px;border:1px solid #e1e8f0;border-radius:10px;background:#f7fafc;min-width:0}
.cc-v520-money-grid span{display:block;color:#63758a;font-size:13px;margin-bottom:7px}
.cc-v520-money-grid b{display:block;font-size:clamp(16px,1.3vw,23px);color:#123b5a;overflow-wrap:anywhere}
.cc-v520-alert-list{display:grid;gap:8px}
.cc-v520-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e5eaf0;border-radius:9px;background:#fbfcfe}
.cc-v520-alert.soon{border-inline-start:4px solid #d97706;background:#fffbeb}
.cc-v520-alert.overdue{border-inline-start:4px solid #b42318;background:#fff4f2}
.cc-v520-alert .sub{margin-top:4px;color:#64748b;font-size:12px}
.cc-v498-row-actions .btn.danger,.cc-v498-row-actions button.btn.danger,.cc-v520-alert .btn.danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important;opacity:1!important;text-shadow:none!important;font-weight:700}
.cc-v498-row-actions .btn.danger:hover,.cc-v520-alert .btn.danger:hover{background:#912018!important}
.cc-v498-owner-page{zoom:.9}
@media(max-width:900px){.cc-v520-money-grid{grid-template-columns:1fr}.cc-v520-alert{align-items:flex-start;flex-direction:column}.cc-v498-owner-page{zoom:1}}

/* V521: improve Platform Owner readability at browser zoom 90% */
.cc-v498-owner-page{zoom:1!important;font-size:14px}
.cc-v498-owner-page .cc-v520-money-panel,
.cc-v498-owner-page .cc-v520-alert-panel{padding:14px;margin:12px 0}
.cc-v498-owner-page .cc-v498-company-list{padding:14px}
.cc-v498-owner-page .cc-v498-company-list .table{overflow-x:auto}
.cc-v498-owner-page .cc-v498-company-list table{width:100%;table-layout:auto;border-collapse:collapse}
.cc-v498-owner-page .cc-v498-company-list th{font-size:12px;padding:9px 8px;white-space:nowrap}
.cc-v498-owner-page .cc-v498-company-list td{font-size:12px;padding:9px 8px;vertical-align:middle}
.cc-v498-owner-page .cc-v498-company-list td .sub{font-size:11px;line-height:1.45}
.cc-v498-owner-page .cc-v498-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:6px;align-items:center;justify-content:start;min-width:270px}
.cc-v498-owner-page .cc-v498-row-actions .btn{font-size:12px;line-height:1.25;padding:7px 9px;white-space:nowrap;min-height:32px}
.cc-v498-owner-page .cc-v498-row-actions .btn.danger{background:#b42318!important;border:1px solid #b42318!important;color:#fff!important;opacity:1!important;text-shadow:none!important;font-weight:700}
.cc-v498-owner-page .cc-v498-row-actions .btn.danger:hover{background:#912018!important;border-color:#912018!important}
.cc-v498-owner-page .cc-v498-mini{height:5px;margin-top:5px}
.cc-v498-owner-page .cc-v498-kpis .card{padding:14px}
.cc-v498-owner-page .cc-v498-welcome{padding:18px}
@media(max-width:1200px){.cc-v498-owner-page .cc-v498-company-list .table{overflow-x:auto}.cc-v498-owner-page .cc-v498-company-list table{min-width:1250px}}
@media(max-width:900px){.cc-v498-owner-page{zoom:1!important}.cc-v498-owner-page .cc-v498-row-actions{grid-template-columns:repeat(2,minmax(0,max-content));min-width:0}}

/* V522: full-width platform owner dashboard and profile photo */
body:has(.cc-v498-owner-page) .home-main{width:100%!important;max-width:none!important;margin:0!important;padding:12px 16px!important;box-sizing:border-box!important}
body:has(.cc-v498-owner-page) #app{width:100%!important;max-width:none!important}
.cc-v498-owner-page{width:100%!important;max-width:none!important;box-sizing:border-box!important}
.cc-v498-owner-page .cc-v498-welcome{width:100%;box-sizing:border-box}
.cc-v522-owner-identity{display:flex;align-items:center;gap:18px;min-width:0}
.cc-v522-owner-avatar{width:76px;height:76px;min-width:76px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.75);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.cc-v522-avatar-upload{display:inline-flex;align-items:center;margin-top:8px;cursor:pointer;background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
body:has(.cc-v498-owner-page) [data-action="backup-download"],body:has(.cc-v498-owner-page) [data-action="backup-restore"]{display:none!important}
@media(max-width:700px){.cc-v522-owner-identity{align-items:flex-start}.cc-v522-owner-avatar{width:56px;height:56px;min-width:56px}.cc-v498-owner-page .cc-v498-welcome{gap:12px}}

/* V524 — Platform owner backup center UI */
.cc-v524-backup-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:18px 20px;border:1px solid #d9e6ef;border-radius:14px;background:linear-gradient(110deg,#f5fafc,#fff)}
.cc-v524-backup-shortcut h2{margin:0 0 6px;font-size:20px;color:#123b5a}
.cc-v524-backup-shortcut p{margin:0;color:#71849a;line-height:1.7}
.cc-v524-backup-open{white-space:nowrap;min-height:42px}
.cc-v524-backup-modal[hidden]{display:none!important}
.cc-v524-backup-modal{position:fixed;inset:0;z-index:10020;background:rgba(15,32,48,.62);display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}
.cc-v524-backup-dialog{width:min(1100px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.25);direction:rtl}
.cc-v524-backup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e4ebf1;padding-bottom:14px;margin-bottom:16px}
.cc-v524-backup-head h2{margin:0 0 5px;color:#123b5a;font-size:24px}
.cc-v524-backup-head p{margin:0;color:#74859a}
.cc-v524-backup-close{width:42px;height:42px;border:0;border-radius:50%;background:#eef3f7;color:#16334b;font-size:28px;cursor:pointer;flex:0 0 auto}
.cc-v524-backup-warning{padding:12px 14px;margin-bottom:16px;border:1px solid #f2d08d;border-right:4px solid #d99720;border-radius:10px;background:#fff9e9;color:#79571c;line-height:1.8}
.cc-v524-backup-companies{display:grid;gap:12px}
.cc-v524-backup-company{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dce6ef;border-radius:12px;background:#fff}
.cc-v524-backup-company h3{margin:0 0 5px;font-size:18px;color:#123b5a}
.cc-v524-backup-company p{margin:0 0 10px;color:#74859a;font-size:13px}
.cc-v524-backup-last{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#71849a}
.cc-v524-backup-last strong{color:#9a5b11}
.cc-v524-backup-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;min-width:320px}
.cc-v524-backup-actions .btn{white-space:nowrap}
@media(max-width:800px){.cc-v524-backup-shortcut,.cc-v524-backup-company{align-items:stretch;flex-direction:column}.cc-v524-backup-open{white-space:normal}.cc-v524-backup-actions{min-width:0}.cc-v524-backup-dialog{padding:15px}}

/* V525 — Backup center six-step guide */
.cc-v525-backup-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.cc-v525-backup-guide article{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid #dce6ef;border-radius:11px;background:#f8fbfd;min-width:0}
.cc-v525-backup-guide article>span{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border-radius:50%;background:#176d82;color:#fff;font-weight:700}
.cc-v525-backup-guide h3{margin:1px 0 5px;font-size:15px;color:#123b5a}
.cc-v525-backup-guide p{margin:0;font-size:13px;line-height:1.65;color:#6f8194}
@media(max-width:850px){.cc-v525-backup-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cc-v525-backup-guide{grid-template-columns:1fr}}

/* V526 — Inline backup center under company management */
.cc-v526-backup-inline{margin-top:18px;padding:20px;border:1px solid #d9e6ef;border-radius:14px;background:#fff}
.cc-v526-backup-inline .cc-v498-section-head{margin-bottom:14px}
.cc-v526-backup-inline h2{margin:0 0 5px;color:#123b5a}
.cc-v526-backup-inline .cc-v525-backup-guide{margin-bottom:16px}
.cc-v526-backup-company-list{gap:10px}
.cc-v526-backup-note{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#f5f8fb;color:#71849a;font-size:12px;line-height:1.7}
@media(max-width:850px){.cc-v526-backup-inline{padding:14px}}

/* V527 — separated company and platform-administration backup scopes */
.cc-v527-backup-inline{margin-top:18px;padding:20px;}
.cc-v527-backup-scope{display:grid;grid-template-columns:1fr;gap:16px;margin-top:14px;}
.cc-v527-backup-scope-card{border:1px solid var(--border,#d8e4ef);border-radius:14px;padding:16px;background:var(--card,#fff);min-width:0;}
.cc-v527-backup-scope-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
.cc-v527-backup-scope-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#eaf4fa;font-size:23px;}
.cc-v527-backup-scope-head h3{margin:0 0 5px;font-size:19px;}
.cc-v527-backup-scope-head p{margin:0;color:var(--muted,#6b7f95);}
.cc-v527-backup-log-actions,.cc-v527-platform-backup-actions,.cc-v527-platform-backup-status{margin-top:12px;padding:12px;border-radius:10px;background:var(--soft,#f5f8fb);}
.cc-v527-backup-log-actions h4{margin:0 0 5px;}
.cc-v527-backup-log-actions p{margin:0 0 10px;color:var(--muted,#6b7f95);}
.cc-v527-platform-backup-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cc-v527-platform-backup-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted,#6b7f95);}
.cc-v527-platform-backup-status strong{color:#9a5a08;}
@media(min-width:1200px){.cc-v527-backup-scope{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.cc-v527-backup-scope-card{padding:11px}.cc-v527-platform-backup-actions .btn{width:100%}}


/* V531 company manager landing dashboard: single navigation path, no duplicated quick links */
.cc-v531-shell{max-width:none!important;width:100%!important;box-sizing:border-box;padding:clamp(12px,2vw,28px)!important;margin:0!important}
.cc-v531-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 16px!important;border:1px solid #d9e6ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px #153e5d08!important;margin-bottom:20px!important}
.cc-v531-brand .brand-small{display:flex;align-items:center;gap:10px;font-weight:800;color:#123e5d;font-size:18px}
.cc-v531-brand .brand-small img{width:42px;height:42px;object-fit:contain}
.cc-v531-brand p{margin:4px 0 0;color:#708197;font-size:12px}
.cc-v531-account{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
.cc-v531-user-name{font-size:13px;font-weight:700;color:#1d3d56;white-space:nowrap}
.cc-v531-dashboard{max-width:none;width:100%;margin:0 auto;padding:0 0 26px;color:#15344d}
.cc-v531-hero{display:flex;align-items:center;gap:20px;padding:clamp(22px,3vw,36px);border-radius:20px;background:linear-gradient(112deg,#153650 0%,#176b83 100%);color:#fff;box-shadow:0 12px 30px #12304a16;margin-bottom:18px}
.cc-v531-hero-mark{display:flex;align-items:center;justify-content:center;flex:0 0 76px;height:76px;border-radius:20px;background:#ffffff1b;border:1px solid #ffffff30;color:#fff;font-weight:900;font-size:26px;letter-spacing:-1px}
.cc-v531-hero-copy{min-width:0;flex:1}
.cc-v531-kicker{font-size:10px;letter-spacing:1.7px;font-weight:900;color:#a7e1ee;margin-bottom:6px}
.cc-v531-hero h1{font-size:clamp(24px,2.4vw,34px);line-height:1.3;margin:0 0 8px;color:#fff}
.cc-v531-hero p{font-size:14px;line-height:1.8;margin:0;color:#e2eff6}
.cc-v531-role-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}
.cc-v531-role-line span{display:inline-flex;padding:6px 10px;border:1px solid #ffffff35;background:#ffffff12;border-radius:999px;color:#f0f8fc;font-size:11px}
.cc-v531-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:27px}
.cc-v531-stat{padding:18px 20px;border:1px solid #dce7ef;background:#fff;border-radius:15px;box-shadow:0 4px 15px #12304a08;min-width:0}
.cc-v531-stat span,.cc-v531-stat small{display:block;color:#708197;font-size:12px;line-height:1.6}
.cc-v531-stat b{display:block;font-size:clamp(25px,2vw,32px);color:#153e5d;line-height:1.3;margin:5px 0}
.cc-v531-stat small{font-size:11px;color:#8996a6}
.cc-v531-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 2px 13px}
.cc-v531-section-head h2{font-size:22px;margin:0 0 5px;color:#153e5d}
.cc-v531-section-head p{font-size:12px;line-height:1.6;color:#77879a;margin:0}
.cc-v531-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cc-v531-action-card{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:start;padding:20px;border:1px solid #dce7ef;border-radius:16px;background:#fff;box-shadow:0 4px 16px #12304a08;min-width:0}
.cc-v531-action-icon{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;background:#eaf5fa;font-size:27px}
.cc-v531-action-copy{grid-column:2;grid-row:1;min-width:0}
.cc-v531-action-copy h3{font-size:17px;margin:2px 0 7px;color:#173f5a}
.cc-v531-action-copy p{font-size:12px;line-height:1.8;color:#74859a;margin:0}
.cc-v531-card-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cc-v531-card-actions .btn{font-size:12px;padding:9px 13px}
.cc-v531-footnote{font-size:11px;color:#8a98a8;margin:16px 3px 0;line-height:1.7}
.cc-v531-subpage{width:100%;max-width:none;box-sizing:border-box}
.cc-v531-subpage .company-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cc-v531-subpage .company-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1050px){.cc-v531-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cc-v531-header{align-items:flex-start}.cc-v531-account{width:100%}.cc-v531-actions-grid{grid-template-columns:1fr}.cc-v531-hero{align-items:flex-start}.cc-v531-hero-mark{flex-basis:55px;height:55px;border-radius:14px;font-size:20px}}
@media(max-width:520px){.cc-v531-stats{grid-template-columns:1fr 1fr;gap:8px}.cc-v531-stat{padding:13px}.cc-v531-action-card{grid-template-columns:42px minmax(0,1fr);column-gap:10px;padding:14px}.cc-v531-action-icon{width:42px;height:42px;font-size:22px}.cc-v531-action-copy h3{font-size:15px}.cc-v531-card-actions{grid-column:1 / -1}.cc-v531-account .btn{font-size:12px;padding:8px}.cc-v531-user-name{font-size:12px}}


/* V532: consolidated company financial dashboard */
.cc-v532-finance-section{margin:0 0 26px;padding:clamp(14px,1.8vw,22px);border:1px solid #d8e5ee;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 6px 20px #153e5d08;min-width:0}
.cc-v532-finance-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.cc-v532-finance-kicker{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#17718a;margin-bottom:5px}
.cc-v532-finance-heading h2{margin:0 0 6px;color:#173e59;font-size:clamp(20px,2vw,26px)}
.cc-v532-finance-heading p{margin:0;color:#718398;font-size:12px;line-height:1.8;max-width:980px}
.cc-v532-finance-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc-v532-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:18px}
.cc-v532-finance-kpi{min-width:0;padding:15px 16px;border:1px solid #dce7ef;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:7px}
.cc-v532-finance-kpi>span{font-size:12px;color:#73869a;line-height:1.6}
.cc-v532-finance-kpi>b,.cc-v532-kpi-value{font-size:clamp(17px,1.5vw,22px);font-weight:850;color:#173f5c;line-height:1.5;overflow-wrap:anywhere}
.cc-v532-finance-kpi small{font-size:10px;color:#8291a2;line-height:1.65}
.cc-v532-moneyline+b{margin-top:2px}
.cc-v532-collected-kpi{border-color:#cce9dc;background:#fbfffd}
.cc-v532-collected-kpi>b{color:#087650}
.cc-v532-due-kpi{border-color:#f0dfc6;background:#fffdf9}
.cc-v532-due-kpi>b{color:#a35b08}
.cc-v532-projects-table-wrap{border:1px solid #e1eaf1;border-radius:13px;background:#fff;overflow:hidden}
.cc-v532-table-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e8eef3;background:#f7fafc}
.cc-v532-table-heading h3{margin:0;color:#173f5c;font-size:15px}
.cc-v532-table-heading span{font-size:11px;color:#73869a;border-radius:999px;background:#e7f3fa;padding:5px 9px}
.cc-v532-projects-table-wrap .table-wrap{max-width:100%;overflow:auto}
.cc-v532-projects-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;font-size:12px}
.cc-v532-projects-table th{background:#f7fafc;color:#526579;font-weight:750;white-space:nowrap;position:sticky;top:0;z-index:1}
.cc-v532-projects-table th,.cc-v532-projects-table td{padding:10px 11px;border-bottom:1px solid #edf1f5;text-align:right;vertical-align:middle}
.cc-v532-projects-table tbody tr:hover{background:#f9fcfe}
.cc-v532-projects-table td{color:#213d55;line-height:1.6}
.cc-v532-projects-table td .sub{font-size:10px;line-height:1.5;margin-top:2px}
.cc-v532-open-project{white-space:nowrap;font-size:11px!important;padding:7px 10px!important}
.cc-v532-finance-note{margin:13px 2px 0;color:#7a899a;font-size:10px;line-height:1.85}
@media(max-width:1250px){.cc-v532-finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.cc-v532-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v532-finance-heading{align-items:flex-start}}
@media(max-width:480px){.cc-v532-finance-kpis{grid-template-columns:1fr}.cc-v532-finance-section{padding:12px}.cc-v532-finance-kpi{padding:13px}}


/* V533: ten project-financial indicators aligned with the project's contract-profit page. */
.cc-v533-finance-section{margin:0 0 26px;padding:clamp(14px,1.8vw,22px);border:1px solid #d7e5ef;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 6px 20px #153e5d08;min-width:0}
.cc-v533-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}
.cc-v533-kicker{font-size:10px;font-weight:900;letter-spacing:1.4px;color:#17718a;margin-bottom:5px}
.cc-v533-heading h2{margin:0 0 5px;color:#173f5b;font-size:clamp(20px,2vw,26px)}
.cc-v533-heading p{margin:0;color:#718398;font-size:12px;line-height:1.8;max-width:1050px}
.cc-v533-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:0 0 18px}
.cc-v533-kpi{min-width:0;min-height:145px;padding:13px 14px;border:1px solid #dce7ef;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #153e5d04}
.cc-v533-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cc-v533-kpi-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8f4f9;font-size:18px;flex-shrink:0}
.cc-v533-kpi-num{font-size:11px;font-weight:850;color:#176d82;background:#e7f3fa;border-radius:999px;padding:4px 8px}
.cc-v533-kpi-title{font-size:12px;font-weight:750;line-height:1.75;color:#5d7186;min-height:40px}
.cc-v533-kpi-value{font-size:clamp(16px,1.3vw,21px);font-weight:850;color:#173f5b;line-height:1.55;overflow-wrap:anywhere}
.cc-v533-kpi small{font-size:10px;color:#7d8da0;line-height:1.7;margin-top:auto}
.cc-v533-contract .cc-v533-kpi-value{font-size:15px}
.cc-v533-moneyline{margin:2px 0;overflow-wrap:anywhere}
.cc-v533-profit{border-color:#cde7d9;background:#fbfffd}
.cc-v533-profit .cc-v533-kpi-icon{background:#e2f5e9}
.cc-v533-control-profit{border-color:#ead9b4;background:#fffdf8}
.cc-v533-margin{border-color:#d8e0f9;background:#fcfcff}
.cc-v533-collection-section{border:1px solid #e0e9f0;border-radius:13px;padding:14px;margin:0 0 18px;background:#f9fbfd}
.cc-v533-collection-section h3{margin:0 0 4px;color:#173f5b;font-size:15px}
.cc-v533-collection-section p{margin:0;color:#7d8da0;font-size:11px;line-height:1.7}
.cc-v533-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.cc-v533-collection-grid article{display:flex;flex-direction:column;gap:6px;border:1px solid #e0e8ef;border-radius:10px;padding:12px;background:#fff;min-width:0}
.cc-v533-collection-grid span{color:#718398;font-size:11px;line-height:1.6}
.cc-v533-collection-grid b{color:#173f5b;font-size:19px;overflow-wrap:anywhere}
.cc-v533-collection-grid small{color:#8694a3;font-size:10px;line-height:1.6}
.cc-v533-table-container{border:1px solid #e0e9f0;border-radius:13px;overflow:hidden;background:#fff}
.cc-v533-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f7fafc;border-bottom:1px solid #e8eef3}
.cc-v533-table-head h3{margin:0;color:#173f5b;font-size:15px}
.cc-v533-table-head span{background:#e7f3fa;color:#176d82;border-radius:999px;padding:5px 9px;font-size:11px}
.cc-v533-table-container .table-wrap{overflow:auto;max-width:100%;max-height:55vh}
.cc-v533-financial-table{width:100%;min-width:1900px;border-collapse:separate;border-spacing:0;font-size:11px}
.cc-v533-financial-table th{position:sticky;top:0;z-index:1;background:#f6f9fc;color:#53677b;font-weight:800;white-space:normal;min-width:125px;max-width:185px}
.cc-v533-financial-table th:first-child,.cc-v533-financial-table td:first-child{position:sticky;right:0;z-index:2;background:#fbfdff;min-width:180px}
.cc-v533-financial-table th:first-child{z-index:3;background:#eef4f8}
.cc-v533-financial-table th,.cc-v533-financial-table td{padding:10px 11px;border-bottom:1px solid #edf1f5;text-align:right;vertical-align:top;line-height:1.65;white-space:normal;overflow-wrap:anywhere}
.cc-v533-financial-table td{color:#264259}
.cc-v533-financial-table td small{display:block;color:#8391a1;font-size:9px;line-height:1.5;margin-top:3px}
.cc-v533-project-name b{display:block;font-size:12px}
.cc-v533-project-name small{margin-top:4px}
.cc-v533-open-project{white-space:nowrap;font-size:11px!important;padding:7px 10px!important}
.cc-v533-note{margin:13px 2px 0;color:#7a899a;font-size:10px;line-height:1.9}
@media(max-width:1400px){.cc-v533-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.cc-v533-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-v533-collection-grid{grid-template-columns:1fr}}
@media(max-width:760px){.cc-v533-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v533-heading{align-items:flex-start}}
@media(max-width:480px){.cc-v533-kpi-grid{grid-template-columns:1fr}.cc-v533-finance-section{padding:12px}}


/* V534: compact company welcome and financial overview placement */
.cc-v534-company-dashboard{padding-top:0!important}
.cc-v534-company-dashboard .cc-v531-hero{gap:13px;padding:12px 18px;margin-bottom:12px;border-radius:16px;box-shadow:0 5px 16px #12304a10}
.cc-v534-company-dashboard .cc-v531-hero-mark{flex:0 0 52px;width:52px;height:52px;border-radius:14px;font-size:19px;letter-spacing:-.5px}
.cc-v534-company-dashboard .cc-v531-kicker{font-size:9px;letter-spacing:1.25px;margin-bottom:3px}
.cc-v534-company-dashboard .cc-v531-hero h1{font-size:clamp(20px,1.65vw,27px);line-height:1.25;margin:0 0 4px}
.cc-v534-company-dashboard .cc-v531-hero p{font-size:12px;line-height:1.5;margin:0}
.cc-v534-summary-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.cc-v534-summary-chips>span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 9px;border:1px solid #ffffff3b;border-radius:999px;background:#ffffff12;color:#f0f8fc;font-size:10px;line-height:1.35;white-space:nowrap}
.cc-v534-summary-chips>span b{font-size:11px;font-weight:850;color:#fff}
.cc-v534-summary-chips .cc-v534-role-chip{background:#ffffff20;font-weight:800}
.cc-v534-company-dashboard .cc-v533-finance-section{margin:0 0 16px;padding:12px 14px;border-radius:15px;box-shadow:0 4px 13px #153e5d07}
.cc-v534-company-dashboard .cc-v533-heading{gap:10px;margin-bottom:10px}
.cc-v534-company-dashboard .cc-v533-kicker{font-size:9px;letter-spacing:1.1px;margin-bottom:3px}
.cc-v534-company-dashboard .cc-v533-heading h2{font-size:clamp(18px,1.45vw,22px);line-height:1.3;margin:0 0 3px}
.cc-v534-company-dashboard .cc-v533-heading p{font-size:10px;line-height:1.55;max-width:1100px}
.cc-v534-company-dashboard .cc-v533-heading>.btn{padding:7px 10px!important;font-size:11px}
.cc-v534-company-dashboard .cc-v533-kpi-grid{gap:8px;margin-bottom:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
.cc-v534-company-dashboard .cc-v533-kpi{min-height:106px;padding:9px 10px;border-radius:11px;gap:5px}
.cc-v534-company-dashboard .cc-v533-kpi-top{gap:5px}
.cc-v534-company-dashboard .cc-v533-kpi-icon{width:27px;height:27px;border-radius:8px;font-size:14px}
.cc-v534-company-dashboard .cc-v533-kpi-num{font-size:9px;padding:3px 6px}
.cc-v534-company-dashboard .cc-v533-kpi-title{font-size:10px;line-height:1.5;min-height:30px}
.cc-v534-company-dashboard .cc-v533-kpi-value{font-size:clamp(14px,1vw,18px);line-height:1.35}
.cc-v534-company-dashboard .cc-v533-contract .cc-v533-kpi-value{font-size:13px}
.cc-v534-company-dashboard .cc-v533-kpi small{font-size:9px;line-height:1.45}
.cc-v534-company-dashboard .cc-v533-collection-section{padding:10px;margin-bottom:12px}
.cc-v534-company-dashboard .cc-v533-collection-section h3{font-size:13px}
.cc-v534-company-dashboard .cc-v533-collection-section p,.cc-v534-company-dashboard .cc-v533-collection-grid span{font-size:10px}
.cc-v534-company-dashboard .cc-v533-collection-grid{gap:7px;margin-top:8px}
.cc-v534-company-dashboard .cc-v533-collection-grid article{padding:9px;gap:4px}
.cc-v534-company-dashboard .cc-v533-collection-grid b{font-size:16px}
.cc-v534-company-dashboard .cc-v533-table-head{padding:10px 12px}
.cc-v534-company-dashboard .cc-v533-table-head h3{font-size:13px}
.cc-v534-company-dashboard .cc-v533-financial-table th,.cc-v534-company-dashboard .cc-v533-financial-table td{padding:8px 9px}
.cc-v534-company-dashboard .cc-v533-note{font-size:9px;line-height:1.65;margin-top:9px}
.cc-v534-company-dashboard .cc-v531-section-head{margin-top:8px;margin-bottom:10px}
.cc-v534-company-dashboard .cc-v531-section-head h2{font-size:19px}
.cc-v534-company-dashboard .cc-v531-actions-grid{gap:10px}
.cc-v534-company-dashboard .cc-v531-action-card{padding:14px;grid-template-columns:44px minmax(0,1fr);column-gap:10px}
.cc-v534-company-dashboard .cc-v531-action-icon{width:44px;height:44px;border-radius:12px;font-size:22px}
.cc-v534-company-dashboard .cc-v531-action-copy h3{font-size:15px;margin-bottom:4px}
.cc-v534-company-dashboard .cc-v531-action-copy p{font-size:11px;line-height:1.6}
.cc-v534-company-dashboard .cc-v531-card-actions{margin-top:9px}
.cc-v534-company-dashboard .cc-v531-card-actions .btn{font-size:11px;padding:7px 10px}
.cc-v534-company-dashboard .cc-v531-footnote{font-size:10px;margin-top:10px}
@media(max-width:1400px){.cc-v534-company-dashboard .cc-v533-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.cc-v534-company-dashboard .cc-v533-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-v534-company-dashboard .cc-v531-hero{padding:12px 14px}}
@media(max-width:760px){.cc-v534-company-dashboard .cc-v533-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v534-company-dashboard .cc-v533-heading{align-items:flex-start}.cc-v534-company-dashboard .cc-v531-hero{align-items:flex-start}.cc-v534-company-dashboard .cc-v531-actions-grid{grid-template-columns:1fr}}
@media(max-width:480px){.cc-v534-company-dashboard .cc-v533-kpi-grid{grid-template-columns:1fr 1fr}.cc-v534-company-dashboard .cc-v533-finance-section{padding:10px}.cc-v534-company-dashboard .cc-v534-summary-chips>span{font-size:9px;padding:4px 7px}.cc-v534-company-dashboard .cc-v531-hero-mark{flex-basis:42px;width:42px;height:42px;font-size:16px}}

/* V538 universal page navigation */
.cc-v538-backbar{position:relative;z-index:2;padding:0 2px}.cc-v538-backbar .btn{min-height:34px;border-radius:9px}

/* ===== V543 personal workspace, tabbed inbox, and assigned-project launchers ===== */
.cc-v543-workspace{display:flex;flex-direction:column;gap:14px;max-width:1600px;margin:0 auto;padding:4px 0 28px;color:#10243d}
.cc-v543-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border:1px solid #d9e6f2;border-radius:18px;background:linear-gradient(120deg,#f6fbff 0%,#eef5ff 55%,#f8fbff 100%);box-shadow:0 5px 20px rgba(18,49,83,.045)}
.cc-v543-hero h1{font-size:clamp(23px,2vw,32px);line-height:1.35;margin:5px 0 8px;color:#102e55}
.cc-v543-hero p{margin:0;color:#58708d;line-height:1.8}
.cc-v543-role-line{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#e2efff;color:#22518b;font-size:12px;font-weight:700}
.cc-v543-date{white-space:nowrap;color:#526983;font-weight:600;font-size:13px}
.cc-v543-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cc-v543-stat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:right;padding:17px 18px;border:1px solid #e0e8f1;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(16,36,61,.045);cursor:pointer;color:#536b86}
.cc-v543-stat b{font-size:29px;line-height:1.1;color:#0f2f55}
.cc-v543-stat:hover{border-color:#92b9ed;transform:translateY(-1px)}
.cc-v543-tabbar{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:7px;border:1px solid #e0e8f1;border-radius:14px;background:#fff;scrollbar-width:thin}
.cc-v543-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:10px;background:#f5f8fc;color:#536982;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}
.cc-v543-tab.active{background:#145f90;color:#fff;border-color:#145f90;box-shadow:0 3px 10px rgba(20,95,144,.14)}
.cc-v543-tab span{font-size:16px}
.cc-v543-count{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;border-radius:999px;background:#e85c5c;color:#fff;font-size:10px;padding:0 4px}
.cc-v543-tab.active .cc-v543-count{background:#fff;color:#b42318}
.cc-v543-panel{display:flex;flex-direction:column;gap:14px;min-width:0}
.cc-v543-workspace .card{border:1px solid #e1e8f0;border-radius:16px;background:#fff;padding:18px;box-shadow:0 4px 16px rgba(16,36,61,.035);min-width:0}
.cc-v543-workspace .card h2{margin:0;font-size:18px;color:#102f54}
.cc-v543-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cc-v543-section-head .sub{margin:0;max-width:680px}
.cc-v543-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cc-v543-list-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf1f6}
.cc-v543-list-row:first-of-type{border-top:0}
.cc-v543-row-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#edf5ff;font-size:18px}
.cc-v543-row-main{min-width:0}
.cc-v543-row-main b{display:block;color:#172f4d;font-size:14px;line-height:1.55}
.cc-v543-row-main p{margin:4px 0;color:#596f88;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.cc-v543-row-main small{display:block;color:#8190a3;font-size:11px;line-height:1.6}
.cc-v543-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;align-items:center}
.cc-v543-row-actions .btn{font-size:11px;padding:7px 9px;white-space:nowrap}
.cc-v543-project-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}
.cc-v543-project-tab{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:15px;border:1px solid #dbe6f1;border-radius:13px;background:linear-gradient(180deg,#fff,#f9fbfe);color:#173759;text-align:right;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.cc-v543-project-tab:hover{border-color:#75a9e6;box-shadow:0 7px 18px rgba(23,73,122,.09);transform:translateY(-1px)}
.cc-v543-project-tab>b{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.cc-v543-project-tab small{color:#6b8098;font-size:11px}
.cc-v543-project-open{margin-top:5px;color:#1267b1;font-size:12px;font-weight:700}
.cc-v543-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.cc-v543-resp-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef6ff;border:1px solid #d8e8fb;color:#26537f;font-size:13px;font-weight:600}
.cc-v543-mini-project-tabs{margin:0}
.cc-v543-mini-project-tabs .cc-v543-project-tab{padding:9px 12px;gap:3px}
.cc-v543-mini-project-tabs .cc-v543-project-tab small{display:none}
@media(max-width:900px){.cc-v543-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v543-overview-grid{grid-template-columns:1fr}.cc-v543-hero{align-items:flex-start;flex-direction:column}.cc-v543-date{white-space:normal}}
@media(max-width:560px){.cc-v543-workspace .card{padding:13px}.cc-v543-hero{padding:17px}.cc-v543-stats{gap:8px}.cc-v543-stat{padding:12px}.cc-v543-stat b{font-size:24px}.cc-v543-list-row{grid-template-columns:32px minmax(0,1fr);gap:9px}.cc-v543-row-icon{width:31px;height:31px;font-size:15px}.cc-v543-row-actions{grid-column:2;justify-content:flex-start}.cc-v543-project-tabs{grid-template-columns:1fr 1fr}.cc-v543-project-tab{padding:11px}.cc-v543-tab{padding:9px 11px;font-size:12px}}

/* V544: hide BOQ financial values for users without explicit price access */
.boq-price-hidden{color:#777;text-align:center;font-weight:600;background:rgba(120,120,120,.06)}

/* V548: Project reporting and media gallery */
.cc-v543-workspace{max-width:none!important;width:calc(100% - 22px)!important;margin-right:0!important;margin-left:auto!important}
.cc-v548-report-form{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;max-width:100%;margin:14px 0 22px}
.cc-v548-report-form label{font-weight:700;color:#17406a;margin-top:5px}
.cc-v548-report-form input,.cc-v548-report-form select,.cc-v548-report-form textarea{width:100%;min-width:0;border:1px solid #cfdae7;border-radius:9px;padding:10px;background:#fff;color:#152d46;font:inherit}
.cc-v548-report-form textarea{resize:vertical}
.cc-v548-report-form .sub{font-size:12px;line-height:1.7}
.cc-v548-report-list{display:grid;gap:12px}
.cc-v548-report-card{border:1px solid #dbe5f0;border-radius:12px;padding:14px;background:#fbfdff;min-width:0}
.cc-v548-report-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cc-v548-report-head small,.cc-v548-media-grid small{color:#60748b;font-size:11px;overflow-wrap:anywhere}
.cc-v548-report-card p{white-space:pre-wrap;overflow-wrap:anywhere}
.cc-v548-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.cc-v548-media-grid a,.cc-v548-media-grid>div{display:flex;flex-direction:column;gap:6px;min-width:0;color:inherit;text-decoration:none}
.cc-v548-media-grid img,.cc-v548-media-grid video{width:100%;max-height:240px;object-fit:contain;background:#eef3f8;border-radius:8px}
@media(max-width:800px){.cc-v543-workspace{width:100%!important;margin:0!important;padding-inline:8px!important}}

/* V549 task assignment modal polish */
#ccV549TaskModal .modal{max-width:720px;width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}
#ccV549TaskModal .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#ccV549TaskModal .form-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
#ccV549TaskModal input,#ccV549TaskModal select,#ccV549TaskModal textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #cfdae7;border-radius:8px;font:inherit}
#ccV549TaskModal label:nth-child(3),#ccV549TaskModal label:nth-child(4){grid-column:1/-1}
@media(max-width:620px){#ccV549TaskModal .form-grid{grid-template-columns:1fr}#ccV549TaskModal label{grid-column:1/-1}}

/* V551: visible task assignment, outgoing messages and reports */
#ccV551Composer .modal{width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto}
#ccV551Composer .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#ccV551Composer .form-grid label,#ccV551ReportForm label{display:flex;flex-direction:column;gap:6px;min-width:0}
#ccV551Composer input,#ccV551Composer select,#ccV551Composer textarea,#ccV551ReportForm input,#ccV551ReportForm select,#ccV551ReportForm textarea{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #cfdae7;border-radius:8px;font:inherit}
#ccV551Composer label:nth-child(3),#ccV551Composer label:nth-child(4){grid-column:1/-1}
.cc-v551-report-form{display:grid;gap:10px;max-width:850px;margin:14px 0}
.cc-v551-report{border:1px solid #dbe5f0;border-radius:12px;padding:14px;margin:12px 0;background:#fbfdff}
.cc-v551-report small{display:block;color:#60748b;margin-top:5px}
.cc-v551-report p{white-space:pre-wrap;overflow-wrap:anywhere}
.cc-v551-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.cc-v551-media img,.cc-v551-media video{width:100%;max-height:240px;object-fit:contain;background:#eef3f8;border-radius:8px}
@media(max-width:620px){#ccV551Composer .form-grid{grid-template-columns:1fr}#ccV551Composer .form-grid label{grid-column:1/-1}}


/* V559: owner banner photo-first layout; no generated blue overlay */
body:has(.cc-v559-owner-banner) .cc-v498-owner-page .cc-v559-owner-banner{
  position:relative!important;isolation:isolate;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:198px!important;width:100%;box-sizing:border-box;overflow:hidden;cursor:pointer;
  padding:20px 30px!important;margin-bottom:16px;border-radius:18px;
  background:#f2f5f2!important;color:#172b42!important;border:1px solid #e1e8e2;
  box-shadow:0 8px 24px rgba(28,48,36,.08)!important;flex-direction:row!important;
}
.cc-v559-owner-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.24;z-index:-1;pointer-events:none;filter:none!important;mix-blend-mode:normal}
.cc-v559-owner-identity{position:relative;z-index:1;display:flex;align-items:center;gap:24px;width:100%;min-width:0}
.cc-v559-owner-avatar-wrap{width:142px;height:142px;min-width:142px;flex:0 0 142px;border-radius:50%;overflow:hidden;background:#fff;border:4px solid rgba(255,255,255,.94);box-shadow:0 5px 20px rgba(20,35,25,.16)}
.cc-v559-owner-avatar{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#e8eee9;border:0;box-shadow:none}
.cc-v559-owner-avatar-empty{display:flex;align-items:center;justify-content:center;color:#637468;font-size:48px;font-weight:300;background:rgba(255,255,255,.72)}
.cc-v559-owner-name{position:relative;z-index:1;margin:0!important;padding:0!important;color:#172b42!important;font-size:clamp(28px,3vw,42px)!important;line-height:1.25;font-weight:800;text-shadow:0 1px 1px rgba(255,255,255,.6)}
.cc-v559-owner-banner:focus-visible{outline:3px solid #5b8068;outline-offset:3px}
.cc-v559-owner-banner:hover .cc-v559-owner-avatar-wrap{box-shadow:0 7px 24px rgba(20,35,25,.22)}
.cc-v559-owner-banner:hover .cc-v559-owner-cover{opacity:.29}
@media(max-width:700px){
  body:has(.cc-v559-owner-banner) .cc-v498-owner-page .cc-v559-owner-banner{min-height:146px!important;padding:14px 16px!important}
  .cc-v559-owner-identity{gap:14px}
  .cc-v559-owner-avatar-wrap{width:104px;height:104px;min-width:104px;flex-basis:104px;border-width:3px}
  .cc-v559-owner-name{font-size:25px!important}
}


/* V560: owner avatar and banner cover are independent images and controls */
.cc-v560-owner-banner{cursor:default!important;position:relative!important}
.cc-v560-owner-cover{object-fit:cover;object-position:center 42%;opacity:.25;filter:none!important;mix-blend-mode:normal;pointer-events:none}
.cc-v560-owner-identity{align-items:center;gap:24px}
.cc-v560-owner-avatar-target{cursor:pointer;position:relative;outline-offset:4px}
.cc-v560-owner-avatar-target:focus-visible{outline:3px solid #5b8068}
.cc-v560-owner-copy{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;position:relative;z-index:1}
.cc-v560-owner-job{font-size:16px;font-weight:700;color:#43594a;line-height:1.5;text-shadow:0 1px 1px rgba(255,255,255,.65)}
.cc-v560-cover-edit{position:absolute;inset-inline-end:14px;top:14px;z-index:3;width:34px;height:34px;border:1px solid rgba(70,90,74,.22);border-radius:50%;background:rgba(255,255,255,.78);color:#42594a;font-size:19px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(20,35,25,.10)}
.cc-v560-cover-edit:hover{background:#fff;box-shadow:0 3px 12px rgba(20,35,25,.18)}
.cc-v560-owner-banner:hover .cc-v560-owner-cover{opacity:.25}
@media(max-width:700px){.cc-v560-owner-identity{gap:14px}.cc-v560-owner-job{font-size:13px}.cc-v560-cover-edit{width:30px;height:30px;inset-inline-end:9px;top:9px}}

/* V561: full-quality images with independent positioning and zoom controls */
.cc-v560-owner-cover{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.cc-v560-owner-banner:hover .cc-v560-owner-cover{opacity:1!important}
.cc-v561-owner-cover-image,.cc-v561-owner-avatar-image{transform:translate(var(--cc-v561-image-x,0%),var(--cc-v561-image-y,0%)) scale(var(--cc-v561-image-zoom,1));transform-origin:center center;transition:none!important;will-change:transform}
.cc-v561-owner-cover-image{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.cc-v561-owner-avatar-image{opacity:1!important;filter:none!important}
.cc-v560-owner-avatar-target{position:relative}
.cc-v561-avatar-edit-hint{position:absolute;inset-inline-end:5px;bottom:5px;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:#314a3b;border:1px solid rgba(49,74,59,.2);box-shadow:0 2px 7px rgba(0,0,0,.18);font-size:15px;pointer-events:none}
.cc-v561-editor-backdrop{position:fixed;inset:0;z-index:15000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,25,32,.62);overflow:auto}
.cc-v561-editor{width:min(920px,96vw);max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#172b42;border:1px solid #dce4e8;border-radius:16px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.28);direction:rtl}
.cc-v561-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.cc-v561-editor-head h2{margin:0 0 5px;font-size:19px;color:#17364a}
.cc-v561-editor-head p{margin:0;color:#647587;font-size:13px;line-height:1.7}
.cc-v561-editor-close{flex:0 0 36px;width:36px;height:36px;border:1px solid #d7e0e6;border-radius:9px;background:#f7f9fa;color:#334b5b;font-size:24px;line-height:1;cursor:pointer}
.cc-v561-editor-stage{position:relative;overflow:hidden;background:#e9eeeb;border:1px solid #cdd8d1;touch-action:none;user-select:none;cursor:grab;margin:0 auto 16px}
.cc-v561-editor-stage.is-dragging{cursor:grabbing}
.cc-v561-editor-stage.is-cover{width:100%;aspect-ratio:8/1;min-height:125px;max-height:230px;border-radius:11px}
.cc-v561-editor-stage.is-avatar{width:min(270px,70vw);aspect-ratio:1/1;border-radius:50%;border-width:3px}
.cc-v561-editor-stage img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;pointer-events:none;transform:translate(var(--cc-v561-image-x,0%),var(--cc-v561-image-y,0%)) scale(var(--cc-v561-image-zoom,1));transform-origin:center center;will-change:transform}
.cc-v561-editor-controls{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;margin:0 0 14px}
.cc-v561-editor-controls label{font-size:13px;font-weight:700;color:#354c5c}
.cc-v561-editor-controls label strong{display:inline-block;margin-inline-start:7px;min-width:52px;color:#176b55;font-variant-numeric:tabular-nums}
.cc-v561-editor-controls input{grid-column:1/-1;width:100%;accent-color:#427d66;cursor:pointer}
.cc-v561-editor-tip{grid-column:1/-1;margin:0;color:#728092;font-size:12px;line-height:1.6}
.cc-v561-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0f2;padding-top:14px}
.cc-v561-editor-actions .btn{margin:0!important}
.cc-v561-editor-spacer{flex:1 1 auto}
@media(max-width:650px){
 .cc-v561-editor-backdrop{padding:8px;align-items:flex-start}
 .cc-v561-editor{width:100%;max-height:calc(100vh - 16px);padding:13px;border-radius:13px;margin:auto 0}
 .cc-v561-editor-stage.is-cover{aspect-ratio:5/1;min-height:100px}
 .cc-v561-editor-actions{gap:7px}
 .cc-v561-editor-actions .btn{font-size:12px;padding:8px 10px!important}
 .cc-v561-editor-spacer{display:none}
}

/* V562: centered zoom and reliable two-axis image positioning. */
.cc-v561-owner-cover-image,
.cc-v561-owner-avatar-image{position:absolute!important;inset:auto!important;left:50%;top:50%;right:auto!important;bottom:auto!important;max-width:none!important;max-height:none!important;object-fit:fill!important;object-position:center!important;transform-origin:center center!important;transition:none!important;will-change:transform;}
.cc-v560-owner-banner{overflow:hidden!important;}
.cc-v560-owner-avatar-target{overflow:hidden!important;}
.cc-v562-editor-stage{position:relative;overflow:hidden;background:#e9eeeb;border:1px solid #cdd8d1;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;margin:0 auto 16px;}
.cc-v562-editor-stage.is-dragging{cursor:grabbing;}
.cc-v562-editor-stage.is-cover{width:100%;aspect-ratio:8/1;min-height:125px;max-height:230px;border-radius:11px;}
.cc-v562-editor-stage.is-avatar{width:min(270px,70vw);aspect-ratio:1/1;border-radius:50%;border-width:3px;}
.cc-v562-editor-stage img{position:absolute;left:50%;top:50%;right:auto;bottom:auto;width:auto;height:auto;max-width:none;max-height:none;object-fit:fill;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform;}
.cc-v562-editor-controls input[type="range"]{direction:ltr!important;}
@media(max-width:650px){.cc-v562-editor-stage.is-cover{aspect-ratio:5/1;min-height:100px;}}


/* V563: universal self-service password controls for all signed-in users. */
.cc-v563-password-button{white-space:nowrap;font-size:12px!important;padding:8px 11px!important;}
.cc-v563-password-modal{width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 30px);overflow:auto;padding:20px!important;}
.cc-v563-password-modal .field{margin:12px 0;}
.cc-v563-password-modal .field label{display:block;font-size:13px;font-weight:700;color:#334155;}
.cc-v563-password-modal .field input{box-sizing:border-box;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd8e3;border-radius:9px;background:#fff;color:#172b42;}
.cc-v563-password-account{color:#52677c;font-size:12px;line-height:1.7;margin:8px 0 14px;}
.cc-v563-password-hint{font-size:11px;color:#75869a;line-height:1.7;margin:10px 0;}
.cc-v563-password-error,.cc-v563-password-success{padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.7;margin:9px 0;}
.cc-v563-password-error{background:#fff0ef;color:#9c3229;}
.cc-v563-password-success{background:#e9f8f0;color:#176b45;}
.cc-v563-forgot-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid #edf1f5;font-size:11px;color:#748397;line-height:1.7;}
.cc-v563-forgot-link{border:0;background:transparent;color:#176b94;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;cursor:pointer;padding:0;white-space:nowrap;}
@media(max-width:700px){.cc-v563-password-button{font-size:11px!important;padding:7px 8px!important}.cc-v563-password-modal{padding:15px!important}.home-user{flex-wrap:wrap;}}


/* V564: make both password routes easy to identify. */
.cc-v501-forgot-row{align-items:center;}
.cc-v501-forgot-link{font-weight:700;}
.cc-v564-login-recovery-note{display:block;margin-top:3px;color:#75869a;font-size:11px;line-height:1.6;}


/* V565: dedicated, full-screen password recovery and OTP password-change UI. */
.cc-v565-recovery-screen .login-card{direction:ltr}
.cc-v565-recovery-screen .login-form-panel{direction:rtl;gap:12px}
.cc-v565-recovery-screen .login-form-panel h1{margin:0 0 2px}
.cc-v565-recovery-screen .login-form-panel>p{color:#63758a;line-height:1.8;margin:0 0 12px}
.cc-v565-recovery-screen .login-form-panel .field{margin:12px 0}
.cc-v565-recovery-screen .login-form-panel .field label{display:block;font-weight:700;font-size:13px}
.cc-v565-recovery-screen .login-form-panel .field input,
.cc-v565-recovery-screen .login-form-panel .field select{box-sizing:border-box;width:100%;margin-top:7px;padding:12px;border:1px solid #cfd8e3;border-radius:10px;background:#fff;color:#172b42}
.cc-v565-recovery-screen .cc-v565-back-login{width:100%;margin-top:9px}
.cc-v565-demo-notice{margin:10px 0 14px;padding:12px;border:1px solid #ecd59a;border-right:4px solid #d4a33b;border-radius:10px;background:#fff9e9;color:#6f531d;font-size:12px;line-height:1.8}
.cc-v565-demo-notice code{display:inline-block;direction:ltr;background:#fff;padding:3px 8px;border-radius:6px;font-size:19px;letter-spacing:3px}
.cc-v565-contact-line{font-size:12px;color:#63758a;line-height:1.8}
.cc-v565-inside-intro{font-size:12px;color:#63758a;line-height:1.8;margin:8px 0 12px}
.cc-v565-password-modal{max-height:calc(100vh - 28px);overflow:auto}
.cc-v565-inside-backdrop{z-index:10020}
.cc-v565-password-modal .field{margin:12px 0}
.cc-v565-password-modal .field label{display:block;font-size:13px;font-weight:700;color:#334155}
.cc-v565-password-modal .field input,.cc-v565-password-modal .field select{box-sizing:border-box;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cfd8e3;border-radius:9px;background:#fff;color:#172b42}
.cc-v565-password-modal .modal-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-start;margin-top:15px}
@media(max-width:760px){
 .cc-v565-recovery-screen{padding:16px!important}
 .cc-v565-recovery-screen .login-card{width:min(560px,calc(100vw - 32px));min-height:auto;grid-template-columns:1fr}
 .cc-v565-recovery-screen .login-brand-panel{min-height:220px;padding:24px 18px}
 .cc-v565-recovery-screen .login-logo-image{width:76px;height:76px}
 .cc-v565-recovery-screen .login-signature-image{width:150px}
 .cc-v565-recovery-screen .login-form-panel{padding:24px!important}
 .cc-v565-password-modal{padding:15px!important}
}


/* V567 unified role-based access center */
.cc-v567-intro,.cc-v567-security-note{border-inline-start:4px solid #2c7898;background:linear-gradient(110deg,#f7fbfd,#fff)}
.cc-v567-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cc-v567-section-head h2{margin:0 0 6px;font-size:20px}
.cc-v567-select-label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 16px;font-weight:700}
.cc-v567-select-label select{min-width:260px;max-width:100%;padding:10px 12px;border:1px solid #cbd8e4;border-radius:10px;background:#fff;color:#20364d}
.cc-v567-matrix-wrap{display:grid;gap:14px;margin:12px 0 18px}
.cc-v567-matrix-wrap h4{margin:8px 0 2px;color:#1c405d}
.cc-v567-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px}
.cc-v567-data-item{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #dbe5ee;border-radius:10px;background:#fbfdff;min-height:48px}
.cc-v567-data-item input{width:17px;height:17px;accent-color:#237493;flex:0 0 auto}
.cc-v567-perm-row{border:1px solid #e0e8ef;border-radius:10px;padding:10px;margin:7px 0}
.cc-v567-employee-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;border-radius:10px;background:#f2f7fa;border:1px solid #dce8ef}
.cc-v567-employee-summary small{width:100%;color:#667b8e}
.cc-v567-role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.cc-v567-role-cards article{padding:14px;border:1px solid #dfe8ef;border-radius:12px;background:#fcfdfe}
.cc-v567-role-cards p{margin:8px 0 0;line-height:1.7;color:#63788b}
.cc-v567-warning{margin-top:16px;padding:12px;border-radius:10px;background:#fff8e8;color:#7a5a17;line-height:1.8}
.cc-v567-price-locked{margin:14px 0;padding:13px;border:1px dashed #c7d6e3;border-radius:10px;background:#f8fbfd;color:#536a7d}
.boq-price-hidden{color:#94a3b8}
@media(max-width:700px){.cc-v567-select-label{align-items:stretch;flex-direction:column}.cc-v567-select-label select{width:100%;min-width:0}}


/* V568: compact company user list, details dialog, search and pagination. */
.cc-v568-users-card{min-width:0}
.cc-v568-users-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cc-v568-users-head h3{margin:0 0 4px}
.cc-v568-users-head .sub{margin:0;line-height:1.6}
.cc-v568-user-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:10px;margin:12px 0 14px;padding:12px;background:#f7f9fb;border:1px solid #e3eaf0;border-radius:11px}
.cc-v568-user-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#53677b;min-width:0}
.cc-v568-user-filters input,.cc-v568-user-filters select{width:100%;box-sizing:border-box;min-width:0;padding:9px 10px;border:1px solid #d3dee8;border-radius:8px;background:#fff;color:#20364d;font:inherit;font-weight:400}
.cc-v568-users-table-wrap{overflow:auto;max-width:100%}
#ccV568CompanyUsersTable{width:100%;min-width:1080px}
#ccV568CompanyUsersTable th,#ccV568CompanyUsersTable td{vertical-align:middle;padding:9px 8px;line-height:1.45}
#ccV568CompanyUsersTable td .sub{font-size:11px;line-height:1.45;margin-top:3px;max-width:240px}
#ccV568CompanyUsersTable .cc-v568-details-btn{white-space:nowrap;padding:7px 10px!important;font-size:12px!important}
#ccV568CompanyUsersTable tr[data-cc-v568-user-row]{height:62px}
.cc-v568-users-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #e8edf2;color:#60758a;font-size:12px}
.cc-v568-pager-actions{display:flex;align-items:center;gap:10px}
.cc-v568-pager-actions .btn{margin:0!important;padding:7px 12px!important;font-size:12px!important}
.cc-v568-pager-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.cc-v568-details-backdrop{position:fixed;inset:0;z-index:10060;background:rgba(15,29,43,.58);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto;direction:rtl}
.cc-v568-details-modal{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dce5ed;border-radius:16px;padding:20px;box-shadow:0 24px 80px rgba(15,32,48,.28)}
.cc-v568-details-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:13px;border-bottom:1px solid #e8edf2}
.cc-v568-details-head .label{font-size:11px;color:#6d8398;margin-bottom:5px}
.cc-v568-details-head h2{font-size:21px;margin:0 0 4px;color:#183b57}
.cc-v568-details-head p{margin:0;color:#6b7f91;font-size:12px;line-height:1.6}
.cc-v568-details-head .btn{min-width:38px;padding:7px!important;font-size:18px!important}
.cc-v568-details-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.cc-v568-details-meta>div{min-width:0;padding:10px;border:1px solid #e3eaf0;border-radius:9px;background:#f8fafc}
.cc-v568-details-meta small{display:block;color:#77889a;font-size:11px;margin-bottom:4px}
.cc-v568-details-meta b{display:block;color:#263f55;font-size:12px;overflow-wrap:anywhere;line-height:1.55}
.cc-v568-details-section{padding:13px 0;border-top:1px solid #edf1f4}
.cc-v568-details-section h3{margin:0 0 10px;font-size:15px;color:#254c68}
.cc-v568-responsibility-list{margin:0;padding:0 20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px}
.cc-v568-responsibility-list li{font-size:13px;color:#394f63;line-height:1.65}
.cc-v568-empty-details{padding:12px;border:1px dashed #d7e1e9;border-radius:9px;color:#7a8b9b;font-size:12px;background:#fafcfd}
.cc-v568-perm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cc-v568-perm-summary>div{border:1px solid #e2e9ef;border-radius:9px;padding:9px 11px;min-width:0}
.cc-v568-perm-summary b{display:block;font-size:12px;color:#304e67;margin-bottom:4px}
.cc-v568-perm-summary span{display:block;color:#718295;font-size:11px;line-height:1.6}
.cc-v568-chip-list{display:flex;gap:7px;flex-wrap:wrap}
.cc-v568-chip-list span{display:inline-flex;padding:6px 9px;border-radius:18px;background:#eef5f8;color:#315a73;font-size:11px;border:1px solid #dbe8ee}
.cc-v568-details-foot{display:flex;justify-content:flex-start;padding-top:12px;border-top:1px solid #edf1f4}
@media(max-width:850px){.cc-v568-user-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v568-details-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cc-v568-user-filters{grid-template-columns:1fr}.cc-v568-details-backdrop{padding:7px;align-items:flex-start}.cc-v568-details-modal{width:100%;max-height:calc(100vh - 14px);padding:13px;border-radius:12px;margin:auto 0}.cc-v568-details-meta,.cc-v568-perm-summary{grid-template-columns:1fr 1fr}.cc-v568-responsibility-list{grid-template-columns:1fr}.cc-v568-users-pager{align-items:flex-start;flex-direction:column}}

/* V569 — employee work-center communication and assignment controls */
.cc-v569-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.cc-v569-subhead{margin-top:20px;padding-top:14px;border-top:1px solid #e9eef4;color:#244462}
.cc-v569-composer-modal{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 32px);overflow:auto}
.cc-v569-composer-modal .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cc-v569-composer-modal .form-grid label{display:flex;flex-direction:column;gap:6px;color:#40556d;font-size:13px;font-weight:700}
.cc-v569-composer-modal input,.cc-v569-composer-modal select,.cc-v569-composer-modal textarea{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d2dce8;border-radius:9px;background:#fff;color:#172b42;font:inherit;font-size:13px}
.cc-v569-composer-modal textarea{min-height:112px;resize:vertical;line-height:1.7}
.cc-v569-demo-note{margin:14px 0 8px;padding:10px 12px;border:1px solid #d8e7f4;border-radius:9px;background:#f5f9fd;color:#657b91;font-size:11px;line-height:1.7}
.cc-v569-composer-modal .modal-actions{display:flex;gap:8px;justify-content:flex-start;flex-wrap:wrap;margin-top:12px}
@media(max-width:620px){.cc-v569-composer-modal .form-grid{grid-template-columns:1fr}.cc-v569-head-actions{width:100%}.cc-v569-head-actions .btn{flex:1}}

/* V570 — task delivery, review and employee performance */
.cc-v570-task-card{border:1px solid var(--line,#dce5ee);border-radius:14px;padding:14px;margin:12px 0;background:var(--card,#fff);display:flex;flex-direction:column;gap:9px;min-width:0}
.cc-v570-task-card>header,.cc-v570-task-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.cc-v570-task-card>header>b{font-size:15px}.cc-v570-task-card p{margin:0;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.cc-v570-task-card small{color:var(--muted,#718096);line-height:1.7}
.cc-v570-attachments{border-top:1px dashed var(--line,#dce5ee);padding-top:9px;display:flex;flex-direction:column;gap:7px}.cc-v570-attachments>div{display:flex;gap:7px;flex-wrap:wrap}.cc-v570-file{max-width:100%;white-space:normal;overflow-wrap:anywhere}.cc-v570-file small{margin-inline-start:5px}
.cc-v570-report,.cc-v570-subtle,.cc-v570-return-note,.cc-v570-eval-summary{border-radius:10px;padding:10px;background:#f5f8fc;display:flex;flex-direction:column;gap:6px}.cc-v570-return-note{background:#fff6e8;color:#7d4a00}.cc-v570-eval-summary{background:#edf8f2;color:#176b47;flex-direction:row;justify-content:space-between;flex-wrap:wrap}
.cc-v570-modal{width:min(860px,96vw);max-height:90vh;overflow:auto}.cc-v570-modal label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-weight:600}.cc-v570-modal input,.cc-v570-modal select,.cc-v570-modal textarea{width:100%;border:1px solid var(--line,#cfd9e4);border-radius:9px;padding:10px;background:#fff;color:inherit}.cc-v570-modal textarea{resize:vertical;min-height:90px}.cc-v570-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cc-v570-score-grid label{padding:10px;border:1px solid var(--line,#dce5ee);border-radius:10px;margin:0}.cc-v570-performance-summary{display:flex;align-items:center;gap:18px;padding:16px;background:#f1f7ff;border-radius:12px;margin:12px 0}.cc-v570-performance-summary b{font-size:28px;color:#176b9a}.cc-v570-performance-summary small{color:var(--muted,#718096)}
@media(max-width:640px){.cc-v570-score-grid{grid-template-columns:1fr}.cc-v570-task-card>footer{align-items:stretch}.cc-v570-task-card>footer .btn{flex:1}.cc-v570-performance-summary{flex-wrap:wrap}}
.cc-v570-takeoff-editor{border:1px solid var(--line,#dce5ee);border-radius:12px;padding:12px;margin:12px 0}.cc-v570-takeoff-row{display:grid;grid-template-columns:1.4fr .65fr .65fr 1fr 1fr auto;gap:7px;margin:8px 0}.cc-v570-takeoff-row input{min-width:0;border:1px solid var(--line,#cfd9e4);border-radius:8px;padding:8px}.cc-v570-takeoff-view{margin:10px 0;border:1px solid var(--line,#dce5ee);border-radius:10px;padding:10px}.cc-v570-takeoff-scroll{overflow:auto}.cc-v570-takeoff-view table{border-collapse:collapse;width:100%;min-width:560px}.cc-v570-takeoff-view th,.cc-v570-takeoff-view td{padding:8px;border-bottom:1px solid var(--line,#e5eaf0);text-align:right;font-size:12px}@media(max-width:700px){.cc-v570-takeoff-row{grid-template-columns:1fr 1fr}.cc-v570-takeoff-row input:first-child,.cc-v570-takeoff-row input:nth-child(4),.cc-v570-takeoff-row input:nth-child(5){grid-column:span 2}}


/* V571 — visible attachments in messages, tasks, approvals and report submissions */
.cc-v571-composer-modal{width:min(900px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
.cc-v571-composer-modal form{display:block}.cc-v571-upload-panel{border:1px dashed #8eb4d1;background:#f5faff;border-radius:13px;padding:14px;display:flex;flex-direction:column;gap:10px;margin:8px 0}
.cc-v571-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#1d4f70}.cc-v571-upload-heading span,.cc-v571-upload-limits{font-size:12px;color:#6d8499}
.cc-v571-upload-picker{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;border:1px solid #bfd3e4;border-radius:10px;background:#fff;padding:13px;cursor:pointer;text-align:center;color:#1b6289;font-weight:700}
.cc-v571-upload-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cc-v571-upload-picker span{border-radius:8px;background:#e7f2fa;padding:8px 14px}.cc-v571-upload-picker small{font-weight:400;color:#6d8499}
.cc-v571-selected-files{display:grid;gap:6px}.cc-v571-selected-file,.cc-v571-attachment-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e0e9f1;border-radius:9px;background:#fff;min-width:0}.cc-v571-selected-file span,.cc-v571-attachment-item>span:first-child{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.cc-v571-selected-file small,.cc-v571-attachment-item small{color:#788b9d;font-size:11px;white-space:nowrap}.cc-v571-remove-file{border:0;background:#fff0f0;color:#9b3030;border-radius:7px;width:28px;height:28px;cursor:pointer;font-size:18px;flex:0 0 auto}.cc-v571-no-files{display:block;padding:8px 4px;color:#8192a3;font-size:12px}
.cc-v571-attachments>div{display:grid!important;gap:7px}.cc-v571-attachment-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cc-v571-attachment-item .btn{padding:6px 10px;min-height:32px;font-size:12px}
.cc-v571-preview-backdrop{z-index:10050}.cc-v571-preview-modal{width:min(1000px,calc(100vw - 24px));max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden}.cc-v571-preview-modal>.modal-head{flex:0 0 auto}.cc-v571-preview-image-wrap{background:#f0f3f6;display:flex;justify-content:center;align-items:center;overflow:auto;min-height:220px;max-height:70vh;padding:12px}.cc-v571-preview-image-wrap img{max-width:100%;max-height:65vh;object-fit:contain}.cc-v571-preview-pdf{width:100%;height:min(70vh,760px);border:0;background:#f2f4f6}.cc-v571-preview-text{max-height:65vh;overflow:auto;white-space:pre-wrap;direction:auto;text-align:start;padding:14px;background:#f7f9fb;border-radius:8px;font:13px/1.7 monospace}.cc-v571-preview-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:35px 18px;text-align:center;min-height:220px}.cc-v571-preview-unsupported small{color:#71859a;max-width:560px;line-height:1.8}.cc-v571-preview-modal .modal-actions{padding:10px 0 0;margin-top:auto}
@media(max-width:640px){.cc-v571-upload-heading{align-items:flex-start;flex-direction:column}.cc-v571-attachment-item{align-items:flex-start;flex-direction:column}.cc-v571-attachment-actions{width:100%}.cc-v571-attachment-actions .btn{flex:1}}

/* V572 — BOQ immutable revision management */
.cc-v572-revision-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 15px;border:1px solid #d8e6ef;border-radius:12px;background:#f6fafe;color:#203b53}
.cc-v572-revision-banner b,.cc-v572-revision-banner small{display:block}.cc-v572-revision-banner small{margin-top:4px;color:#718397;font-size:11px;line-height:1.7}
.cc-v572-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.cc-v572-status.active{background:#e4f6ec;color:#187347}.cc-v572-status.pending{background:#fff3d8;color:#8d6208}.cc-v572-status.draft{background:#eaf2ff;color:#28619c}.cc-v572-status.archived{background:#eef1f5;color:#66758a}
.cc-v572-revision-modal,.cc-v572-history-modal{width:min(1120px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:22px}
.cc-v572-revision-modal .modal-head,.cc-v572-history-modal .modal-head{align-items:flex-start}.cc-v572-revision-modal .modal-head h3,.cc-v572-history-modal .modal-head h3{margin:0 0 5px}.cc-v572-revision-modal .modal-head p,.cc-v572-history-modal .modal-head p{margin:0}
.cc-v572-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.cc-v572-summary-grid>div{padding:12px;border:1px solid #e0e8ef;border-radius:10px;background:#f8fbfd;text-align:center}.cc-v572-summary-grid b,.cc-v572-summary-grid span{display:block}.cc-v572-summary-grid b{font-size:23px;color:#17496c}.cc-v572-summary-grid span{font-size:11px;color:#718397;margin-top:3px}
.cc-v572-diff-wrap{max-width:100%;overflow:auto;border:1px solid #e3eaf1;border-radius:10px;margin:12px 0}.cc-v572-diff{width:100%;min-width:760px;border-collapse:collapse}.cc-v572-diff th,.cc-v572-diff td{padding:10px 9px;border-bottom:1px solid #edf1f5;text-align:right;font-size:12px;vertical-align:middle;white-space:nowrap}.cc-v572-diff th{background:#f5f8fb;color:#52677d;font-weight:800}.cc-v572-diff tr:last-child td{border-bottom:0}.cc-v572-change-tag{display:inline-block;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:800;background:#eef2f7;color:#5d6b7a;white-space:normal;max-width:180px}.cc-v572-change-tag.new{background:#e8f7ee;color:#167349}.cc-v572-change-tag.increase{background:#e8f3ff;color:#1769aa}.cc-v572-change-tag.decrease{background:#fff4de;color:#946507}.cc-v572-change-tag.removed{background:#ffeded;color:#a33434}.cc-v572-change-tag.price{background:#f1eaff;color:#7041a6}.cc-v572-change-tag.changed{background:#eef2f7;color:#526276}
.cc-v572-revision-meta{margin-top:14px;align-items:end}.cc-v572-revision-meta label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#465b70}.cc-v572-revision-meta input:not([type=checkbox]){width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #cfdae5;border-radius:8px;background:#fff;color:#20384e}.cc-v572-variation-check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;padding:12px;border:1px solid #e1e8ef;border-radius:9px;background:#f8fafc}.cc-v572-variation-check input{width:18px;height:18px}.cc-v572-new-rate{width:110px;padding:7px;border:1px solid #cfdae5;border-radius:7px;direction:ltr;text-align:left}.cc-v572-warning,.cc-v572-pending-note{margin:12px 0;padding:12px 14px;border-radius:9px;font-size:12px;line-height:1.7}.cc-v572-warning{background:#fff8e8;border:1px solid #f2dfa9;color:#785a1c}.cc-v572-pending-note{background:#edf6ff;border:1px solid #cfe2f4;color:#315e81}.cc-v572-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.cc-v572-approve{background:#157449!important}.cc-v572-footnote{display:block;color:#78899b;margin-top:12px;font-size:11px;line-height:1.7}
.cc-v572-history-list{display:grid;gap:9px;margin:14px 0}.cc-v572-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #e1e9f0;border-radius:10px;background:#fbfdff}.cc-v572-history-row>div{min-width:0}.cc-v572-history-row b{margin-inline-end:8px}.cc-v572-history-row p{margin:5px 0;color:#40576e;font-size:12px}.cc-v572-history-row small{color:#7c8ca0;font-size:10px}.cc-v572-order-row{display:flex;gap:12px;align-items:center;padding:9px 11px;border:1px solid #ece3d3;border-radius:8px;background:#fffaf1;margin:7px 0;font-size:12px}.cc-v572-order-row small{color:#8a681f;margin-inline-start:auto}
.cc-v572-revision-banner+.boq-actions{align-items:center}
@media(max-width:760px){.cc-v572-revision-banner{align-items:flex-start;flex-direction:column}.cc-v572-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v572-revision-modal,.cc-v572-history-modal{padding:14px}.cc-v572-history-row{align-items:flex-start;flex-direction:column}.cc-v572-history-row .btn{width:100%}}


/* V574 — revision status is a neutral, separate field; history comparison expands on demand. */
.cc-v574-boq-status{white-space:normal;min-width:110px;color:#45596e;font-size:12px;line-height:1.6;font-weight:600}
.cc-v574-history-row{align-items:flex-start;flex-wrap:wrap}
.cc-v574-history-main{flex:1 1 650px;min-width:0}
.cc-v574-history-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-v574-history-details{margin-top:10px;border-top:1px solid #e7edf2;padding-top:8px}
.cc-v574-history-details>summary{cursor:pointer;color:#34495e;font-weight:600;font-size:12px;user-select:none;outline-offset:3px}
.cc-v574-history-table-wrap{max-width:100%;overflow:auto;margin-top:9px;border:1px solid #e3eaf0;border-radius:8px}
.cc-v574-history-table{width:100%;border-collapse:collapse;min-width:560px;font-size:12px;background:#fff}
.cc-v574-history-table th,.cc-v574-history-table td{padding:9px 10px;text-align:right;border-bottom:1px solid #edf1f5;white-space:nowrap}
.cc-v574-history-table th{background:#f5f8fa;color:#53677b;font-weight:700}
.cc-v574-history-table tr:last-child td{border-bottom:0}
.cc-v574-state-cell{color:#45596e;font-weight:600}
.cc-v574-history-empty{padding:12px;color:#718096;font-size:12px}
@media(max-width:760px){.cc-v574-history-main{flex-basis:100%}.cc-v574-history-row>.btn{width:100%}.cc-v574-history-table{min-width:520px}}


/* V575 — revision report, old/new monetary comparison and readable status colors. */
.cc-v575-history-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}
.cc-v575-history-actions .btn{font-size:11px;padding:7px 10px}
.cc-v575-state-tag{display:inline-block;border-radius:6px;padding:4px 7px;margin:2px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.cc-v575-state-tag.new{background:#e7f6ed;color:#176b3a;border-color:#c2e8cf}
.cc-v575-state-tag.increase{background:#e8f7ef;color:#087443;border-color:#bde6ce}
.cc-v575-state-tag.decrease{background:#fff4df;color:#946200;border-color:#f3dfae}
.cc-v575-state-tag.price{background:#eaf2ff;color:#245eab;border-color:#cbdcf8}
.cc-v575-state-tag.changed{background:#f0edff;color:#5d4aa3;border-color:#ded7fb}
.cc-v575-state-tag.removed{background:#ffeded;color:#a62e35;border-color:#f5caca}
.cc-v575-table-wrap{max-width:100%;overflow:auto;margin:10px 0;border:1px solid #dfe7ef;border-radius:10px;background:#fff}
.cc-v575-table{width:100%;border-collapse:collapse;min-width:850px;font-size:12px}
.cc-v575-table th,.cc-v575-table td{padding:9px 10px;text-align:right;border-bottom:1px solid #e9eef3;vertical-align:middle;white-space:nowrap}
.cc-v575-table th{background:#f1f5f9;color:#40566c;font-weight:800}
.cc-v575-table tr:last-child td{border-bottom:0}
.cc-v575-table .cc-v575-code{display:block;color:#8493a3;font-size:10px;margin-top:3px}
.cc-v575-row-new{background:#f5fbf7}.cc-v575-row-removed{background:#fff7f7}
.cc-v575-positive{color:#087443;font-weight:800}.cc-v575-negative{color:#b33c3c;font-weight:800}
.cc-v575-report-modal{width:min(1450px,96vw);max-width:1450px;max-height:92vh;overflow:auto}
.cc-v575-report-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#718096;font-size:12px;margin:7px 0 12px}
.cc-v575-cards{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:8px;margin:12px 0}
.cc-v575-cards>div,.cc-v575-total-grid>div{padding:11px;border:1px solid #dfe8ef;border-radius:9px;background:#f8fafc;text-align:center}
.cc-v575-cards b,.cc-v575-cards span,.cc-v575-total-grid b,.cc-v575-total-grid span{display:block}
.cc-v575-cards b{font-size:20px;color:#183b59}.cc-v575-cards span,.cc-v575-total-grid span{font-size:11px;color:#74869a;margin-top:4px}
.cc-v575-total-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:9px;margin:12px 0}
.cc-v575-total-grid b{font-size:19px;color:#163c5c;margin-top:5px}
.cc-v575-total-grid .cc-v575-total-up b{color:#b47715}.cc-v575-total-grid .cc-v575-total-down b{color:#16804e}
.cc-v575-privacy-note{padding:12px;background:#f5f8fb;border:1px solid #dfe8ef;border-radius:9px;color:#62768a;font-size:12px;margin:12px 0}
.cc-v575-report-note{display:block;color:#8090a1;font-size:11px;margin-top:9px;line-height:1.7}
@media(max-width:760px){.cc-v575-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v575-total-grid{grid-template-columns:1fr}.cc-v575-report-modal{padding:12px}.cc-v575-history-actions{width:100%}.cc-v575-history-actions .btn{flex:1}}


/* V577 — BOQ operational pause/resume states */
.cc-v577-pause,.cc-v577-resume{font-size:12px!important;padding:5px 9px!important;border-radius:8px!important;margin-inline-start:4px!important;}
.cc-v577-pause{background:#fff7ed!important;border:1px solid #fdba74!important;color:#9a3412!important;}
.cc-v577-resume{background:#ecfdf3!important;border:1px solid #86efac!important;color:#166534!important;}
.cc-v577-op-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap;}
.cc-v577-op-status.active{background:#eef8f1;color:#267449;}
.cc-v577-op-status.paused,.cc-v577-section-paused{background:#fff0f0;color:#a12d37;border:1px solid #f1c2c6;border-radius:7px;padding:4px 8px;font-size:11px;font-weight:700;white-space:nowrap;}
.cc-v577-row-paused{background:linear-gradient(90deg,rgba(255,241,242,.40),rgba(255,255,255,0))!important;}
.cc-v577-section-is-paused{border-inline-start:4px solid #c2414b!important;}
@media(max-width:760px){.cc-v577-pause,.cc-v577-resume{margin-top:4px!important}}

.cc-v577-history-modal{width:min(1100px,96vw);max-height:90vh;overflow:auto}.cc-v577-history-modal .table-wrap{overflow:auto}.cc-v577-history-modal td{vertical-align:top}


/* V578 — BOQ movement report */
.cc-v578-movement-btn{border-color:#b7d8e9!important;color:#155c7b!important;background:#f2f9fc!important;white-space:nowrap}
.cc-v578-backdrop{z-index:100050!important}
.cc-v578-report-modal{width:min(1500px,98vw)!important;max-width:1500px!important;max-height:96vh!important;overflow:auto!important}
.cc-v578-report-inner{direction:rtl;color:#193247}
.cc-v578-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.cc-v578-report-head h2{margin:3px 0 7px;font-size:20px}
.cc-v578-report-head p{margin:0;color:#718399;font-size:12px}
.cc-v578-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc-v578-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:12px 0}
.cc-v578-kpi{border:1px solid #dbe5ee;border-radius:10px;background:#f8fbfd;padding:11px;min-width:0}
.cc-v578-kpi span,.cc-v578-kpi small{display:block;color:#6b8095;font-size:11px}
.cc-v578-kpi b{display:block;font-size:19px;margin:5px 0;color:#18344b;overflow-wrap:anywhere}
.cc-v578-kpi.money{background:#f2faf6;border-color:#c6e7d5}
.cc-v578-kpi.locked{background:#f6f7f9}
.cc-v578-note{background:#f2f7fc;border:1px solid #d6e5f2;border-radius:9px;padding:10px 12px;color:#526b82;font-size:12px;line-height:1.8;margin:12px 0}
.cc-v578-filter{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding:10px;background:#fafbfd;border:1px solid #e2e9ef;border-radius:10px;margin:12px 0}
.cc-v578-filter label{display:grid;gap:5px;font-size:12px;color:#536d84;min-width:145px}
.cc-v578-filter input,.cc-v578-filter select{border:1px solid #cbd8e4;border-radius:7px;padding:8px;min-height:36px;background:#fff;color:#18344b}
.cc-v578-count{font-size:12px;color:#647b91;margin-inline-start:auto;padding:8px}
.cc-v578-report-inner h3{font-size:15px;margin:18px 0 8px;color:#18344b}
.cc-v578-table-wrap{overflow:auto;border:1px solid #e0e7ef;border-radius:9px;margin-bottom:12px}
.cc-v578-table-wrap table{width:100%;border-collapse:collapse;min-width:800px;font-size:11px}
.cc-v578-table-wrap th,.cc-v578-table-wrap td{padding:8px 9px;text-align:right;border-bottom:1px solid #e8edf2;vertical-align:top;white-space:nowrap}
.cc-v578-table-wrap th{background:#f1f5f9;color:#49637b;font-weight:700;position:sticky;top:0;z-index:1}
.cc-v578-table-wrap tr:nth-child(even) td{background:#fbfdff}
.cc-v578-footnote{font-size:11px;color:#718399;margin-top:14px;line-height:1.8}
@media(max-width:760px){.cc-v578-report-modal{width:100%!important;max-height:100vh!important;border-radius:10px!important}.cc-v578-report-head{display:block}.cc-v578-actions{margin-top:9px}.cc-v578-count{margin-inline-start:0}}
@media print{.cc-v578-report-modal,.cc-v578-backdrop{display:none!important}}

/* Construction Control V583 — BOQ readability tuned for desktop browser zoom 90%. */
.boq-module .boq-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 14px}
.boq-module .boq-actions .btn{font-size:13px;line-height:1.35;min-height:40px;padding:8px 12px}
.boq-module .boq-layout{grid-template-columns:minmax(220px,250px) minmax(0,1fr);gap:14px}
.boq-module .boq-section-head{padding:13px 15px;gap:12px;align-items:center}
.boq-module .boq-section-head h3{font-size:18px;line-height:1.45;gap:9px}
.boq-module .boq-section-head .sub{font-size:13px;line-height:1.5}
.boq-module .section-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:wrap;max-width:100%}
.boq-module .section-actions .mini-btn{font-size:12.5px;line-height:1.35;min-height:36px;padding:7px 10px;white-space:nowrap}
.boq-module table.boq-table{width:100%;min-width:1180px;table-layout:fixed}
.boq-module .boq-table th,.boq-module .boq-table td{padding:10px 8px;font-size:12.5px;line-height:1.45;vertical-align:middle}
.boq-module .boq-table th{font-size:12.5px;font-weight:800;white-space:normal}
.boq-module .boq-table td.boq-desc-cell{white-space:normal!important;text-align:right;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;line-height:1.45}
.boq-module .boq-table td.boq-desc-cell .boq-cell-wrap{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.9em}
.boq-module .boq-actions-cell{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;min-width:175px}
.boq-module .boq-actions-cell .row-edit,.boq-module .boq-actions-cell .mini-btn{font-size:12px!important;line-height:1.3;min-height:34px;padding:6px 8px;white-space:nowrap}
.boq-module .boq-actions-cell .row-edit{min-width:40px;height:auto}
.boq-module .boq-actions-cell .row-edit[data-action="open-forms-for-item"]{min-width:105px}
.boq-module .cc-v577-op-status,.boq-module .cc-v577-section-paused{font-size:12px;padding:5px 9px}
.boq-module .boq-grand-summary{font-size:13px}
.boq-module .boq-kpi span,.boq-module .boq-folders .sub{font-size:13px;line-height:1.55}
.boq-module .boq-folders h3{font-size:16px}
.boq-module .boq-folder{font-size:13px;line-height:1.5}
@media(max-width:1199px){
 .boq-module .boq-section-head{align-items:flex-start;flex-direction:column}
 .boq-module .section-actions{width:100%}
 .boq-module .boq-table{min-width:1180px}
}
@media(max-width:760px){
 .boq-module .boq-section-head h3{font-size:16px}
 .boq-module .section-actions .mini-btn{font-size:12px;min-height:34px}
 .boq-module .boq-table th,.boq-module .boq-table td{font-size:12px}
}


/* V584 — one compact action trigger per BOQ item with a floating dropdown. */
.boq-module .boq-actions-cell{min-width:118px!important;white-space:nowrap}
.boq-module .cc-v584-actions-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 11px;border:1px solid #bfd1df;border-radius:8px;background:#fff;color:#173b55;font:inherit;font-size:12.5px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}
.boq-module .cc-v584-actions-trigger:hover,.boq-module .cc-v584-actions-trigger[aria-expanded="true"]{background:#edf6fb;border-color:#5b9ac0}
.cc-v584-item-actions-menu{position:fixed;z-index:10060;min-width:184px;max-width:calc(100vw - 16px);display:grid;gap:4px;padding:6px;background:#fff;border:1px solid #cbd7e1;border-radius:10px;box-shadow:0 10px 28px rgba(20,42,60,.2);direction:rtl}
.cc-v584-menu-option{width:100%;display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:0;border-radius:7px;background:#fff;color:#203447;text-align:right;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.cc-v584-menu-option:hover,.cc-v584-menu-option:focus-visible{background:#eef5f9;outline:2px solid #a9cadd;outline-offset:-2px}
@media(max-width:900px){.cc-v584-item-actions-menu{min-width:168px}.cc-v584-menu-option{font-size:12px}}


/* V585 — BOQ usability tools */
.cc-v585-boq-filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin:12px 0 16px;padding:14px 16px}
.cc-v585-boq-filters label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#334155;min-width:0}
.cc-v585-boq-filters input,.cc-v585-boq-filters select{width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;background:#fff;color:#172b3e;font:inherit}
.cc-v585-search-label{min-width:260px}
.cc-v585-filter-result{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap;color:#334155}
.cc-v585-no-matches{grid-column:1/-1;padding:10px 12px;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;text-align:center}
.cc-v585-details-modal,.cc-v585-quality-modal{width:min(920px,calc(100vw - 28px));max-width:920px;max-height:90vh;overflow:auto}
.cc-v585-item-reference{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:9px;margin:10px 0 14px}
.cc-v585-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cc-v585-details-grid textarea{min-height:86px;resize:vertical}
.cc-v585-attachments{border:1px solid #dbe4ec;border-radius:10px;padding:12px;margin-top:14px}
.cc-v585-upload-label{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px}
.cc-v585-attachment-list{display:grid;gap:7px;margin-top:10px}
.cc-v585-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:8px;padding:9px 11px;background:#fff}
.cc-v585-attachment-row small{display:block;color:#64748b;margin-top:3px}
.cc-v585-attachment-actions{display:flex;flex-wrap:wrap;gap:6px}
.cc-v585-details-meta{font-size:12px;color:#64748b;margin:12px 0}
.cc-v585-quality-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.cc-v585-quality-summary>div{border:1px solid #dbe4ec;border-radius:9px;padding:11px;text-align:center;background:#f8fafc}
.cc-v585-quality-summary b{display:block;font-size:22px;color:#173b57}
.cc-v585-quality-summary span{font-size:12px;color:#64748b}
.cc-v585-quality-summary .bad b{color:#b42318}
.cc-v585-quality-summary .warn b{color:#946200}
.cc-v585-issue-list{list-style:none;padding:0;margin:8px 0 16px;display:grid;gap:6px}
.cc-v585-issue{border:1px solid #e2e8f0;border-radius:7px;padding:9px 10px;display:flex;align-items:center;gap:9px;background:#fff}
.cc-v585-issue span{flex:0 0 auto;font-size:11px;font-weight:700;border-radius:5px;padding:3px 6px;background:#fff0ed;color:#a62e26}
.cc-v585-issue.warning span{background:#fff6df;color:#8a6100}
.cc-v585-no-issues{padding:10px;color:#64748b}
@media(max-width:900px){.cc-v585-boq-filters{grid-template-columns:1fr 1fr}.cc-v585-search-label{grid-column:1/-1}.cc-v585-filter-result{justify-content:flex-start}}
@media(max-width:600px){.cc-v585-boq-filters,.cc-v585-details-grid,.cc-v585-quality-summary{grid-template-columns:1fr}.cc-v585-search-label{grid-column:auto}.cc-v585-attachment-row{align-items:flex-start;flex-direction:column}.cc-v585-attachment-actions{width:100%}}


/* V591 — Planned Cost to Primavera export mapping */
.schedule-cost-export-v591{display:flex;flex-direction:column;gap:12px;min-width:0}
.schedule-cost-export-note{padding:12px 14px;border:1px solid #cfd8e3;border-radius:10px;background:#f7fafc;color:#344054;font-size:13px;line-height:1.8}
.schedule-cost-export-summary{font-size:12px;color:#475467}
.schedule-cost-map-table-wrap{max-height:min(58vh,560px);overflow:auto;border:1px solid #e4e9ef;border-radius:10px}
.schedule-cost-map-table-wrap .schedule-table{min-width:1020px}
.schedule-cost-map-table-wrap .schedule-table td:first-child{white-space:normal;min-width:210px;max-width:290px}
.schedule-cost-map-table-wrap .schedule-table td:first-child small{display:block;color:#667085;margin-top:4px;white-space:normal}
.schedule-cost-map-select{min-width:290px;max-width:380px;padding:8px;border:1px solid #cfd8e1;border-radius:8px;background:#fff;font:inherit;font-size:12px}
.schedule-cost-qty{width:110px;min-width:95px;padding:8px;border:1px solid #cfd8e1;border-radius:8px;font:inherit}
.schedule-cost-export-v591 .sub{font-size:12px;color:#667085;line-height:1.7}
#modal:has(.schedule-cost-export-v591) .modal{width:min(1180px,96vw);max-width:1180px}
#modal:has(.schedule-cost-export-v591) .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}
@media(max-width:700px){#modal:has(.schedule-cost-export-v591) .modal{width:98vw;max-height:94vh;padding:12px}.schedule-cost-map-table-wrap{max-height:54vh}.schedule-cost-export-note{font-size:12px}}

/* V595 — centralized Breakdown template/import item-scope picker */
.cc-v595-breakdown-item-picker{max-height:360px;overflow:auto;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;padding:10px;margin-top:4px}
.cc-v595-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:2px 2px 10px;border-bottom:1px solid #dbe4ee;margin-bottom:8px}
.cc-v595-picker-actions b{font-size:13px;color:#17324d}
.cc-v595-breakdown-division{border:1px solid #dce5ef;border-radius:9px;background:#fff;margin:8px 0;overflow:hidden}
.cc-v595-breakdown-division-title{background:#e7eff7;color:#234c70;font-weight:800;padding:8px 10px;font-size:12px}
.cc-v595-breakdown-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;padding:6px 10px}
.cc-v595-breakdown-item{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid #edf1f5;min-width:0;cursor:pointer}
.cc-v595-breakdown-item input{flex:0 0 auto;width:16px;height:16px}
.cc-v595-breakdown-item span{display:flex;flex-direction:column;min-width:0;gap:2px}
.cc-v595-breakdown-item b{font-size:12px;color:#17324d}
.cc-v595-breakdown-item small{font-size:11px;color:#64748b;white-space:normal;line-height:1.4}
@media(max-width:720px){.cc-v595-breakdown-item-grid{grid-template-columns:minmax(0,1fr)}.cc-v595-breakdown-item-picker{max-height:300px}}


/* V607 — compact, analysis-first Cost Control layout */
.cost-page{padding:14px 16px 22px}
.cc-cost-toolbar{align-items:center;gap:12px;margin-bottom:10px}
.cc-cost-toolbar>div:first-child .label{font-size:10px;margin-bottom:2px}
.cc-cost-toolbar h1{font-size:20px!important;line-height:1.25;margin:3px 0!important}
.cc-cost-toolbar>div:first-child p{font-size:11px;margin:3px 0 0}
.cc-cost-toolbar>div:last-child{gap:6px!important;max-width:74%}
.cc-cost-toolbar>div:last-child .btn{padding:7px 9px;font-size:11px;line-height:1.25;border-radius:8px}
.cc-cost-selection{padding:10px 12px!important;gap:10px!important;margin-bottom:8px!important}
.cc-cost-selection .cost-selector label{font-size:11px;margin-bottom:4px}
.cc-cost-selection .cost-selector select{padding:8px 10px;font-size:12px;margin-top:4px}
.cc-cost-selection .cost-selector small{font-size:10px;margin-top:3px}
.cc-cost-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:7px 2px 5px;color:#263342}
.cc-cost-section-label b{font-size:12px;font-weight:800}
.cc-cost-section-label span{font-size:10px;color:#748194}
.cc-cost-overview-strip .cost-kpis-horizontal{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;margin:5px 0 9px!important}
.cc-cost-overview-strip .cost-kpis-horizontal .cost-kpi{padding:8px 9px!important;border-radius:9px;min-height:58px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.cc-cost-overview-strip .cost-kpi span{font-size:10px;line-height:1.25;min-height:13px}
.cc-cost-overview-strip .cost-kpi b{font-size:16px!important;line-height:1.2;margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-cost-overview-strip .cost-kpi small{font-size:9px;line-height:1.1;margin-top:2px}
.cc-cost-selected-item{padding:9px 12px!important;margin-bottom:7px!important;gap:12px;align-items:center!important}
.cc-cost-selected-item .cost-item-head h2{font-size:17px!important;margin:2px 0!important;line-height:1.25}
.cc-cost-selected-item .cost-full-description{margin-top:5px!important;padding:5px 8px!important;border-radius:7px}
.cc-cost-selected-item .cost-full-description-label{font-size:9px;margin-bottom:2px}
.cc-cost-selected-item .cost-full-description-text{font-size:10px;line-height:1.45;max-height:30px;overflow:hidden}
.cc-cost-selected-item .cost-alerts .alert{padding:5px 7px;font-size:10px;white-space:nowrap}
.cc-cost-item-metrics-label{margin-top:5px}
.cc-cost-unit-metrics{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;margin:5px 0 8px!important}
.cc-cost-unit-metrics>.card{padding:8px 9px!important;margin:0!important;min-width:0;min-height:57px;border-radius:9px;display:flex;flex-direction:column;justify-content:center}
.cc-cost-unit-metrics>.card span{font-size:9px;line-height:1.25;color:#748194;white-space:normal}
.cc-cost-unit-metrics>.card b{font-size:14px!important;line-height:1.2;margin-top:4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-cost-analysis-tabs{margin-top:7px!important;border-radius:11px}
.cc-cost-tabs-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px 0;color:#263342}
.cc-cost-tabs-caption b{font-size:12px}
.cc-cost-tabs-caption span{font-size:10px;color:#748194}
.cc-cost-analysis-tabs .breakdown-tabs-head{padding:7px 8px;gap:7px}
.cc-cost-analysis-tabs .breakdown-tab{padding:9px 11px;font-size:12px;line-height:1.25;border-radius:8px;min-height:38px}
.cc-cost-analysis-tabs .breakdown-panel{padding:12px!important}
.cc-cost-analysis-tabs .breakdown-panel .cost-card-title h3{font-size:15px}
.cc-cost-analysis-tabs .breakdown-status-row{margin:7px 0}
.cc-cost-analysis-tabs .cost-table th,.cc-cost-analysis-tabs .cost-table td{padding:7px 8px;font-size:11px}
.cc-cost-secondary-section{margin-top:12px;background:#fff;border:1px solid #e0e6ed;border-radius:10px;overflow:hidden}
.cc-cost-secondary-section>summary{cursor:pointer;list-style:none;padding:10px 13px;font-weight:700;font-size:12px;color:#405166;background:#f8fafc}
.cc-cost-secondary-section>summary::-webkit-details-marker{display:none}
.cc-cost-secondary-section>summary:after{content:'＋';float:left;color:#64748b}
.cc-cost-secondary-section[open]>summary:after{content:'−'}
.cc-cost-secondary-body{padding:10px}
.cc-cost-secondary-body>section{margin-top:0!important}
@media(max-width:1350px){.cc-cost-overview-strip .cost-kpis-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cc-cost-unit-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){.cc-cost-toolbar{align-items:flex-start;flex-direction:column}.cc-cost-toolbar>div:last-child{max-width:100%}.cc-cost-overview-strip .cost-kpis-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cc-cost-unit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.cc-cost-section-label{align-items:flex-start;flex-direction:column;gap:2px}.cc-cost-selected-item{align-items:flex-start!important;flex-direction:column}.cc-cost-analysis-tabs .breakdown-tabs-head{flex-direction:column}.cc-cost-analysis-tabs .breakdown-tab{width:100%}.cc-cost-tabs-caption{align-items:flex-start;flex-direction:column}}


/* V614 — visible Cost Control update-center alert */
.cc-v614-update-center-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:250px}
.cc-v614-update-center{white-space:nowrap}
.cc-v614-update-center.has-changes{background:#b42318!important;border-color:#b42318!important;color:#fff!important;box-shadow:0 0 0 3px #fee4e2}
.cc-v614-update-center.needs-review{background:#a15c07!important;border-color:#a15c07!important;color:#fff!important}
.cc-v614-alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;border-radius:20px;background:#fff;color:#b42318;font-weight:900;padding:0 5px;margin-inline-start:4px}
.cc-v614-update-hint{font-size:10px;line-height:1.5;color:#64748b;max-width:250px;text-align:right;font-weight:600}.cc-v614-update-hint.has-alert{color:#b42318;font-weight:800}
.cc-v614-export-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(400px,1.4fr);gap:14px;margin-top:12px}
.cc-v614-export-panel{border:1px solid #dbe3ec;border-radius:12px;padding:13px;min-width:0;background:#fff}
.cc-v614-export-tree{max-height:490px;overflow:auto;border:1px solid #e1e8ef;border-radius:9px;padding:8px}
.cc-v614-export-items{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;padding:5px 24px 2px 0}
.cc-v614-baseline-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:800px){.cc-v614-export-layout{grid-template-columns:1fr}.cc-v614-export-items{grid-template-columns:1fr}.cc-v614-update-center-wrap{max-width:100%;align-items:flex-start}.cc-v614-update-hint{text-align:right}}


/* Construction Control V617 — Cost Performance Dashboard */
.cc-v617-dashboard{margin:14px 0 18px;padding:16px;border:1px solid #dce5ee;border-radius:14px;background:#fff;box-shadow:0 3px 14px #19324a08;direction:rtl}
.cc-v617-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.cc-v617-head .label{font-size:10px;letter-spacing:1.2px;color:#237391;font-weight:800}.cc-v617-head h2{font-size:19px;margin:3px 0 5px;color:#17324d}.cc-v617-head p{font-size:11px;color:#728298;margin:0;line-height:1.7}.cc-v617-scope{padding:7px 10px;border-radius:20px;background:#edf5fa;color:#23617d;font-size:11px;font-weight:800;white-space:nowrap}
.cc-v617-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #e5ebf1;padding-bottom:10px}.cc-v617-tabs button{border:1px solid #d5e0ea;background:#f8fafc;color:#40546a;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:750;cursor:pointer}.cc-v617-tabs button.active{background:#1f6e90;border-color:#1f6e90;color:#fff;box-shadow:0 3px 8px #1f6e9022}.cc-v617-body{padding-top:13px}
.cc-v617-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.cc-v617-kpi{min-width:0;padding:12px 13px;border:1px solid #e0e8ef;border-radius:11px;background:#f9fbfd}.cc-v617-kpi span,.cc-v617-kpi small{display:block}.cc-v617-kpi span{font-size:11px;color:#65778b;line-height:1.5}.cc-v617-kpi b{display:block;font-size:19px;color:#18334e;margin:5px 0;overflow-wrap:anywhere}.cc-v617-kpi small{font-size:10px;color:#8492a2;line-height:1.45}.cc-v617-kpi.target{border-top:3px solid #1b8b78}.cc-v617-kpi.actual{border-top:3px solid #3978ae}.cc-v617-kpi.owner{border-top:3px solid #8294aa}.cc-v617-kpi.saving{border-top:3px solid #1b8b78}.cc-v617-kpi.commitment{border-top:3px solid #d59a36}
.cc-v617-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cc-v617-panel{min-width:0;border:1px solid #e1e8ef;border-radius:11px;padding:13px;background:#fff}.cc-v617-panel h3{font-size:14px;margin:0 0 4px;color:#243f59}.cc-v617-panel>p{font-size:10px;color:#8290a0;margin:0 0 12px;line-height:1.6}.cc-v617-bar-row{margin:9px 0}.cc-v617-bar-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#52677c;margin-bottom:5px}.cc-v617-bar-meta b{color:#233f5b;white-space:nowrap}.cc-v617-bar-track{height:9px;border-radius:10px;background:#edf2f6;overflow:hidden}.cc-v617-bar-track i{display:block;height:100%;border-radius:10px;background:#3d83aa;min-width:0}.cc-v617-bar-track i.target{background:#24977e}.cc-v617-bar-track i.actual{background:#d18b36}.cc-v617-bar-track i.owner{background:#91a5b9}.cc-v617-group-row{padding:8px 0;border-bottom:1px solid #edf1f5}.cc-v617-group-row:last-child{border-bottom:0}.cc-v617-group-row>b{display:block;font-size:11px;color:#324d66;margin-bottom:3px}.cc-v617-group-row small{font-size:9px;color:#94a0ad}.cc-v617-group-row>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cc-v617-group-row .cc-v617-bar-meta{font-size:9px}.cc-v617-group-row .cc-v617-bar-meta b{font-size:9px}.cc-v617-group-row .cc-v617-bar-track{height:6px}
.cc-v617-table-wrap{max-width:100%;overflow:auto;border:1px solid #e8edf2;border-radius:8px}.cc-v617-table-wrap table{min-width:900px;width:100%;border-collapse:collapse}.cc-v617-table-wrap th,.cc-v617-table-wrap td{white-space:nowrap;font-size:10px;padding:8px 9px;border-bottom:1px solid #edf1f5;text-align:right;vertical-align:middle}.cc-v617-table-wrap th{background:#f5f8fb;color:#485e73;font-weight:800}.cc-v617-table-wrap td small{display:block;color:#8896a5;font-size:9px;margin-top:3px}.cc-v617-note{margin-top:11px;padding:10px 12px;border:1px solid #e4eaf0;border-right:3px solid #7f9fb5;border-radius:8px;background:#f7fafc;color:#677b8e;font-size:10px;line-height:1.8}.cc-v617-empty{color:#8996a3;text-align:center;padding:20px!important}
@media(max-width:900px){.cc-v617-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-v617-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cc-v617-dashboard{padding:11px}.cc-v617-head{flex-direction:column}.cc-v617-kpis{grid-template-columns:1fr 1fr}.cc-v617-kpi{padding:10px}.cc-v617-kpi b{font-size:16px}.cc-v617-tabs button{flex:1 1 calc(50% - 7px);padding:8px 6px}}


/* V618 — comprehensive layout and alignment hardening */
.cost-page,.cost-page *,.proc-v180,.proc-v180 *{box-sizing:border-box}
.cost-page{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.cost-page .cost-top,.cost-page .cost-selectors,.cost-page .cost-overview-card,.cost-page .cc-v617-dashboard,.cost-page .cc-v617-panel{min-width:0;max-width:100%}
.cost-page .cost-top{align-items:flex-start;gap:12px}
.cost-page .cost-top>div{min-width:0}
.cost-page .cost-top>div:last-child{flex:1 1 560px;max-width:100%;justify-content:flex-start}
.cost-page .cost-selectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;align-items:start}
.cost-page .cost-selector{min-width:0;max-width:100%}
.cost-page .cost-selector select,.cost-page .cost-selector input{width:100%;max-width:100%;min-width:0}
.cost-page .cost-kpis-horizontal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));gap:8px;align-items:stretch}
.cost-page .cost-kpi{min-width:0;max-width:100%;overflow-wrap:anywhere}
.cost-page .table-wrap,.cost-page .cc-v617-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.cost-page table{max-width:100%;border-collapse:collapse}
.cost-page th,.cost-page td{vertical-align:middle;line-height:1.55;overflow-wrap:anywhere}
.cost-page .cost-table{width:100%;min-width:900px}
.cost-page .cost-card-title,.cost-page .cc-v617-head,.cost-page .cc-v617-bar-meta{min-width:0}
.cost-page .cost-card-title h2,.cost-page .cost-card-title p,.cost-page .cc-v617-head h2,.cost-page .cc-v617-head p{overflow-wrap:anywhere}
.cost-page .cc-v617-kpi,.cost-page .cc-v617-panel{min-width:0}
.proc-v180{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.proc-v180-layout,.proc-v180 .proc-card,.proc-v180 .proc-v180-fields,.proc-v180 .proc-draft-table{min-width:0;max-width:100%}
.proc-v180 .proc-v180-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;align-items:start}
.proc-v180 .proc-v180-fields>div,.proc-v180 .proc-fields>div{min-width:0;max-width:100%}
.proc-v180 input,.proc-v180 select,.proc-v180 textarea{max-width:100%;min-width:0;width:100%}
.proc-v180 .proc-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;min-width:0}
.proc-v180 .proc-draft-row>span:first-child{min-width:0;overflow-wrap:anywhere}
.proc-v180 .proc-table-wrap,.proc-v180 .proc-draft-table{width:100%;overflow-x:auto}
@media(max-width:1100px){.cost-page .cost-top{flex-direction:column;align-items:stretch}.cost-page .cost-top>div:last-child{justify-content:flex-start}.cost-page .cc-v617-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cost-page .cost-kpis-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-page .cost-selectors{grid-template-columns:1fr}.proc-v180 .proc-draft-row{grid-template-columns:minmax(0,1fr) auto;}.proc-v180 .proc-draft-row button{justify-self:start}}
@media(max-width:480px){.cost-page .cost-kpis-horizontal,.cost-page .cc-v617-kpis{grid-template-columns:1fr}.cost-page .cc-v617-tabs button{flex:1 1 100%}.proc-v180 .proc-v180-fields{grid-template-columns:1fr}}


/* V620 — Drawing & Shop Drawing Management */
.drawings-module{min-width:0}
.drawings-module .drawing-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:12px 0}
.drawings-module .drawing-path-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.drawings-module .drawing-path-filters>div,.drawing-form-grid>label{min-width:0}
.drawings-module .drawing-table{min-width:1120px}
.drawings-module .drawing-table th,.drawings-module .drawing-table td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.drawing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.drawing-form-grid label{display:flex;flex-direction:column;gap:6px}
.drawing-form-grid input,.drawing-form-grid select{width:100%;min-width:0}
.drawing-form-grid .drawing-path-box{grid-column:1/-1}
.drawing-detail{display:flex;flex-direction:column;gap:12px;min-width:0}
.drawing-detail .detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.drawing-detail .detail-grid>div{min-width:0;border:1px solid var(--border,#dbe2e9);border-radius:8px;padding:9px;background:var(--card,#fff)}
.drawing-detail .detail-grid span{display:block;color:var(--muted,#64748b);font-size:11px;margin-bottom:4px}
.drawing-detail .detail-grid b{display:block;overflow-wrap:anywhere}
.drawing-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.drawing-file-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.drawing-file-row:last-child{border-bottom:0}
.drawing-file-row .file-chip{overflow-wrap:anywhere}
@media(max-width:850px){
 .drawings-module .drawing-path-filters{grid-template-columns:1fr}
 .drawing-form-grid{grid-template-columns:1fr}
 .drawing-detail .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){.drawing-detail .detail-grid{grid-template-columns:1fr}}


/* V622 — Consultant drawing review and decision workflow */
.consultant-drawing-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.consultant-drawing-kpis .card{min-width:0}
.consultant-drawing-kpis .label{min-height:34px;line-height:1.5}
.consultant-review{display:flex;flex-direction:column;gap:12px;min-width:0}
.consultant-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.consultant-review-summary>div{border:1px solid var(--border,#dbe2e9);border-radius:8px;padding:9px;min-width:0;background:var(--card,#fff)}
.consultant-review-summary span{display:block;color:var(--muted,#64748b);font-size:11px;margin-bottom:4px}
.consultant-review-summary b{display:block;font-size:13px;overflow-wrap:anywhere}
.consultant-review-status{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:#f6f9fc}
.consultant-drawing-files{display:flex;flex-direction:column;gap:8px}
.consultant-drawing-file{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border,#dbe2e9);border-radius:9px;background:#fff}
.consultant-drawing-file-meta{display:flex;flex-direction:column;gap:3px;min-width:180px;overflow-wrap:anywhere}
.consultant-drawing-file-meta small{font-size:11px;color:var(--muted,#64748b)}
.consultant-drawing-file-actions{display:flex;gap:7px;flex-wrap:wrap}
.consultant-review-note-label,.consultant-review-file-label{display:flex;flex-direction:column;gap:6px}
.consultant-review-note-label textarea,.consultant-review-file-label input{width:100%;min-width:0}
.consultant-decision-actions{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin-top:10px}
.drawing-kpi.rejected{border-color:#f3c5c5;background:#fffafa}
@media(max-width:980px){.consultant-drawing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.consultant-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.consultant-review-summary{grid-template-columns:1fr}.consultant-drawing-file{align-items:flex-start}.consultant-drawing-file-actions{width:100%}}


/* V623 — Append multiple drawing attachments across repeated file-picker opens */
.drawing-file-queue{display:flex;flex-direction:column;gap:7px;min-width:0}
.drawing-queued-files-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--border,#d8e0e9);border-radius:8px;background:#f4f8fb}
.drawing-queued-files-head b{font-size:12px;color:var(--text,#18344b)}
.drawing-queued-files-head span{font-size:11px;color:var(--muted,#64748b)}
.drawing-queued-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border,#d8e0e9);border-radius:8px;background:var(--card,#fff);min-width:0}
.drawing-queued-file-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.drawing-queued-file-info b{font-size:12px;overflow-wrap:anywhere}
.drawing-queued-file-info small{font-size:10px;color:var(--muted,#64748b)}
.drawing-queued-empty{padding:10px;border:1px dashed var(--border,#cbd5e1);border-radius:8px;color:var(--muted,#64748b);font-size:12px;text-align:center;background:#fafcff}
.drawing-form-grid label small.sub{display:block;font-weight:400;line-height:1.5;margin-top:4px}


/* V626 — Consultant RFI return workflow */
.consultant-rfi-fields{border:1px solid #e3d6a4;background:#fffdf5;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:9px}
.consultant-rfi-fields h4{margin:0;color:#765b16}
.consultant-rfi-fields label{display:flex;flex-direction:column;gap:5px}
.consultant-rfi-fields input,.consultant-rfi-fields select{width:100%;min-width:0}
.consultant-rfi-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.consultant-rfi-button{border:1px solid #d6bb72!important;background:#fff8df!important;color:#745713!important}
.drawing-kpi.rfi{border-color:#eadba8;background:#fffdf5}
@media(max-width:650px){.consultant-rfi-grid{grid-template-columns:1fr}}


/* V627 — Tender Drawings Register */
.drawing-module-tabs{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:10px 0 14px;padding:10px;border:1px solid var(--border,#dbe2e9);border-radius:10px;background:var(--card,#fff)}
.drawing-module-tabs .btn{min-width:210px}
.tender-module{min-width:0}
.tender-module .drawing-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.tender-module .drawing-kpi{min-width:0}
.tender-module .drawing-kpi span,.tender-module .drawing-kpi small{overflow-wrap:anywhere}
.tender-module .drawing-path-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.tender-module .tender-table{min-width:1160px}
.tender-module .tender-table th,.tender-module .tender-table td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.tender-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tender-form-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.tender-form-grid input,.tender-form-grid select,.tender-form-grid textarea{width:100%;min-width:0}
.tender-form-grid select[multiple]{min-height:110px}
.tender-detail{display:flex;flex-direction:column;gap:12px;min-width:0}
.tender-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.tender-detail-grid>div{border:1px solid var(--border,#dbe2e9);border-radius:8px;padding:9px;background:var(--card,#fff);min-width:0}
.tender-detail-grid span{display:block;color:var(--muted,#64748b);font-size:11px;margin-bottom:4px}
.tender-detail-grid b{display:block;overflow-wrap:anywhere}
.tender-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:900px){
 .tender-module .drawing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tender-module .drawing-path-filters{grid-template-columns:1fr}
 .tender-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .drawing-module-tabs{align-items:stretch}
 .drawing-module-tabs .btn{width:100%;min-width:0}
 .tender-form-grid{grid-template-columns:1fr}
 .tender-detail-grid{grid-template-columns:1fr}
}

.drawing-tender-reference-cell{min-width:180px}
.drawing-tender-reference{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:5px 0;border-bottom:1px solid var(--border,#e2e8f0)}
.drawing-tender-reference:last-child{border-bottom:0}
.drawing-tender-reference>span:first-child{overflow-wrap:anywhere}
.tender-module .drawing-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tender-module .table-wrap{max-width:100%;overflow:auto}
.tender-module .drawing-kpi{cursor:default}


/* V628 — Interactive Tender KPI tiles */
.tender-kpi-actions .tender-kpi-button{
 appearance:none;
 -webkit-appearance:none;
 display:flex;
 flex-direction:column;
 align-items:stretch;
 justify-content:space-between;
 gap:8px;
 width:100%;
 min-height:116px;
 padding:16px 18px;
 border:1px solid var(--border,#dbe2e9);
 border-radius:14px;
 background:var(--card,#fff);
 color:inherit;
 font:inherit;
 text-align:right;
 cursor:pointer;
 transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease,background .16s ease;
}
.tender-kpi-actions .tender-kpi-button span{display:block;font-size:13px;color:var(--muted,#64748b);line-height:1.5}
.tender-kpi-actions .tender-kpi-button b{display:block;font-size:27px;line-height:1.1;color:var(--text,#102a43)}
.tender-kpi-actions .tender-kpi-button small{display:block;font-size:11px;color:var(--muted,#64748b);line-height:1.5}
.tender-kpi-actions .tender-kpi-button:hover{border-color:var(--primary,#267398);box-shadow:0 5px 16px rgba(18,55,80,.12);transform:translateY(-2px)}
.tender-kpi-actions .tender-kpi-button:focus-visible{outline:3px solid rgba(39,134,181,.35);outline-offset:2px}
.tender-kpi-table{min-width:850px}
@media(max-width:620px){.tender-kpi-actions .tender-kpi-button{min-height:100px;padding:12px}}
/* V630 — Make consultant decision column clearly visible in the drawing register */
.drawings-module .drawing-table{min-width:1280px}
.cc-v630-decision-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:155px}
.cc-v630-decision-cell .badge{font-size:12px;font-weight:800;padding:6px 9px}
.cc-v630-consultant-open{font-weight:800!important;white-space:nowrap}

/* V631 — Daily Site Diary and Weekly Executive Project Pulse */
.cc631-page{display:grid;gap:16px}.cc631-page-head,.cc631-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.cc631-page-head{padding:4px 2px}.cc631-page-head h1{margin:4px 0 8px}.cc631-head-kpis{display:flex;gap:8px;flex-wrap:wrap}.cc631-head-kpis span,.cc631-pulse-count{border:1px solid var(--border,#d9e2ec);background:var(--card,#fff);border-radius:10px;padding:9px 12px;color:var(--muted,#66788a);font-size:12px}.cc631-head-kpis b{font-size:16px;color:var(--text,#172b3e);margin-inline-start:5px}.cc631-form-card,.cc631-card,.cc631-dashboard{padding:18px}.cc631-card-head{margin-bottom:14px}.cc631-card-head h2{margin:0;font-size:17px}.cc631-card-head .sub{margin:2px 0 0}.cc631-form-grid,.cc631-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.cc631-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cc631-page label,.cc631-edit-modal label{display:flex;flex-direction:column;gap:6px;color:var(--text,#172b3e);font-weight:600;font-size:13px}.cc631-page input,.cc631-page select,.cc631-page textarea,.cc631-edit-modal input,.cc631-edit-modal select,.cc631-edit-modal textarea{width:100%;min-width:0;border:1px solid var(--border,#d8e1eb);border-radius:9px;padding:10px 11px;background:var(--input-bg,#fff);color:var(--text,#172b3e);font:inherit}.cc631-page input[type=file]{padding:8px}.cc631-page label small{font-weight:400;color:var(--muted,#738396)}.cc631-lines-head,.cc631-subhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0 9px}.cc631-subhead{font-weight:700;border-top:1px solid var(--border,#e1e7ee);padding-top:14px}.cc631-entry-line,.cc631-plan-line{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,220px) 42px;gap:8px;margin:8px 0}.cc631-entry-line button,.cc631-plan-line button{min-width:38px}.cc631-wide-label{margin:12px 0}.cc631-pending-files{font-size:12px;color:var(--muted,#738396);padding:8px 10px;border-radius:8px;background:var(--surface-secondary,#f3f6fa)}.cc631-form-actions{display:flex;justify-content:flex-start;margin-top:14px}.cc631-status{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;white-space:nowrap;font-weight:700}.cc631-status.approved{background:#e7f7ed;color:#19734a}.cc631-status.pending{background:#fff5df;color:#8c6400}.cc631-status.rejected{background:#fdebec;color:#a52d35}.cc631-report-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border,#e5eaf0)}.cc631-report-row:last-child{border-bottom:0}.cc631-report-row small{display:block;color:var(--muted,#76879a);margin-top:4px}.cc631-actions{display:flex;gap:7px;flex-wrap:wrap}.cc631-empty{padding:16px;text-align:center;color:var(--muted,#78889a);background:var(--surface-secondary,#f5f7fa);border-radius:10px}.cc631-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.cc631-report-kpis span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border,#e0e6ed);border-radius:9px;padding:9px;background:var(--card,#fff)}.cc631-report-kpis b{font-size:19px;color:var(--text,#172b3e)}.cc631-report-kpis small{color:var(--muted,#718197);font-size:11px}.cc631-recent-list{display:grid;gap:8px;margin-top:12px}.cc631-recent-list>div{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:10px;border:1px solid var(--border,#e0e6ed);border-radius:9px}.cc631-recent-list span{justify-self:end}.cc631-recent-list small{grid-column:1/-1;color:var(--muted,#78889a)}.cc631-media-grid{display:flex;gap:8px;overflow:auto;padding:8px 0}.cc631-media-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:0 0 125px;min-height:82px;padding:8px;border:1px solid var(--border,#dce4ec);background:var(--surface-secondary,#f5f8fb);border-radius:10px;overflow:hidden;text-align:right;color:var(--text,#172b3e)}.cc631-media-tile img{width:100%;height:72px;object-fit:cover;border-radius:6px}.cc631-media-tile span{font-size:18px}.cc631-media-tile b{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc631-media-tile small{font-size:10px;color:var(--muted,#718197)}.cc631-project-pulse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.cc631-project-card{border:1px solid var(--border,#dce4ec);border-radius:12px;padding:14px;background:var(--card,#fff);min-width:0}.cc631-project-card h3{margin:0 0 5px;font-size:16px}.cc631-project-card small,.cc631-project-last{color:var(--muted,#718197)}.cc631-company-pulse{margin-top:16px;padding:18px;border:1px solid var(--border,#dbe3eb);border-radius:14px;background:var(--surface,#fff);box-shadow:0 5px 18px rgba(17,40,64,.05)}.cc631-dashboard{margin-top:16px}.cc631-report-modal,.cc631-edit-modal{width:min(1120px,96vw);max-height:90vh;overflow:auto}.cc631-report-modal h3,.cc631-edit-modal h4{margin:18px 0 8px}.cc631-report-cover{padding:14px;border-radius:10px;background:var(--surface-secondary,#f4f7fa)}.cc631-report-cover h2,.cc631-report-cover h3{margin:3px 0}.cc631-report-cover p{color:var(--muted,#718197)}.cc631-report-section{padding:12px 0;border-bottom:1px solid var(--border,#e1e7ee)}.cc631-review-item{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:10px;border:1px solid var(--border,#dce4ec);border-radius:9px;margin:8px 0}.cc631-review-item span,.cc631-review-item input{grid-column:1/-1}.cc631-media-modal{width:min(1000px,96vw)}.cc631-media-player{display:block;max-width:100%;max-height:72vh;margin:12px auto;border-radius:8px}.cc631-entry-media-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.cc631-entry-media-list .btn{max-width:100%}.cc631-report-modal .table-wrap{margin:8px 0 16px}
@media(max-width:760px){.cc631-form-grid,.cc631-resource-grid{grid-template-columns:1fr}.cc631-entry-line,.cc631-plan-line{grid-template-columns:minmax(0,1fr) 110px 38px}.cc631-report-row{grid-template-columns:1fr;align-items:start}.cc631-actions{justify-content:flex-start}.cc631-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cc631-recent-list>div{grid-template-columns:1fr}.cc631-recent-list span{justify-self:start}.cc631-report-modal,.cc631-edit-modal{padding:12px!important}}

/* V632 — Daily execution is published immediately; period reports roll up without financial approvals. */
.cc631-status.published{background:#e8f2fb;color:#1b5d88}.cc632-report-month-group{border:1px solid var(--border,#dce4ec);border-radius:11px;padding:10px 13px;margin:10px 0;background:var(--surface-secondary,#f7f9fb)}.cc632-report-month-group h3{margin:3px 0 7px;color:var(--text,#172b3e);font-size:14px}.cc632-dashboard-reports{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.cc632-dashboard-reports .btn{font-size:12px}.cc631-page .sub{line-height:1.65}
@media(max-width:760px){.cc632-dashboard-reports .btn{flex:1 1 auto}}

/* V633 — multi-photo/video selection, preview and published report galleries */
.cc633-upload-label input[type=file]{cursor:pointer;min-height:42px;background:var(--surface-secondary,#f4f7fb)}
.cc631-pending-files{margin-top:8px;padding:12px}.cc633-media-empty{display:block;line-height:1.8}
.cc633-media-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cc633-media-summary b{color:var(--text,#172b3e)}.cc633-media-summary span{color:var(--muted,#718197);font-size:12px}.cc633-media-summary .btn{margin-inline-start:auto}
.cc633-pending-grid,.cc633-report-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}
.cc633-pending-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border,#dce4ec);border-radius:10px;background:var(--card,#fff)}
.cc633-pending-preview{height:112px;display:grid;place-items:center;background:var(--surface-secondary,#f3f6fa);overflow:hidden}.cc633-pending-preview img{width:100%;height:100%;object-fit:cover}.cc633-video-placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#14283c,#315c78);color:#fff}.cc633-video-placeholder span{font-size:28px}.cc633-video-placeholder b{font-size:12px;letter-spacing:1px}
.cc633-pending-meta{display:grid;gap:4px;padding:8px 34px 8px 8px}.cc633-pending-meta b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc633-pending-meta small{font-size:10px;color:var(--muted,#718197)}
.cc633-remove-file{position:absolute;top:7px;inset-inline-end:7px;width:26px;height:26px;border:0;border-radius:50%;background:#fff;color:#a52d35;box-shadow:0 1px 5px #0002;font-size:18px;cursor:pointer}
.cc633-report-gallery{margin:10px 0 18px}.cc633-report-media-tile{min-width:0;width:100%;min-height:142px;flex:auto;cursor:pointer}.cc633-report-media-tile img,.cc633-report-media-tile video{width:100%;height:108px;object-fit:cover;border-radius:6px;background:#14283c}.cc633-report-media-tile small{font-size:10px;color:var(--muted,#718197)}.cc633-report-media-tile.video-tile{border-color:#9db7ca}.cc633-report-media-tile.video-tile span{position:absolute;top:45px;left:50%;transform:translateX(-50%);background:#10263bcc;color:#fff;border-radius:50%;padding:7px 11px;z-index:1}
@media(max-width:640px){.cc633-pending-grid,.cc633-report-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cc633-media-summary .btn{margin-inline-start:0}.cc633-pending-preview{height:96px}}

.cc633-pending-preview video{width:100%;height:100%;object-fit:contain;background:#14283c}


/* V634 project logo library and print-time logo selector */
.cc634-branding-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;border:1px solid #dce6ef}.cc634-branding-shortcut h3{margin:3px 0 6px}.cc634-shortcut-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cc634-logo-manager{width:min(900px,96vw);max-height:88vh;overflow:auto}.cc634-logo-add{padding:16px;margin:12px 0;border:1px dashed #b8c9dc}.cc634-logo-add h4,.cc634-logo-list-head h4{margin:0 0 12px}.cc634-logo-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 8px}.cc634-logo-row{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;border:1px solid #e1e8f0;border-radius:12px;padding:10px;margin:8px 0;background:#fff}.cc634-logo-preview{height:75px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e8edf3;border-radius:8px;padding:6px}.cc634-logo-preview img{max-width:100%;max-height:64px;object-fit:contain}.cc634-logo-fields{display:grid;grid-template-columns:1fr 180px;gap:10px}.cc634-logo-fields label{display:block;font-size:12px;color:#64748b}.cc634-logo-fields input,.cc634-logo-fields select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #d5deea;border-radius:7px;background:#fff}.cc634-logo-actions{display:flex;gap:6px;flex-wrap:wrap}.cc634-print-picker{width:min(760px,96vw);max-height:88vh;overflow:auto}.cc634-print-logo-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.cc634-print-option{display:grid;grid-template-columns:22px 60px 1fr 52px;align-items:center;gap:9px;padding:9px;border:1px solid #dce5ee;border-radius:10px;background:#fff;cursor:pointer}.cc634-print-option>input[type=checkbox]{width:17px;height:17px}.cc634-print-option img{width:60px;height:46px;object-fit:contain;background:#f8fafc;border:1px solid #edf1f5;border-radius:6px;padding:3px}.cc634-print-option span b,.cc634-print-option span small{display:block}.cc634-print-option span b{font-size:13px}.cc634-print-option span small{font-size:11px;color:#64748b;margin-top:3px}.cc634-logo-order{width:48px;padding:5px;border:1px solid #d5deea;border-radius:6px}.cc634-remember-template{display:flex;align-items:center;gap:8px;margin:12px 0;color:#475569;font-size:13px}.cc634-remember-template input{width:17px;height:17px}
@media(max-width:760px){.cc634-branding-shortcut{display:block}.cc634-shortcut-actions{margin-top:12px}.cc634-logo-row{grid-template-columns:80px 1fr}.cc634-logo-actions{grid-column:1/-1}.cc634-logo-fields{grid-template-columns:1fr}.cc634-print-logo-list{grid-template-columns:1fr}.cc634-print-option{grid-template-columns:20px 54px 1fr 46px}}

/* V635 — Quantity Survey multi-breakdown and multi-attachment UI */
.qsv635-breakdown-panel,.qsv635-attachments-panel{grid-column:1/-1;border:1px solid #dce5ee;border-radius:12px;background:#fbfdff;padding:14px;margin-top:4px}
.qsv635-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.qsv635-panel-head b,.qsv635-attachments-panel>b{display:block;font-size:14px;color:#243b53}.qsv635-panel-head small{display:block;color:#718096;font-size:11px;margin-top:4px}
.qsv635-breakdown-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr) auto;gap:10px;align-items:end;border:1px solid #e5ebf1;background:#fff;padding:10px;border-radius:9px;margin:8px 0}.qsv635-breakdown-row label{display:block;font-weight:700;color:#53657a;font-size:12px}.qsv635-breakdown-row input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #ccd7e2;border-radius:8px;background:#fff}.qsv635-remove-row{height:39px}.qsv635-breakdown-total{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 12px;margin-top:10px;border-radius:9px;background:#eef6ff;border:1px solid #d5e6f7}.qsv635-breakdown-total span{font-size:12px;color:#53657a}.qsv635-breakdown-total b{font-size:19px;color:#125d8c}.qsv635-breakdown-total small{font-size:11px;color:#64748b}
.qsv635-attachments-panel p{margin:5px 0 10px;color:#64748b;font-size:12px;line-height:1.7}.qsv635-attachments-panel input[type=file]{box-sizing:border-box;width:100%;padding:10px;border:1px dashed #aebfce;border-radius:9px;background:#fff}.qsv635-file-preview,.qsv635-detail-files{display:grid;gap:7px;margin-top:10px}.qsv635-file-preview>span{font-size:12px;color:#8291a2}.qsv635-file-chip,.qsv635-detail-file{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;background:#f1f6fb;border:1px solid #e0e8f0;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.qsv635-file-chip small{color:#748399}.qsv635-file-chip button{border:0;border-radius:6px;background:#feeceb;color:#9b3029;font-size:16px;line-height:1;padding:4px 8px;cursor:pointer}.qsv635-detail-modal{max-width:min(900px,96vw)!important;max-height:90vh;overflow:auto}.qsv635-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 18px}.qsv635-detail-grid>div{padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;min-width:0}.qsv635-detail-grid span{display:block;font-size:11px;color:#718096;margin-bottom:4px}.qsv635-detail-grid b{font-size:13px;overflow-wrap:anywhere}.qsv635-detail-modal h4{margin:12px 0 8px}.qsv635-detail-modal .table{overflow:auto}.qsv635-detail-modal table{width:100%;border-collapse:collapse}.qsv635-detail-modal th,.qsv635-detail-modal td{padding:9px;border-bottom:1px solid #e5eaf0;text-align:right;font-size:12px}.qsv635-detail-modal th{background:#f4f7fa}
@media(max-width:650px){.qsv635-breakdown-row{grid-template-columns:1fr}.qsv635-remove-row{width:100%}.qsv635-detail-grid{grid-template-columns:1fr}.qsv635-panel-head .btn{width:100%}}

/* V643 — Technical Office intake, quantity verification and owner monitoring */
.proc-v643-intake-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:14px;border:1px solid var(--line,#d9e2ef);border-radius:16px;background:linear-gradient(135deg,#f7fbff,#fff)}
.proc-v643-intake-card h3{margin:4px 0 6px;font-size:18px}
.proc-v643-intake-card p{margin:5px 0 0}
.proc-v643-intake-state{display:inline-flex;align-items:center;border-radius:30px;padding:6px 11px;font-size:12px;font-weight:700;margin-top:3px}
.proc-v643-intake-state.open{color:#087443;background:#e6f7ee}
.proc-v643-intake-state.closed{color:#a83232;background:#fff0f0}
.proc-v643-review-rule{padding:10px 13px;margin:12px 0;border-radius:10px;background:#f2f7fd;color:#38516d;font-size:13px;line-height:1.7}
.proc-v643-purchase-qty{font-weight:800;color:#133e69;font-size:15px;white-space:nowrap}
.proc-v643-qty-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:normal;line-height:1.5}
.proc-v643-qty-badge.ok{background:#e6f7ee;color:#087443}
.proc-v643-qty-badge.info{background:#eaf3ff;color:#24558a}
.proc-v643-qty-badge.warn{background:#fff4d8;color:#966000}
.proc-v643-qty-badge.bad{background:#ffebeb;color:#ae2828}
.proc-v643-qty-badge.gray{background:#edf1f5;color:#596675}
.proc-v643-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px;background:#f8fafc;border:1px solid #e2eaf2;border-radius:12px;text-align:right}
.proc-v643-detail-grid>div{min-width:0;padding:8px 10px;background:#fff;border:1px solid #e7edf4;border-radius:9px}
.proc-v643-detail-grid label{display:block;color:#63758a;font-size:11px;margin-bottom:5px}
.proc-v643-detail-grid b{display:block;font-size:13px;overflow-wrap:anywhere}
.proc-v643-detail-note{font-size:12px;color:#536b82;margin-top:10px;padding:9px 12px;background:#eef6ff;border-radius:9px;line-height:1.7}
.proc-v643-tech-order{padding:16px;margin:14px 0;border:1px solid #dce5f0;border-radius:15px}
.proc-v643-tech-order .proc-table-wrap{margin-top:12px}
.proc-v643-owner-monitor .proc-v643-owner-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:15px 0}
.proc-v643-owner-kpis>div{padding:13px;border:1px solid #e0e7ef;border-radius:11px;background:#f8fafc}
.proc-v643-owner-kpis label{display:block;font-size:11px;color:#62738a;margin-bottom:6px}
.proc-v643-owner-kpis b{font-size:22px;color:#132f4b}
.proc-v643-stage-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 15px}
.proc-v643-stage-strip span,.proc-v643-stage-badge{display:inline-flex;padding:5px 9px;border-radius:20px;background:#edf4fb;color:#315677;font-size:11px}
.proc-v643-audit-list{display:grid;gap:8px;padding:10px;background:#f8fafc;border-radius:10px}
.proc-v643-audit-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:8px;border-bottom:1px solid #e3eaf2}
.proc-v643-audit-list span{font-size:11px;color:#68788a}
.proc-v643-audit-list small{grid-column:1/-1;color:#8a5a00}
@media(max-width:800px){.proc-v643-intake-card{align-items:flex-start;flex-direction:column}.proc-v643-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-v643-owner-monitor .proc-v643-owner-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.proc-v643-tech-order{padding:10px}}
@media(max-width:480px){.proc-v643-detail-grid{grid-template-columns:1fr}.proc-v643-owner-monitor .proc-v643-owner-kpis{grid-template-columns:1fr 1fr}}

/* V702: company manager task-first workspace, existing modules retained */
.cc-v702-dashboard{direction:rtl;color:#14324d}.cc-v702-hero{background:linear-gradient(110deg,#123451,#086c90);color:#fff;padding:25px 30px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cc-v702-hero h1{margin:5px 0;font-size:25px;color:#fff}.cc-v702-hero p{color:#e5f4ff;margin:0}.cc-v702-hero span{border:2px solid #ffffff99;border-radius:50%;padding:20px;font-size:20px}.cc-v702-tabs{display:flex;flex-wrap:wrap;gap:5px;background:#123b5c;padding:7px;border-radius:12px;margin:12px 0}.cc-v702-tabs button{border:0;background:transparent;color:#fff;padding:10px 13px;border-radius:7px;font-weight:700;cursor:pointer;flex:0 0 auto}.cc-v702-tabs button.active{background:#0b86b7}.cc-v702-tabs button:hover{background:#23688d}.cc-v702-content{background:#f7fafc;border:1px solid #dbe8f1;border-radius:15px;padding:16px;min-height:310px}.cc-v702-content section{background:white;border:1px solid #dbe7f0;border-radius:12px;padding:16px}.cc-v702-content h2{font-size:18px;margin:0 0 12px}.cc-v702-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.cc-v702-metrics>div{border:1px solid #dce8f0;border-radius:12px;background:#fff;padding:17px}.cc-v702-metrics small{display:block;color:#63778c}.cc-v702-metrics b{display:block;font-size:27px;color:#0c5f8b;margin-top:6px}.cc-v702-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cc-v702-list-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid #e9eef3}.cc-v702-list-row span,.cc-v702-list-row small{color:#64748b}.cc-v702-empty{padding:22px;color:#66788b;background:#f7fafc;border-radius:9px;margin-bottom:12px}.cc-v702-projects,.cc-v702-reports{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:12px 0}.cc-v702-project,.cc-v702-report{background:#f5faff;border:1px solid #dbe7f0;border-radius:12px;padding:16px;text-align:right;color:#183b58}.cc-v702-project{cursor:pointer;font-weight:700}.cc-v702-project small{display:block;color:#6a7b8c}.cc-v702-muted{font-size:12px;color:#687a8c}@media(max-width:900px){.cc-v702-metrics{grid-template-columns:repeat(2,1fr)}.cc-v702-two{grid-template-columns:1fr}}

.cc-v703-shell{direction:rtl}.cc-v703-hero{background:linear-gradient(110deg,#173653,#176785);color:white;padding:24px;border-radius:15px;margin-bottom:14px}.cc-v703-hero h1{color:white;margin:5px 0}.cc-v703-hero p{color:#e0f2fe}.cc-v703-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cc-v703-tiles{display:flex;gap:8px;flex-wrap:wrap}.cc-v703-project{display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #e2e8f0}.cc-v703-info{margin-top:12px}@media(max-width:700px){.cc-v703-grid{grid-template-columns:1fr}}

/* V705 — compact horizontal company manager navigation, overriding global button layout */
.cc-v702-dashboard nav.cc-v702-tabs{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:100%!important;max-width:100%!important;min-height:54px!important;height:auto!important;padding:7px 9px!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;direction:rtl}
.cc-v702-dashboard nav.cc-v702-tabs>button[data-action="cc-v702-tab"]{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;width:auto!important;min-width:100px!important;max-width:none!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:0 13px!important;border:0!important;border-radius:7px!important;line-height:1.3!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important;position:static!important}
.cc-v702-dashboard nav.cc-v702-tabs>button[data-action="cc-v702-tab"].active{background:#0b86b7!important;color:white!important}
.cc-v702-dashboard nav.cc-v702-tabs>button[data-action="cc-v702-tab"]:focus-visible{outline:2px solid white!important;outline-offset:-3px}
@media(max-width:700px){.cc-v702-dashboard nav.cc-v702-tabs>button[data-action="cc-v702-tab"]{min-width:90px!important;padding:0 10px!important;font-size:12px!important}}

/* V706 compact home and project report center */
.cc-v706-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.cc-v706-stats>div{border:1px solid #d9e4ed;background:#fff;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px}.cc-v706-stats b{font-size:23px;color:#123b59}.cc-v706-stats small{color:#506678}.cc-v706-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.cc-v706-columns section,.cc-v706-center{background:#fff;border:1px solid #d9e4ed;border-radius:10px;padding:15px;min-width:0}.cc-v706-columns h2,.cc-v706-center h2{font-size:17px;margin:0 0 12px}.cc-v706-report-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e9eef2;padding:10px 0}.cc-v706-report-row strong{display:block;font-size:13px}.cc-v706-report-row small{display:block;color:#667b8d}.cc-v706-report-row .btn{white-space:nowrap}.cc-v706-project-links{display:flex;flex-wrap:wrap;gap:7px}.cc-v706-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.cc-v706-filters label{display:flex;flex-direction:column;gap:5px;min-width:180px}.cc-v706-filters select{padding:8px;border:1px solid #c9d5df;border-radius:7px}@media(max-width:750px){.cc-v706-columns{grid-template-columns:1fr}.cc-v706-stats{gap:6px}.cc-v706-stats>div{padding:9px}}

/* V709 compact audit timeline tabs */
.cc-v709-tabs{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;padding:3px 0 10px;scrollbar-width:thin}.cc-v709-tabs .btn{flex:0 0 auto;min-height:36px;padding:7px 14px;white-space:nowrap}.cc-v709-tabs+.report-filters .cost-selectors{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.cc-v709-tabs+.report-filters .cost-selector{min-width:170px;flex:1 1 185px}

/* V720 original work inbox in the manager tab */
.cc-v720-center .card{margin:14px 0;padding:18px}.cc-v720-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cc-v720-center .cc-v570-task-card small{display:block;line-height:1.9}.cc-v720-center .cc-v570-task-card footer{display:flex;gap:8px;flex-wrap:wrap}#ccV569Assignee[multiple]{min-height:145px;width:100%}#ccV720ReplyModal textarea{width:100%;min-height:100px}

/* V721 task-first personal dashboard */
.cc721-badge{background:#d44831;color:#fff;border-radius:20px;min-width:22px;height:22px;padding:1px 6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;margin-inline-start:6px}.cc721-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:15px}.cc721-stats b{display:block;font-size:26px}.cc721-stats .card{padding:16px}.cc721-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cc721-columns>.card{padding:18px}.cc721-action,.cc721-notice,.cc721-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cc721-action{padding:14px 0;border-bottom:1px solid #e1eaf1}.cc721-action small,.cc721-notice small,.cc721-message small{display:block;color:#62758b;line-height:1.9}.cc721-message,.cc721-notice{padding:16px;margin:12px 0}.cc721-notice:not(.is-read){border-inline-start:4px solid #137b9e}.cc721-notice.is-read{opacity:.8}@media(max-width:800px){.cc721-columns{grid-template-columns:1fr}.cc721-action .btn{width:100%}}

/* V722: compact visible dashboard tabs. Applies to legacy AND current buttons. */
.cc-v702-dashboard,
.cc721-dashboard,
.cc-v543-workspace{min-width:0;max-width:100%;box-sizing:border-box}
.cc-v702-dashboard nav.cc-v702-tabs,
.cc721-dashboard nav.cc-v702-tabs,
.cc-v543-tabbar,
.cc-v543-project-tabs,
.cc-v709-tabs{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:wrap!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:5px!important;
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 height:auto!important;
 min-height:0!important;
 padding:7px 9px!important;
 box-sizing:border-box!important;
 overflow:visible!important;
}
.cc-v702-dashboard nav.cc-v702-tabs>button,
.cc721-dashboard nav.cc-v702-tabs>button,
.cc-v543-tabbar>button,
.cc-v543-project-tabs>button,
.cc-v709-tabs>.btn{
 display:inline-flex!important;
 flex:0 1 auto!important;
 align-items:center!important;
 justify-content:center!important;
 width:auto!important;
 min-width:0!important;
 max-width:100%!important;
 height:auto!important;
 min-height:34px!important;
 max-height:none!important;
 margin:0!important;
 padding:7px 10px!important;
 box-sizing:border-box!important;
 white-space:normal!important;
 overflow-wrap:anywhere;
 line-height:1.35!important;
 font-size:12.5px!important;
 font-weight:700!important;
 text-align:center!important;
 position:static!important;
 border-radius:7px!important;
}
.cc-v702-dashboard nav.cc-v702-tabs>button.active{background:#0b86b7!important;color:#fff!important}
.cc-v702-dashboard nav.cc-v702-tabs>button:focus-visible{outline:2px solid #fff!important;outline-offset:-3px}
.cc-v702-dashboard nav.cc-v702-tabs .cc721-badge{flex:0 0 auto;min-width:19px;height:19px;font-size:11px;margin-inline-start:5px}
@media(max-width:700px){
 .cc-v702-dashboard nav.cc-v702-tabs>button,
 .cc-v543-tabbar>button,
 .cc-v543-project-tabs>button,
 .cc-v709-tabs>.btn{font-size:12px!important;padding:7px 9px!important}
}

/* V723: compact gear menus, portaled to body outside scroll/clipping containers. */
body .cc-v723-source.cc-v723-source{display:none!important}
body .cc-v723-gear{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto!important;width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;margin:0!important;border:1px solid #b9ccdf!important;border-radius:8px!important;background:#edf4fa!important;color:#164a6a!important;font:24px/1 Arial!important;cursor:pointer;box-shadow:none!important}
body .cc-v723-gear[aria-expanded="true"]{background:#17698a!important;color:#fff!important}
body .cc-v723-gear:focus-visible{outline:2px solid #0a85b5;outline-offset:2px}
body .cc-v723-menu{position:fixed!important;inset:auto;z-index:2147483600;display:flex!important;flex-direction:column!important;gap:5px;width:260px;min-width:0;max-width:calc(100vw - 16px);padding:7px;box-sizing:border-box;border:1px solid #c8d8e6;border-radius:11px;background:#fff;box-shadow:0 12px 35px #112e4e40;overflow-x:hidden;overflow-y:auto;direction:rtl}
body .cc-v723-menu .cc-v723-menu-item{display:flex!important;align-items:center;justify-content:flex-start;width:100%!important;min-width:0!important;min-height:36px;height:auto!important;max-height:none;margin:0!important;padding:9px 12px!important;border:0!important;border-radius:7px;background:#edf4f9;color:#173f5c;white-space:normal!important;text-align:right;font:600 13px/1.5 Arial,sans-serif;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
body .cc-v723-menu .cc-v723-menu-item:hover{filter:brightness(.96)}
body .cc-v723-menu .cc-v723-menu-item:focus-visible{outline:2px solid #1585ac;outline-offset:-2px}
body .cc-v723-menu .cc-v723-menu-item.is-danger,body .cc-v723-menu .cc-v723-menu-item.is-danger *{color:#fff!important}
body .cc-v723-menu .cc-v723-menu-item:disabled{opacity:.48;cursor:not-allowed}

.cc724-modal{max-width:1050px;width:min(1050px,96vw);max-height:90vh;overflow:auto}.cc724-modal .perm-row{border-bottom:1px solid #dae4ed;padding:9px 0}.cc724-modal label{margin:7px 0}.cc724-modal small{display:block}.cc724-modal h3{margin-top:18px}.users-table small{display:block}

/* V725 profile/document forms */
.cc725-company-fields{grid-column:1/-1;min-width:0;border:1px solid #d6e3ec;border-radius:12px;padding:16px}.cc725-doc{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e8ef;padding:10px 0;overflow-wrap:anywhere}.cc725-doc small{display:block;color:#62788e}.cc724-modal details{margin:16px 0;padding:12px;border:1px solid #d6e3ec;border-radius:10px}.cc724-modal input[type=file]{max-width:100%}.cc725-project{display:block;margin:8px 0}
/* Central save acknowledgement retained from V718. */
.cc-v718-sync{padding:10px 16px;background:#edf6fa;color:#164963;border:1px solid #cee1ec;border-radius:8px;margin:8px 0;font-size:13px}
/* V762: visible staff/project actions and personal account */
.cc762-identity{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.cc762-identity .cc-v502-global-language{margin:0}.cc762-staff td:last-child{min-width:260px;white-space:normal}.cc762-staff td:last-child .btn{margin:3px;padding:7px 10px}.cc762-staff .company-actions,.cc762-projects .company-actions{display:flex;gap:8px;flex-wrap:wrap}.cc762-account.modal{width:min(1100px,96vw);max-height:90vh;overflow:auto}.cc762-profile-hero{display:flex;align-items:center;gap:20px;padding:18px;background:linear-gradient(115deg,#143954,#08738f);color:white;border-radius:12px;margin-bottom:15px}.cc762-profile-hero>span{font-size:40px}.cc762-profile-hero h2{color:white;margin:0}.cc762-account-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.cc762-account .card{padding:18px;margin:12px 0}.cc762-fields{margin:0 0 18px}.cc762-fields>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid #e2eaf1;padding:8px;gap:8px}.cc762-fields dt{font-weight:700}.cc762-fields dd{margin:0;overflow-wrap:anywhere}.cc762-project{padding:14px;border:1px solid #d9e6ef;border-radius:10px;margin:10px 0}.cc762-account textarea{width:100%;box-sizing:border-box}.cc762-account li{margin:7px 0}.cc762-documents{padding:24px}@media(max-width:700px){.cc762-account-grid{grid-template-columns:1fr}.cc762-fields>div{grid-template-columns:100px 1fr}.cc762-staff td:last-child{min-width:220px}}
/* V763: red actions retain readable text in every state. */
body button.btn.danger,body .btn-danger,body .mini-btn.danger,body .delete-btn,body .is-danger,body .danger-lite,body button[class*="danger"]{background:#b42318!important;border-color:#b42318!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;font-weight:700!important}body button[class*="danger"] *,body .btn.danger *,body .is-danger *,body .danger-lite *{color:#fff!important;-webkit-text-fill-color:#fff!important}body button[class*="danger"]:hover,body .btn.danger:hover{background:#912018!important;color:#fff!important}body button[class*="danger"]:active,body .btn.danger:active{background:#74190f!important;color:#fff!important}body button[class*="danger"]:disabled,body .btn.danger:disabled{background:#94534d!important;opacity:1!important;color:#fff!important;cursor:not-allowed}
.cc763-dialog{width:min(1220px,96vw)!important;max-width:96vw!important;max-height:93vh!important;overflow:auto!important;padding:22px!important}.cc763-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cc763-fields label,.cc763-project-select label{display:flex;flex-direction:column;gap:7px}.cc763-fields input,.cc763-fields select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbdbea;border-radius:7px}.cc763-fields input[readonly]{background:#edf3f8;color:#244760}.cc763-projects,.cc763-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.cc763-actions label,.cc763-dashboard,.cc763-delegate{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid #d9e5ee;border-radius:8px}.cc763-module-layout{display:grid;grid-template-columns:190px 1fr;gap:18px;margin:15px 0}.cc763-module-layout>nav{display:flex;flex-direction:column;gap:6px}.cc763-module-layout>nav .btn[aria-pressed="true"]{background:#08768b!important;color:white!important}.cc763-project-select{display:flex;gap:18px;align-items:start;flex-wrap:wrap}.cc763-unavailable{opacity:.6}.cc763-dialog details{padding:12px;margin:12px 0;border:1px solid #dce6ef;border-radius:10px}.cc763-dialog summary{cursor:pointer;font-weight:700}.cc763-dialog input[type="checkbox"]{width:17px;height:17px;flex-shrink:0}.cc763-dialog [data-cc763-status]{white-space:pre-wrap}.cc763-dialog [hidden]{display:none!important}@media(max-width:700px){.cc763-fields,.cc763-actions{grid-template-columns:1fr}.cc763-module-layout{grid-template-columns:1fr}.cc763-module-layout>nav{flex-direction:row;overflow:auto}.cc763-dialog{padding:12px!important}.cc763-dialog .modal-actions{position:static}}
body .cc763-red-action,body .cc763-red-action *{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;font-weight:700!important}body .cc763-red-action:disabled{opacity:1!important;background:#94534d!important;color:#fff!important}
