:root{--ink:#142a32;--muted:#75838a;--line:#e7ecee;--surface:#fff;--canvas:#f6f8f8;--teal:#137d74;--teal-dark:#0f5d59;--teal-soft:#e5f3f0;--navy:#10272f;--orange:#be762b;--orange-soft:#fff3e5;--red:#b84d4d;--red-soft:#fff0ee;--green:#25806a;--green-soft:#e8f5ef;--blue:#39769b;--blue-soft:#ebf4fa;--shadow:0 12px 36px #1b35430d;--radius:12px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font:16px 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}a{color:var(--teal)}.boot{height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;font:800 20px Manrope,sans-serif;color:var(--navy)}.boot p{font:16px 'DM Sans',sans-serif;color:var(--muted)}.brand-mark{height:38px;width:38px;border-radius:12px;background:linear-gradient(135deg,#1d9d8e,#0c6962);display:inline-flex;align-items:center;justify-content:center;color:white;font:800 23px Manrope,sans-serif;box-shadow:0 5px 13px #137d7433}.brand-mark.small{height:34px;width:34px;border-radius:10px}.shell{min-height:100vh;display:flex}.sidebar{width:258px;min-width:258px;background:var(--navy);color:#d3e0e2;display:flex;flex-direction:column;padding:21px 13px 12px;position:fixed;inset:0 auto 0 0;z-index:2}.brand-lock{display:flex;align-items:center;gap:11px;padding:0 11px 19px;color:#fff;font:800 17px Manrope,sans-serif;letter-spacing:.2px}.brand-lock small{display:block;color:#78939a;font:600 10px 'DM Sans',sans-serif;letter-spacing:1px;margin-top:2px}.project-chip{margin:0 2px 13px;padding:12px 10px;display:flex;align-items:center;gap:8px;background:#ffffff0b;border:1px solid #ffffff11;border-radius:9px}.project-chip div{min-width:0;flex:1}.project-chip b{display:block;color:#f1f7f7;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-chip small{display:block;color:#729096;font-size:10px;letter-spacing:.55px;margin-top:5px}.pulse{width:7px;height:7px;background:#52bea6;border-radius:50%;box-shadow:0 0 0 4px #52bea620}.more{color:#779198;font-size:12px}.side-nav{overflow:auto;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:#365158 transparent}.nav-group{font-size:11px;font-weight:700;letter-spacing:1.25px;color:#628087;padding:14px 11px 6px}.nav-link{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;padding:9px 10px;color:#91a8ac;border-radius:7px;text-align:left;margin:1px 0;font-size:14px;transition:.15s}.nav-link:hover{background:#ffffff09;color:white}.nav-link.active{background:#1b444b;color:#fff;box-shadow:inset 2px 0 #50c0ad}.nav-icon{width:17px;text-align:center;font-size:17px;color:#7c9ca0}.nav-link.active .nav-icon{color:#67caba}.nav-count{margin-left:auto;background:#9e6134;color:#fff;border-radius:10px;padding:2px 6px;font-size:11px}.sidebar-bottom{margin-top:auto}.sync-state{padding:8px 11px 12px;color:#80989c;display:flex;align-items:center;gap:8px;font-size:11px}.sync-state i,.status-pill i{width:6px;height:6px;border-radius:50%;background:#43b598}.user-menu{border-top:1px solid #ffffff17;padding:12px 5px 3px;display:flex;align-items:center;gap:9px}.avatar{width:29px;height:29px;border-radius:9px;background:#2c6469;color:#d9f5ef;display:grid;place-items:center;font-size:14px;font-weight:700}.user-menu span:nth-child(2){min-width:0;flex:1}.user-menu b,.user-menu small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu b{font-size:12px;color:#e4eeee}.user-menu small{font-size:11px;color:#829b9f;margin-top:3px}.quiet-icon,.icon-button{background:transparent;border:0;color:#4d6269;font-size:18px;padding:5px}.quiet-icon:hover,.icon-button:hover{color:var(--teal)}.main{margin-left:258px;min-width:0;width:calc(100% - 258px)}.topbar{height:58px;background:#ffffffed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 31px}.crumb{display:flex;gap:9px;align-items:center;color:#44575e;font-size:13px}.crumb b{color:#68777c}.crumb strong{color:#142a32;font-weight:700}.top-actions{display:flex;align-items:center;gap:8px}.global-search{height:32px;width:260px;display:flex;align-items:center;gap:8px;background:#f7f9f9;border:1px solid #e8edee;border-radius:7px;padding:0 8px;color:#53656b}.global-search input,.table-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink);font-size:12px}.global-search kbd{border:1px solid #dce3e4;border-radius:4px;padding:2px 4px;font-size:10px;color:#a0aaad}.icon-button{height:31px;width:31px;border:1px solid #e8edee;border-radius:7px;color:#667c82;background:#fff}.content{max-width:1540px;margin:0 auto;padding:27px 31px 50px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.15px;color:#829197;margin:0 0 7px}.page-heading h1{font:700 26px Manrope,sans-serif;letter-spacing:-.55px;margin:0 0 4px;color:#1a3037}.muted{color:var(--muted);font-size:13px;margin:0;line-height:1.55}.heading-actions{display:flex;gap:8px;align-items:center}.button{border:1px solid transparent;border-radius:7px;padding:9px 12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.15s}.button.primary{background:var(--teal);color:#fff;box-shadow:0 3px 7px #137d7424}.button.primary:hover{background:var(--teal-dark);transform:translateY(-1px)}.button.secondary{background:white;border-color:#dce5e6;color:#465e64}.button.secondary:hover{border-color:#aabdbc;color:var(--teal-dark)}.button.danger-quiet{background:#fff;border-color:#f2d1ce;color:var(--red);margin-right:auto}.button.wide{width:100%;padding:12px}.small-button{padding:7px 9px;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:19px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 14px;box-shadow:0 2px 8px #22394205;min-height:103px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#718087;font-size:12px}.metric-top i{font-style:normal;font-size:16px;color:#8ca0a1}.metric>strong{display:block;font:700 25px Manrope,sans-serif;letter-spacing:-.5px;margin:10px 0 2px;color:#20383e}.metric>small{font-size:11px;color:#9aa6aa}.metric.orange>strong{color:#a96a2a}.metric.green>strong{color:#25806a}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.progress-panel,.gap-panel{padding:18px 19px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.panel-head h2{font:700 18px Manrope,sans-serif;margin:0;letter-spacing:-.3px}.panel-head .eyebrow{margin:0 0 4px}.status-pill{background:var(--green-soft);color:var(--green);font-size:11px;padding:6px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}.status-pill.neutral{background:#f0f3f4;color:#63747a}.status-pill.neutral i{background:#a1afb2}.progress-track{height:8px;background:#eef2f2;border-radius:7px;overflow:hidden}.progress-track span{height:100%;display:block;border-radius:7px;background:linear-gradient(90deg,#168b7e,#58bca4);transition:width .4s}.progress-legend{display:flex;align-items:center;gap:15px;color:#849197;font-size:11px;margin:8px 0 22px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.green-dot{background:#3b9f83}.gray-dot{background:#ccd5d7}.right{margin-left:auto;color:#a1abad}.chain{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff2f2;padding-top:15px}.chain-step{display:flex;flex-direction:column;gap:3px}.chain-num{color:#51a99b;font-size:11px;font-weight:700}.chain-step b{font-size:11px;color:#445a60}.chain-step small{font-size:10px;color:#98a3a7}.chain-arrow{color:#ccd5d7;font-size:21px}.text-button{border:0;background:transparent;color:var(--teal);font-weight:600;font-size:11px;padding:4px}.text-button:hover{text-decoration:underline}.gap-row{display:flex;gap:10px;padding:10px 0;border-top:1px solid #f0f2f2;align-items:flex-start}.gap-icon{width:23px;height:23px;min-width:23px;border-radius:7px;display:grid;place-items:center;font-size:13px;font-weight:700}.gap-icon.red{background:var(--red-soft);color:var(--red)}.gap-icon.amber{background:var(--orange-soft);color:var(--orange)}.gap-icon.blue{background:var(--blue-soft);color:var(--blue)}.gap-icon.green{background:var(--green-soft);color:var(--green)}.gap-row b,.gap-row small{display:block}.gap-row b{font-size:12px;color:#40545b}.gap-row small{font-size:11px;color:#98a3a7;margin-top:3px}.bottom-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:13px;margin-top:13px}.bottom-grid>.panel{padding:17px 18px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid button{position:relative;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;gap:3px 6px;border:1px solid #edf0f0;border-radius:8px;background:#fff;text-align:left;padding:10px}.quick-grid button:hover{border-color:#b8d9d4;background:#fcfefd}.quick-grid i{grid-row:span 2;font-style:normal;color:#4c9d91;font-size:16px}.quick-grid b{font-size:11px}.quick-grid small{font-size:10px;color:#89969b;line-height:1.45;padding-right:10px}.quick-grid span{position:absolute;right:8px;top:9px;color:#91aaa8}.activity-row{display:flex;gap:9px;padding:9px 0;border-top:1px solid #f0f2f2;align-items:flex-start}.activity-dot{width:6px;height:6px;border-radius:50%;background:#3da18d;margin:4px 2px}.activity-row div{min-width:0;flex:1}.activity-row b,.activity-row small{display:block}.activity-row b{font-size:11px;color:#465a60;font-weight:600}.activity-row small{font-size:10px;color:#97a2a5;margin-top:3px}.activity-row time{font-size:10px;color:#9ca7aa}.empty-line{padding:20px;text-align:center;color:#96a1a5;font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0}.table-search{height:34px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:0 10px;min-width:260px;color:#8c9a9e;flex:1;max-width:470px}.table-search input{font-size:12px}.item-summary-strip{display:flex;flex-wrap:wrap;gap:22px;align-items:center;padding:10px 14px;background:#edf4f3;border:1px solid #e0eeeb;border-radius:8px;color:#688078;font-size:11px}.item-summary-strip b{color:#314e4b;font-size:13px;margin-left:5px}.warn-text{color:#b36b29!important}.table-panel{overflow:hidden}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;min-width:780px}th{text-align:left;background:#f8fafa;color:#829096;font-size:10px;letter-spacing:.75px;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid #eef1f2;font-size:12px;color:#4f6268;vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fcfdfd}td b{color:#30464c;font-weight:600}td code{font:600 11px 'DM Sans',sans-serif;background:#f0f5f4;color:#2d7771;border-radius:4px;padding:3px 5px;white-space:nowrap}.cell-sub{display:block;font-size:10px;color:#96a1a5;line-height:1.4;margin-top:4px;max-width:460px}.badge{display:inline-flex;align-items:center;border-radius:20px;padding:4px 7px;background:#f0f3f4;color:#697a80;font-size:10px;white-space:nowrap}.badge.success,.badge.compliant,.badge.active{background:var(--green-soft);color:#277b65}.badge.danger,.badge.non-compliant,.badge.missing{background:var(--red-soft);color:#b54949}.badge.warning,.badge.partially-compliant,.badge.evidence-required{background:var(--orange-soft);color:#aa6a2e}.badge.not-stated,.badge.neutral,.badge.no-offer-selected{background:#f0f3f4;color:#75838a}.badge.alternative-proposed{background:var(--blue-soft);color:#39769b}.badge.recommended{background:var(--green-soft);color:#277b65}.badge.recommended-with-clarification{background:var(--orange-soft);color:#aa6a2e}.row-action{border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:600;white-space:nowrap}.empty-cell{text-align:center!important;padding:28px!important;color:#9aa5a8!important}.table-foot{border-top:1px solid var(--line);padding:9px 12px;font-size:11px;color:#879499}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:13px 0}.filter-bar label{display:flex;flex-direction:column;gap:5px;color:#8b979b;font-size:10px;font-weight:600;letter-spacing:.4px;min-width:190px}.filter-bar select{height:30px;border:1px solid #e3e9e9;border-radius:6px;background:#fff;color:#455a60;font-size:11px;padding:0 8px;max-width:330px}.result-count{margin-left:auto;color:#91a0a3;font-size:11px;padding:9px}.req-table td:nth-child(2){max-width:660px}.req-table td:nth-child(2)>b{font-size:12px;line-height:1.55;display:block;font-weight:500}.req-table{min-width:1050px}.filter-chip{display:inline-flex;gap:10px;background:#eaf4f2;color:#497c74;border-radius:20px;padding:6px 8px 6px 11px;font-size:11px;margin:0 0 8px}.filter-chip button{border:0;background:none;color:#55827b}.dept-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.dept-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;display:grid;grid-template-columns:1fr auto;gap:2px 4px}.dept-card span{font-size:11px;color:#5c7075}.dept-card b{font:700 15px Manrope,sans-serif;color:#315b58}.dept-card small{grid-column:1/3;color:#9ba6a9;font-size:10px}.dept-card.selected,.dept-card:hover{border-color:#73b7ad;background:#f4faf9}.vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vendor-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;box-shadow:var(--shadow)}.vendor-top{display:flex;align-items:center;gap:8px}.vendor-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e3f2ef;color:#31887e;font:700 17px Manrope,sans-serif}.vendor-top .quiet-icon{margin-left:auto}.vendor-card h3{font:700 16px Manrope,sans-serif;margin:12px 0 3px}.vendor-card>p{margin:0;color:#89969a;font-size:11px}.vendor-stats{display:flex;justify-content:space-between;border-top:1px solid #eef1f2;border-bottom:1px solid #eef1f2;margin:12px 0 8px;padding:9px 0}.vendor-stats span{text-align:center;flex:1}.vendor-stats b,.vendor-stats small{display:block}.vendor-stats b{font:700 15px Manrope,sans-serif;color:#456861}.vendor-stats small{font-size:10px;color:#99a4a7;margin-top:3px}.vendor-contact{font-size:11px;color:#748489;padding:4px 0}.vendor-ar{font-family:'Segoe UI','Noto Naskh Arabic',sans-serif;font-size:13px;font-weight:600;color:var(--ink);margin:2px 0 4px}.vendor-card .supplier-contact{padding-left:0;border-top:1px solid var(--line);margin-top:4px;padding-top:5px}.vendor-actions{display:flex;justify-content:space-between;border-top:1px solid #eef1f2;padding-top:8px;margin-top:5px}.vendor-actions button{border:0;background:none;color:var(--teal);font-size:11px;font-weight:600}.empty-state{text-align:center;padding:48px 28px;color:#7e8b8f}.empty-state h2,.empty-state h3{font:700 17px Manrope,sans-serif;color:#334a50;margin:10px 0 6px}.empty-state p{font-size:12px;max-width:430px;margin:0 auto 14px;line-height:1.6;color:#879499}.empty-illustration{font-size:27px;color:#6aa79e}.empty-state.compact{padding:22px}.commercial-cards{display:flex;gap:9px;overflow:auto;margin:13px 0}.commercial-card{min-width:200px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.commercial-card small{font-size:10px;color:#89979b}.commercial-card strong{font:700 20px Manrope,sans-serif;color:#315650}.commercial-card span{font-size:11px;color:#64777b}.clar-stats{display:flex;gap:9px;margin:12px 0}.clar-stats span{background:#fff;border:1px solid var(--line);border-radius:7px;padding:8px 11px;color:#79878b;font-size:11px}.clar-stats b{font:700 15px Manrope,sans-serif;color:#435d61;margin-right:5px}.notice{display:flex;gap:10px;background:#eff6f5;border:1px solid #deeeea;border-radius:8px;padding:11px 13px;margin:12px 0;color:#43776e}.notice>span{border:1px solid #9ac9bf;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:12px;min-width:17px}.notice b,.notice small{display:block}.notice b{font-size:12px}.notice small{font-size:11px;color:#7d928f;margin-top:3px;line-height:1.5}.warning-notice{background:#fff8ef;border-color:#f3e4cf;color:#ac7537}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start}.doc-icon{width:36px;height:38px;border-radius:9px;background:#eff6f5;color:#348b80;display:grid;place-items:center;font-size:19px}.doc-type{font-size:10px;letter-spacing:.6px;color:#39887e;font-weight:700;text-transform:uppercase}.doc-info h3{font:700 13px Manrope,sans-serif;margin:4px 0;color:#33484e;word-break:break-word}.doc-info p{margin:0;color:#89969a;font-size:11px}.doc-meta{display:flex;gap:11px;color:#a0aaad;font-size:10px;margin-top:10px}.doc-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.download-link{font-size:10px;color:#438d83;text-decoration:none}.doc-type-row{display:flex;gap:14px;margin:0 0 11px;flex-wrap:wrap}.doc-type-row span{font-size:11px;color:#75868a}.doc-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#62aa9f;margin-right:5px}.evidence-panel{padding:16px;margin-top:13px}.evidence-panel h2{margin:0}.form-panel,.source-hierarchy{padding:18px;margin-bottom:14px}.form-panel>.panel-head,.source-hierarchy>.panel-head{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 13px}.form-grid label,.form-stack label,.file-row label{display:flex;flex-direction:column;gap:6px;color:#697a7f;font-size:11px;font-weight:600}.form-grid label.full{grid-column:1/3}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.file-row input{width:100%;border:1px solid #dfe6e7;border-radius:6px;background:white;color:#354a50;padding:9px 10px;font-size:12px;outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.form-stack input:focus{border-color:#83bdb3;box-shadow:0 0 0 3px #daf0eb}.form-grid label small{font-size:10px;font-weight:400;color:#95a1a4}.form-grid textarea{resize:vertical;line-height:1.5}.form-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f0;padding-top:13px;margin-top:16px}.form-footer span,.fine{font-size:10px;color:#929fa2}.principle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.principle-grid>div{border:1px solid #edf1f1;border-radius:8px;padding:12px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;gap:4px 7px}.principle-grid span{grid-row:span 2;font:700 12px Manrope,sans-serif;color:#60a99f}.principle-grid b{font-size:12px;color:#4c6267}.principle-grid small{font-size:11px;color:#89979a;line-height:1.5}.help-grid{margin-bottom:14px}.source-hierarchy>.panel-head{margin-bottom:13px}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.role-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:6px}.role-icon{font-size:17px;color:#4b988e}.role-card b{font-size:11px}.role-card small{font-size:10px;color:#8d999c;line-height:1.45}.panel-head.padded{padding:14px 14px 0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#f4f7f6}.auth-brand{background:radial-gradient(ellipse at 75% 20%,#1b5258 0%,#112f37 45%,#0c242c 100%);color:#fff;padding:8vh 9vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #ffffff12;border-radius:50%;right:-180px;bottom:-250px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}.auth-brand .brand-lock{padding:0;margin-bottom:78px}.auth-brand .eyebrow{color:#5fc0af}.auth-brand h1{font:700 clamp(34px,calc(4vw + 2px),55px) Manrope,sans-serif;line-height:1.15;letter-spacing:-1.5px;margin:3px 0 15px}.auth-brand>.muted{color:#9bb4b6}.auth-steps{display:flex;flex-direction:column;gap:13px;margin-top:52px;color:#9cb6b9;font-size:12px;letter-spacing:.3px}.auth-panel{display:grid;place-items:center;padding:30px}.auth-card{background:white;border:1px solid #e6ebeb;border-radius:14px;box-shadow:0 24px 70px #18323912;padding:32px;width:min(400px,100%)}.auth-card h2{font:700 24px Manrope,sans-serif;margin:18px 0 6px;letter-spacing:-.5px}.auth-card>p{margin-bottom:23px}.form-stack{display:flex;flex-direction:column;gap:14px}.form-stack label{font-size:12px}.form-stack input{height:40px}.form-stack .fine{line-height:1.6;margin:0;text-align:center}.modal-backdrop{position:fixed;inset:0;background:#0d222b77;z-index:10;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:13px;width:min(760px,96vw);max-height:90vh;overflow:auto;box-shadow:0 25px 90px #081b2380;padding:19px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px;padding-bottom:12px;border-bottom:1px solid #edf0f0}.modal-head h2{font:700 19px Manrope,sans-serif;margin:0 0 4px}.modal-head .eyebrow{margin:0 0 4px}.modal-head .quiet-icon{font-size:25px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf0f0;padding-top:13px;margin-top:15px}.file-row{border:1px dashed #c9d9d8;border-radius:8px;padding:10px;margin-top:12px;display:flex;align-items:end;gap:12px}.file-row label{flex:1}.file-row input{padding:7px}.file-row>small{font-size:10px;color:#89979a;padding-bottom:8px}.source-quote{background:#f5f8f8;border:1px solid #e9efef;border-left:3px solid #58a89d;border-radius:6px;padding:11px 13px;margin:9px 0 13px}.source-quote>span{font-size:10px;font-weight:700;letter-spacing:.8px;color:#6f8a8a}.source-quote p{font-size:12px;line-height:1.6;color:#3e5459;margin:6px 0}.source-quote small{font-size:11px;color:#89979a}.source-quote pre{font:12px/1.6 'DM Sans',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-height:390px;overflow:auto;color:#40575c;margin:8px 0 0}.detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}.tab{background:transparent;border:0;border-bottom:2px solid transparent;color:#849196;padding:8px 10px;font-size:11px}.tab.active{color:var(--teal);border-color:var(--teal);font-weight:700}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 12px}.detail-summary>div{background:#f7f9f9;border-radius:7px;padding:9px}.detail-summary span,.detail-summary b{display:block}.detail-summary span{font-size:9px;letter-spacing:.5px;color:#8a989c}.detail-summary b{font:600 12px Manrope,sans-serif;color:#405a5e;margin-top:5px}.source-ref{color:#8b999d;font-size:10px;margin:12px 0 2px}.pdf-page{border-top:1px solid #e9eeee;padding:8px 2px}.pdf-page summary{cursor:pointer;color:#526a6e;font-size:11px;font-weight:600}.pdf-page pre{font:11px/1.6 'DM Sans',sans-serif;white-space:pre-wrap;color:#5c6c71;max-height:220px;overflow:auto}.pdf-extract h3{font:700 13px Manrope,sans-serif;color:#43595e}.archive-list{font:11px/1.9 'DM Sans',sans-serif;color:#536b70;max-height:150px;overflow:auto}.document-details>p{font-size:11px;color:#74858a}.search-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.search-columns>.panel{overflow:hidden}.search-columns .panel-head{padding:13px 13px 0}.search-columns h2{font:700 15px Manrope,sans-serif;margin:0}.search-columns h2 small{font:12px 'DM Sans',sans-serif;color:#8a999c}.search-result{width:100%;border:0;border-top:1px solid #edf0f0;background:#fff;display:flex;gap:9px;text-align:left;padding:10px;align-items:flex-start}.search-result:hover{background:#f8fbfa}.search-result>span{min-width:0;flex:1}.search-result b,.search-result small{display:block}.search-result b{font-size:11px;line-height:1.5;max-height:42px;overflow:hidden}.search-result small{font-size:10px;color:#8c999d;margin-top:4px}.search-result i{font-style:normal;color:var(--teal)}.search-result code{font:600 10px 'DM Sans';white-space:nowrap;color:#3c8980;background:#eff6f5;border-radius:4px;padding:3px}.toast{position:fixed;z-index:20;bottom:18px;right:19px;background:#163b3c;color:#fff;padding:11px 15px;border-radius:8px;box-shadow:0 10px 28px #10252c35;font-size:12px;animation:toast-in .18s ease}.toast.error{background:#8f4240}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(3,1fr)}.dept-grid{grid-template-columns:repeat(4,1fr)}.vendor-grid{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.sidebar{width:72px;min-width:72px;padding:16px 8px}.brand-lock{padding:0 8px 18px}.brand-lock>div,.project-chip,.nav-group,.nav-link>span:not(.nav-icon),.nav-count,.sync-state,.user-menu span:nth-child(2),.user-menu .quiet-icon{display:none}.nav-link{justify-content:center;padding:11px 8px}.nav-icon{font-size:18px}.user-menu{justify-content:center}.main{margin-left:72px;width:calc(100% - 72px)}.overview-grid,.bottom-grid{grid-template-columns:1fr}.topbar{padding:0 18px}.content{padding:23px 18px}.global-search{width:220px}}@media(max-width:640px){.topbar{height:52px}.main{padding-top:0}.crumb span,.crumb b{display:none}.global-search{width:150px}.global-search kbd{display:none}.content{padding:18px 12px}.page-heading{align-items:flex-start;flex-direction:column;gap:10px}.page-heading h1{font-size:23px}.heading-actions{width:100%}.heading-actions .button{flex:1}.metric-grid{grid-template-columns:repeat(2,1fr);gap:7px}.metric{padding:11px;min-height:94px}.overview-grid,.bottom-grid{gap:8px}.progress-panel,.gap-panel,.bottom-grid>.panel{padding:13px}.chain-step b{font-size:10px}.chain-step small{font-size:9px}.progress-legend{flex-wrap:wrap;gap:8px}.progress-legend .right{margin:0;width:100%}.dept-grid{grid-template-columns:repeat(2,1fr)}.vendor-grid,.document-grid,.search-columns{grid-template-columns:1fr}.document-card{grid-template-columns:31px 1fr}.doc-actions{grid-column:2;flex-direction:row;align-items:center}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar label{min-width:0}.filter-bar select{max-width:none}.result-count{margin-left:0;padding:2px}.toolbar{flex-wrap:wrap}.table-search{min-width:100%;max-width:none}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.modal{padding:14px}.modal-backdrop{padding:8px}.detail-summary{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:1fr 1fr}.item-summary-strip{gap:7px 12px;flex-wrap:wrap}.item-summary-strip span{width:45%}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{min-height:100vh;padding:18px}.auth-card{padding:25px}.file-row{align-items:stretch;flex-direction:column}.file-row>small{padding:0}.modal-footer{flex-wrap:wrap}.button.danger-quiet{margin-right:auto}}
.brand-lock small.client-name{font-size:9px;letter-spacing:.2px;color:#a7babd;margin-top:3px;line-height:1.2}
.item-code-link{border:0;background:none;padding:0;cursor:pointer}.item-code-link:hover code{text-decoration:underline;background:#e4f1ef;color:#125f58}
.revision-label{font-size:9px;color:#566a70;letter-spacing:.3px;border-left:1px solid var(--line);padding-left:10px;margin-left:2px;white-space:nowrap}
/* Sign out button in top bar (Rev 1.71) */
.signout-button{height:31px;display:inline-flex;align-items:center;gap:7px;border:1px solid #f0d6d3;border-radius:7px;background:#fff;color:#a8554f;font-size:11px;font-weight:600;padding:0 10px;white-space:nowrap;transition:.15s}
.signout-button>span:first-child{font-size:13px;line-height:1;color:#c07b74}
.signout-label{display:inline}
.signout-button:hover{background:var(--red-soft);border-color:#e2b3ae;color:#8f3b36}
.signout-button:hover>span:first-child{color:#8f3b36}
:root[data-theme="dark"] .signout-button{background:#16262b;border-color:#3f3a3a;color:#e2a9a3}
:root[data-theme="dark"] .signout-button>span:first-child{color:#d08b84}
:root[data-theme="dark"] .signout-button:hover{background:#3a2323;border-color:#7a4641;color:#ffd0cb}
@media(max-width:1180px){.signout-label{display:none}.signout-button{gap:0;padding:0 9px}}
@media(max-width:700px){.global-search{display:none}.signout-button{font-size:10px;padding:0 8px}}

/* Rev 1.74: these wide tables scroll horizontally INSIDE their panel. They used
   to be overflow:visible, so the 1,300px-wide Item table pushed the whole page
   sideways; scrolling that page slid the content under the fixed sidebar. */
.location-table-panel{overflow:hidden}.location-table-wrap{max-height:none;min-height:0;overflow-x:auto;overflow-y:hidden}.location-table-wrap th{position:sticky;top:0;z-index:7;background:#edf2f2;color:#263b43}

.item-table-panel{overflow:hidden}.item-table-wrap{max-height:none;min-height:0;overflow-x:auto;overflow-y:hidden}.item-table-wrap th{position:sticky;top:0;z-index:7;background:#edf2f2;color:#263b43}.technical-table-wrap{max-height:calc(100vh - 300px);min-height:260px;overflow:auto}.technical-table-wrap th{position:sticky;top:0;z-index:3;background:#edf2f2;color:#263b43}

@media(max-width:640px){.location-table-wrap th{top:0}}

@media(max-width:640px){.item-table-wrap th{top:0}}

.side-nav .nav-link>span:not(.nav-icon),.side-nav .nav-group{text-transform:capitalize}

:root[data-theme="dark"]{color-scheme:dark;--ink:#e7eff0;--muted:#a8b6b9;--line:#35484e;--surface:#172a30;--canvas:#0d1b20;--teal:#58bbaa;--teal-dark:#348d83;--teal-soft:#1b393b;--navy:#08171c;--orange-soft:#382b1d;--red-soft:#3a2221;--green-soft:#19352e;--blue-soft:#1d303b;--shadow:0 12px 36px #0005}
:root[data-theme="dark"] body{background:var(--canvas);color:var(--ink)}
:root[data-theme="dark"] .topbar{background:#11242aee;border-color:var(--line)}
:root[data-theme="dark"] .crumb,:root[data-theme="dark"] .crumb strong,:root[data-theme="dark"] .icon-button,:root[data-theme="dark"] .revision-label{color:#d3e0e2}
:root[data-theme="dark"] .panel,:root[data-theme="dark"] .metric,:root[data-theme="dark"] .vendor-card,:root[data-theme="dark"] .document-card,:root[data-theme="dark"] .role-card,:root[data-theme="dark"] .modal,:root[data-theme="dark"] .auth-card,:root[data-theme="dark"] .dept-card,:root[data-theme="dark"] .quick-grid>button,:root[data-theme="dark"] .search-results{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] .panel-head h2,:root[data-theme="dark"] .page-heading h1{color:var(--ink)}
:root[data-theme="dark"] .global-search,:root[data-theme="dark"] .table-search{background:#102329;border-color:var(--line);color:#c3d0d2}
:root[data-theme="dark"] .global-search kbd{border-color:#52656b;color:#c3d0d2}
:root[data-theme="dark"] .form-stack input,:root[data-theme="dark"] .form-grid input,:root[data-theme="dark"] .form-grid select,:root[data-theme="dark"] .form-grid textarea,:root[data-theme="dark"] .filter-bar select,:root[data-theme="dark"] .filter-bar input{background:#102329;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] th,:root[data-theme="dark"] .location-table-wrap th,:root[data-theme="dark"] .item-table-wrap th,:root[data-theme="dark"] .technical-table-wrap th{background:#20363c;color:#d6e1e3;border-color:var(--line)}
:root[data-theme="dark"] td{color:#c1ced1;border-color:#2b4046}
:root[data-theme="dark"] tbody tr:hover td{background:#1d3339}
:root[data-theme="dark"] .notice{background:#183333;color:#b6d9d2;border-color:#2d514c}
:root[data-theme="dark"] .notice.warning-notice{background:#382d20;color:#ead0a8;border-color:#604a2c}
:root[data-theme="dark"] .button.secondary{background:#20363c;color:#e0e9ea;border-color:#40555b}
:root[data-theme="dark"] .filter-bar label,:root[data-theme="dark"] .filter-bar select{color:var(--ink)}
:root[data-theme="dark"] .theme-toggle{font-size:19px;color:#e2c875}

.font-scale-toggle{font:700 13px Manrope,sans-serif;letter-spacing:-.4px;min-width:29px}

.item-picker{position:relative;display:flex;flex:1 1 380px;max-width:680px;min-width:300px;flex-direction:column;gap:5px}.item-picker-label{font-size:11px;font-weight:600;color:#68787d}.item-picker-trigger{width:100%;min-height:36px;display:flex;align-items:center;gap:10px;text-align:left;padding:7px 10px;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:var(--ink)}.item-picker-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-picker-trigger i{font-style:normal;color:var(--muted)}.item-picker-menu{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:18;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 16px 36px #182e3630}.item-picker-menu>input{width:100%;height:34px;margin-bottom:7px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--canvas);color:var(--ink)}.item-picker-columns,.item-picker-option{display:grid;grid-template-columns:54px 125px minmax(0,1fr);gap:9px;align-items:start}.item-picker-columns{position:sticky;top:0;padding:8px 9px;background:#edf2f2;color:#35484e;font-size:10px;font-weight:700;letter-spacing:.45px;z-index:1}.item-picker-list{max-height:min(430px,55vh);overflow:auto}.item-picker-option{width:100%;padding:8px 9px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4;text-align:left}.item-picker-option:hover,.item-picker-option:focus{background:var(--teal-soft);outline:0}.item-picker-option[hidden]{display:none}.item-picker-option span:first-child{font-variant-numeric:tabular-nums;color:var(--muted)}.item-picker-option span:nth-child(2){font-weight:700;overflow-wrap:anywhere}.item-picker-option span:last-child{white-space:normal;overflow-wrap:anywhere}.item-picker-option em{font-style:normal;color:var(--orange);font-size:.9em}.filter-bar .item-picker{align-self:flex-start}.filter-bar .item-picker-trigger{max-width:100%}:root[data-theme="dark"] .item-picker-label{color:#b7c4c7}:root[data-theme="dark"] .item-picker-trigger,:root[data-theme="dark"] .item-picker-menu,:root[data-theme="dark"] .item-picker-option{background:var(--surface);color:var(--ink);border-color:var(--line)}:root[data-theme="dark"] .item-picker-columns{background:#20363c;color:#d6e1e3}:root[data-theme="dark"] .item-picker-menu>input{background:#102329;color:var(--ink);border-color:var(--line)}@media(max-width:640px){.item-picker{min-width:100%;max-width:none}.item-picker-columns,.item-picker-option{grid-template-columns:42px 96px minmax(0,1fr);gap:6px}}
.item-picker-columns,.item-picker-option{grid-template-columns:42px 100px minmax(0,1fr)}

.font-scale-toggle{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.font-scale-value{font:600 9px 'DM Sans',sans-serif;letter-spacing:0;color:var(--teal-dark)}
.role-matrix-wrap{max-height:65vh;overflow:auto}.role-matrix{min-width:1180px;border-collapse:separate;border-spacing:0}.role-matrix th,.role-matrix td{text-align:center;vertical-align:middle;padding:10px 9px}.role-matrix thead th{position:sticky;top:0;z-index:2;background:#edf2f2;color:#263b43;font-size:10px;white-space:normal;min-width:104px}.role-matrix thead th:first-child{left:0;z-index:3;min-width:190px;text-align:left}.role-matrix tbody th{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;min-width:190px}.role-permission{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf1f2;color:#5d6c70;font-size:10px;font-weight:700;white-space:nowrap}.role-permission.full,.role-permission.manage,.role-permission.download{background:#e5f3f0;color:#0f5d59}.role-permission.edit{background:#ebf4fa;color:#286385}.role-permission.view{background:#f1f3f4;color:#647278}:root[data-theme="dark"] .role-matrix thead th{background:#20363c;color:#d6e1e3}:root[data-theme="dark"] .role-matrix tbody th{background:var(--surface)}:root[data-theme="dark"] .role-permission{background:#293b40;color:#d5e1e2}:root[data-theme="dark"] .role-permission.full,:root[data-theme="dark"] .role-permission.manage,:root[data-theme="dark"] .role-permission.download{background:#234a45;color:#b5e9dd}:root[data-theme="dark"] .role-permission.edit{background:#263f50;color:#c0dced}.moh-tabs{margin:15px 0}.moh-tabs .tab{flex:0 0 auto}.moh-candidate-list{display:grid;gap:10px}.moh-candidate{padding:15px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.moh-candidate-main{min-width:0;flex:1}.moh-candidate-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.moh-candidate-heading>span{font-size:11px;color:var(--muted)}.moh-candidate h3{margin:9px 0 4px;font:700 16px Manrope,sans-serif;color:var(--ink)}.moh-candidate-actions{display:flex;flex-direction:column;gap:7px;min-width:175px}.moh-results-head{margin:20px 0 10px}.moh-review-log{margin-top:18px}.moh-match-picker{margin:14px 0}.moh-match-picker>label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);max-width:100%}.moh-match-picker select{width:100%;max-width:850px;height:38px;border:1px solid #dce5e6;border-radius:7px;background:var(--surface);color:var(--ink);padding:0 9px;font-size:13px}.moh-match-picker .source-quote{margin-top:14px}.pdf-page pre{white-space:pre-wrap;max-height:55vh;overflow:auto;font:12px/1.6 'DM Sans',sans-serif;color:var(--ink)}.pdf-page summary{cursor:pointer;color:var(--teal);font-weight:700}.moh-candidate .notice{margin-top:10px}.moh-candidate .notice small{line-height:1.5}@media(max-width:700px){.moh-candidate{flex-direction:column}.moh-candidate-actions{width:100%;flex-direction:row}.moh-candidate-actions .button{flex:1}.moh-candidate h3{font-size:15px}}

/* Collapsible sidebar navigation groups */
.nav-section{margin:0 0 3px}.nav-group{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;cursor:pointer;text-align:left;font:700 11px Manrope,sans-serif;letter-spacing:1.05px;color:#628087;padding:14px 11px 6px;border-radius:6px}.nav-group:hover{background:#ffffff08;color:#9bb7b8}.nav-chevron{font:600 14px 'DM Sans',sans-serif;letter-spacing:0;transition:transform .16s ease}.nav-group[aria-expanded=false] .nav-chevron{transform:rotate(-90deg)}.nav-submenu[hidden]{display:none!important}
@media(max-width:900px){.nav-submenu[hidden]{display:contents!important}.nav-section{display:contents}.nav-group{display:none!important}}

.nav-group:not([data-nav-group="private"]){color:#fff}
.nav-group[data-nav-group="private"]{color:#628087}

.pdf-unmapped-glyph{display:inline-block;padding:1px 4px;border-radius:4px;background:#fff0d8;color:#8a4a00;font:600 .9em/1.35 "DM Sans",sans-serif;white-space:nowrap}:root[data-theme="dark"] .pdf-unmapped-glyph{background:#463319;color:#ffcf87}

.item-plan-check-col,.item-plan-check-cell{min-width:190px;max-width:245px;white-space:normal}.item-plan-check-cell .text-button{display:block;text-align:left;line-height:1.45}.item-plan-check-cell .cell-sub{white-space:normal;line-height:1.45}.supplier-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:4px 0}.supplier-list .supplier-link{display:block;text-align:left;white-space:normal;line-height:1.45;padding:0;border:0;background:none}.supplier-list .supplier-link:hover{text-decoration:underline}.supplier-list .supplier-link small{color:var(--muted);font-size:.85em}.supplier-list .supplier-entry{display:flex;flex-direction:column;gap:1px;padding:3px 0;border-bottom:1px dashed var(--line)}.supplier-list .supplier-entry:last-child{border-bottom:0}.supplier-contact{display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.5;padding-left:10px}.supplier-contact .supplier-ar{font-family:'Segoe UI','Noto Naskh Arabic',sans-serif;font-weight:600;color:var(--ink);font-size:12.5px}.supplier-contact a{color:var(--teal);text-decoration:none;word-break:break-all}.supplier-contact a:hover{text-decoration:underline}.supplier-contact .supplier-mail{font-weight:600}.supplier-contact .supplier-phone,.supplier-contact .supplier-site{color:var(--muted)}

.floor-check-modal{width:min(1026px,96vw)}

/* Sortable table headers (Rev 1.73) */
th.sortable{cursor:pointer;user-select:none}
th.sortable::after{content:'\2195';display:inline-block;margin-left:6px;font-size:9px;line-height:1;opacity:.35;vertical-align:middle}
th.sortable:hover::after{opacity:.75}
th.sortable[data-sort-dir="asc"]::after{content:'\25B2';opacity:.9}
th.sortable[data-sort-dir="desc"]::after{content:'\25BC';opacity:.9}
th.sortable[data-sort-dir]{color:var(--teal-dark)}
th.sortable:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
:root[data-theme="dark"] th.sortable[data-sort-dir]{color:#8fe0d0}

/* Sticky table headings across system tables and the floor plan comparison dialog.
   NOTE: .table-wrap is itself an overflow:auto scroll container, so a sticky <th>
   must be offset from the wrap's edge (top:0). Using the top bar height (58px)
   here pushed the header down over the first rows on every page that uses a
   plain .table-wrap. The wrappers that are NOT scroll containers
   (.location-table-wrap, .item-table-wrap) keep their top:58px offsets above. */
.table-wrap:not(.location-table-wrap):not(.item-table-wrap):not(.technical-table-wrap) thead th{position:sticky;top:0;z-index:6;background:#edf2f2;color:#263b43}
.floor-check-modal .modal-head{position:sticky;top:0;z-index:8;background:var(--surface);padding-top:5px}
.floor-check-modal .table-wrap{max-height:38vh;overflow:auto}
.floor-check-modal .table-wrap thead th{position:sticky;top:0;z-index:4;background:#edf2f2;color:#263b43}
@media(max-width:640px){.table-wrap:not(.location-table-wrap):not(.item-table-wrap):not(.technical-table-wrap) thead th{top:0}}
:root[data-theme="dark"] .table-wrap:not(.location-table-wrap):not(.item-table-wrap):not(.technical-table-wrap) thead th,:root[data-theme="dark"] .floor-check-modal .table-wrap thead th{background:#20363c;color:#d6e1e3;border-color:var(--line)}

/* Prevent scroll chaining from open dialogs to the page behind them. */
html.modal-page-locked,body.modal-page-locked{overflow:hidden!important;overscroll-behavior:none!important}
.modal,.modal-backdrop{overscroll-behavior:contain}
.floor-check-modal .table-wrap{overscroll-behavior:contain}


/* Keep the fixed top bar fully opaque above scrolling rows. */
.topbar{background:var(--surface)}
:root[data-theme="dark"] .topbar{background:var(--surface)}

/* Give the allocation summary headings stable, readable columns. */
.floor-allocation-panel .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.floor-allocation-panel .table-wrap th:nth-child(1),.floor-allocation-panel .table-wrap td:nth-child(1){width:40%}
.floor-allocation-panel .table-wrap th:nth-child(2),.floor-allocation-panel .table-wrap td:nth-child(2){width:27%}
.floor-allocation-panel .table-wrap th:nth-child(3),.floor-allocation-panel .table-wrap td:nth-child(3){width:33%}
.floor-allocation-panel .table-wrap th{white-space:normal;line-height:1.35;vertical-align:middle}
.floor-allocation-panel .table-wrap td{overflow-wrap:anywhere}

.rfq-selection-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:18px;margin-top:20px}.rfq-selection-grid>section{min-width:0;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface)}.rfq-selection-grid h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 11px;font-size:15px}.rfq-selection-grid h3 span{font-size:12px;color:var(--muted);font-weight:500}.rfq-search{width:100%;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:var(--canvas);color:var(--ink);margin-bottom:9px}.rfq-pick-head,.rfq-pick-row{display:grid;grid-template-columns:35px 110px minmax(200px,1fr) 65px;gap:8px;align-items:start}.rfq-pick-head{position:sticky;top:0;background:#edf2f2;color:#31484f;font-size:10px;font-weight:800;letter-spacing:.06em;padding:9px;z-index:1}.rfq-pick-list{max-height:340px;overflow:auto;border:1px solid var(--line);border-top:0}.rfq-pick-row{padding:9px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.4;cursor:pointer}.rfq-pick-row:hover,.rfq-vendor-pick:hover{background:var(--teal-soft)}.rfq-pick-row input,.rfq-vendor-pick input{margin:2px 0;accent-color:var(--teal)}.rfq-pick-row>span:first-of-type,.rfq-pick-row small{color:var(--muted)}.rfq-pick-row b{font-weight:700}.rfq-vendor-list{max-height:400px;overflow:auto;display:grid;gap:5px}.rfq-vendor-pick{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:13px}.rfq-vendor-pick span{display:grid;gap:3px}.rfq-vendor-pick small{color:var(--muted);font-size:11px}.rfq-actions{min-width:210px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.rfq-status-select{max-width:180px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.rfq-scope{margin:16px 0}.rfq-spec{max-width:540px;max-height:220px;overflow:auto;white-space:pre-wrap;padding:10px;background:var(--canvas);border-radius:6px;font-size:12px}.rfq-scope details summary{cursor:pointer;color:var(--teal);font-weight:700}.rfq-scope td{vertical-align:top}.rfq-selection-grid+.notice{margin-top:16px}.rfq-pick-row[hidden]{display:none!important}:root[data-theme="dark"] .rfq-pick-head{background:#20363c;color:#d6e1e3}@media(max-width:900px){.rfq-selection-grid{grid-template-columns:1fr}}@media(max-width:600px){.rfq-pick-head,.rfq-pick-row{grid-template-columns:28px 80px minmax(140px,1fr) 48px;gap:5px;font-size:11px}.rfq-actions{min-width:160px}}
.modal.rfq-create-modal{width:min(1140px,96vw);max-height:94vh}.modal.rfq-create-modal .rfq-selection-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr)}@media(max-width:900px){.modal.rfq-create-modal .rfq-selection-grid{grid-template-columns:1fr}}@media(max-width:600px){.modal.rfq-create-modal{width:96vw;max-height:94vh;padding:14px}}
.modal.rfq-create-modal>.modal-head{position:sticky;top:-19px;z-index:5;background:var(--surface);margin-top:-19px;padding-top:19px}.rfq-pick-head,.rfq-pick-row{grid-template-columns:24px 35px 110px minmax(200px,1fr) 65px}.rfq-pick-head{align-items:center}.rfq-pick-row{align-items:start}

/* ---- Vendor view toggle (rev 1.64) ---- */
.view-toggle{display:inline-flex;background:#eef2f2;border:1px solid var(--line);border-radius:9px;padding:2px;gap:2px}
.view-toggle button{border:0;background:transparent;color:#6a7b80;font:600 11px Manrope,sans-serif;padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}
.view-toggle button:hover{color:#31887e}
.view-toggle button.active{background:#fff;color:#1f5f59;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.vendor-table-panel{overflow:visible}
.vendor-table-wrap{overflow:auto;max-width:100%;max-height:calc(100vh - 210px)}
.table-wrap.vendor-table-wrap thead th{position:sticky !important;top:0 !important;z-index:3 !important;white-space:nowrap}
.vendor-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:auto}
.vendor-table thead th{text-align:left;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#8a979b;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfb;vertical-align:middle}
.vendor-table tbody td{padding:10px 12px;border-bottom:1px solid #eef1f2;vertical-align:middle;word-break:normal;overflow-wrap:normal}
.vendor-table tbody tr:hover td{background:#f8fbfa}
.vendor-table tbody tr:last-child td{border-bottom:0}
.vendor-list-name{display:flex;align-items:center;gap:9px;min-width:210px}
.vendor-list-name div{display:flex;flex-direction:column;gap:1px;min-width:0}
.vendor-list-name b{font-size:12px;color:#233;white-space:normal}
.vendor-avatar.small{width:26px;height:26px;font-size:13px;border-radius:8px;flex:none}
.vendor-ar-inline{font-size:10.5px;color:#7d8d92;direction:rtl;line-height:1.5}
.vendor-table a.supplier-mail,.vendor-table a.supplier-phone,.vendor-table a.supplier-site{color:#31887e;text-decoration:none;white-space:nowrap}
.vendor-table a.supplier-mail:hover,.vendor-table a.supplier-phone:hover,.vendor-table a.supplier-site:hover{text-decoration:underline}
.vendor-cell-location,.vendor-cell-contact{min-width:96px;white-space:normal}
.vendor-cell-mail{min-width:150px;white-space:nowrap}
.vendor-cell-phone{min-width:138px;white-space:nowrap}
.num-cell{text-align:center;font-weight:700;color:#28403f;white-space:nowrap;min-width:58px}
.num-cell .cell-sub{display:block;font-size:9px;font-weight:600;color:#93a0a4;text-transform:uppercase;letter-spacing:.06em}
.row-actions{display:flex;gap:2px;white-space:nowrap}
.table-note{margin:0;padding:9px 12px;font-size:10.5px;color:#8a979b;border-top:1px solid #eef1f2;background:#fafbfb}
@media(max-width:640px){.vendor-table-wrap{max-height:none}}
/* Collapsible whole sidebar (Rev 1.67) */
.sidebar-toggle{width:28px;height:28px;border-radius:6px;flex:0 0 auto}.sidebar-toggle>span{font-size:15px;line-height:1;letter-spacing:0}
.shell .sidebar{transition:transform .18s ease,opacity .18s ease}
.shell .main{transition:margin-left .18s ease,width .18s ease}
html.sidebar-collapsed .shell .sidebar{display:none!important}
html.sidebar-collapsed .shell .main{margin-left:0!important;width:100%!important}
@media(max-width:900px){html.sidebar-collapsed .shell .main{margin-left:0!important;width:100%!important}}

.vendor-card.needs-review{background:#fdeeee;border-color:#e8b4b4}
.vendor-card.needs-review h3{color:#8a2b2b}
.vendor-table tbody tr.needs-review{background:#fdeeee}
.vendor-table tbody tr.needs-review:hover{background:#fbe0e0}
.vendor-table tbody tr.needs-review .vendor-list-name b{color:#8a2b2b}
button[data-action="vendor-reviewed"]{background:#fdeeee;border-color:#e8b4b4;color:#8a2b2b}
button[data-action="vendor-reviewed"]:hover{background:#f8d7d7}