/* JPPL Season 2 — Toy 3D / soft-premium visual system */
@font-face{font-family:'JPPLPoppins';src:url('Poppins-Bold.ttf') format('truetype');font-weight:700 1000;font-style:normal;font-display:swap;}
:root{
  --jp-bg:#eef3fb;
  --jp-bg2:#f9fbff;
  --jp-ink:#17243b;
  --jp-ink-2:#2e4162;
  --jp-muted:#61708a;
  --jp-soft:#7d8aa1;
  --jp-white:#ffffff;
  --jp-line:#dbe4f1;
  --jp-line-2:#cbd7e8;
  --jp-navy:#243b63;
  --jp-blue:#5b7cfa;
  --jp-blue2:#4464df;
  --jp-cyan:#5cc8d7;
  --jp-gold:#f1b953;
  --jp-gold2:#ffd77b;
  --jp-green:#2f9f75;
  --jp-red:#d95667;
  --jp-purple:#8a74df;
  --jp-radius:24px;
  --jp-radius-sm:16px;
  --jp-shadow:0 11px 0 #cfdaea,0 20px 35px rgba(54,77,113,.16);
  --jp-shadow-soft:0 6px 0 #d7e1ef,0 12px 24px rgba(54,77,113,.12);
  --jp-shadow-button:0 5px 0 #c6d2e4,0 9px 16px rgba(54,77,113,.15);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;background:var(--jp-bg)!important;color-scheme:light!important;}
body{
  margin:0!important;min-height:100vh;color:var(--jp-ink)!important;
  font-family:'Trebuchet MS','Avenir Next','Segoe UI',system-ui,-apple-system,sans-serif!important;
  background:
    radial-gradient(circle at 10% 4%,rgba(255,215,123,.43),transparent 25rem),
    radial-gradient(circle at 92% 12%,rgba(92,200,215,.26),transparent 24rem),
    radial-gradient(circle at 50% 95%,rgba(138,116,223,.16),transparent 28rem),
    linear-gradient(180deg,#fbfdff 0%,#f2f6fc 45%,#eaf0f8 100%)!important;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(rgba(82,105,145,.11) 1px,transparent 1px);background-size:22px 22px;opacity:.42;}
::selection{background:#ffe6a6;color:var(--jp-ink);}
a{color:inherit;} img{max-width:100%;}
body,button,input,select,textarea{font-size:15px;}
button,input,select,textarea{font-family:inherit;color:var(--jp-ink)!important;}
h1,h2,h3,h4,h5,h6,.title,.ttl,.brand,.headText .t,.card-h .t,.h1,.shTitle,.mTitle,.name,.playerName{
  font-family:'JPPLPoppins','Arial Rounded MT Bold','Trebuchet MS',sans-serif!important;
  color:var(--jp-ink)!important;letter-spacing:-.025em!important;
}
p,.sub,.lead,.note,.hint,.muted,.k,.small,.mSmall,.shSub,.headText .s{color:var(--jp-muted)!important;}
small{color:var(--jp-muted)!important;}
strong,b{color:inherit;}

/* Floating rounded headers — all page variants */
header,.header,.top,.topbar,.navbar,.headbar,.nav{
  color:var(--jp-ink)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%)!important;
  border:1px solid rgba(203,215,232,.95)!important;
  border-radius:22px!important;
  box-shadow:0 7px 0 #d4deec,0 12px 28px rgba(46,65,98,.14)!important;
  backdrop-filter:blur(14px) saturate(130%);
}
header,.header,.top,.topbar,.headbar{margin:12px!important;}
header,.header{padding:10px 12px!important;}
.top,.topbar,.headbar{top:10px!important;}
header *, .header *, .top *, .topbar *, .navbar *, .headbar *, .nav *{color:inherit;}
header h1,header h2,header h3,.header h1,.header h2,.header h3,.top h1,.top h2,.top h3,.topbar h1,.headbar h1,.title,.brand{color:var(--jp-ink)!important;}
header .sub,.header .sub,.top .sub,.topbar .sub,.headbar .sub,header .muted,.header .muted,.top .muted{color:var(--jp-muted)!important;}
.logoBox{background:#fff!important;border:1px solid var(--jp-line)!important;border-radius:18px!important;box-shadow:0 4px 0 #d9e2ef,0 7px 14px rgba(50,70,105,.13)!important;overflow:hidden!important;}
.logoBox img{filter:none!important;animation:none!important;}

/* Main surfaces: soft molded toy cards, no accent side borders */
.wrap,main,.container{position:relative;z-index:1;}
.card,.panel,.box,.profileCard,.aadhaarBlock,.payCard,.contactBox,.ownerCard,.team-card,.player-card,.auction-card,.form-card,.section,.topBox{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  color:var(--jp-ink)!important;
  border:1px solid var(--jp-line)!important;
  border-radius:var(--jp-radius)!important;
  box-shadow:var(--jp-shadow-soft)!important;
  overflow:hidden;
}
.card::before,.hero::before,.payCard::before,.panel::before,.box::before{display:none!important;content:none!important;}
.card,.panel,.box,.profileCard,.payCard,.ownerCard,.team-card,.player-card,.auction-card,.form-card,.section{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;}
@media (hover:hover){.card:hover,.panel:hover,.ownerCard:hover,.team-card:hover,.player-card:hover{transform:translateY(-2px);box-shadow:0 9px 0 #d3deec,0 18px 30px rgba(54,77,113,.14)!important;}}

/* Home hero / nav */
.hero{background:linear-gradient(145deg,#fffdf8 0%,#ffffff 48%,#f3f8ff 100%)!important;padding:20px!important;}
.hero::after{content:"";position:absolute;width:130px;height:130px;right:-38px;top:-42px;border-radius:42% 58% 63% 37%;background:linear-gradient(145deg,#ffe59f,#ffd36e);box-shadow:inset 0 -8px 16px rgba(181,126,28,.13);opacity:.65;pointer-events:none;transform:rotate(18deg);}
.hero h1{font-size:clamp(24px,7vw,34px)!important;line-height:1.08!important;position:relative;z-index:1;}
.hero h1 .jppl,.jppl{color:#6f4b06!important;background:linear-gradient(180deg,#ffe49b,#ffc95e)!important;-webkit-text-fill-color:currentColor!important;border:1px solid #edbd55!important;border-radius:14px!important;box-shadow:0 4px 0 #dcae50!important;padding:5px 10px!important;}
.rowLink{
  background:linear-gradient(180deg,#ffffff,#f8fbff)!important;color:var(--jp-ink)!important;
  border:1px solid var(--jp-line)!important;border-radius:20px!important;
  box-shadow:0 5px 0 #d8e1ee,0 9px 18px rgba(54,77,113,.10)!important;
  text-decoration:none!important;
}
.rowLink:hover{border-color:#c8d5e8!important;box-shadow:0 7px 0 #d4deec,0 12px 22px rgba(54,77,113,.13)!important;transform:translateY(-2px)!important;}
.rowLink:active{transform:translateY(3px)!important;box-shadow:0 2px 0 #d5deeb,0 5px 10px rgba(54,77,113,.10)!important;}
.rowLink .ic,.ic{background:linear-gradient(145deg,#fff0bd,#ffd875)!important;color:#72510e!important;border:1px solid #efc762!important;border-radius:16px!important;box-shadow:0 4px 0 #ddb451!important;}
.rowLink .go,.go{color:var(--jp-blue)!important;font-weight:1000!important;}
.contactRow{background:#f8fbff!important;border:1px solid var(--jp-line)!important;border-radius:18px!important;}
.phone{color:#375fcc!important;}.divider,.sep,.hr{background:var(--jp-line)!important;border-color:var(--jp-line)!important;}
footer{color:#77859b!important;}

/* Labels, pills, badges */
.pill,.badge,.tag,.step,.chip,.count{
  display:inline-flex!important;align-items:center!important;
  background:linear-gradient(180deg,#fff8df,#ffefbd)!important;
  color:#6d5215!important;border:1px solid #ecd17a!important;border-radius:999px!important;
  box-shadow:0 3px 0 #e1c56e!important;font-weight:900!important;
}
.tag.sold,.pill.ok,.ok{color:#1c7354!important;background:#e9f8f2!important;border-color:#bce5d5!important;}
.tag.unsold,.pill.bad,.bad,.err{color:#a63749!important;background:#fff0f2!important;border-color:#f2c5cd!important;}
.warn{color:#9a6711!important;}

/* Buttons: tactile toy-style controls */
button,.btn,.linkBtn,.payAppBtn,.go,a.btn,input[type=submit]{
  transition:transform .13s ease,box-shadow .13s ease,filter .16s ease,background .16s ease,border-color .16s ease!important;
}
.btn,.linkBtn,a.btn,button:not(.plain):not(.icon-btn),.miniBtn,.xbtn{
  color:var(--jp-ink)!important;background:linear-gradient(180deg,#ffffff,#f1f6fc)!important;
  border:1px solid var(--jp-line-2)!important;border-radius:15px!important;
  box-shadow:var(--jp-shadow-button)!important;font-weight:900!important;
}
.btn:hover,.linkBtn:hover,a.btn:hover,button:not(.plain):not(.icon-btn):hover,.miniBtn:hover{filter:brightness(1.015);}
button:not(:disabled):active,.btn:not(:disabled):active,.linkBtn:active,.payAppBtn:active,a.btn:active,.miniBtn:active{
  transform:translateY(4px)!important;box-shadow:0 1px 0 #c7d2e3,0 4px 8px rgba(54,77,113,.11)!important;
}
.btn.primary,.primary,input[type=submit].primary,.btn-main,.submitBtn,.pri{
  color:#fff!important;background:linear-gradient(180deg,#6f8cff 0%,#4f6fe9 100%)!important;
  border-color:#4564dc!important;box-shadow:0 5px 0 #3f59c0,0 10px 18px rgba(68,100,223,.25)!important;
}
.btn.secondary,.secondary,.soft,.mut{color:var(--jp-ink-2)!important;background:linear-gradient(180deg,#ffffff,#edf3fb)!important;border-color:var(--jp-line-2)!important;}
.btn.danger,.danger,.miniBtn.reject{color:#fff!important;background:linear-gradient(180deg,#e77382,#cf4d5e)!important;border-color:#c84658!important;box-shadow:0 5px 0 #ad3d4d,0 9px 16px rgba(207,77,94,.20)!important;}
.miniBtn.approve{color:#fff!important;background:linear-gradient(180deg,#46b68b,#2f9f75)!important;border-color:#2c936d!important;box-shadow:0 5px 0 #287d5f,0 9px 16px rgba(47,159,117,.18)!important;}
button[disabled],.btn[disabled]{opacity:.58!important;filter:saturate(.6)!important;box-shadow:0 2px 0 #d4dce7!important;}

/* Inputs */
label,.lbl,.label{color:var(--jp-ink-2)!important;font-weight:900!important;}
input,select,textarea,.in,.sel{
  width:100%;color:var(--jp-ink)!important;background:#ffffff!important;
  border:1px solid #cbd7e8!important;border-radius:16px!important;outline:none!important;
  box-shadow:inset 0 2px 4px rgba(58,80,115,.06),0 3px 0 #e1e8f2!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
input::placeholder,textarea::placeholder{color:#8b98ac!important;opacity:1!important;}
input:focus,select:focus,textarea:focus,.in:focus,.sel:focus{border-color:#7890f5!important;background:#fff!important;box-shadow:0 0 0 4px rgba(91,124,250,.14),0 3px 0 #d6dff0!important;}
select option{background:#fff!important;color:var(--jp-ink)!important;}
input[disabled],input[readonly],select[disabled],textarea[disabled]{background:#edf2f8!important;color:#69778c!important;opacity:1!important;}

/* Registration / payment */
.card-h{background:linear-gradient(180deg,#f8fbff,#eef4fb)!important;border-color:var(--jp-line)!important;}
.card-b{color:var(--jp-ink)!important;}
.uploadRow{background:#f5f9ff!important;border:1px dashed #bdcce0!important;border-radius:20px!important;}
.thumb,.pic,.av,.avatar,.lockAv,.shAv,.bigPic{background:#edf3fb!important;border:1px solid #d1dbea!important;box-shadow:inset 0 2px 4px rgba(56,77,108,.06),0 3px 0 #dde5f0!important;}
.thumb img,.pic img,.av img,.avatar img,.shAv img{object-fit:cover;}
.ph{color:var(--jp-muted)!important;}
.pencil{background:linear-gradient(180deg,#647ff0,#4867dc)!important;color:#fff!important;border:1px solid #425ecb!important;box-shadow:0 3px 0 #394fae!important;}
.payCard{background:linear-gradient(145deg,#fffdf7,#fff 55%,#f3f9ff)!important;}
.payQRWrap{background:#fff!important;border:1px solid #d6e0ed!important;border-radius:22px!important;padding:12px!important;width:max-content;max-width:100%;margin-left:auto!important;margin-right:auto!important;box-shadow:0 7px 0 #dbe4ef,0 13px 24px rgba(54,77,113,.12)!important;}
.payQR{border-radius:13px!important;}.payHint{color:var(--jp-ink-2)!important;}.payNote{background:#edf6ff!important;border:1px solid #cbdff4!important;color:#30557e!important;border-radius:15px!important;}
.kv .k,.k{color:var(--jp-muted)!important;}.kv .v,.v{color:var(--jp-ink)!important;}
.aadhaarBlock .ah{border-color:var(--jp-line)!important;color:var(--jp-ink)!important;}.aadhaarBlock .ab{background:#f8fbff!important;}

/* Lists, stats, admin */
.stat,.row,.toolbar{background:linear-gradient(180deg,#fff,#f7faff)!important;color:var(--jp-ink)!important;border:1px solid var(--jp-line)!important;border-radius:18px!important;box-shadow:0 4px 0 #dce4ef,0 8px 16px rgba(54,77,113,.09)!important;}
.price{color:var(--jp-ink)!important;}
.tableWrap,.table-wrap{background:#fff!important;border:1px solid var(--jp-line)!important;border-radius:20px!important;overflow:auto!important;box-shadow:0 6px 0 #d9e2ee,0 12px 22px rgba(54,77,113,.11)!important;}
table{border-collapse:separate!important;border-spacing:0!important;color:var(--jp-ink)!important;background:#fff!important;}
th{background:#eaf1fa!important;color:#334765!important;border-color:#d7e1ee!important;font-weight:1000!important;}
td{background:#fff!important;color:#24344d!important;border-color:#e1e8f1!important;}
tr:hover td{background:#f7faff!important;}
.empty{color:var(--jp-muted)!important;background:#fff!important;border-color:var(--jp-line)!important;}

/* Sheets / modals */
.modalBack,.lockBack,.overlay,.back,.modalWrap{backdrop-filter:blur(9px)!important;background:rgba(25,38,61,.48)!important;}
.modal,.modalBox,.lockModal,.modal-content,.dialog,.sheet{
  background:linear-gradient(180deg,#fff,#f7faff)!important;color:var(--jp-ink)!important;
  border:1px solid var(--jp-line)!important;border-radius:26px!important;
  box-shadow:0 10px 0 rgba(157,174,199,.45),0 28px 70px rgba(25,38,61,.30)!important;
}
.modal h1,.modal h2,.modal h3,.modalBox h1,.modalBox h2,.modalBox h3,.lockModal h1,.lockModal h2,.lockModal h3,.modal-content h1,.modal-content h2,.modal-content h3,.dialog h1,.dialog h2,.dialog h3,.sheet h1,.sheet h2,.sheet h3{color:var(--jp-ink)!important;}
.modal p,.modalBox p,.lockModal p,.dialog p,.sheet p{color:var(--jp-muted)!important;}
.x,.close,.xbtn{color:var(--jp-ink)!important;background:#fff!important;}

/* Auction legacy controls */
.amBtn{color:#fff!important;border:1px solid #4564dc!important;border-radius:13px!important;background:linear-gradient(180deg,#6f8cff,#4f6fe9)!important;box-shadow:0 4px 0 #3f59c0!important;}
.amBtn[style*="green"]{background:linear-gradient(180deg,#46b68b,#2f9f75)!important;border-color:#2c936d!important;box-shadow:0 4px 0 #287d5f!important;}

/* Protect text contrast from legacy inline / inherited dark themes */
.card *, .panel *, .box *, .profileCard *, .payCard *, .contactBox *, .ownerCard *, .team-card *, .player-card *, .form-card *, .section *, .sheet *, .modal *, .modalBox *, .lockModal *, .topBox *{text-shadow:none;}
.card .sub,.panel .sub,.box .sub,.card .muted,.panel .muted,.box .muted,.card .note,.panel .note,.box .note,.card .hint,.panel .hint,.box .hint{color:var(--jp-muted)!important;}
.card .name,.panel .name,.box .name,.card .t,.panel .t,.box .t,.card .v,.panel .v,.box .v{color:var(--jp-ink)!important;}
[style*="color:#334155"],[style*="color: #334155"],[style*="color:#0f172a"],[style*="color: #0f172a"],[style*="color:#000"],[style*="color: #000"]{color:var(--jp-ink)!important;}

/* Motion: soft, playful and restrained */
.reveal{opacity:1!important;transform:none!important;}
@keyframes jpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.logoBox{animation:jpFloat 4s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* Mobile */
@media (max-width:700px){
  header,.header,.top,.topbar,.headbar{margin:9px!important;border-radius:19px!important;}
  .wrap,.container,main{padding-left:12px!important;padding-right:12px!important;}
  .card,.panel,.box,.profileCard,.payCard,.ownerCard,.team-card,.player-card,.form-card,.section{border-radius:21px!important;}
  .btn,.linkBtn,a.btn,button:not(.plain):not(.icon-btn){border-radius:14px!important;}
}

/* v2026.09.27.5 — spacing & interaction polish */
:root{
  --jp-page-gutter:16px;
  --jp-card-pad:22px;
  --jp-card-pad-mobile:18px;
  --jp-field-gap:15px;
}

/* Consistent breathing room inside form/content surfaces */
.card-b{
  padding:var(--jp-card-pad)!important;
}
.card-h{
  padding:17px 20px 13px!important;
}
.form-card,.panel.form-card,.box.form-card{
  padding:var(--jp-card-pad)!important;
}
.sheet-b,.modal-body,.modalBody,.dialog-body{
  padding:20px!important;
}
.field{
  margin-bottom:var(--jp-field-gap)!important;
}
.field:last-child{margin-bottom:0!important;}
.lbl,.label,label{
  margin-bottom:7px;
}
.btnbar,.actions,.actionRow,.buttonRow{
  gap:12px!important;
  margin-top:14px!important;
}
.uploadRow{
  padding:14px!important;
  gap:14px!important;
  margin-bottom:16px!important;
}
.note,.hintBlock,.infoBox,.payNote{
  line-height:1.55!important;
}

/* Keep page content away from viewport/card edges */
.wrap,.container,main{
  padding-left:max(var(--jp-page-gutter),env(safe-area-inset-left))!important;
  padding-right:max(var(--jp-page-gutter),env(safe-area-inset-right))!important;
}
.card,.panel,.box,.profileCard,.payCard,.ownerCard,.team-card,.player-card,.auction-card,.form-card,.section,.topBox{
  margin-bottom:18px;
}

/* Stable tactile buttons: no size jump on hover/click */
.btn,.linkBtn,a.btn,.payAppBtn,.miniBtn,.xbtn,.amBtn,input[type=submit]{
  box-sizing:border-box!important;
  min-height:44px;
  height:auto!important;
  line-height:1.2!important;
  border-width:1px!important;
  border-style:solid!important;
  vertical-align:middle;
  will-change:transform;
}
.btn,.linkBtn,a.btn,.payAppBtn,.miniBtn,.amBtn,input[type=submit]{
  padding:11px 14px!important;
}
.btn:hover,.linkBtn:hover,a.btn:hover,.payAppBtn:hover,.miniBtn:hover,.xbtn:hover,.amBtn:hover,input[type=submit]:hover{
  transform:translateY(-1px)!important;
  line-height:1.2!important;
}
.btn:active,.linkBtn:active,a.btn:active,.payAppBtn:active,.miniBtn:active,.xbtn:active,.amBtn:active,input[type=submit]:active{
  transform:translateY(3px)!important;
  line-height:1.2!important;
}
.btn:hover,.btn:active,.linkBtn:hover,.linkBtn:active,a.btn:hover,a.btn:active,.payAppBtn:hover,.payAppBtn:active,.miniBtn:hover,.miniBtn:active,.amBtn:hover,.amBtn:active,input[type=submit]:hover,input[type=submit]:active{
  padding:11px 14px!important;
  border-width:1px!important;
}
.btn .btxt,.btn i,.btn svg,.linkBtn i,.linkBtn svg{
  line-height:1!important;
  flex:0 0 auto;
}

/* Inputs stay comfortably inside their parent */
input,select,textarea,.in,.sel{
  max-width:100%!important;
  min-height:46px;
}
textarea{min-height:110px;}

/* Form rows should remain layout rows, not decorative cards */
.card-b .row,.form-card .row,.sheet-b .row,.modal-body .row{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin-bottom:0!important;
}

@media (max-width:700px){
  :root{--jp-page-gutter:12px;--jp-card-pad:18px;--jp-field-gap:14px;}
  .card-b{padding:var(--jp-card-pad-mobile)!important;}
  .card-h{padding:15px 17px 12px!important;}
  .form-card,.panel.form-card,.box.form-card{padding:var(--jp-card-pad-mobile)!important;}
  .uploadRow{padding:13px!important;gap:12px!important;}
  .btnbar,.actions,.actionRow,.buttonRow{gap:11px!important;margin-top:13px!important;}
}

@media (max-width:420px){
  :root{--jp-page-gutter:10px;--jp-card-pad-mobile:16px;}
  .card-h{padding-left:15px!important;padding-right:15px!important;}
  .card-b{padding:16px!important;}
  .uploadRow{padding:12px!important;}
}

/* v2026.09.27.6 — button ripple/spacing/CTA consistency hotfix */

/* Ripple is an overlay, never a flex/layout child. This prevents click from
   changing the physical width/height of flex-based buttons. */
.s2-ripple{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.s2-wave{
  position:absolute!important;
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  pointer-events:none!important;
  background:rgba(255,255,255,.42)!important;
  opacity:.8;
  transform:translate(-50%,-50%) scale(0);
  transform-origin:center;
  animation:jpS2Ripple .48s ease-out forwards!important;
  z-index:2;
}
@keyframes jpS2Ripple{
  0%{transform:translate(-50%,-50%) scale(0);opacity:.55}
  100%{transform:translate(-50%,-50%) scale(1);opacity:0}
}

/* Keep every button's box dimensions stable in hover/pressed states.
   Tactile feedback now comes from color/shadow only, never movement/scale. */
button:hover,button:active,
.btn:hover,.btn:active,a.btn:hover,a.btn:active,
.linkBtn:hover,.linkBtn:active,
.payAppBtn:hover,.payAppBtn:active,
.miniBtn:hover,.miniBtn:active,
.xbtn:hover,.xbtn:active,
.amBtn:hover,.amBtn:active,
input[type=submit]:hover,input[type=submit]:active{
  transform:none!important;
}
button:active,.btn:active,a.btn:active,.linkBtn:active,.payAppBtn:active,.miniBtn:active,.xbtn:active,.amBtn:active,input[type=submit]:active{
  filter:brightness(.985)!important;
}

/* Keep the main Index CTA and Registration submit CTAs visually identical. */
a.btn.primary[href="register.php"],
#btnMobile.btn.primary,
#btnDetails.btn.primary{
  color:#2a1d0f!important;
  background:linear-gradient(180deg,#ffd36d 0%,#ffb85b 100%)!important;
  border-color:#e9a94f!important;
  box-shadow:0 5px 0 #d8953f,0 10px 18px rgba(214,149,63,.22)!important;
}
a.btn.primary[href="register.php"]:hover,
#btnMobile.btn.primary:hover,
#btnDetails.btn.primary:hover{
  background:linear-gradient(180deg,#ffda7e 0%,#ffc06a 100%)!important;
  box-shadow:0 5px 0 #d8953f,0 10px 18px rgba(214,149,63,.22)!important;
}
a.btn.primary[href="register.php"]:active,
#btnMobile.btn.primary:active,
#btnDetails.btn.primary:active{
  background:linear-gradient(180deg,#f8c65f 0%,#f3aa4b 100%)!important;
  box-shadow:0 3px 0 #c98635,0 7px 13px rgba(214,149,63,.18)!important;
}

/* Registration form rhythm: explicit spacing between rows means the Email
   field can never visually collide with the Age field on narrow screens. */
#stepDetails > .row{
  gap:16px!important;
  margin:0 0 18px!important;
}
#stepDetails > .row > .field{
  margin-bottom:0!important;
}
#stepDetails > .row + .row{
  margin-top:0!important;
}
@media (max-width:560px){
  #stepDetails > .row{
    gap:15px!important;
    margin-bottom:19px!important;
  }
}


/* v2026.09.27.7 — admin delete guard + list spacing/overflow polish */

/* Admin filter panel: global toy .row styling must not turn filter grids into cards. */
.adminPage .filters{overflow:visible!important;}
.adminPage .filters .fb{padding:18px!important;}
.adminPage .filters form > .row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  gap:15px 12px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.adminPage .filters form > .row + .row{margin-top:16px!important;}
.adminPage .filters .field{
  min-width:145px!important;
  margin:0!important;
  flex:1 1 145px!important;
}
.adminPage .filters .field[style*="min-width:220px"]{flex-basis:220px!important;}
.adminPage .filters .lbl{margin:0 0 8px!important;}
.adminPage .filters input,.adminPage .filters select{min-height:48px!important;}
.adminPage .filters .btn{min-height:48px!important;}
.adminPage .filters .note{margin:15px 0 0!important;}
.adminPage .editDangerZone{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:18px;padding:14px;border:1px solid #f0c4ca;border-radius:18px;
  background:linear-gradient(180deg,#fff8f9,#fff1f3);
  box-shadow:0 4px 0 #efd8dc,0 8px 16px rgba(117,52,66,.07);
}
.adminPage .editDangerZone .dangerTitle{font-weight:1000;color:#9e3345;}
.adminPage .editDangerZone .btn{width:auto!important;min-width:112px!important;flex:0 0 auto;}
.adminPage #deleteWrap .mb{padding:18px!important;}
.adminPage #deleteWrap .mBtns{margin-top:16px!important;}

/* Players list: one outer toy card only; content must stay inside it. */
.playersPage .panel{padding:16px!important;overflow:hidden!important;}
.playersPage .filters{gap:12px!important;}
.playersPage .filters > div{min-width:0!important;gap:10px!important;}
.playersPage .filters select{min-width:0!important;}
.playersPage .list{margin-top:16px!important;display:flex!important;flex-direction:column!important;gap:14px!important;}
.playersPage .pCard{
  width:100%!important;max-width:100%!important;margin:0!important;padding:15px!important;
  overflow:hidden!important;min-width:0!important;
}
.playersPage .pCard > .row{
  display:grid!important;grid-template-columns:60px minmax(0,1fr) auto!important;
  align-items:start!important;gap:12px!important;min-width:0!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.playersPage .pCard .av{width:60px!important;height:60px!important;min-width:60px!important;}
.playersPage .pCard .meta{min-width:0!important;overflow:hidden!important;}
.playersPage .pCard .name,.playersPage .pCard .mini{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.playersPage .pCard .subline{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important;max-width:100%!important;}
.playersPage .pCard .chip{max-width:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.playersPage .pCard .right{min-width:0!important;max-width:92px!important;align-self:start!important;}
.playersPage .pCard .tag{max-width:100%!important;white-space:nowrap!important;}
.playersPage .sheet .box{padding:15px!important;overflow:hidden!important;}
.playersPage .sheet .kv{min-width:0!important;}
.playersPage .sheet .v{min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important;}

/* Owners: cards/list rows need usable inner padding and shrink-safe text. */
.ownersPage .wrap{overflow-x:hidden!important;}
.ownersPage .card{padding:16px!important;overflow:hidden!important;}
.ownersPage #playersList{display:flex;flex-direction:column;gap:13px;margin-top:14px;min-width:0;}
.ownersPage #playersList > .row{
  width:100%!important;max-width:100%!important;margin:0!important;padding:14px!important;
  display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;
  align-items:center!important;gap:12px!important;overflow:hidden!important;min-width:0!important;
}
.ownersPage .row .meta{min-width:0!important;overflow:hidden!important;}
.ownersPage .row .name,.ownersPage .row .sub{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.ownersPage .row .price{flex:0 0 auto!important;white-space:nowrap!important;max-width:110px!important;font-size:12px!important;text-align:right!important;}
.ownersPage #box{display:flex!important;flex-direction:column!important;gap:13px!important;margin-top:14px!important;}
.ownersPage #box > .row{
  width:100%!important;max-width:100%!important;margin:0!important;padding:14px!important;
  display:grid!important;grid-template-columns:55px minmax(0,1fr) auto!important;
  gap:12px!important;align-items:center!important;overflow:hidden!important;min-width:0!important;
}
.ownersPage #box > .row > div:nth-child(2){min-width:0!important;overflow:hidden!important;}
.ownersPage #box .name,.ownersPage #box .sub{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.ownersPage #box .right{margin:0!important;flex:0 0 auto!important;white-space:nowrap!important;}

/* Teams: remove nested double-card squeeze and keep team/player info contained. */
.teamsPage .wrap{overflow-x:hidden!important;}
.teamsPage .card{overflow:hidden!important;}
.teamsPage .card.search{padding:16px!important;}
.teamsPage .card.list{padding:7px!important;margin:0 0 13px!important;}
.teamsPage .card.list > a.row{
  width:100%!important;max-width:100%!important;margin:0!important;padding:10px!important;
  display:grid!important;grid-template-columns:60px minmax(0,1fr) auto!important;
  align-items:center!important;gap:12px!important;min-width:0!important;overflow:hidden!important;
  background:transparent!important;border:0!important;border-radius:15px!important;box-shadow:none!important;
}
.teamsPage .card.list .meta{min-width:0!important;overflow:hidden!important;}
.teamsPage .card.list .name,.teamsPage .card.list .sub{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.teamsPage .card.list .right{min-width:0!important;white-space:nowrap!important;}
.teamsPage .section{min-width:0!important;}
.teamsPage .section > .row{
  width:100%!important;max-width:100%!important;padding:14px!important;
  display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;align-items:center!important;min-width:0!important;overflow:hidden!important;
}
.teamsPage .section > .row .meta{min-width:0!important;overflow:hidden!important;}
.teamsPage .section > .row .name,.teamsPage .section > .row .psub{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}

@media (max-width:520px){
  .adminPage .filters .fb{padding:16px!important;}
  .adminPage .filters form > .row{gap:13px!important;}
  .adminPage .filters .field,.adminPage .filters .field[style*="min-width:220px"]{flex:1 1 100%!important;min-width:0!important;}
  .adminPage .editDangerZone{align-items:stretch;flex-direction:column!important;}
  .adminPage .editDangerZone .btn{width:100%!important;}

  .playersPage .panel{padding:14px!important;}
  .playersPage .filters > div{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
  .playersPage .pCard{padding:14px!important;}
  .playersPage .pCard > .row{grid-template-columns:54px minmax(0,1fr)!important;gap:11px!important;}
  .playersPage .pCard .av{width:54px!important;height:54px!important;min-width:54px!important;}
  .playersPage .pCard .right{grid-column:2!important;grid-row:2!important;max-width:none!important;text-align:left!important;margin-top:3px!important;}
  .playersPage .pCard .subline{margin-top:8px!important;}

  .ownersPage .card{padding:14px!important;}
  .ownersPage #playersList > .row{grid-template-columns:46px minmax(0,1fr)!important;padding:13px!important;}
  .ownersPage #playersList > .row .price{grid-column:2!important;max-width:100%!important;text-align:left!important;margin-top:4px!important;}
  .ownersPage #box > .row{grid-template-columns:52px minmax(0,1fr) auto!important;padding:13px!important;}

  .teamsPage .card.search{padding:14px!important;}
  .teamsPage .card.list{padding:6px!important;}
  .teamsPage .card.list > a.row{grid-template-columns:54px minmax(0,1fr) auto!important;padding:9px!important;gap:10px!important;}
}

@media (max-width:380px){
  .ownersPage #box > .row,.teamsPage .card.list > a.row{grid-template-columns:50px minmax(0,1fr)!important;}
  .ownersPage #box .right,.teamsPage .card.list .right{grid-column:2!important;justify-self:start!important;margin-top:4px!important;}
}


/* v2026.09.27.9 — Players card toy-pill shadow must not be clipped by meta overflow. */
.playersPage .pCard .meta{overflow:visible!important;}
.playersPage .pCard .subline,.playersPage .pCard .right{padding-bottom:5px!important;}
.playersPage .pCard .name,.playersPage .pCard .mini{overflow:hidden!important;}
