/* ===== Alievi Performance v4.8.0 — Profissional, atleta e performance ===== */

.ap-v48-nav{grid-template-columns:repeat(6,1fr)!important}
.ap-v48-nav .nav-item .ico{font-size:20px}

.ap-role-card,.ap-coach-card,.ap-performance-hero,.ap-pro-hero,.ap-athlete-hero{
  border:1px solid #294b68;
  background:
    radial-gradient(circle at 96% 4%,rgba(53,194,255,.14),transparent 34%),
    linear-gradient(150deg,#10243a,#091625 74%);
}
.ap-role-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.ap-role-switch button{
  min-height:54px;border:1px solid #29465f;border-radius:16px;background:#091726;color:#d9e9f8;
  font-weight:900;cursor:pointer;padding:10px 12px
}
.ap-role-switch button.active{
  background:linear-gradient(135deg,var(--blue),var(--green));color:#04131c;border-color:transparent
}
.ap-role-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ap-role-fields label{margin:0}
.ap-role-fields input{margin-top:5px}

.ap-home-strip{
  margin:0 0 14px;padding:16px;border:1px solid #294861;border-radius:20px;
  background:linear-gradient(145deg,#102239,#0a1727)
}
.ap-home-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ap-home-strip-head h2{margin:4px 0 0;font-size:18px}
.ap-home-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.ap-home-strip-grid>div,.ap-kpi{
  padding:12px;border:1px solid #263e58;border-radius:14px;background:#081523
}
.ap-home-strip-grid span,.ap-home-strip-grid strong,.ap-kpi span,.ap-kpi strong{display:block}
.ap-home-strip-grid span,.ap-kpi span{font-size:8px;text-transform:uppercase;font-weight:950;color:#839bb4}
.ap-home-strip-grid strong,.ap-kpi strong{font-size:20px;margin-top:4px;letter-spacing:-.04em}
.ap-home-strip-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

.ap-link-code{
  margin-top:12px;border:1px dashed #3e7496;border-radius:18px;padding:16px;background:#081827;text-align:center
}
.ap-link-code span,.ap-link-code strong,.ap-link-code small{display:block}
.ap-link-code span{color:#8da6bd;font-size:9px;text-transform:uppercase;font-weight:900}
.ap-link-code strong{font-size:28px;letter-spacing:.16em;margin:7px 0;color:#91e6ff}
.ap-link-code small{color:var(--muted);font-size:10px}
.ap-link-code .buttons-inline{justify-content:center;margin-top:12px}

.ap-link-list{display:grid;gap:9px;margin-top:13px}
.ap-link-row{
  display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;
  padding:12px;border:1px solid #263e58;border-radius:15px;background:#091625
}
.ap-avatar{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(145deg,#17344d,#102238);font-weight:950;color:#87ddff
}
.ap-link-row strong,.ap-link-row small{display:block}
.ap-link-row small{color:var(--muted);font-size:9px;margin-top:3px}
.ap-link-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ap-status{
  display:inline-flex;align-items:center;gap:5px;border:1px solid #355169;border-radius:999px;
  padding:5px 8px;font-size:8px;text-transform:uppercase;font-weight:950;color:#9bb1c5
}
.ap-status.accepted{border-color:#326a4a;color:#7ee787;background:#0c291c}
.ap-status.pending{border-color:#665a28;color:#ffd166;background:#2d2814}
.ap-status.ended,.ap-status.rejected{border-color:#5d3d40;color:#ffaaa4;background:#27191b}

.ap-assigned-card{margin:0 0 14px;border-color:#3a6580!important}
.ap-assigned-list{display:grid;gap:8px;margin-top:12px}
.ap-assigned-item{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;
  border:1px solid #29475f;border-radius:14px;background:#091827
}
.ap-assigned-item strong,.ap-assigned-item small{display:block}
.ap-assigned-item small{color:var(--muted);font-size:9px;margin-top:4px;line-height:1.4}

.ap-performance-hero{padding:22px;border-radius:26px;margin-bottom:14px}
.ap-performance-hero h1,.ap-pro-hero h1,.ap-athlete-hero h1{font-size:clamp(27px,5vw,40px);margin:5px 0 7px;letter-spacing:-.05em}
.ap-performance-hero p,.ap-pro-hero p,.ap-athlete-hero p{margin:0;color:var(--muted);line-height:1.5}
.ap-performance-grid,.ap-pro-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}
.ap-performance-grid>div{
  padding:13px;border:1px solid #29445c;border-radius:15px;background:#081625
}
.ap-performance-grid span,.ap-performance-grid strong,.ap-performance-grid small{display:block}
.ap-performance-grid span{font-size:8px;text-transform:uppercase;font-weight:950;color:#8198ae}
.ap-performance-grid strong{font-size:20px;margin-top:5px}
.ap-performance-grid small{font-size:9px;color:#72d9ff;margin-top:3px}

.ap-result-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.ap-result-form label{margin:0}
.ap-result-form .ap-wide{grid-column:span 2}
.ap-result-list{display:grid;gap:8px}
.ap-result-row{
  display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;
  padding:12px;border-top:1px solid var(--line)
}
.ap-result-row:first-child{border-top:0}
.ap-result-row>span{width:42px;height:42px;border-radius:13px;background:#11283f;display:grid;place-items:center;font-size:20px}
.ap-result-row strong,.ap-result-row small{display:block}
.ap-result-row small{font-size:9px;color:var(--muted);margin-top:3px}
.ap-result-score{text-align:right}
.ap-result-score b,.ap-result-score em{display:block}
.ap-result-score b{font-size:15px}
.ap-result-score em{font-size:9px;color:#7ee787;font-style:normal;margin-top:3px}

.ap-pro-hero,.ap-athlete-hero{padding:22px;border-radius:26px;margin-bottom:14px}
.ap-pro-hero-actions,.ap-athlete-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.ap-pro-kpis{margin-bottom:14px}
.ap-kpi strong{font-size:25px}

.ap-athlete-list{display:grid;gap:9px}
.ap-athlete-card{
  width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;text-align:left;
  border:1px solid #29445f;border-radius:17px;background:#091827;color:var(--text);padding:13px;cursor:pointer
}
.ap-athlete-card:hover{border-color:#3e91b4;background:#0c2032}
.ap-athlete-card .ap-avatar{width:46px;height:46px}
.ap-athlete-card strong,.ap-athlete-card small{display:block}
.ap-athlete-card small{margin-top:4px;color:var(--muted);font-size:9px}
.ap-athlete-card>b{font-size:24px;color:#5d7992}

.ap-athlete-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}
.ap-athlete-summary>div{padding:13px;border:1px solid #29445e;border-radius:15px;background:#091625}
.ap-athlete-summary span,.ap-athlete-summary strong,.ap-athlete-summary small{display:block}
.ap-athlete-summary span{font-size:8px;text-transform:uppercase;font-weight:950;color:#849cb3}
.ap-athlete-summary strong{font-size:21px;margin-top:5px}
.ap-athlete-summary small{font-size:9px;color:#6ccfff;margin-top:3px}

.ap-chart{border:1px solid #263f58;border-radius:16px;background:#071522;padding:10px;margin-top:12px;overflow:hidden}
.ap-chart svg{width:100%;height:auto;display:block}
.ap-chart-labels{display:flex;justify-content:space-between;color:#71899f;font-size:8px;margin-top:4px}
.ap-chart-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ap-chart-legend strong{font-size:12px}
.ap-chart-legend span{font-size:9px;color:#8ba1b6}

.ap-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ap-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ap-measure-table{display:grid;gap:0;margin-top:8px}
.ap-measure-row{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:10px}
.ap-measure-row:first-child{border-top:0}
.ap-measure-row span{color:#91a6ba}
.ap-measure-row strong{text-align:right}
.ap-measure-row em{text-align:right;font-style:normal;color:#7ee787}

.ap-prescription-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ap-prescription-form label{margin:0}
.ap-prescription-form .ap-full{grid-column:1/-1}
.ap-prescription-list{display:grid;gap:8px;margin-top:10px}
.ap-prescription-row{
  border:1px solid #29445e;border-radius:14px;padding:12px;background:#091625
}
.ap-prescription-row-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ap-prescription-row strong,.ap-prescription-row small{display:block}
.ap-prescription-row small{font-size:9px;color:var(--muted);margin-top:4px}
.ap-prescription-row p{font-size:10px;color:#b6c8d8;line-height:1.5;margin:8px 0 0}

.ap-thread{display:flex;flex-direction:column;gap:7px;max-height:420px;overflow:auto;padding:4px 2px}
.ap-message{max-width:84%;padding:10px 12px;border-radius:15px;border:1px solid #29425a;background:#0a1828}
.ap-message.mine{align-self:flex-end;background:#123148;border-color:#37647e}
.ap-message.theirs{align-self:flex-start}
.ap-message p{margin:0;line-height:1.45;font-size:11px;white-space:pre-wrap}
.ap-message small{display:block;margin-top:6px;color:#7f96ab;font-size:8px}
.ap-message-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.ap-message-form textarea{min-height:48px;max-height:120px;margin:0}

.ap-empty{
  border:1px dashed #2c475f;border-radius:16px;padding:18px;text-align:center;color:#859db4;
  font-size:11px;line-height:1.55;background:#081522
}
.ap-login-needed{margin-top:14px}

.ap-spinner{display:inline-block;width:16px;height:16px;border:2px solid #36536b;border-top-color:#7fddff;border-radius:50%;animation:ap-spin .8s linear infinite}
@keyframes ap-spin{to{transform:rotate(360deg)}}

@media(max-width:780px){
  .ap-performance-grid,.ap-pro-kpis,.ap-athlete-summary,.ap-home-strip-grid{grid-template-columns:repeat(2,1fr)}
  .ap-two-col,.ap-three-col{grid-template-columns:1fr}
  .ap-result-form{grid-template-columns:1fr 1fr}
  .ap-result-form .ap-wide{grid-column:span 2}
}
@media(max-width:560px){
  .ap-role-fields,.ap-prescription-form{grid-template-columns:1fr}
  .ap-prescription-form .ap-full{grid-column:auto}
  .ap-result-form{grid-template-columns:1fr}
  .ap-result-form .ap-wide{grid-column:auto}
  .ap-link-row{grid-template-columns:42px 1fr}
  .ap-link-actions{grid-column:1/-1;justify-content:flex-start}
  .ap-performance-hero,.ap-pro-hero,.ap-athlete-hero{padding:18px;border-radius:22px}
  .ap-assigned-item{grid-template-columns:1fr}
  .ap-message{max-width:92%}
}
@media(max-width:420px){
  .ap-performance-grid,.ap-pro-kpis,.ap-athlete-summary,.ap-home-strip-grid{grid-template-columns:1fr 1fr}
  .ap-home-strip-grid strong,.ap-kpi strong{font-size:18px}
  .ap-role-switch{grid-template-columns:1fr}
}

/* Hotfix: Agenda restaurada na navegação do atleta */
.ap-v48-nav .nav-item{min-width:0;padding-left:2px;padding-right:2px}
.ap-v48-nav .nav-item>span:last-child{font-size:8px}
@media(max-width:390px){
  .ap-v48-nav .nav-item .ico{font-size:18px}
  .ap-v48-nav .nav-item>span:last-child{font-size:7px}
}
