
:root{--tm:#92f3d1;--tl:#315b51;--tb:#0d201c}body.team-page{background:#081310;color:#eefbf5}
.team-wrap{max-width:940px;margin:auto;padding:28px 18px 130px}
.team-eyebrow{color:var(--tm);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.team-wrap h1{font-size:clamp(30px,7vw,52px);letter-spacing:-.05em;line-height:1.05;margin:8px 0 12px}
.team-wrap h2{font-size:24px;letter-spacing:-.03em;margin:4px 0 14px}
.team-wrap p{line-height:1.55;color:#aec7be}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.team-card{background:linear-gradient(135deg,#133128,#0b1c18);border:1px solid var(--tl);border-radius:20px;padding:20px;margin:14px 0}
.team-card h3{margin:6px 0;font-size:23px;letter-spacing:-.04em}
.team-chip{display:inline-block;color:var(--tm);border:1px solid #477d6b;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:900;letter-spacing:.08em}
.team-chip.reserved{color:#f3d996;border-color:#78683f}
.team-button{display:inline-block;border:0;border-radius:11px;background:var(--tm);color:#062019;font-weight:900;font-size:12px;padding:13px 16px;cursor:pointer;text-decoration:none;margin:5px 5px 5px 0}
.team-button.secondary{background:#203b33;color:#e6fff4;border:1px solid #466d5e}
.team-button.danger{background:#382121;color:#ffd0d0;border:1px solid #835050}
.team-button:disabled{opacity:.5;cursor:not-allowed}
.team-input{display:block;width:100%;background:#091b17;border:1px solid #406b5e;color:#effff8;border-radius:12px;padding:13px;font:inherit;margin:7px 0 15px}
.team-label{display:block;color:#b9d9cc;font-size:12px;font-weight:800;margin-top:12px}
.team-note{font-size:12px;color:#a7c2b6;border-left:2px solid #79bea5;padding-left:12px}
.team-error{color:#ffb3b3}.team-ok{color:#9af5d3}
.team-logo{width:74px;height:74px;object-fit:cover;border:1px solid #548273;border-radius:17px;background:#0a1916;display:grid;place-items:center;color:var(--tm);font-size:20px;font-weight:900}
.team-cover{height:150px;background:linear-gradient(125deg,#1d5142,#0c211c);border-radius:15px;object-fit:cover;width:100%;margin-bottom:14px}
.team-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.team-stat{color:#c5e1d5;font-size:12px}.team-stat b{color:var(--tm)}
.team-sep{border:0;border-top:1px solid #315649;margin:17px 0}
.team-nav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.team-nav a{font-size:12px;color:var(--tm);text-decoration:none;border:1px solid #315649;border-radius:999px;padding:9px 12px}
.team-small{font-size:11px;color:#a9c8bd}
@media(max-width:550px){.team-wrap{padding:22px 15px 130px}.team-card{padding:16px}}

/* Stage 7R4 collector identities */
.collector-avatar{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:50%;border:1px solid #548273;background:#214c40;color:#d9ffef;font-size:20px;font-weight:900}
.collector-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.team-member-identity{min-width:0;flex:1;overflow-wrap:anywhere}
.team-member-identity a{display:inline-block;margin-top:5px;color:#92f3d1}
@media(max-width:550px){#team-members .team-row{gap:9px}#team-members .team-chip{font-size:9px;padding:5px 7px}}
/* Stage 7R4.1: public collector profile */
.collector-profile-head{padding:25px}.collector-profile-intro{display:flex;align-items:center;gap:22px;min-width:0}.collector-profile-photo{width:108px;height:108px;flex:0 0 108px;font-size:42px}.collector-profile-name{min-width:0}.collector-profile-name h1{margin:0 0 5px;overflow-wrap:anywhere}.collector-handle{margin:0 0 12px;color:#a3cdbb;font-size:16px}.collector-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #355e50;margin-top:23px;padding-top:19px;text-align:center}.collector-profile-stats>div{display:flex;flex-direction:column;gap:5px}.collector-profile-stats strong{font-size:25px;color:#e2fff1}.collector-profile-stats span{font-size:11px;color:#a3cdbb;text-transform:uppercase;letter-spacing:.05em}.collector-team-row{display:flex;align-items:center;gap:13px;margin:15px 0}.collector-team-mark{width:54px;height:54px;border:1px solid #568977;background:#204b3c;border-radius:14px;display:grid;place-items:center;font-weight:900}.collector-team-row p{margin:5px 0}.collector-section-count{color:#a3cdbb;font-size:15px}.collector-badges{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.collector-badge{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid #5e9075;border-radius:999px;background:#214535;color:#dfffe9;font-weight:700}.collector-badge span{color:#d8f19b}.collector-car-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.collector-car{border:1px solid #345e4d;border-radius:14px;padding:15px;background:#102920}.collector-car-icon{font-size:24px;margin-bottom:12px;color:#c4e6c5}.collector-car p{font-size:13px;color:#a3cdbb;margin:7px 0 0}@media(max-width:550px){.collector-profile-head{padding:18px}.collector-profile-intro{gap:14px}.collector-profile-photo{width:78px;height:78px;flex-basis:78px;font-size:30px}.collector-profile-name h1{font-size:28px}.collector-profile-stats strong{font-size:21px}.collector-profile-stats span{font-size:10px}}

/* Stage 7R5: collector profile polish */
.collector-team-mark{overflow:hidden;flex-shrink:0}.collector-team-mark img{width:100%;height:100%;object-fit:contain;border-radius:12px}
.collector-badge{border-radius:14px;align-items:center;max-width:100%;padding:11px 14px;gap:12px}
.collector-badge-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:11px;background:#365b36;color:#f4eab0;font-size:23px}
.collector-badge-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.collector-badge-copy strong{font-size:13px}.collector-badge-copy small{font-size:11px;line-height:1.35;font-weight:400;color:#b9d9c9}
@media(max-width:550px){.team-page #collector-root>.team-card{margin-bottom:12px;padding:17px}.team-page #collector-root>.team-eyebrow{margin-bottom:10px}.collector-profile-stats{margin-top:16px;padding-top:15px}.collector-team-row{margin:11px 0}.collector-badges{margin:11px 0}.collector-profile-name h1{font-size:clamp(22px,6vw,28px)}.collector-profile-stats span{line-height:1.3}}

/* Stage 7R27: administrator application review */
.asm-admin-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.asm-admin-between h2{margin:0}
.asm-admin-muted{font-size:12px;color:#a6bdb3;font-weight:500}
.asm-admin-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;font-size:12px}
.asm-admin-meta code{overflow-wrap:anywhere;color:#bfe9d9}
.asm-admin-meta .team-button{padding:8px 10px}
.asm-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.asm-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.asm-admin-app a{color:#a9ffe0;overflow-wrap:anywhere}
.asm-admin-stats .team-card{margin:8px 0}
@media(max-width:560px){.asm-admin-meta{display:block}.asm-admin-meta>*{display:block;margin:6px 0}.asm-admin-between{align-items:flex-start}}

/* Stage 7R28: compact mobile-first admin interface */
.asm-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 24px}
.asm-admin-stat{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:102px;padding:16px 14px;border-radius:16px;border:1px solid #315b51;background:linear-gradient(135deg,#133128,#0b1c18)}
.asm-admin-stat strong{display:block;color:#f1fff8;font-size:clamp(23px,4.5vw,34px);line-height:1.15;letter-spacing:-.04em}
.asm-admin-stat strong small{font-size:.57em;color:#b8d8cb}
.asm-admin-stat span{display:block;color:#aec7be;font-size:12px;line-height:1.35;margin-top:7px}
.asm-admin-app{padding:16px 18px}
.asm-admin-app h3{font-size:clamp(20px,4.6vw,25px);overflow-wrap:anywhere}
.asm-admin-app>p{margin:10px 0}
.asm-admin-details{margin:12px 0 0;border-top:1px solid #315b51;padding-top:11px}
.asm-admin-details summary{cursor:pointer;color:#9cf3d3;font-size:12px;font-weight:800;list-style-position:inside;padding:7px 0}
.asm-admin-details[open] summary{margin-bottom:10px}
.asm-admin-details summary span{margin-left:6px}
.asm-admin-meta code{font-size:11px}
.asm-admin-view{display:inline-block;margin-top:12px;font-size:12px;font-weight:800}
.asm-admin-tabs{margin:10px 0}
.asm-admin-actions{margin-top:13px}
@media(max-width:560px){
 .asm-admin-stats{gap:7px;margin:12px 0 18px}
 .asm-admin-stat{padding:12px 9px;min-height:90px;border-radius:13px}
 .asm-admin-stat strong{font-size:25px}
 .asm-admin-stat span{font-size:10px}
 .asm-admin-app{padding:14px}
 .asm-admin-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
 .asm-admin-meta>*{margin:3px 0}
 .asm-admin-actions .team-button{padding:12px 13px}
}

/* Stage 8C: Team leaderboard and permanent progression */
.asm-rankings-section{margin-top:28px;scroll-margin-top:95px}
.asm-ranking-tabs{display:flex;gap:8px;margin:18px 0 12px}
.asm-ranking-tabs button{flex:1;border:1px solid #477d6b;background:#112820;color:#d8f7e8;border-radius:12px;padding:13px 8px;font-weight:900;letter-spacing:.06em;cursor:pointer}
.asm-ranking-tabs button[aria-selected="true"]{background:#92f3d1;color:#08221b}
.asm-ranking-row{display:flex;align-items:center;gap:13px;margin:10px 0}
.asm-ranking-number{font-size:20px;font-weight:900;min-width:42px;color:#92f3d1}
.asm-ranking-row .team-logo{flex:0 0 64px;width:64px;height:64px}
.asm-ranking-info{min-width:0;flex:1}
.asm-ranking-name{font-size:17px;font-weight:900;color:#e7fff3;text-decoration:none;overflow-wrap:anywhere}
.asm-ranking-info .team-small{margin:5px 0 11px}
.asm-team-progress{height:10px;background:#25463a;border-radius:999px;overflow:hidden;border:1px solid #46705e}
.asm-team-progress>div{height:100%;background:linear-gradient(90deg,#54cda5,#b0ffe0);border-radius:999px}
.asm-team-progress-label{font-size:11px;color:#aacbbc;margin-top:6px}
.asm-season-soon{text-align:center;padding:32px 18px}
@media(max-width:550px){.asm-ranking-row{gap:9px}.asm-ranking-row .team-logo{width:48px;height:48px;flex-basis:48px}.asm-ranking-number{min-width:32px;font-size:16px}.asm-ranking-name{font-size:15px}}

/* Stage 8C consolidated QA: accurate progress fill, compact mobile profiles, safe area. */
.team-page .team-wrap{padding-top:max(28px,env(safe-area-inset-top,0px) + 22px)}
.asm-team-progress{display:block;position:relative;width:100%;box-sizing:border-box}
.asm-team-progress>.asm-team-progress-fill{display:block!important;flex:none!important;min-width:0!important;max-width:100%;box-sizing:border-box}
.asm-rankings-section{margin-top:18px;margin-bottom:22px}
@media(max-width:550px){.team-page .team-wrap{padding-top:max(22px,env(safe-area-inset-top,0px) + 18px)}.team-page #team-root>.team-grid{gap:8px}.team-page #team-root>.team-grid .team-card{margin:6px 0}.team-page #team-root>.team-card{margin:9px 0}.team-page #team-root>.asm-rankings-section{margin-top:12px}}
