
:root{--cm-mobile-gap:14px}
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
main,.page,.shell,.container,.onboarding-main{max-width:100%}
input,select,textarea,button{max-width:100%}
.table-wrap,.table-container,[class*="table-wrap"]{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:1024px){
  .dashboard-grid,.content-grid,.supplier-grid,.catalogue-grid,.onboarding-grid,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .shell,.page,.onboarding-main{padding-left:20px!important;padding-right:20px!important}
  .hero{padding:28px 24px!important}
}
@media (max-width:720px){
  body{font-size:16px;line-height:1.55}
  .dashboard-grid,.content-grid,.supplier-grid,.catalogue-grid,.onboarding-grid,.kpis{grid-template-columns:1fr!important}
  .shell,.page,.onboarding-main{padding-left:14px!important;padding-right:14px!important}
  .hero{padding:22px 16px!important;border-radius:16px!important}
  h1{font-size:clamp(1.7rem,8vw,2.35rem)!important}
  h2{font-size:1.3rem!important}
  .onboarding-card,.card,.kpi{padding:16px!important}
  .catalogue-title-row,.onboarding-section-head,.onboarding-actions{align-items:stretch!important;flex-direction:column!important;gap:12px!important}
  .onboarding-actions button,.onboarding-item-actions button,.catalogue-title-row a{width:100%!important}
  .supplier-item-row{grid-template-columns:1fr!important;padding:14px!important}
  .supplier-item-row .item-remove-btn{position:static!important;width:44px!important;justify-self:end!important}
  dialog,.cm-search-dialog{width:calc(100% - 24px)!important;max-width:none!important;margin:12px!important}
}
@media (max-width:420px){
  .shell,.page,.onboarding-main{padding-left:10px!important;padding-right:10px!important}
  .card,.onboarding-card,.kpi{border-radius:14px!important}
}
/* R94 mobile viewport and control visibility hardening. */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg,iframe{max-width:100%}
.table-wrap,.resultTableWrap,.rfq-ledger-table-wrap,.transaction-history-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cm-r37-menu,.cm-v7-menu,.main-nav-toggle,.mobile-menu-toggle{border:1px solid #9e2518!important;border-radius:14px!important;background:linear-gradient(135deg,#b62d1b,#ef711d)!important;color:#fff!important;box-shadow:0 8px 20px rgba(155,41,22,.22)!important}
.cm-r37-logout,.cm-v7-logout,.top-actions [data-logout],.logout-btn{border:1px solid #9e2518!important;border-radius:14px!important;background:linear-gradient(135deg,#a72218,#e95f1d)!important;color:#fff!important}
.cm-r37-nav,.cm-v7-nav,.main-nav{border-radius:18px!important}
.cm-site-header-r37.is-open .cm-r37-nav,.cm-v7-header.is-open .cm-v7-nav,.topbar.is-open .main-nav{background:linear-gradient(145deg,#5d2147,#7b315c 58%,#9f3d30)!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 18px 38px rgba(45,18,36,.28)!important}
.cm-site-header-r37.is-open .cm-r37-nav a,.cm-v7-header.is-open .cm-v7-nav a,.topbar.is-open .main-nav a{color:#fff7e9!important;border-radius:12px!important}
.cm-site-header-r37.is-open .cm-r37-nav a:hover,.cm-v7-header.is-open .cm-v7-nav a:hover,.topbar.is-open .main-nav a:hover{background:#f29a38!important;color:#40140d!important}
.brand,.cm-r37-brand,.cm-v7-brand{min-width:0}.brand small,.cm-r37-brand small,.cm-v7-brand small{white-space:normal;line-height:1.15}
.fresh-auth-main,.reference-auth-shell,.account-brand-loader,.account-form-panel{border-radius:26px!important}.reference-auth-shell{overflow:hidden!important}.account-brand-loader a{color:inherit!important;text-decoration:none}.account-brand-loader a:hover{text-decoration:underline}
@media(max-width:760px){body{min-width:0!important}.topbar,.cm-site-header-r37,.cm-v7-header{width:100%;max-width:100%;padding:10px 12px!important;gap:8px!important;border-radius:0 0 18px 18px!important}.brand,.cm-r37-brand,.cm-v7-brand{max-width:calc(100% - 94px)}.brand strong,.cm-r37-brand strong,.cm-v7-brand strong{font-size:.95rem!important}.brand small,.cm-r37-brand small,.cm-v7-brand small{font-size:.68rem!important}.cm-r37-menu,.cm-v7-menu,.main-nav-toggle,.mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:72px;min-height:42px;position:relative;z-index:10002}.cm-r37-account,.cm-v7-account,.top-actions{max-width:100%;gap:7px!important}.cm-r37-logout,.cm-v7-logout,.logout-btn{min-height:42px;padding:8px 12px!important}.cm-r37-nav,.cm-v7-nav,.main-nav{position:absolute!important;left:10px!important;right:10px!important;top:calc(100% + 6px)!important;width:auto!important;max-height:calc(100vh - 92px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px!important;z-index:10001!important}.cm-r37-nav a,.cm-v7-nav a,.main-nav a{display:block!important;width:100%!important;padding:12px 14px!important;margin:2px 0!important}main,.dashboard-main,.superuser-dashboard-main,.information-main,.rfq-management-main{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}.dashboard-grid,.summary-grid,.metric-grid,.information-columns,.rfq-management-layout,.tileGrid,.cards-grid{grid-template-columns:minmax(0,1fr)!important}.dashboard-card,.metric-card,.information-card,.rfq-management-card,.tile{min-width:0!important;max-width:100%!important;border-radius:20px!important}.rfq-management-actions,.page-title .actions,.dashboard-actions{position:sticky;top:72px;z-index:80;justify-content:flex-end;background:rgba(255,249,238,.94);padding:8px;border-radius:16px;backdrop-filter:blur(8px)}button,.primary-btn,.secondary-btn{max-width:100%;white-space:normal}.fresh-auth-main{padding:10px!important}.reference-auth-shell{grid-template-columns:1fr!important;width:100%!important;max-width:520px!important}.account-brand-loader{min-height:300px!important;padding:28px 20px!important}.account-form-panel{padding:28px 20px!important}}
@media(max-width:390px){.brand small,.cm-r37-brand small,.cm-v7-brand small{display:block!important}.cm-r37-account-name,.cm-v7-account-name{display:none!important}.account-brand-loader{min-height:250px!important}}

/* R95: slender, centered Digital Transformation presentation on phones/tablets. */
@media(max-width:1024px){
  .digital-suite-main{width:min(820px,calc(100% - 48px))!important;margin:20px auto 28px!important;gap:18px!important}
  .digital-suite-hero{grid-template-columns:minmax(0,1fr)!important;width:100%!important;padding:26px!important;border-radius:26px!important;background-position:center!important;overflow:hidden}
  .digital-suite-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:16px!important}
  .digital-suite-card{min-width:0!important;width:100%!important;border-radius:24px!important;padding:20px!important;overflow:hidden}
  .digital-suite-card img{width:100%!important;max-height:170px!important;object-fit:cover!important;border-radius:18px!important}
}
@media(max-width:640px){
  .digital-suite-main{width:min(540px,calc(100% - 28px))!important;margin:14px auto 22px!important;gap:14px!important}
  .digital-suite-hero{width:calc(100% - 10px)!important;margin-inline:auto!important;padding:20px!important;border-radius:22px!important;text-align:center}
  .digital-suite-hero h1{font-size:clamp(1.65rem,8vw,2.25rem)!important;line-height:1.12!important;margin-inline:auto!important}
  .digital-suite-hero p{font-size:.94rem!important;line-height:1.55!important;margin-inline:auto!important}
  .digital-suite-grid{grid-template-columns:minmax(0,1fr)!important;width:calc(100% - 10px)!important;margin-inline:auto!important;gap:14px!important}
  .digital-suite-card{min-height:0!important;padding:18px!important;border-radius:22px!important;text-align:left}
  .digital-suite-card img{max-height:150px!important;border-radius:16px!important}
}

/* R96 restored Users Admin profile/password workflow. */
#profileDialog{width:min(920px,calc(100% - 32px));max-width:920px;max-height:calc(100vh - 32px);padding:20px;border:1px solid rgba(174,53,27,.28);border-radius:24px;box-shadow:0 28px 70px rgba(59,28,25,.28)}
#profileDialog::backdrop{background:rgba(35,22,31,.58);backdrop-filter:blur(3px)}
#profileDialog .dialog-section{border-radius:18px;background:linear-gradient(135deg,#fffaf2,#fff);border:1px solid rgba(213,91,37,.22)}
#profileDialog #resetPasswordBtn{background:linear-gradient(135deg,#ad2819,#ef701d)!important;color:#fff!important;border-radius:14px!important}
@media(max-width:760px){#profileDialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);padding:14px;border-radius:20px}#profileDialog .dialog-header{position:sticky;top:-14px;z-index:4;background:#fffaf4;padding:12px 4px;border-radius:14px}#profileDialog .grid,#profileDialog .profile-grid{grid-template-columns:minmax(0,1fr)!important}#profileDialog button{width:100%;min-height:44px}.filters{grid-template-columns:minmax(0,1fr)!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* R98: complete profile visibility, clear click affordance and password view/hide. */
a[href],button:not(:disabled),[role="button"],summary,label[for],select:not(:disabled),input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled),[data-profile-id]{cursor:pointer!important}
#profileDialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
#profileDialog .dialog-header{position:sticky;top:-20px;z-index:10;background:linear-gradient(135deg,#fffaf2,#fff);padding:12px 4px 10px;margin-bottom:10px;border-bottom:1px solid rgba(213,91,37,.22)}
#profileDialog .profile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}
#profileDialog .profile-field{min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
#profileDialog .profile-field strong{display:block;line-height:1.45;white-space:normal}
#profileDialog .dialog-section{padding:18px;margin-top:16px;overflow:visible}
#profileDialog .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch}
#profileDialog .actions button{width:100%}
.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;width:100%}
.password-control input{width:100%;min-width:0}
.password-visibility{min-width:74px;border:1px solid #ad2819;border-radius:11px;background:#fff4e8;color:#8f2418;font-weight:800;padding:8px 12px;cursor:pointer}
.password-visibility:hover,.password-visibility:focus{background:#ad2819;color:#fff;outline:2px solid #f5a24a;outline-offset:2px}
@media(max-width:760px){#profileDialog{padding-bottom:max(18px,env(safe-area-inset-bottom))}#profileDialog .dialog-header{top:-14px}#profileDialog .dialog-section{padding:14px}#profileDialog .profile-grid{grid-template-columns:minmax(0,1fr)!important}#profileDialog .actions{grid-template-columns:minmax(0,1fr)}#profileDialog .password-control{grid-template-columns:minmax(0,1fr) 72px}#profileDialog .password-visibility{width:72px!important;min-width:72px!important;padding:8px 6px}}

/* R99: keep the registration shell fixed while its form panel scrolls. */
.fresh-register-page .register-auth-shell{height:min(760px,calc(100dvh - 150px));min-height:520px;overflow:hidden!important;align-items:stretch}
.fresh-register-page .register-form-panel{height:100%;min-height:0;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:max(34px,env(safe-area-inset-bottom))!important}
.fresh-register-page .register-form-panel::-webkit-scrollbar{width:12px}
.fresh-register-page .register-form-panel::-webkit-scrollbar-track{background:#f7e7df;border-radius:999px}
.fresh-register-page .register-form-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#b52b1b,#ed741e);border:3px solid #f7e7df;border-radius:999px}
.fresh-register-page .register-form-panel{scrollbar-width:thin;scrollbar-color:#c7431c #f7e7df}
.fresh-register-page .register-form-panel .section-heading{position:sticky;top:0;z-index:3;margin:-4px -2px 18px;padding:4px 2px 12px;background:linear-gradient(180deg,#fff 82%,rgba(255,255,255,0));border-radius:18px 18px 0 0}
.fresh-register-page #registerForm{padding-bottom:12px}
@media(max-width:760px){.fresh-register-page .fresh-register-main{height:auto!important;min-height:0!important;padding-block:10px!important}.fresh-register-page .register-auth-shell{height:calc(100dvh - 120px);min-height:480px;max-height:820px}.fresh-register-page .register-form-panel{padding-right:14px!important;padding-bottom:max(32px,env(safe-area-inset-bottom))!important}.fresh-register-page .register-grid{grid-template-columns:minmax(0,1fr)!important}}

/* R100: one footer, complete mobile suite and mobile administration. */
body:has(>.cm-global-footer)>.fresh-auth-footer{display:none!important}
@media(max-width:760px){
  .digital-suite-page{overflow-x:hidden!important}
  .digital-suite-page .digital-suite-main{box-sizing:border-box!important;width:calc(100% - 16px)!important;max-width:100%!important;margin:8px auto 16px!important;padding:0!important;gap:10px!important;overflow:visible!important}
  .digital-suite-page .digital-suite-hero,.digital-suite-page .digital-suite-grid{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important}
  .digital-suite-page .digital-suite-hero{min-height:0!important;padding:16px 14px!important;border-radius:18px!important}
  .digital-suite-page .digital-suite-hero h1{font-size:clamp(1.35rem,6.5vw,1.85rem)!important;margin:.25rem 0 .6rem!important}
  .digital-suite-page .digital-suite-hero p{font-size:.86rem!important;line-height:1.4!important;margin:.35rem 0!important}
  .digital-suite-page .digital-suite-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .digital-suite-page .digital-suite-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:0!important;padding:13px!important;border-radius:18px!important;display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;column-gap:12px!important;overflow:hidden!important}
  .digital-suite-page .digital-suite-card img{grid-row:1/4!important;width:82px!important;height:82px!important;max-height:none!important;object-fit:cover!important;border-radius:14px!important}
  .digital-suite-page .digital-suite-card>span{position:absolute!important;top:9px!important;left:9px!important}
  .digital-suite-page .digital-suite-card h2{font-size:1.05rem!important;margin:0 0 3px!important;overflow-wrap:anywhere}
  .digital-suite-page .digital-suite-card p{font-size:.78rem!important;line-height:1.32!important;margin:0 0 5px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .digital-suite-page .digital-suite-card strong{font-size:.78rem!important;align-self:end}

  .superuser-main,.page{width:100%!important;max-width:100%!important;padding:10px!important;overflow-x:hidden!important}
  .superuser-heading,.user-register-toolbar,.panel-header,.region-filter-header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important}
  .superuser-heading-actions,.user-register-tools{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:8px!important}
  .user-register-tools label,.user-register-tools input,.user-register-tools button,.region-filter-header label,.region-filter-header select{width:100%!important;min-width:0!important}
  .superuser-tabs{display:flex!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;scrollbar-gutter:stable;padding-bottom:5px!important;gap:6px!important;scroll-snap-type:x proximity}
  .superuser-tabs button{flex:0 0 auto!important;min-width:max-content!important;scroll-snap-align:start}
  .superuser-kpi-grid,.superuser-two-column{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .superuser-data-section{padding:12px!important;border-radius:18px!important;min-width:0!important}
  .user-register-table-wrap,.trial-request-table-wrap,.table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;scrollbar-gutter:stable}
  .user-category-legend{display:flex!important;max-width:100%!important;overflow-x:auto!important;gap:10px!important;white-space:nowrap}

  .card .heading-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .card .filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:8px!important}
  .card .filters input,.card .filters select,.card .filters button{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .kpi{padding:13px!important;min-width:0!important}.kpi strong{font-size:1.45rem!important}
}
@media(max-width:390px){.kpis{grid-template-columns:minmax(0,1fr)!important}.digital-suite-page .digital-suite-card{grid-template-columns:68px minmax(0,1fr)!important}.digital-suite-page .digital-suite-card img{width:68px!important;height:76px!important}}

/* R103: the home-page Digital Transformation suite must remain fully visible on phones and tablets. */
@media(max-width:980px){
  .hero{box-sizing:border-box!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:18px 12px!important}
  .hero-content{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:0!important;margin:0 auto!important;padding:0!important}
  .hero-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:12px!important}
  .hero-side-column{position:relative!important;inset:auto!important;display:grid!important;grid-template-rows:auto auto!important;width:min(100%,420px)!important;max-width:100%!important;margin:0 auto!important;gap:8px!important;transform:none!important;overflow:visible!important}
  .digital-transformation-section{display:grid!important;width:100%!important;height:auto!important;min-height:52px!important;padding:10px 12px!important;border-radius:16px!important}
  .digital-transformation-label{display:block!important;font-size:.9rem!important;line-height:1.2!important;white-space:normal!important}
  .digital-page-panel{display:grid!important;width:100%!important;height:auto!important;min-height:0!important;padding:8px!important;border-radius:16px!important;overflow:visible!important}
  .digital-page-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:7px!important}
  .digital-page-links a{display:grid!important;min-width:0!important;min-height:42px!important;padding:8px 5px!important;font-size:.68rem!important;overflow-wrap:anywhere!important}
  .hero-main-column{min-width:0!important;width:100%!important}
}
@media(max-width:430px){
  .hero{padding-inline:8px!important}
  .hero-side-column{width:calc(100% - 8px)!important}
  .digital-page-links{grid-template-columns:minmax(0,1fr)!important}
  .digital-page-links a{font-size:.76rem!important;min-height:38px!important}
}
