/* Scoped portal styles mirror the original shop's cms.module.css. */
.portal{padding:16px 0 10px;min-width:0}
.portal-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}
.portal-heading>div{min-width:0}.portal-heading>form{flex-shrink:0}
.portal-heading h1{font-size:38px;letter-spacing:-.05em;margin:8px 0;line-height:1.15}
.portal-heading p{color:#667085;font-size:13px;margin:8px 0;overflow-wrap:anywhere}
.portal .portal-kicker{color:#17395f;font-size:10px;letter-spacing:.15em;font-weight:800}
.portal .button,.portal button{font-size:13px;padding:12px 18px;font-weight:700;min-height:42px}
.portal .secondary{background:#eef4fc;color:#17395f}
.portal-nav{display:flex;gap:8px;border-bottom:1px solid #e2e8f0;padding-bottom:18px;margin-bottom:30px;flex-wrap:wrap}
.portal-nav a{padding:10px 18px;background:#edf4ff;color:#17395f;border-radius:6px;font-size:13px;font-weight:700;line-height:1.4}
.portal-nav a[aria-current=page]{background:#17395f;color:#fff}
.portal-nav a:hover{background:#dceaff}.portal-nav a[aria-current=page]:hover{background:#101b2d}
.portal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}
.portal-stats article{padding:24px;border:1px solid #e1e8f1;border-radius:12px;background:linear-gradient(130deg,#f4f8ff,#fff)}
.portal-stats span{display:block;font-size:12px;color:#667085}.portal-stats strong{display:block;font-size:30px;margin-top:12px}
.portal .panel{padding:28px;margin:24px 0;border:1px solid #e1e8f1;border-radius:12px;background:#fff;scroll-margin-top:190px}
.portal .panel h2{font-size:23px;letter-spacing:-.035em;margin:0 0 22px;line-height:1.25}
.portal .panel .portal-heading h2{margin-bottom:8px}
.portal .muted{font-size:13px;line-height:1.7;color:#667085}
.portal .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:end}
.portal label{font-size:12px;min-width:0;font-weight:700;margin-bottom:18px}
.portal input,.portal select,.portal textarea{font-size:13px;font-weight:400;border:1px solid #cbd5e1;border-radius:6px;padding:12px;background:#fff;color:#101828;max-width:100%}
.portal input:focus-visible,.portal select:focus-visible,.portal textarea:focus-visible{outline:2px solid #17395f;outline-offset:2px}
.portal .choice input{padding:0}.portal .choice{font-weight:400;font-size:13px}
.portal .fields label{margin:0}.portal .fields{margin-bottom:20px}
.portal .search{height:44px;margin-bottom:22px;max-width:560px}
.portal .search input{border:0;height:100%;margin:0;flex:1;min-width:0}.portal .search button{flex-shrink:0;min-height:42px}
.portal .table-wrap{width:100%;overflow:auto;border:1px solid #edf0f4;border-radius:8px}
.portal table{font-size:13px;min-width:680px}
.portal th{background:#f6f8fc;color:#667085;font-size:11px;padding:14px;white-space:nowrap}
.portal td{padding:16px 14px;border-bottom:1px solid #edf0f4;vertical-align:middle}
.portal td:first-child{font-weight:700;min-width:230px}.portal td:not(:first-child){white-space:nowrap}
.portal td small{margin-top:5px;font-weight:400}.portal td a{color:#17395f;font-weight:700}
.portal tbody tr:hover{background:#f9fbff}
.portal .section-title{gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:24px}
.portal .section-title h2{margin:0}.portal .section-title .button{color:#fff}
.portal-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.portal-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.portal-product{min-width:0;display:flex;flex-direction:column;gap:12px}
.portal-product>.card{flex:1;height:auto}.portal-product>.secondary{width:100%;text-align:center}
.portal .card h3{font-size:15px}.portal .card button{padding:10px;font-size:12px}
.portal .visual{height:190px}.portal .catalog-sort label{margin:0;display:flex}
.portal .catalog-sort select{margin:0;font-weight:600}.portal .pagination{margin-bottom:0}
.portal .notice{font-size:13px}.portal .pre{overflow-wrap:anywhere}
.portal .panel>ul{padding-left:20px;line-height:1.9;font-size:14px}
.portal details.panel>summary{cursor:pointer;font-weight:700;font-size:14px;overflow-wrap:anywhere}
.portal-welcome .button{margin-top:12px}
@media(max-width:1000px){.portal-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .portal{padding:4px 0}.portal-heading{gap:12px;align-items:start;margin-bottom:24px}
 .portal-heading h1{font-size:28px}.portal-heading p{font-size:12px}
 .portal-nav{gap:7px;margin-bottom:24px}.portal-nav a{font-size:12px;padding:10px 12px}
 .portal .panel{padding:18px;margin:20px 0}.portal .panel h2{font-size:21px}
 .portal .fields{grid-template-columns:1fr}.portal-stats{gap:8px}.portal-stats article{padding:15px 10px}.portal-stats strong{font-size:24px}.portal-stats span{font-size:11px}
 .portal-products{grid-template-columns:1fr}.portal .panel .portal-heading{flex-wrap:wrap}
 .portal .search{width:100%}.portal .button,.portal button{padding:10px 13px}
 .portal .section-title .button{white-space:normal;text-align:center}
}
@media(prefers-reduced-motion:no-preference){.portal-nav a{transition:background-color .15s,color .15s}}

/* Shared B2B sidebar */
.portal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.portal-content{min-width:0}.portal-content>.panel:first-child{margin-top:0}
.portal-sidebar{background:#f5f8fc;border:1px solid #dfe7f1;border-radius:16px;overflow:hidden}
.portal-menu>summary{display:none}.portal-menu>nav{display:block!important;padding:12px}
.portal-menu-group{padding:10px 0;border-bottom:1px solid #dfe7f1}.portal-menu-group:last-child{border:0}
.portal-menu-group>p{margin:0 10px 8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#66778e}
.portal-menu-group>a{display:flex;align-items:center;min-height:42px;padding:10px 12px;margin:2px 0;border-radius:8px;color:#213b5c;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none}
.portal-menu-group>a:hover{background:#e4ecf8}.portal-menu-group>a[aria-current=page]{background:#17395f;color:white;box-shadow:0 3px 8px #17395f18}
.portal-menu-group>a:focus-visible{outline:2px solid #1875d1;outline-offset:1px}
@media(max-width:900px){.portal-layout{grid-template-columns:1fr;gap:20px}.portal-menu>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;min-height:48px;font-weight:700;color:#17395f;cursor:pointer;list-style:none}.portal-menu>summary::-webkit-details-marker{display:none}.portal-menu>summary:after{content:'+';font-size:22px}.portal-menu[open]>summary:after{content:'−'}.portal-menu:not([open])>nav{display:none!important}.portal-menu[open]>nav{display:block!important}.portal-menu-group>a{min-height:44px}}
