/* Revisão global de responsividade — carregada depois dos estilos de módulos. */
html,body{max-width:100%;overflow-x:hidden}img,video,iframe,svg{max-width:100%}.table-wrap{max-width:100%}

@media(max-width:1080px){
  .user-layout .user-topbar{width:100%!important;min-width:0;min-height:76px;height:76px;padding:6px 14px}
  .user-layout .user-topbar .desktop-nav{display:none!important;visibility:hidden!important}
  .user-layout .user-topbar .brand{min-width:0;margin:0}
  .user-layout .user-topbar .brand-logo-crop{width:116px;height:62px}
  .user-layout .user-topbar .brand-logo{width:116px;height:116px;transform:translateY(-27px)}
  .user-layout .mobile-menu{display:block!important;flex:none;margin-left:auto}
  .user-layout .topbar .mobile-nav{position:fixed;z-index:1000;top:84px;right:12px;left:12px;display:grid!important;width:auto;max-height:calc(100dvh - 96px);margin:0;padding:12px;overflow-y:auto;border:1px solid #b9cbd6;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(8,42,63,.28)}
  .user-layout .topbar .mobile-nav>a{display:flex!important;align-items:center;min-height:48px;padding:12px 14px;border-radius:9px;color:#18384d;font-size:15px;font-weight:750}
}

@media(max-width:800px){
  .user-layout .page-shell,.public-layout .page-shell{width:calc(100% - 24px)!important;max-width:none;margin:28px auto 62px}
  .user-layout .narrow-page,.public-layout .narrow-page{max-width:none}
  .user-layout .page-heading,.public-layout .page-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:22px}
  .user-layout .page-heading h1,.public-layout .page-heading h1{font-size:clamp(29px,9vw,38px);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}
  .user-layout .page-heading p,.public-layout .page-heading p{font-size:15px;line-height:1.55}
  .user-layout .page-heading>.button,.public-layout .page-heading>.button{width:100%}
  .user-layout .panel,.public-layout .panel{min-width:0;padding:18px;border-radius:15px}
  .user-layout .field input,.user-layout .field select,.user-layout .field textarea,.public-layout .field input,.public-layout .field select,.public-layout .field textarea{min-height:48px;font-size:16px}
  .responsive-data-table,.responsive-data-table tbody,.responsive-data-table tr,.responsive-data-table td{display:block;width:100%;min-width:0}
  .responsive-data-table thead{display:none}.responsive-data-table tbody{display:grid;gap:12px}
  .responsive-data-table tr{padding:13px;border:1px solid #d7e1e8;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(20,48,66,.05)}
  .responsive-data-table td{display:grid;grid-template-columns:minmax(94px,34%) minmax(0,1fr);gap:10px;padding:9px 2px;border:0;border-bottom:1px solid #edf1f4;overflow-wrap:anywhere;word-break:normal}
  .responsive-data-table td:last-child{border-bottom:0}.responsive-data-table td:before{content:attr(data-label);color:#526b7c;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
  .responsive-data-table td[colspan]:before{display:none}.responsive-data-table .table-action,.responsive-data-table .history-open{display:inline-flex;min-height:42px;align-items:center;font-weight:800}
  .user-layout .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .user-layout .lottery-card{min-width:0;padding:18px}
  .user-layout .benefit-card{min-width:0}
  .user-layout .history-panel{padding:16px}
  .user-layout .history-panel .table-wrap{overflow:visible}
  .user-layout .plan-grid,.user-layout .account-grid,.user-layout .checkout-grid{grid-template-columns:minmax(0,1fr)}
  .user-layout .payment-request-form .grid{grid-template-columns:minmax(0,1fr)}
  .user-layout .account-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .user-layout .welcome-video-card{grid-template-columns:minmax(0,1fr)}
  .user-layout .welcome-video-frame{width:100%}
  .user-layout .history-manager-grid{grid-template-columns:minmax(0,1fr)}
  .user-layout .result-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .user-layout .result-actions .icon-button{width:100%;min-height:44px;justify-content:center;text-align:center}
  .public-layout .auth-shell{width:calc(100% - 24px);margin:34px auto 64px}
  .public-layout .sales-hero{grid-template-columns:minmax(0,1fr);gap:38px;min-height:0;padding-top:48px;padding-bottom:48px}
  .public-layout .sales-product{width:100%;min-width:0}
  .public-layout .sales-feature-grid,.public-layout .sales-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-layout .sales-about-grid{grid-template-columns:minmax(0,1fr);gap:30px;min-height:0;padding:48px 0}
  .public-layout .sales-final-cta .shell{gap:24px}
}

@media(max-width:600px){
  .shell{width:calc(100% - 24px)}
  .public-layout .topbar{width:100%;padding:6px 12px}
  .user-layout .user-topbar .brand-logo-crop{width:106px;height:58px}
  .user-layout .user-topbar .brand-logo{width:106px;height:106px;transform:translateY(-24px)}
  .user-layout .topbar .mobile-nav{right:10px;left:10px}
  .user-layout .cards,.user-layout .account-stats,.public-layout .sales-feature-grid,.public-layout .sales-plan-grid{grid-template-columns:minmax(0,1fr)}
  .user-layout .lottery-card{min-height:178px}
  .user-layout .page-heading>.badge{justify-self:start;max-width:100%;white-space:normal}
  .user-layout .section-head{align-items:stretch;flex-direction:column}
  .user-layout .section-head>a,.user-layout .section-head>.button{width:100%;justify-content:center;text-align:center}
  .user-layout .active-plan{padding:28px 18px}
  .user-layout .plan-card{padding:22px 18px}
  .user-layout .history-manager-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .user-layout .history-manager-actions .button,.user-layout .history-manager-actions .icon-button{width:100%}
  .user-layout .history-rename form>div{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .user-layout .history-rename button{width:100%;min-height:44px}
  .user-layout .lottery-tools-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .user-layout .lottery-tools-nav a{min-width:0;white-space:normal;text-align:center}
  .user-layout .lottery-title{padding:18px}.user-layout .lottery-title>div{gap:14px}
  .user-layout .lottery-title h1{font-size:30px;overflow-wrap:anywhere}
  .responsive-data-table td{grid-template-columns:minmax(0,1fr);gap:4px}
  .public-layout .sales-hero-copy h1{font-size:clamp(36px,11vw,48px)}
  .public-layout .sales-hero-copy>p{font-size:17px}
  .public-layout .hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .public-layout .hero-actions .button{width:100%}
  .public-layout .sales-trust{display:grid;grid-template-columns:1fr;gap:10px}
  .public-layout .sales-product{padding:18px}
  .public-layout .sales-number-grid{gap:6px}
  .public-layout .sales-number-grid i{font-size:11px}
  .public-layout .sales-section{padding-top:54px;padding-bottom:54px}
  .public-layout .sales-feature-grid article{min-height:0;padding:22px}
  .button,.icon-button{max-width:100%;white-space:normal;text-align:center}
  .field input[type=file]{max-width:100%;padding:11px 8px}
  .page-heading,.panel,.lottery-card,.course-lottery-card,.plan-card,.account-card{min-width:0}
  .page-heading h1,.panel h2,.panel h3,.account-details dd,.payment-email,code{overflow-wrap:anywhere;word-break:normal}
  .flash{top:84px;width:calc(100% - 24px);max-width:440px;text-align:center}
  .games-pagination{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;text-align:center}
  .games-pagination .icon-button{width:100%;justify-content:center}
  .cookie-consent{max-width:calc(100% - 20px)}
  .footer{align-items:flex-start;flex-direction:column;gap:10px;padding:24px 16px;line-height:1.6}
}

@media(max-width:380px){
  .user-layout .page-shell,.public-layout .page-shell,.admin-layout .page-shell{width:calc(100% - 16px)!important}
  .user-layout .panel,.public-layout .panel,.admin-layout .panel{padding:15px}
  .user-layout .user-topbar,.admin-layout .admin-topbar{padding-inline:9px}
  .mobile-menu>summary{padding-inline:11px}
  .eyebrow{font-size:10px;letter-spacing:.15em}
  .user-layout .number-picker{grid-template-columns:repeat(5,minmax(0,1fr))}
  .public-layout .sales-product-metrics{gap:6px}
}
