html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.auth-panel,.auth-card,.auth-card-wide,.workspace,.content,.panel,.field,.form-stack,.form-grid,.profile-grid,.integration-grid,.metrics-grid,.content-grid{min-width:0}
.auth-card,.auth-card-wide{max-width:100%}
.field input,.field select,.field textarea{max-width:100%}

@media (max-width:1050px){
    .content{width:100%}
    .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .content-grid{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:820px){
    .auth-shell{display:block;min-height:100dvh}
    .auth-panel{display:block;min-height:100dvh;padding:24px 20px 36px}
    .auth-mobile-brand{margin-bottom:42px}
    .auth-card,.auth-card-wide{width:100%}
    .auth-card h2{font-size:clamp(28px,8vw,34px)}
    .auth-copy{margin-bottom:24px}

    .app-shell{display:block;min-height:100dvh}
    .sidebar{position:sticky;top:0;z-index:30;width:100%;height:auto;padding:10px 12px;background:rgba(255,255,255,.97);border-right:0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
    .sidebar>.brand,.sidebar-footer,.nav-caption{display:none}
    .nav{display:flex;gap:6px;margin:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
    .nav::-webkit-scrollbar{display:none}
    .nav-item{flex:0 0 auto;min-height:40px;padding:0 11px;font-size:12px}
    .nav-icon{width:16px;height:16px}

    .topbar{height:auto;min-height:68px;padding:10px 14px;gap:10px;flex-wrap:wrap}
    .store-switcher{min-width:0;flex:1 1 180px}
    .store-switcher>span:last-child{min-width:0}
    .store-switcher strong{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .user-menu{margin-left:auto;gap:6px}
    .user-identity{max-width:52vw;padding:4px}
    .user-identity>span:last-child{min-width:0}
    .user-identity strong{max-width:28vw}
    .user-identity small{display:none}
    .user-menu .button-small{padding:0 10px}

    .content{width:100%;padding:26px 16px 48px}
    .page-heading{gap:14px;margin-bottom:24px}
    .page-heading h1{font-size:clamp(28px,8vw,36px)}
    .panel{padding:20px}
    .panel-heading{gap:12px;align-items:flex-start;flex-wrap:wrap}
    .setup-progress,.tracking-hero{padding:24px}
}

@media (max-width:620px){
    .auth-panel{padding:20px 16px 30px}
    .auth-mobile-brand{margin-bottom:34px}
    .form-stack{gap:16px}
    .form-grid,.metrics-grid,.integration-grid,.profile-grid{grid-template-columns:minmax(0,1fr)}
    .field input{height:46px}
    .button{min-height:46px}

    .topbar{align-items:center}
    .store-switcher{flex:1 1 100%;order:1}
    .user-menu{order:2;width:100%;justify-content:space-between;margin-left:0;padding-top:8px;border-top:1px solid var(--line)}
    .user-identity{max-width:calc(100% - 62px)}
    .user-identity strong{max-width:58vw}

    .content{padding:22px 14px 44px}
    .page-heading{align-items:flex-start;flex-direction:column}
    .page-heading .button{width:100%}
    .setup-progress,.tracking-hero{align-items:flex-start;flex-direction:column;padding:22px}
    .progress-ring{align-self:center}
    .event-flow{width:100%;justify-content:flex-start;overflow-x:auto;padding:15px}
    .event-flow span{white-space:nowrap}
    .module-row{align-items:flex-start;flex-wrap:wrap}
    .module-copy{flex:1 1 calc(100% - 64px)}
    .module-row .status{margin-left:60px}
    .panel{padding:18px}
    .metrics-grid{gap:12px}
    .metric-card{padding:16px}
    .integration-card,.profile-panel{overflow:hidden}
    table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:430px){
    .auth-panel{padding-left:14px;padding-right:14px}
    .auth-mobile-brand{margin-bottom:28px}
    .auth-card h2{font-size:28px}
    .auth-copy{font-size:14px;line-height:1.55}
    .content{padding-left:12px;padding-right:12px}
    .panel{padding:16px;border-radius:15px}
    .topbar{padding-left:12px;padding-right:12px}
    .nav-item{padding:0 10px}
    .store-switcher strong{max-width:70vw}
    .user-identity strong{max-width:55vw}
    .button-block{width:100%}
}
