/* ساختمانی.com — V25 final QA polish
   Loaded after all legacy/theme layers. No feature removal; only visual/responsive/input safety. */
:root{--v25-gold:#f3b51b;--v25-gold2:#ffc83d;--v25-bg:#070b0e;--v25-card:#0d1418;--v25-card2:#11191e;--v25-line:#2a353b;--v25-text:#f4f0e8;--v25-muted:#939ba0;--v25-ok:#43c07a;--v25-bad:#ef6a5b}
html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{max-width:100%;overflow-x:clip}*,*:before,*:after{box-sizing:border-box}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--v25-gold)!important;outline-offset:2px!important}.hidden,[hidden]{display:none!important}
/* Prevent old white layers from leaking back into noir UI */
.v24-public-page,.portal-body,.admin-v24,.seo-main{background-color:var(--v25-bg)!important}.v24-public-page input,.v24-public-page textarea,.v24-public-page select,.portal-body input,.portal-body textarea,.portal-body select,.admin-v24 input,.admin-v24 textarea,.admin-v24 select{caret-color:var(--v25-gold)}
.v24-public-page .input,.portal-body .input,.admin-v24 .inp,.admin-v24 input,.admin-v24 select,.admin-v24 textarea{min-height:46px}.v24-public-page textarea.input,.portal-body textarea.input,.admin-v24 textarea{min-height:108px}.btn,.pp-btn,.os-mini-btn,.portal-nav,.v24-shell-actions a{min-height:42px}.btn:disabled,.pp-btn:disabled,button:disabled{opacity:.55!important;cursor:not-allowed!important;filter:saturate(.55)}
/* Public shell */
.v24-shell-header,.pp-head{box-shadow:0 10px 35px rgba(0,0,0,.24)}.v24-shell-nav,.pp-nav{gap:12px}.v24-logo,.pp-brand{min-width:max-content}.v24-logo img,.pp-brand img{flex:0 0 auto}.v24-public-mega{box-shadow:0 34px 90px rgba(0,0,0,.65)}.v24-mobile-drawer{overscroll-behavior:contain}.v24-mobile-links a,.v24-mobile-cats summary{min-height:44px;display:flex;align-items:center}.v24-mobile-search input{font-size:16px!important}
/* Product/category/service cards never spill */
.seo-card,.v24-card,.v24-value,.v24-best,.v24-process,.v24-request-box,.product-card,.prime-filter-panel{min-width:0}.seo-card h1,.seo-card h2,.v24-card h1,.v24-card h2,.product-card h3{overflow-wrap:anywhere}.seo-grid-products,.shop-product-grid,.v24-services-grid{min-width:0}
.v25-form-field{display:grid;gap:7px;min-width:0}.v25-form-field>span{font-size:10px;font-weight:800;color:#b8b0a3}.v25-form-field.full{grid-column:1/-1}.v25-service-form textarea{resize:vertical}
/* Request page — truthful progressive journey */
.req-step{position:relative;transition:.2s ease}.req-step:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#4c565c;margin-left:7px;vertical-align:middle}.req-step.current{border-color:var(--v25-gold)!important;color:var(--v25-gold)!important;background:rgba(243,181,27,.08)!important}.req-step.current:before{background:var(--v25-gold);box-shadow:0 0 0 4px rgba(243,181,27,.12)}.req-step.done{color:#b9c0c3;border-color:#39464d;background:#10181d}.req-step.done:before{content:'✓';width:18px;height:18px;display:inline-grid;place-items:center;background:rgba(67,192,122,.14);color:var(--v25-ok);font-size:10px}.req-type{min-height:82px;transition:border-color .2s,transform .2s,background .2s}.req-type:hover{border-color:#4a555b;transform:translateY(-1px)}.req-type.active{box-shadow:inset 0 0 0 1px rgba(243,181,27,.2)}.req-status{min-height:24px;padding:0 2px}.req-status.ok,.v24-status.ok{background:rgba(67,192,122,.08);border:1px solid rgba(67,192,122,.25);padding:10px 12px;border-radius:10px}.req-status.err,.v24-status.err{background:rgba(239,106,91,.08);border:1px solid rgba(239,106,91,.25);padding:10px 12px;border-radius:10px}.v25-field-invalid{border-color:var(--v25-bad)!important;box-shadow:0 0 0 3px rgba(239,106,91,.08)!important}
/* Customer/vendor portal — mobile navigation that is actually reachable */
.portal-shell,.portal-main,.portal-card,.os-card,.enterprise-card,.erp-panel,.projects-layout,.support-layout{min-width:0}.portal-side{transition:transform .25s ease!important;overscroll-behavior:contain}.v25-portal-mobilebar{display:none}.v25-portal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px);z-index:998}.portal-body.v25-side-open{overflow:hidden}.portal-card,.os-card{overflow-wrap:anywhere}.os-tabs,.erp-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3d474d #0b1114}.os-tab,.erp-tab{flex:0 0 auto;white-space:nowrap}.portal-modal-card,.os-modal-card{max-height:min(90vh,90dvh);overflow:auto}.v25-table-scroll{width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:12px}.v25-table-scroll>table{min-width:720px}.portal-body .toast{max-width:min(420px,calc(100vw - 24px));right:12px;left:auto;bottom:14px}
/* Guest customer should see a clean login screen, not empty project machinery */
.customer-portal.v25-guest .portal-tab{display:none!important}.customer-portal.v25-guest .portal-side .portal-nav[data-tab],.customer-portal.v25-guest #logoutBtn{display:none!important}.customer-portal.v25-guest .portal-auth{display:block!important;max-width:980px;margin:0 auto 24px}.customer-portal.v25-guest .portal-top{max-width:980px;margin-left:auto;margin-right:auto}.customer-portal:not(.v25-guest) .portal-auth{display:none!important}.v25-auth-note{margin-top:12px;padding:11px 13px;border:1px solid #2b363c;border-radius:12px;background:#0a1115;color:#8f989c;font-size:11px;line-height:1.9}.v25-auth-note b{color:var(--v25-gold)}
/* Supplier legacy intake clarified */
.v25-legacy-note{padding:12px 14px;margin-bottom:14px;background:rgba(243,181,27,.055);border:1px solid rgba(243,181,27,.22);border-radius:12px;color:#a7a098;font-size:11px;line-height:1.9}.v25-legacy-note b{color:var(--v25-gold)}
/* Admin readability and horizontal safety */
.admin-v24 .main,.admin-v24 .content,.admin-v24 .panel{min-width:0}.admin-v24 table{border-collapse:separate;border-spacing:0}.admin-v24 .login-box{max-width:440px;width:calc(100% - 24px)}.admin-v24 .login-err{min-height:22px}.admin-v24 .sidebar{transition:transform .24s ease!important}
/* Responsive form/panel discipline */
@media(max-width:1100px){.os-grid-3,.erp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){
  .portal-body:not(.v25-nav-ready) .portal-side{position:static!important;transform:none!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;margin-bottom:10px!important}
  .portal-shell{display:block!important}.portal-main{padding-top:8px!important}.portal-side{display:flex!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(86vw,330px)!important;height:100dvh!important;overflow-y:auto!important;padding:16px!important;z-index:999!important;transform:translateX(105%)!important;background:rgba(8,13,16,.985)!important;border-left:1px solid rgba(243,181,27,.25)!important;box-shadow:-28px 0 75px rgba(0,0,0,.55)!important}.portal-side.open{transform:translateX(0)!important}.v25-portal-backdrop.open{display:block}.v25-portal-mobilebar{position:sticky;top:0;z-index:95;display:flex;align-items:center;gap:9px;min-height:58px;margin:0 0 10px;padding:8px 10px;background:rgba(7,11,14,.94);backdrop-filter:blur(14px);border:1px solid #263138;border-radius:13px;box-shadow:0 12px 30px rgba(0,0,0,.22)}.v25-portal-menubtn{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(243,181,27,.35);border-radius:11px;background:#11191e;color:var(--v25-gold);font-size:19px}.v25-portal-mobilebar img{width:34px;height:34px;object-fit:contain}.v25-portal-mobilebar .meta{display:grid;min-width:0}.v25-portal-mobilebar .meta b{font-size:12px;color:#fff}.v25-portal-mobilebar .meta span{font-size:9px;color:#788186;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v25-portal-mobilebar>a{margin-right:auto;color:#17120a;background:var(--v25-gold);border-radius:9px;padding:8px 10px;text-decoration:none;font-size:9px;font-weight:900}.portal-top{margin-top:0!important}.portal-top-actions{flex-wrap:wrap}.portal-dashboard-grid,.projects-layout,.support-layout,.profile-grid,.os-chat-layout,.os-grid-2,.os-grid-3,.erp-grid-2,.erp-grid-3{grid-template-columns:1fr!important}.metric-grid,.metric-grid-v18{grid-template-columns:repeat(2,minmax(0,1fr))!important}.room-composer,.os-composer,.inline-form,.security-row{grid-template-columns:1fr!important;display:grid!important}.portal-card,.os-card{padding:15px!important}.os-commandbar{align-items:stretch!important;flex-direction:column!important}.os-command-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}.portal-body input,.portal-body select,.portal-body textarea,.v24-public-page input,.v24-public-page select,.v24-public-page textarea{font-size:16px!important}.admin-v24 input,.admin-v24 select,.admin-v24 textarea{font-size:16px!important}
}
@media(max-width:620px){.req-stepper{display:flex!important;overflow-x:auto;scrollbar-width:none;gap:7px!important}.req-step{flex:0 0 auto;min-width:135px}.req-actions{display:grid!important;grid-template-columns:1fr!important}.v24-shell-actions .primary{min-width:70px}.metric-grid,.metric-grid-v18{grid-template-columns:1fr 1fr!important;gap:8px!important}.metric{padding:13px!important}.metric b{font-size:20px!important}.portal-main{padding:7px!important}.portal-top{padding:18px!important;border-radius:14px!important}.portal-top h1{font-size:25px!important}.portal-top p{font-size:11px!important}.portal-grid-2,.portal-grid-3,.nice-form,.os-form{grid-template-columns:1fr!important}.wide{grid-column:auto!important}.v25-table-scroll>table{min-width:620px}.admin-v24 .login-box{padding:20px!important}.admin-v24 .panel{padding-left:0!important;padding-right:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
