/* Momentum - launch polish 2026-09-12 */
:root{color-scheme:dark}
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
a{color:#8ee6a5}

/* Shared footer/privacy */
.momentum-footer{max-width:520px;margin:18px auto 4px;text-align:center;color:#777;font-size:12px;line-height:1.6}
.momentum-footer a{color:#aaa;text-decoration:underline;text-underline-offset:3px}

/* Registration */
body:not(:has(#adminPanel)) .card{box-shadow:0 18px 55px rgba(0,0,0,.16)}
#memberForm .checkbox a{color:#b8eec7}
#memberForm button{min-height:50px}
@media(max-width:600px){
  body>.member-link,body>.admin-link{position:absolute!important;top:10px!important;font-size:11px!important;padding:7px 9px!important}
  body>.member-link{right:82px!important}
  body>.admin-link{right:8px!important}
  .app{padding-left:12px!important;padding-right:12px!important;padding-bottom:calc(30px + env(safe-area-inset-bottom))!important}
  .container{max-width:100%!important}
  .card{border-radius:16px!important;padding:19px!important}
  .logo{letter-spacing:3px!important}
  .membership-info,.included{padding:15px!important}
  .steps{gap:5px!important}.step{font-size:11px!important;padding:9px 3px!important}
  input,select,button{font-size:16px!important}
}

/* Min side */
body:has(#memberArea) .app{padding-bottom:calc(34px + env(safe-area-inset-bottom))}
.member-card{isolation:isolate}
.member-card .brand:after{content:" · SANDNES";font-weight:600;color:#7e8c82;font-size:10px;letter-spacing:1.4px}
.member-card .detail-value{overflow-wrap:anywhere}
.member-actions button{min-height:50px}
.proof{max-height:calc(100dvh - 20px);overflow:auto;-webkit-overflow-scrolling:touch}
.proof-logo-img{background:#fff;padding:2px}
.proof-status{box-shadow:inset 0 0 0 1px rgba(126,228,162,.04)}
.proof-name{overflow-wrap:anywhere}
.proof-qr-title{font-size:14px}
@media(max-width:520px){
  body:has(#memberArea) .app{padding:18px 10px calc(28px + env(safe-area-inset-bottom))!important}
  body:has(#memberArea) .top{margin-bottom:16px;gap:10px}
  body:has(#memberArea) .logo{font-size:21px!important;letter-spacing:2.5px!important}
  body:has(#memberArea) .back{font-size:12px}
  .member-card{padding:20px!important;border-radius:20px!important}
  .member-name{font-size:26px!important}
  .details{grid-template-columns:1fr 1fr!important;gap:16px 10px!important}
  .detail-value{font-size:13px!important}
  .proof{max-height:none!important;margin:8px 0!important}
  .proof-info-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:360px){
  .details,.proof-info-grid{grid-template-columns:1fr!important}
  .qr canvas,.qr img{width:190px!important;height:190px!important}
  .proof-live{font-size:10px!important;gap:5px!important}
}

/* Admin mobile */
@media(max-width:700px){
  body:has(#adminPanel) .container{width:100%!important;max-width:100%!important;padding:14px 10px calc(26px + env(safe-area-inset-bottom))!important;margin:0!important}
  #adminPanel,#adminPanel>*{width:100%!important;max-width:100%!important;min-width:0!important}
  #adminPanel .card,#adminPanel .stat,#loginPanel .card{width:100%!important;max-width:100%!important;min-width:0!important}
  #adminPanel .dashboard-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}
  #adminPanel .stat{padding:14px!important}
  #adminPanel .stat-number{font-size:25px!important}
  #adminPanel .payment-progress{padding:15px!important}
  #adminPanel .members-card{padding:14px!important;overflow:hidden!important}
  #adminPanel .filters{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  #adminPanel .table-wrapper{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important}
  #adminPanel table{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
  #adminPanel thead{display:none!important}
  #adminPanel tbody{display:block!important;width:100%!important}
  #adminPanel tbody tr{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important;padding:10px 12px!important;border:1px solid #333!important;border-radius:12px!important;background:#111!important;overflow:hidden!important}
  #adminPanel tbody td{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:8px 0!important;min-height:0!important;position:relative!important;border-bottom:1px solid #282828!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  #adminPanel tbody td:last-child{border-bottom:0!important}
  #adminPanel tbody td::before{position:static!important;width:auto!important;min-width:0!important;font-size:11px!important;padding-top:2px!important}
  #adminPanel .actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:7px!important}
  #adminPanel .actions button{width:100%!important;min-height:42px!important;margin:0!important}
  #adminPanel .modal{width:100%!important;max-width:100%!important;max-height:94dvh!important}
  #adminPanel .form-grid{grid-template-columns:1fr!important}
}
@media(max-width:390px){#adminPanel .dashboard-stats{grid-template-columns:1fr!important}}

/* Accessibility */
:focus-visible{outline:3px solid rgba(32,201,104,.65);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Auth visibility guard - must win over mobile admin rules */
#adminPanel{display:none!important}
body.admin-authenticated #adminPanel{display:block!important}
body.admin-authenticated #loginPanel{display:none!important}
