/* AgendAI Fit · estilos próprios (usa a base do AgendAI) */
.is-student .side-foot span:nth-child(3){display:none}
.sm-av{width:36px;height:36px;font-size:13px;background:var(--grad-soft);color:#f0abfc;border:1px solid rgba(192,132,252,.3)}
/* roteiro do dia */
.timeline{display:flex;flex-direction:column}
.sess{display:flex;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(10,9,18,.45);transition:border-color .2s,transform .2s var(--ease)}
.sess:hover{border-color:var(--gold-line)}
.sess.a_caminho{border-color:rgba(251,191,36,.55);box-shadow:0 0 0 3px rgba(251,191,36,.08)}
.sess.concluida,.sess.cancelada,.sess.faltou{opacity:.6}
.sess.late{border-color:rgba(251,113,133,.45)}
.sess-time{display:flex;flex-direction:column;align-items:center;min-width:52px;padding-top:2px}
.sess-time b{font-size:17px;color:#f0abfc}.sess-time span{font-size:11.5px;color:var(--faint)}
.sess-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.sess-name{font-size:15px}
.leg{display:flex;align-items:center;gap:10px;padding:8px 0 8px 33px;position:relative;font-size:12.5px}
.leg::before{content:"";position:absolute;left:39px;top:0;bottom:0;border-left:2px dashed var(--line)}
.leg-dot{width:14px;height:14px;border-radius:50%;background:var(--graphite-3);border:2px solid var(--line);position:relative;z-index:1;flex:none}
.leg .hint b{color:var(--ivory)}
.leg.tight .leg-dot{background:var(--bad);border-color:var(--bad);animation:pulse 2s infinite}
.leg.tight .hint{color:var(--bad)}.leg.tight .hint b{color:#fecdd3}
/* agenda semanal */
.agweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.agday{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(28,25,41,.88),rgba(20,18,31,.88));min-height:180px;display:flex;flex-direction:column;overflow:hidden}
.agday h4{margin:0;padding:10px 10px;font-size:12.5px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}
.agday.today{border-color:rgba(192,132,252,.5)}.agday.today h4{background:var(--grad-soft);color:#fff}
.agev{display:block;width:calc(100% - 12px);margin:6px 6px 0;text-align:left;padding:7px 9px;border-radius:10px;border:1px solid rgba(56,189,248,.35);background:rgba(56,189,248,.1);color:var(--ivory);font-size:12.5px;cursor:pointer;transition:transform .15s var(--ease)}
.agev:hover{transform:translateY(-1px)}
.agev b{color:#7dd3fc}.agev small{display:block;color:var(--muted);font-size:11px}
.agev.confirmada{border-color:rgba(192,132,252,.45);background:rgba(192,132,252,.14)}.agev.confirmada b{color:#f0abfc}
.agev.a_caminho{border-color:rgba(251,191,36,.5);background:rgba(251,191,36,.12)}.agev.a_caminho b{color:#fde68a}
.agev.concluida{border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.1)}.agev.concluida b{color:#6ee7b7}
.agev.cancelada,.agev.faltou{opacity:.5;text-decoration:line-through;border-color:var(--line);background:transparent}
.agadd{margin:auto 6px 6px;padding:6px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--faint);font-size:12px;cursor:pointer}
.agadd:hover{color:var(--ivory);border-color:var(--gold-line)}
@media (max-width:900px){ .agweek{grid-template-columns:minmax(0,1fr)} .agday{min-height:0} .agadd{margin-top:6px} }
/* planos */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.plan-card{position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.plan-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad)}
.plan-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(139,92,246,.55)}
.plan-card.off{opacity:.55}
.plan-price{font-family:var(--font-display);font-size:28px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* entrada */
.opt-big{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--graphite-2);color:var(--ivory);cursor:pointer;transition:all .2s var(--ease)}
.opt-big:hover{border-color:#c084fc;background:var(--grad-soft);transform:translateY(-2px)}
.opt-big span{font-size:26px}.opt-big b{font-size:16px}.opt-big small{color:var(--muted)}
/* aluno */
.next-card{border-color:rgba(192,132,252,.4);box-shadow:0 20px 50px -24px rgba(139,92,246,.7)}
.next-card .when{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}
.onway,.delay-b{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;margin-bottom:14px;animation:fadeUp .5s var(--ease) both}
.onway{background:linear-gradient(135deg,rgba(52,211,153,.18),rgba(56,189,248,.14));border:1px solid rgba(52,211,153,.5)}
.onway>span>b,.delay-b>span>b{display:block;color:#fff}.onway .hint b,.delay-b .hint b{color:#fff}.onway .hint,.delay-b .hint{display:block}
.onway .car{font-size:28px;animation:drive 1.6s ease-in-out infinite}
@keyframes drive{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.delay-b{background:linear-gradient(135deg,rgba(251,191,36,.18),rgba(249,115,22,.14));border:1px solid rgba(251,191,36,.45)}
.delay-b .clock{font-size:26px;animation:ring 2.6s ease-in-out infinite}
.reasons{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.reasons label{display:flex;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}
.reasons label:has(input:checked){border-color:#c084fc;background:var(--grad-soft)}
.reasons input{accent-color:#d946ef}
@media (prefers-reduced-motion:reduce){ .onway .car,.delay-b .clock{animation:none} }
.scard{position:relative;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(10,9,18,.45);min-width:0}
.scard.a_caminho{border-color:rgba(52,211,153,.5)}
.scard.concluida,.scard.cancelada,.scard.faltou{opacity:.6}
.scard-body{position:relative}.scard-pill{position:absolute;top:0;right:0}
.scard-main{display:flex;flex-direction:column;gap:3px;padding-right:96px;min-width:0}
.scard-main .hint{overflow-wrap:anywhere}
.scard .onway,.scard .delay-b{margin:0 0 12px}
.btn svg,.icon-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.wrap-li .li{flex-wrap:wrap}.wrap-li .li .m{min-width:150px}
