@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f5f8f6;
  --bg-2:#eef5f1;
  --surface:rgba(255,255,255,.78);
  --surface-strong:#fff;
  --text:#121916;
  --muted:#6f7974;
  --green:#0b9f56;
  --green-dark:#087c43;
  --green-soft:#e8f7ee;
  --blue:#3978ea;
  --blue-soft:#eaf2ff;
  --orange:#ef8a16;
  --orange-soft:#fff0de;
  --red:#d95151;
  --red-soft:#fdecec;
  --purple:#8550d3;
  --purple-soft:#f1e8ff;
  --gray-soft:#f0f2f1;
  --line:#e4ebe7;
  --shadow:0 14px 38px rgba(28,55,42,.08);
  --shadow-soft:0 8px 24px rgba(28,55,42,.06);
  --radius-xl:28px;
  --radius-lg:21px;
  --radius-md:16px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overscroll-behavior-y:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.screen{min-height:100vh;min-height:100dvh}
.glass{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}
.eyebrow{margin:0 0 7px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.15em;color:var(--green)}
.btn{min-height:52px;border:0;border-radius:16px;padding:0 18px;font-weight:800;transition:transform .15s ease,opacity .15s ease}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(135deg,#0aaa5c,#078c4b);color:#fff;box-shadow:0 12px 24px rgba(11,159,86,.18)}
.btn-secondary{background:#edf2ef;color:#344039}
.btn-full{width:100%}
.form-error{margin:0;min-height:18px;color:#bd3f3f;font-size:11px}
.form-error-center{text-align:center;margin-top:10px}

/* AUTH */
.auth-screen{
  position:relative;overflow:hidden;display:grid;place-items:center;padding:30px 18px;
  background:
    radial-gradient(circle at 3% 0%,rgba(60,194,126,.17),transparent 30%),
    radial-gradient(circle at 100% 90%,rgba(111,137,255,.12),transparent 30%),
    linear-gradient(160deg,#f8fbf9,#f3f7f5);
}
.auth-orb{position:absolute;border-radius:999px;pointer-events:none}
.orb-one{width:260px;height:260px;left:-150px;top:12%;background:rgba(215,246,228,.6)}
.orb-two{width:250px;height:250px;right:-140px;bottom:8%;background:rgba(228,235,255,.65)}
.auth-container{position:relative;z-index:1;width:min(100%,430px)}
.brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:24px}
.brand-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#0ca55a,#087e45);color:#fff;font-weight:800;box-shadow:var(--shadow)}
.brand-text strong{display:block;font-size:22px;letter-spacing:.04em}
.brand-text span{display:block;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.27em;margin-top:1px}
.auth-card{border-radius:30px;padding:28px 24px}
.auth-card h1{margin:0 0 10px;font-size:30px;line-height:1.08;letter-spacing:-.04em}
.auth-subtitle{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.55}
.form-stack{display:grid;gap:15px}
.field{display:grid;gap:7px}
.field>span{font-size:11px;font-weight:700;color:#38443e}
.field input,.field select,.field textarea{
  width:100%;border:1px solid #dce5e0;background:rgba(252,253,252,.9);border-radius:15px;
  padding:0 14px;outline:none;color:var(--text);transition:.18s;border-color:.18s;
}
.field input,.field select{height:51px}
.field textarea{resize:vertical;min-height:96px;padding-top:13px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#98d7b7;box-shadow:0 0 0 4px rgba(11,159,86,.08);background:#fff}
.password-wrap{position:relative}.password-wrap input{padding-right:48px}
.password-toggle{position:absolute;right:5px;top:4px;width:42px;height:42px;border:0;background:transparent;border-radius:13px}
.auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;color:var(--muted);font-size:12px}
.text-button,.back-text-button{border:0;background:transparent;color:var(--green);font-weight:800;padding:0}
.back-text-button{color:#39423e;margin:0 0 18px}
.local-note{display:block;text-align:center;color:#8e9692;font-size:10px;margin-top:16px}

/* APP GENERAL */
.app-screen{
  background:
    radial-gradient(circle at 100% 0%,rgba(47,187,117,.08),transparent 23%),
    radial-gradient(circle at 0% 45%,rgba(64,123,234,.045),transparent 25%),
    linear-gradient(180deg,#fafcfb 0%,#f3f7f5 100%);
}
.page-view{min-height:100vh;min-height:100dvh}
.mobile-page{width:min(100%,760px);margin:0 auto;padding:calc(23px + env(safe-area-inset-top,0px)) 16px 0}
.bottom-spacer{height:118px}.bottom-spacer.small{height:40px}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:5px 2px 26px}
.page-header h1{margin:0;font-size:30px;letter-spacing:-.045em}
.page-header p:not(.eyebrow){max-width:450px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.avatar-mini{width:48px;height:48px;border:0;border-radius:50%;background:linear-gradient(145deg,#173a2b,#0b9d55);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(11,159,86,.14)}

/* TOP HOME */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:5px 2px 25px}
.welcome{font-size:clamp(25px,6.3vw,34px);font-weight:800;margin:0;letter-spacing:-.045em}.welcome strong{color:var(--green)}
.today-date{color:var(--muted);font-size:13px;margin:8px 0 0}
.wave{display:inline-block;transform-origin:70% 70%;animation:wave 2.8s ease-in-out infinite}
@keyframes wave{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(13deg)}20%{transform:rotate(-7deg)}30%{transform:rotate(13deg)}40%{transform:rotate(-4deg)}}
.avatar-button{position:relative;width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(145deg,#17392b,#0b9d55);color:#fff;font-weight:800;font-size:15px;box-shadow:0 11px 26px rgba(11,159,86,.16)}
.avatar-button i{position:absolute;width:13px;height:13px;border-radius:50%;right:-1px;bottom:2px;background:#3ed27a;border:3px solid #fff}

/* HERO */
.day-hero{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;border-radius:22px;padding:16px;margin-bottom:29px;background:linear-gradient(135deg,rgba(241,250,245,.92),rgba(255,255,255,.75))}
.hero-icon{width:48px;height:48px;border-radius:16px;background:#dff5e7;color:var(--green);display:grid;place-items:center;font-size:20px}
.hero-copy{display:grid;gap:4px}.hero-copy strong{font-size:13px}.hero-copy span{font-size:10px;color:var(--muted)}
.hero-link,.section-link{border:0;background:transparent;color:var(--green);font-weight:800;font-size:10px;white-space:nowrap}.hero-link span{font-size:19px}
.content-section{margin-bottom:29px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.section-header h2{font-size:19px;letter-spacing:-.025em;margin:0}

/* EMPTY */
.empty-card{border:1px dashed #cbd9d1;border-radius:21px;padding:26px 18px;text-align:center;background:rgba(242,248,245,.65)}
.empty-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:18px;background:#e6f5ec;color:var(--green);display:grid;place-items:center;font-size:22px}
.empty-card h3{margin:0 0 6px;font-size:14px}.empty-card p{margin:0 auto 15px;max-width:320px;color:var(--muted);font-size:10.5px;line-height:1.5}
.empty-card button{height:38px;border:0;border-radius:12px;background:#e5f5eb;color:var(--green-dark);font-size:10px;font-weight:800;padding:0 14px}

/* LESSONS */
.lesson-list{display:grid;gap:11px}
.lesson-card{
  position:relative;display:grid;grid-template-columns:70px 40px minmax(0,1fr) 30px;gap:8px;align-items:center;
  border:1px solid rgba(225,234,229,.9);border-radius:19px;padding:11px 9px 11px 12px;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(244,249,246,.88));box-shadow:var(--shadow-soft)
}
.lesson-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#aeb6b2}
.lesson-card.status-realizada::before{background:#13ad61}.lesson-card.status-falta::before{background:#e15a5a}.lesson-card.status-reposicao::before{background:#f29425}.lesson-card.status-agendada::before{background:#3c7cf0}.lesson-card.status-cancelada::before{background:#aeb6b2}
.time-box{height:62px;border-radius:15px;background:rgba(233,246,238,.82);display:flex;flex-direction:column;justify-content:center;padding-left:9px;gap:5px}
.time-box strong{font-size:16px;color:#087f46}.time-box span{font-size:9px;color:var(--muted)}
.student-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:800;background:linear-gradient(145deg,#315c4a,#0b9d55)}
.lesson-main{min-width:0}.lesson-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}.lesson-main h3{margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lesson-main p{margin:6px 0 0;color:var(--muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.service-chip{display:inline-block;margin-top:4px;border-radius:7px;background:#e8f6ed;color:#28543e;padding:3px 7px;font-size:8.5px;font-weight:700}
.status-pill{border-radius:999px;padding:4px 6px;font-size:7.3px;font-weight:800;white-space:nowrap}.pill-realizada{background:#e5f7eb;color:#0d914c}.pill-falta{background:#fdeaea;color:#c54646}.pill-reposicao{background:#fff0df;color:#df7d0d}.pill-agendada{background:#e9f1ff;color:#2f6fd9}.pill-cancelada{background:#f0f2f1;color:#737975}
.lesson-open{width:27px;height:27px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(242,246,244,.9);color:#37423d;font-size:20px}

/* SUMMARY */
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.summary-card{min-height:144px;border-radius:19px;padding:12px 10px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.75)}
.summary-icon{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:9px;font-weight:800;margin-bottom:auto}
.summary-card span{font-size:9.2px;font-weight:600;margin-top:11px}.summary-card strong{font-size:16px;margin-top:6px}.summary-card small{font-size:8px;color:var(--muted);margin-top:5px}
.summary-green{background:linear-gradient(145deg,#edf9f2,#f7fbf9)}.summary-green .summary-icon{background:#daf2e3;color:#0b9250}.summary-green strong{color:#087b43}
.summary-blue{background:linear-gradient(145deg,#eef4ff,#f8faff)}.summary-blue .summary-icon{background:#dfeaff;color:#3978ea}
.summary-orange{background:linear-gradient(145deg,#fff3e9,#fff9f5)}.summary-orange .summary-icon{background:#ffe4d1;color:#ef801b}
.summary-purple{background:linear-gradient(145deg,#f5edff,#fcf9ff)}.summary-purple .summary-icon{background:#e9dcff;color:#8550d3}

/* BIRTHDAY */
.birthday-card{width:100%;border-radius:20px;padding:16px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;text-align:left;margin:5px 0 22px;background:linear-gradient(135deg,rgba(247,239,255,.9),rgba(255,255,255,.78))}
.birthday-icon{width:44px;height:44px;border-radius:15px;background:#eaddff;color:var(--purple);display:grid;place-items:center}
.birthday-card>div:nth-child(2){display:grid;gap:3px}.birthday-card strong{font-size:12px}.birthday-card b{font-size:11px}.birthday-card span{font-size:9px;color:var(--muted)}.birthday-arrow{font-size:22px!important;color:#59625e!important}
.new-student-button{width:100%;height:58px;border:0;border-radius:17px;background:linear-gradient(135deg,#0aaa5c,#078e4c);color:#fff;font-size:15px;font-weight:800;box-shadow:0 13px 27px rgba(11,159,86,.18)}.new-student-button span{font-size:23px;vertical-align:-1px;margin-right:5px}

/* BOTTOM NAV */
.bottom-nav{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:calc(9px + var(--safe-bottom));width:min(calc(100% - 24px),720px);height:76px;border-radius:23px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;background:rgba(255,255,255,.88)}
.nav-item{border:0;background:transparent;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#747d78;font-size:8.5px;font-weight:600}.nav-item.active{background:#edf8f1;color:var(--green)}
.nav-icon{font-size:21px;line-height:1}

/* CALENDAR */
.calendar-shell{border-radius:25px;padding:16px 13px;margin-bottom:25px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,249,246,.76))}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-toolbar>div{text-align:center}.calendar-toolbar strong{display:block;font-size:15px;text-transform:capitalize}.calendar-toolbar #todayButton{margin-top:3px;border:0;background:transparent;color:var(--green);font-size:9px;font-weight:800}
.round-button{width:38px;height:38px;border:1px solid var(--line);background:rgba(248,251,249,.9);border-radius:13px;color:#4c5751;font-size:24px;display:grid;place-items:center}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-weekdays span{text-align:center;color:#89918d;font-size:8px;font-weight:800;padding:6px 0 9px}
.calendar-grid{gap:4px}
.calendar-day{position:relative;aspect-ratio:1/1;min-height:40px;border:0;border-radius:13px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#29322e;font-size:11px}
.calendar-day.outside{color:#bcc2bf}.calendar-day.today{box-shadow:inset 0 0 0 1.5px #8fd2af}.calendar-day.selected{background:#173d2c;color:#fff}.calendar-day.has-items:not(.selected){background:rgba(241,247,244,.95)}
.day-dots{height:5px;display:flex;gap:2px}.day-dots i{width:4px;height:4px;border-radius:50%}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;border-top:1px solid #e9efeb;margin-top:13px;padding-top:12px}.calendar-legend span{display:flex;align-items:center;gap:5px;font-size:7.7px;color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%}.dot-blue{background:var(--blue)}.dot-green{background:var(--green)}.dot-red{background:var(--red)}.dot-orange{background:var(--orange)}.dot-purple{background:var(--purple)}
.day-details{margin-bottom:25px}.small-primary{min-height:37px;border:0;border-radius:12px;background:#e1f4e9;color:var(--green-dark);padding:0 12px;font-weight:800;font-size:9.5px}
.day-event-list{display:grid;gap:10px}.day-event-card{display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;padding:13px;border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(243,248,245,.86));border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.day-event-time{font-size:14px;font-weight:800;color:var(--green-dark)}.day-event-main h3{font-size:11px;margin:0 0 5px}.day-event-main p{margin:0;color:var(--muted);font-size:8.5px}.day-event-card>button{width:32px;height:32px;border:0;border-radius:50%;background:#f0f5f2;font-size:19px}
.birthday-event{border-color:#e9dcfb;background:linear-gradient(135deg,#f7f0ff,#fff)}.birthday-event .day-event-time{color:var(--purple)}

/* STUDENTS */
.students-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:17px}
.search-box{height:47px;border-radius:15px;background:rgba(255,255,255,.82);border:1px solid var(--line);display:flex;align-items:center;padding:0 12px;gap:7px}.search-box span{color:#8b948f}.search-box input{width:100%;border:0;outline:none;background:transparent;font-size:11px}
.students-list{display:grid;gap:11px}
.student-card{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:19px;border:1px solid #e1e9e4;background:linear-gradient(135deg,rgba(255,255,255,.91),rgba(238,247,242,.86));box-shadow:var(--shadow-soft)}
.student-card-avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800;background:linear-gradient(145deg,#2c6250,#0b9d55)}
.student-card-main h3{margin:0 0 4px;font-size:12px}.student-card-main p{margin:0;color:var(--muted);font-size:8.5px}.student-progress{margin-top:8px;height:5px;border-radius:99px;background:#e7eeea;overflow:hidden}.student-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0aa45a,#65cf91)}
.student-card-meta{text-align:right}.student-card-meta strong{display:block;font-size:11px}.student-card-meta span{display:block;font-size:8px;color:var(--muted);margin-top:4px}.student-card-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:7px}.student-card-actions button,.student-card-actions a{width:28px;height:28px;border:0;border-radius:10px;background:#edf5f0;color:#347151;display:grid;place-items:center;text-decoration:none;font-size:12px}

/* STUDENT FORM */
.form-page{max-width:700px}
.subpage-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;padding:4px 0 20px}.subpage-header h1{margin:0;font-size:24px;letter-spacing:-.04em}.header-placeholder{width:42px}
.stepper{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:0 auto 22px;max-width:420px}.step{display:grid;justify-items:center;gap:5px;color:#9aa29e}.step>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e7ece9;font-size:10px;font-weight:800}.step small{font-size:7.5px;font-weight:700}.step.active{color:var(--green)}.step.active>span{background:#dff3e7;color:var(--green-dark)}.stepper>i{height:2px;background:#e3e9e5;border-radius:99px}
.student-form{width:100%}.form-card{border-radius:24px;padding:19px 16px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(241,248,244,.77))}
.form-card-heading{display:flex;align-items:center;gap:11px;border-bottom:1px solid #e8eeea;padding-bottom:14px;margin-bottom:16px}.form-icon{width:40px;height:40px;border-radius:13px;background:#e2f4e9;color:var(--green);display:grid;place-items:center;font-size:17px}.form-card-heading h2{margin:0;font-size:14px}.form-card-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.field-full{grid-column:1/-1}
.toggle-row{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;margin-top:17px;border-radius:17px;background:#eef7f2;padding:12px;cursor:pointer}.toggle-row input{display:none}.toggle-ui{position:relative;width:43px;height:25px;border-radius:99px;background:#c8d2cd;transition:.2s}.toggle-ui::after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 7px rgba(0,0,0,.12);transition:.2s}.toggle-row input:checked+.toggle-ui{background:var(--green)}.toggle-row input:checked+.toggle-ui::after{transform:translateX(18px)}.toggle-row>span:last-child{display:grid;gap:3px}.toggle-row strong{font-size:10px}.toggle-row small{font-size:8px;color:var(--muted);line-height:1.4}.payment-date-field{margin-top:13px}
.weekday-schedule{display:grid;gap:9px}.weekday-row{display:grid;grid-template-columns:1fr 100px;gap:10px}.weekday-toggle{height:50px;border:1px solid #e0e8e3;border-radius:15px;background:#f9fbfa;text-align:left;padding:0 13px;display:flex;align-items:center;gap:11px;color:#6e7772}.weekday-toggle span{width:37px;height:29px;border-radius:10px;background:#edf2ef;display:grid;place-items:center;font-size:8px;font-weight:800}.weekday-toggle small{font-size:9px}.weekday-row.active .weekday-toggle{border-color:#a9dabf;background:#edf8f1;color:#224d38}.weekday-row.active .weekday-toggle span{background:#d7f0e1;color:var(--green-dark)}.weekday-time{height:50px!important}
.weekday-time:disabled{opacity:.45}.schedule-note{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:15px;border-radius:15px;padding:12px;background:#edf4ff;color:#47627f}.schedule-note p{margin:0;font-size:8.5px;line-height:1.5}
.form-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.form-navigation button:only-child{grid-column:1/-1}

/* MORE */
.coming-soon-card{border-radius:24px;padding:30px 20px;text-align:center}.coming-icon{width:62px;height:62px;border-radius:20px;background:#e3f4ea;color:var(--green);display:grid;place-items:center;margin:0 auto 14px;font-size:26px}.coming-soon-card h2{margin:0 0 8px;font-size:17px}.coming-soon-card p{max-width:340px;margin:0 auto;color:var(--muted);font-size:10px;line-height:1.55}
.more-menu{display:grid;gap:10px}.more-menu button,.more-label{width:100%;min-height:70px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(241,247,244,.85));display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:12px;text-align:left;box-shadow:var(--shadow-soft)}.more-menu>button>span,.more-label>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e8f6ed;color:var(--green-dark);font-size:12px;font-weight:800}.more-menu strong,.more-label strong{display:block;font-size:11px}.more-menu small,.more-label small{display:block;color:var(--muted);font-size:8.5px;margin-top:4px}.more-menu i,.more-label i{font-size:21px;font-style:normal;color:#7b8580}

/* SHEETS */
.sheet-backdrop{position:fixed;z-index:100;inset:0;background:rgba(12,22,17,.42);display:flex;align-items:flex-end;justify-content:center;padding:10px}
.sheet{width:min(100%,650px);background:#fff;border-radius:28px 28px 19px 19px;padding:12px 18px calc(18px + var(--safe-bottom));box-shadow:0 -18px 70px rgba(22,38,30,.24)}
.sheet-handle{width:43px;height:5px;border-radius:99px;background:#dfe5e2;margin:2px auto 18px}
.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.profile-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#17382b,#0b9d55);color:#fff;display:grid;place-items:center;font-weight:800}.profile-head h2{margin:0;font-size:17px}.profile-head p{margin:4px 0 0;color:var(--muted);font-size:9px}
.sheet-actions{display:grid;gap:9px;margin-bottom:12px}.sheet-actions button,.sheet-actions label{min-height:48px;border:1px solid var(--line);background:#f8faf9;border-radius:14px;padding:0 13px;display:flex;align-items:center;font-size:10px;font-weight:700}.sheet-actions .danger{color:#bb4141}
.sheet h2{margin:0 0 5px;font-size:20px}.sheet-subtitle{margin:0 0 15px;color:var(--muted);font-size:10px}
.status-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.status-action{min-height:45px;border:0;border-radius:14px;font-size:9.5px;font-weight:800}.success{background:#e2f6e9;color:#0a8c49}.danger-soft{background:#fdeaea;color:#bf4444}.warning-soft{background:#fff0dd;color:#d77a0f}.neutral-soft{background:#eef1ef;color:#66706b}.blue-soft{background:#e8f1ff;color:#2f6fd9;grid-column:1/-1}.replacement-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:1px solid var(--line);padding-top:13px;margin-bottom:10px}.replacement-fields .btn{grid-column:1/-1}

/* TOAST */
.toast{position:fixed;z-index:200;left:50%;bottom:110px;transform:translate(-50%,18px);opacity:0;pointer-events:none;max-width:calc(100% - 36px);background:#17231d;color:#fff;border-radius:13px;padding:11px 14px;font-size:10px;box-shadow:0 13px 30px rgba(0,0,0,.18);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:560px){
  .summary-grid{grid-template-columns:repeat(2,1fr)}.summary-card{min-height:126px}
  .day-hero{grid-template-columns:44px 1fr auto;padding:13px}.hero-icon{width:42px;height:42px}
  .hero-copy strong{font-size:11px}.hero-copy span{font-size:9px}.hero-link{font-size:9px}
  .form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}
}


/* FITCORE ID / PREPARAÇÃO PARA MULTIPERSONAL */
.field-help{display:block;margin-top:0;color:#89928d;font-size:7.7px;line-height:1.4;font-weight:500}
.fitcore-code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-weight:800!important;letter-spacing:.06em;color:#176c43!important;background:#eef8f2!important}
.student-code-line{display:flex;align-items:center;gap:5px;margin-top:5px;color:#56806a!important;font-size:7.7px!important}
.student-code-line b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:7.8px;letter-spacing:.04em}
.student-card-actions button.code-share-button{background:#e9f2ff;color:#356fc4}
.fitcore-code-card{margin:15px 0;border:1px solid #dcebe3;border-radius:19px;padding:18px;background:linear-gradient(145deg,#edf8f2,#fbfdfc);display:grid;gap:6px;text-align:center}
.fitcore-code-card span{font-size:9px;font-weight:700;color:#688075}
.fitcore-code-card strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:25px;letter-spacing:.08em;color:#087c43}
.fitcore-code-card small{font-size:7.8px;color:#8b948f}
.code-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.future-connection-note{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;border-radius:16px;padding:12px;background:#eef4ff;margin-bottom:12px;color:#425d78}
.future-connection-note>span{width:32px;height:32px;border-radius:11px;background:#dce9ff;color:#3670ca;display:grid;place-items:center;font-weight:800}
.future-connection-note p{margin:0;font-size:8.3px;line-height:1.5}.future-connection-note strong{font-size:8.7px}

/* ================================================================
   FITCORE TRAINING ENGINE — V4
================================================================ */
.training-page{max-width:760px}.training-main-header{padding-bottom:18px}
.training-student-picker{display:grid;grid-template-columns:47px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border:1px solid #e1eae5;border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(236,247,241,.88));box-shadow:var(--shadow-soft);margin-bottom:15px}.training-student-avatar{width:45px;height:45px;border-radius:15px;background:linear-gradient(145deg,#17392b,#0b9d55);color:#fff;display:grid;place-items:center;font-weight:800;font-size:10px}.training-student-copy{display:grid;gap:2px;min-width:0}.training-student-copy>span{font-size:7.5px;color:#7d8781;font-weight:700}.training-student-copy select{width:100%;border:0;background:transparent;font-size:12px;font-weight:800;color:#17211c;outline:none;padding:0}.training-student-copy small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-student-code{text-align:right}.training-student-code span{display:block;font-size:7px;color:#89928d}.training-student-code b{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;color:#36805a}
.training-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eaf0ec;border-radius:15px;padding:4px;margin-bottom:17px}.training-tab{height:39px;border:0;border-radius:12px;background:transparent;color:#728078;font-size:10px;font-weight:800}.training-tab.active{background:#fff;color:var(--green-dark);box-shadow:0 5px 15px rgba(26,48,37,.07)}
.training-summary-row,.builder-stats,.library-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:21px}.training-summary-row article,.builder-stats article,.library-overview article{min-height:72px;border:1px solid #e5ece8;border-radius:17px;padding:11px;background:linear-gradient(145deg,rgba(255,255,255,.87),rgba(242,248,245,.83))}.training-summary-row span,.builder-stats span,.library-overview span{display:block;font-size:7.7px;color:var(--muted);font-weight:700}.training-summary-row strong,.builder-stats strong,.library-overview strong{display:block;font-size:20px;color:#15211b;margin-top:6px}.library-overview{grid-template-columns:1fr 1fr}.library-overview article small{display:block;color:var(--muted);font-size:7.5px;margin-top:4px}
.training-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.training-section-head h2{font-size:18px;margin:0;letter-spacing:-.03em}.training-section-head p{margin:4px 0 0;color:var(--muted);font-size:8.5px}.training-program-list,.program-workout-list,.training-library-list{display:grid;gap:10px}
.training-program-card{border:1px solid #e0e9e4;border-radius:20px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,248,243,.84));box-shadow:var(--shadow-soft)}.training-program-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.training-program-head h3{margin:7px 0 4px;font-size:13px}.training-program-head p{margin:0;color:var(--muted);font-size:8.5px}.round-action{width:34px;height:34px;border:0;border-radius:50%;background:#eef5f1;font-size:21px;color:#46534c}.training-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:7px;font-weight:800}.training-status-rascunho{background:#f0f2f1;color:#707974}.training-status-agendado{background:#fff0dd;color:#d97c0c}.training-status-publicado{background:#e3f6e9;color:#0b8b49}.training-status-arquivado{background:#eeeaf3;color:#6b6077}.training-program-meta{display:flex;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid #e7ede9}.training-program-meta span{font-size:8px;color:#66736c}.training-program-meta b{color:#1b2a22}.training-program-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.training-program-foot small{font-size:7.5px;color:#8a938e}.training-program-foot>div{display:flex;gap:6px}.mini-action{height:28px;border:0;border-radius:9px;background:#eef3f0;color:#56625c;padding:0 9px;font-size:7.5px;font-weight:800}.mini-action.primary{background:#e1f4e9;color:var(--green-dark)}
.training-empty{border:1px dashed #cbd9d1;border-radius:21px;padding:28px 18px;text-align:center;background:rgba(241,248,244,.66)}.training-empty>div{width:53px;height:53px;margin:0 auto 12px;border-radius:18px;background:#e4f4ea;color:var(--green);display:grid;place-items:center;font-size:21px}.training-empty h3{margin:0 0 6px;font-size:13px}.training-empty p{max-width:350px;margin:0 auto 15px;color:var(--muted);font-size:9px;line-height:1.55}.training-empty button{height:38px;border:0;border-radius:12px;background:#e0f3e8;color:var(--green-dark);font-size:9px;font-weight:800;padding:0 13px}.training-empty.compact{padding:21px 15px}.training-empty.compact>div{width:42px;height:42px;border-radius:14px}.hero-empty{margin-top:10px}
.training-subheader{display:grid;grid-template-columns:42px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:4px 0 20px;text-align:center}.training-subheader h1{margin:0;font-size:23px;letter-spacing:-.04em}.training-subheader .eyebrow{margin-bottom:4px}.training-preview-button{height:35px;border:0;border-radius:11px;background:#e6f4eb;color:#0c8650;font-size:8px;font-weight:800;padding:0 9px}.training-editor-card{border-radius:24px;padding:18px 16px}.training-editor-intro{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #e6ece8;margin-bottom:15px}.training-editor-intro>span{width:37px;height:37px;border-radius:12px;background:#e0f3e8;color:var(--green-dark);display:grid;place-items:center;font-size:9px;font-weight:800}.training-editor-intro h2{margin:0;font-size:13px}.training-editor-intro p{margin:3px 0 0;color:var(--muted);font-size:8px}
.training-form-grid{display:grid;gap:11px}.training-form-grid.two{grid-template-columns:1fr 1fr}.training-form-grid.four{grid-template-columns:repeat(4,1fr)}.training-form-grid .full{grid-column:1/-1}.training-field{display:grid;gap:6px}.training-field>span,.training-form-grid label>span{font-size:9px;font-weight:700;color:#445049}.training-field input,.training-field select,.training-field textarea,.training-form-grid input,.training-form-grid select{width:100%;border:1px solid #dfe7e2;background:#fbfcfb;border-radius:13px;padding:0 11px;color:#17201b;outline:none;font-size:10px}.training-field input,.training-field select,.training-form-grid input,.training-form-grid select{height:45px}.training-field textarea{padding-top:11px;resize:vertical;min-height:82px}.training-field small,.training-form-grid label small{font-size:7px;color:#8b948f;line-height:1.4}.publication-explainer{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:6px;margin:16px 0;padding:12px;border-radius:16px;background:#f0f6f2}.publication-explainer div{display:grid;text-align:center;gap:3px}.publication-explainer b{font-size:8px}.publication-explainer span{font-size:6.8px;color:var(--muted)}.publication-explainer i{font-style:normal;color:#a3aea8}
.program-hero{border-radius:22px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:22px}.program-hero h2{margin:8px 0 5px;font-size:15px}.program-hero p{margin:0;color:var(--muted);font-size:8px}.program-hero>button{height:34px;border:0;border-radius:11px;background:#e7f3ec;color:#28714c;font-size:8px;font-weight:800;padding:0 10px}.workout-list-card{display:grid;grid-template-columns:45px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid #e2eae5;border-radius:18px;background:linear-gradient(135deg,#fff,#f2f8f5);box-shadow:var(--shadow-soft)}.workout-list-icon{width:43px;height:43px;border-radius:14px;background:#e2f3e8;color:#0c9150;display:grid;place-items:center;font-size:18px}.workout-list-card h3{margin:0;font-size:12px}.workout-list-card p{margin:4px 0;color:var(--muted);font-size:8px}.workout-list-meta{display:flex;gap:7px}.workout-list-meta span{font-size:7px;background:#eef3f0;border-radius:999px;padding:3px 6px;color:#65716a}.workout-list-card>button{width:30px;height:30px;border:0;border-radius:50%;background:#eef4f1;font-size:19px}.training-method-callout,.training-architecture-note,.builder-design-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border-radius:16px;padding:12px;margin-top:17px;background:#eef4ff;color:#465f78}.training-method-callout>span,.training-architecture-note>span,.builder-design-note>span{font-size:6.8px;font-weight:800;letter-spacing:.08em;background:#dfeaff;border-radius:9px;padding:6px 7px}.training-method-callout p,.training-architecture-note p,.builder-design-note p{margin:0;font-size:8px;line-height:1.5}
.builder-header{grid-template-columns:42px 1fr 68px;text-align:left}.builder-header>div{text-align:left}.builder-header>div>span{display:block;color:var(--muted);font-size:8px;margin-top:4px}.builder-stats{margin-bottom:15px}.builder-stats article{min-height:62px}.add-block-panel{border-radius:20px;padding:14px;background:linear-gradient(145deg,#edf7f1,#f9fbfa);border:1px solid #e1e9e4;margin-bottom:16px}.add-block-panel>div:first-child h2{margin:0;font-size:13px}.add-block-panel>div:first-child p{margin:4px 0 11px;color:var(--muted);font-size:8px}.add-block-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.add-block-grid button{min-height:76px;border:1px solid #dce7e1;border-radius:15px;background:rgba(255,255,255,.85);padding:9px;text-align:left;display:flex;flex-direction:column}.add-block-grid button>span{font-size:17px;margin-bottom:auto}.add-block-grid button strong{font-size:9px;margin-top:8px}.add-block-grid button small{font-size:6.6px;color:var(--muted);line-height:1.35;margin-top:3px}.workout-blocks-list{display:grid;gap:11px}.builder-empty{text-align:center;border:1px dashed #c9d6cf;border-radius:20px;padding:25px 16px}.builder-empty-visual{display:flex;align-items:center;justify-content:center;gap:7px}.builder-empty-visual span{width:28px;height:28px;border-radius:9px;background:#e3f3e8;color:#248255;display:grid;place-items:center;font-size:8px;font-weight:800}.builder-empty-visual i{width:24px;height:2px;background:#d5e2db}.builder-empty h3{margin:12px 0 5px;font-size:12px}.builder-empty p{max-width:330px;margin:auto;color:var(--muted);font-size:8.5px;line-height:1.5}
.builder-block{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;border:1px solid #e1e9e4;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(241,247,244,.86));overflow:hidden;box-shadow:var(--shadow-soft)}.builder-block .block-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:#3d7eea}.builder-block-circuit .block-accent{background:#ef8a16}.builder-block-timed .block-accent{background:#8550d3}.block-number{width:27px;height:27px;border-radius:9px;background:#edf4f0;margin:11px 0 0 8px;display:grid;place-items:center;font-size:8px;font-weight:800;color:#4c6256}.block-content{padding:11px 11px 10px 0}.block-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.block-kicker{display:block;font-size:6.5px;font-weight:800;letter-spacing:.1em;color:#789087}.block-headline h3{margin:4px 0 2px;font-size:12px}.block-headline p{margin:0;color:var(--muted);font-size:7.5px}.block-video{height:28px;border:0;border-radius:9px;background:#e6f1ff;color:#326fc6;font-size:7.5px;font-weight:800;padding:0 8px}.prescription-line{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}.prescription-line span{border-radius:10px;background:#f0f4f2;padding:7px 5px;font-size:6.5px;color:#68746e;text-align:center}.prescription-line b{display:block;color:#1b2921;font-size:8px;margin-bottom:2px}.block-note{margin:8px 0 0;padding:8px;border-radius:10px;background:#fff7e9;color:#765b2f;font-size:7.5px;line-height:1.45}.block-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.block-actions>div{display:flex;gap:5px}.block-actions button{height:27px;border:0;border-radius:8px;background:#eef3f0;color:#56645d;padding:0 8px;font-size:7px;font-weight:800}.block-actions .danger-text{color:#ba4c4c;background:#fbeded}
.circuit-badge{border-radius:999px;background:#fff0df;color:#da7b0f;padding:5px 8px;font-size:6.8px;font-weight:800}.circuit-items{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.circuit-items li{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:7px;border-radius:11px;background:#fff9f1}.circuit-step{width:23px;height:23px;border-radius:8px;background:#ffe7c8;color:#c86d09;display:grid;place-items:center;font-size:7px;font-weight:800}.circuit-items strong{display:block;font-size:8.5px}.circuit-items small{display:block;color:#8a755d;font-size:6.8px;margin-top:2px}.circuit-video{width:26px;height:26px;border:0;border-radius:9px;background:#ffe9cc;color:#c86d09}.circuit-rule{display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;margin-top:8px;padding:7px;border-radius:11px;background:#fff3e3;color:#8b6337}.circuit-rule span{width:23px;height:23px;border-radius:8px;background:#ffe4c0;display:grid;place-items:center}.circuit-rule p{margin:0;font-size:6.8px;line-height:1.4}.timed-badge{width:31px;height:31px;border-radius:10px;background:#efe5ff;color:#7845c3;display:grid;place-items:center}.timed-exercises{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.timed-exercises span{border-radius:999px;background:#f1ebfa;color:#67587b;padding:5px 7px;font-size:6.8px}
.training-library-search{height:45px;border:1px solid #dfe7e2;border-radius:14px;background:#fff;display:flex;align-items:center;gap:7px;padding:0 11px;margin-bottom:10px}.training-library-search span{color:#8c9690}.training-library-search input{width:100%;border:0;outline:none;background:transparent;font-size:9.5px}.exercise-category-chips{display:flex;gap:6px;overflow:auto;padding:0 0 10px;scrollbar-width:none}.exercise-category-chips::-webkit-scrollbar{display:none}.exercise-category-chips button{height:29px;white-space:nowrap;border:1px solid #e0e8e3;border-radius:999px;background:#f7faf8;color:#6d7872;font-size:7px;font-weight:700;padding:0 9px}.exercise-category-chips button.active{background:#173d2c;color:#fff;border-color:#173d2c}.library-exercise-card{display:grid;grid-template-columns:41px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e2eae5;border-radius:17px;background:linear-gradient(135deg,#fff,#f4f9f6)}.library-exercise-icon{width:39px;height:39px;border-radius:13px;background:#e3f3e9;color:#0d8650;display:grid;place-items:center;font-size:8px;font-weight:800}.library-exercise-main{min-width:0}.library-exercise-title{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.library-exercise-title strong{display:block;font-size:10px}.library-exercise-title>div>span{display:block;color:#64726b;font-size:7.5px;margin-top:2px}.library-scope{font-size:5.8px!important;border-radius:999px;background:#edf4f0;color:#4f725e;padding:4px 6px;white-space:nowrap}.library-exercise-main>p{margin:5px 0 0;color:var(--muted);font-size:7px}.library-video-status{margin-top:5px;font-size:6.7px;color:#9b8466}.library-video-status.has-video{color:#3670bd}.library-exercise-actions{display:flex;flex-direction:column;gap:4px}.library-exercise-actions button{width:28px;height:28px;border:0;border-radius:9px;background:#edf3f0;color:#54635b;font-size:11px}
.sheet-x{width:34px;height:34px;border:0;border-radius:11px;background:#eff3f1;color:#56615b;font-size:20px}.selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.selector-head h2{margin:0 0 4px}.exercise-selector-sheet{max-height:92vh;overflow:auto}.selector-search{position:sticky;top:0;z-index:2;background:#fff}.exercise-selector-list{display:grid;gap:7px;max-height:45vh;overflow:auto;padding-right:2px}.exercise-select-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #e2e9e5;border-radius:14px;padding:9px;background:#fbfcfb}.exercise-select-card.selected{border-color:#9bd6b7;background:#edf8f1}.exercise-check{width:32px;height:32px;border:0;border-radius:10px;background:#e9f1ed;color:#3b7757;font-weight:800}.exercise-select-card.selected .exercise-check{background:#0b9d55;color:#fff}.exercise-select-main strong{display:block;font-size:9.5px}.exercise-select-main>span{display:block;font-size:7.5px;color:#607068;margin-top:2px}.exercise-select-main small{display:block;font-size:6.6px;color:#8b948f;margin-top:3px}.exercise-select-actions{display:flex;gap:4px}.exercise-select-actions button{width:27px;height:27px;border:0;border-radius:9px;background:#edf3f0;color:#54635b}.selector-empty{text-align:center;padding:20px}.selector-empty strong{display:block;font-size:10px}.selector-empty span{display:block;color:var(--muted);font-size:7.5px;margin-top:5px}.add-inline-button{width:100%;height:38px;border:1px dashed #bcd5c7;border-radius:12px;background:#f5faf7;color:#287450;font-size:8px;font-weight:800;margin-top:9px}.selector-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;padding-top:10px;margin-top:8px}.selector-footer>span{font-size:8px;color:#69766f}.selector-footer .btn{min-height:42px;font-size:9px}.selector-footer .btn:disabled{opacity:.45}
.block-editor-body{display:grid;gap:13px;margin:10px 0 15px}.block-editor-exercise-head{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#f1f7f3}.block-editor-exercise-head strong{display:block;font-size:10px}.block-editor-exercise-head span{display:block;font-size:7px;color:var(--muted);margin-top:2px}.circuit-editor-list{display:grid;gap:8px}.circuit-edit-row{border:1px solid #e3e9e6;border-radius:14px;padding:9px}.circuit-edit-title{display:flex;align-items:center;gap:8px}.circuit-edit-title>span{width:25px;height:25px;border-radius:8px;background:#ffe6c7;color:#cb710a;display:grid;place-items:center;font-size:7px;font-weight:800}.circuit-edit-title strong{display:block;font-size:8.5px}.circuit-edit-title small{display:block;color:var(--muted);font-size:6.5px;margin-top:2px}.circuit-edit-controls{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:6px;margin-top:8px}.circuit-edit-controls input,.circuit-edit-controls select{height:38px;border:1px solid #e1e7e4;border-radius:10px;padding:0 8px;font-size:8px;background:#fff}.circuit-edit-help{display:block;color:#9a836a;font-size:6.3px;margin-top:5px}
.youtube-fields{display:grid;gap:9px}.inline-video-preview,.immersive-video{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#111}.inline-video-preview iframe,.immersive-video iframe{width:100%;height:100%;border:0;display:block}.video-strategy-note{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;border-radius:14px;background:#eef4ff;padding:10px;color:#48627d}.video-strategy-note>span{width:30px;height:30px;border-radius:10px;background:#dbe8ff;display:grid;place-items:center;color:#326dc2}.video-strategy-note p{margin:0;font-size:7.3px;line-height:1.5}.video-player-note{text-align:center;color:var(--muted);font-size:7.5px;line-height:1.4;margin:10px 0 0}.video-player-sheet{max-width:620px}.video-player-backdrop{background:rgba(7,13,10,.72)}
.student-preview-backdrop{background:rgba(9,17,13,.68)}.student-preview-sheet{padding:9px;max-width:430px;background:#eaf0ec}.student-preview-phone{border-radius:23px;background:linear-gradient(180deg,#fafcfb,#f1f6f3);overflow:hidden;min-height:530px;padding-bottom:15px}.student-preview-top{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #e5ebe7}.student-preview-top>span{font-size:7px;font-weight:800;letter-spacing:.12em;color:#587165}.student-preview-top button{width:30px;height:30px;border:0;border-radius:10px;background:#edf2ef;font-size:17px}.student-preview-heading{padding:18px 15px 13px}.student-preview-heading p{margin:0;color:#6d7972;font-size:7px}.student-preview-heading h2{margin:4px 0 3px;font-size:20px}.student-preview-heading>span{font-size:8px;color:#7b8680}.student-preview-content{display:grid;gap:9px;padding:0 12px}.student-preview-exercise{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid #e1e8e4;border-radius:15px;background:#fff;padding:10px}.student-preview-index{width:28px;height:28px;border-radius:9px;background:#e5f4eb;color:#13784a;display:grid;place-items:center;font-size:7px;font-weight:800}.student-preview-exercise strong{display:block;font-size:9px}.student-preview-exercise span{display:block;color:#77817c;font-size:6.8px;margin-top:2px}.student-preview-exercise p{margin:5px 0 0;font-size:7px;color:#405149}.student-preview-exercise button,.student-preview-circuit-list button{width:28px;height:28px;border:0;border-radius:9px;background:#e8f1ff;color:#3770c3}.student-preview-circuit{border-radius:17px;background:#fff5e8;border:1px solid #ffe0bb;overflow:hidden}.student-preview-circuit-head{padding:11px 12px;background:#ffedd7}.student-preview-circuit-head span{display:block;color:#bd6909;font-size:6px;font-weight:800;letter-spacing:.08em}.student-preview-circuit-head strong{display:block;font-size:10px;margin-top:4px}.student-preview-circuit-head small{display:block;color:#886b4d;font-size:6.8px;margin-top:3px}.student-preview-circuit-list{display:grid;gap:1px}.student-preview-circuit-list>div{display:grid;grid-template-columns:25px 1fr auto;gap:7px;align-items:center;padding:8px 10px;background:rgba(255,255,255,.68)}.student-preview-circuit-list>div>span{width:23px;height:23px;border-radius:8px;background:#ffe1bb;color:#bd6707;display:grid;place-items:center;font-size:7px;font-weight:800}.student-preview-circuit-list p{margin:0}.student-preview-circuit-list strong{display:block;font-size:8px}.student-preview-circuit-list small{display:block;color:#7e6f60;font-size:6.5px;margin-top:2px}.student-preview-timed{border-radius:16px;background:#f0e9fb;border:1px solid #e2d3f5;padding:12px}.student-preview-timed>span{display:block;color:#7650a2;font-size:6.8px;font-weight:800}.student-preview-timed strong{display:block;font-size:15px;margin-top:5px}.student-preview-timed p{margin:5px 0 0;color:#665d71;font-size:7px;line-height:1.45}.program-preview-status{padding:12px;border-radius:15px;background:#fff}.program-preview-status p{margin:8px 0 0;color:#647069;font-size:8px}.program-preview-workouts{display:grid;gap:7px}.program-preview-workouts article{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid #e1e8e4;border-radius:14px;background:#fff}.program-preview-workouts article>span{width:29px;height:29px;border-radius:9px;background:#e3f3e9;color:#177f4d;display:grid;place-items:center;font-size:7px;font-weight:800}.program-preview-workouts strong{display:block;font-size:9px}.program-preview-workouts small{display:block;color:#7d8781;font-size:6.7px;margin-top:2px}.program-preview-workouts i{font-style:normal;font-size:18px}.preview-empty{text-align:center;color:var(--muted);font-size:8px;padding:20px}
@media(max-width:560px){.training-form-grid.four{grid-template-columns:repeat(2,1fr)}.training-subheader{grid-template-columns:38px minmax(0,1fr) 66px}.add-block-grid button{padding:8px 7px}.add-block-grid button small{font-size:6px}.prescription-line{grid-template-columns:repeat(2,1fr)}}


/* V4.1 — correção do CTA de primeiro treino */
button.training-empty.clickable-empty{
  width:100%;
  appearance:none;
  color:inherit;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
button.training-empty.clickable-empty:hover{
  border-color:#a9d4bb;
  background:rgba(236,248,241,.9);
}
button.training-empty.clickable-empty:active{
  transform:translateY(1px);
}
button.training-empty.clickable-empty:focus-visible{
  outline:3px solid rgba(11,159,86,.18);
  outline-offset:3px;
}
.empty-primary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin-top:2px;
  padding:0 12px;
  border-radius:11px;
  background:#dff3e7;
  color:#087b43;
  font-size:8px;
  font-weight:800;
}


/* V4.2 — seleção múltipla também para exercícios normais */
.exercise-select-card{
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .12s ease;
}
.exercise-select-card:active{transform:translateY(1px)}
.exercise-select-card.selected{
  box-shadow:inset 0 0 0 1px rgba(11,157,85,.10);
}


/* V4.3 — Combinação / Bi-set / Tri-set */
.builder-stats{grid-template-columns:repeat(4,1fr)}
.add-block-grid{grid-template-columns:repeat(4,1fr)}
.add-block-grid .combination-choice{border-color:#d8e4ff;background:linear-gradient(145deg,#f4f7ff,#fff)}
.builder-block-combination .block-accent{background:#587bd3}
.combination-badge{width:32px;height:32px;border-radius:10px;background:#e8efff;color:#456bc0;display:grid;place-items:center;font-size:14px}
.combination-items{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.combination-items li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:11px;background:#f3f6ff;position:relative}
.combination-items li:not(:last-child)::after{content:"+";position:absolute;left:9px;bottom:-9px;width:18px;height:18px;border-radius:50%;background:#dfe8ff;color:#4265b0;display:grid;place-items:center;font-size:9px;font-weight:800;z-index:1}
.combination-step{width:23px;height:23px;border-radius:8px;background:#dfe8ff;color:#4265b0;display:grid;place-items:center;font-size:7px;font-weight:800}
.combination-item-main strong{display:block;font-size:8.5px}
.combination-item-main small{display:block;color:#69799f;font-size:6.8px;margin-top:2px}
.combination-video{width:26px;height:26px;border:0;border-radius:9px;background:#dfe8ff;color:#4265b0}
.combination-rule{display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;margin-top:9px;padding:8px;border-radius:11px;background:#edf2ff;color:#53678f}
.combination-rule span{width:23px;height:23px;border-radius:8px;background:#dfe8ff;display:grid;place-items:center;font-weight:800}
.combination-rule p{margin:0;font-size:6.8px;line-height:1.45}
.combination-editor-intro{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:11px;border-radius:14px;background:#edf2ff;color:#40577f}
.combination-editor-intro>span{width:38px;height:38px;border-radius:12px;background:#dce6ff;display:grid;place-items:center;font-size:17px}
.combination-editor-intro strong{display:block;font-size:9px}
.combination-editor-intro small{display:block;font-size:7px;margin-top:3px;color:#63759a}
.combination-editor-list{display:grid;gap:9px}
.combination-edit-row{border:1px solid #dfe6f4;border-radius:15px;padding:10px;background:#fafbff}
.combination-edit-title{display:flex;align-items:center;gap:8px}
.combination-edit-title>span{width:27px;height:27px;border-radius:9px;background:#dfe8ff;color:#4265b0;display:grid;place-items:center;font-size:7px;font-weight:800}
.combination-edit-title strong{display:block;font-size:9px}
.combination-edit-title small{display:block;color:#7b8491;font-size:6.5px;margin-top:2px}
.combination-edit-controls{display:grid;grid-template-columns:.8fr .8fr 1fr .9fr;gap:6px;margin-top:9px}
.combination-edit-controls label{display:grid;gap:4px}
.combination-edit-controls label>span{font-size:6.5px;font-weight:700;color:#66748f}
.combination-edit-controls input{height:38px;border:1px solid #dfe5ef;border-radius:10px;padding:0 8px;font-size:8px;background:#fff}
.combination-edit-controls label small{font-size:5.8px;color:#9098a3}
.combination-note-field{margin-top:7px}
.combination-note-field input{height:38px}
.combination-add-button{border-color:#becdf0!important;background:#f5f7ff!important;color:#4565ad!important}
.combination-explainer{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;border-radius:13px;padding:10px;background:#f0f4ff;color:#4c628f}
.combination-explainer>span{font-size:6.3px;font-weight:800;letter-spacing:.08em;background:#dfe8ff;border-radius:8px;padding:6px}
.combination-explainer p{margin:0;font-size:7px;line-height:1.5}

.student-preview-combination{border-radius:17px;background:#f4f6ff;border:1px solid #dfe5f7;overflow:hidden}
.student-preview-combination-head{padding:11px 12px;background:#e8eeff}
.student-preview-combination-head span{display:block;color:#4768b5;font-size:6px;font-weight:800;letter-spacing:.08em}
.student-preview-combination-head strong{display:block;font-size:10px;margin-top:4px}
.student-preview-combination-head small{display:block;color:#687797;font-size:6.8px;margin-top:3px}
.student-preview-combination-list{display:grid;gap:1px}
.student-preview-combination-list>div{display:grid;grid-template-columns:25px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:8px 10px;background:rgba(255,255,255,.72)}
.student-preview-combination-list>div>span{width:23px;height:23px;border-radius:8px;background:#dfe8ff;color:#4265b0;display:grid;place-items:center;font-size:7px;font-weight:800}
.student-preview-combination-list p{margin:0}
.student-preview-combination-list strong{display:block;font-size:8px}
.student-preview-combination-list small{display:block;color:#687797;font-size:6.5px;margin-top:2px}
.student-preview-combination-list em{font-style:normal;font-size:6px;font-weight:800;color:#6b7690;background:#edf1fb;border-radius:999px;padding:4px 6px}
.student-preview-combination-list button{width:28px;height:28px;border:0;border-radius:9px;background:#e1e9ff;color:#4265b0}
.student-preview-combination-rest{display:grid;grid-template-columns:25px 1fr;gap:7px;align-items:center;padding:9px 10px;background:#e8eeff}
.student-preview-combination-rest>span{width:23px;height:23px;border-radius:8px;background:#d7e2ff;color:#4265b0;display:grid;place-items:center}
.student-preview-combination-rest p{margin:0}
.student-preview-combination-rest strong{display:block;font-size:7.5px}
.student-preview-combination-rest small{display:block;font-size:6.5px;color:#667798;margin-top:2px}

@media(max-width:560px){
  .builder-stats{grid-template-columns:repeat(2,1fr)}
  .add-block-grid{grid-template-columns:repeat(2,1fr)}
  .combination-edit-controls{grid-template-columns:repeat(2,1fr)}
}


/* =====================================================================
   FITCORE V5 — AURORA GLASS
   ===================================================================== */
:root{
  color-scheme:dark;
  --bg:#070a12;--bg-2:#0b0f18;
  --surface:rgba(16,22,34,.64);--surface-strong:rgba(20,27,41,.92);--surface-soft:rgba(25,33,49,.56);--surface-hover:rgba(31,41,60,.76);
  --text:#f3f6fb;--muted:#98a3b5;--muted-2:#6f7b90;
  --green:#6ee7b7;--green-dark:#55d4a4;--green-soft:rgba(110,231,183,.13);
  --blue:#7f9cff;--blue-soft:rgba(127,156,255,.13);
  --orange:#ffad73;--orange-soft:rgba(255,173,115,.13);
  --red:#ff7781;--red-soft:rgba(255,119,129,.13);
  --purple:#b692ff;--purple-soft:rgba(182,146,255,.14);
  --cyan:#72dbff;--cyan-soft:rgba(114,219,255,.13);
  --line:rgba(255,255,255,.085);--line-strong:rgba(255,255,255,.14);
  --shadow:0 26px 70px rgba(0,0,0,.38);--shadow-soft:0 14px 38px rgba(0,0,0,.24);
  --glow:0 0 0 1px rgba(255,255,255,.045),0 18px 50px rgba(0,0,0,.30);
  --ease-premium:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.16,1,.3,1);
}
html,body{background:#070a12!important;color:var(--text)!important}
body.fitcore-aurora{overflow-x:hidden}
body.fitcore-aurora::before{content:"";position:fixed;z-index:0;inset:-20%;pointer-events:none;background:radial-gradient(circle at 18% 14%,rgba(54,228,183,.16),transparent 26%),radial-gradient(circle at 82% 18%,rgba(103,124,255,.17),transparent 27%),radial-gradient(circle at 65% 78%,rgba(175,91,255,.13),transparent 28%),radial-gradient(circle at 10% 76%,rgba(36,152,255,.10),transparent 24%);animation:fitcoreAurora 18s ease-in-out infinite alternate;transform:translate3d(0,0,0)}
body.fitcore-aurora::after{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%)}
#app{position:relative;z-index:1}.app-screen,.auth-screen{background:transparent!important;position:relative}.page-view{position:relative}.page-view:not([hidden]) .mobile-page{animation:pageEnter .42s var(--ease-spring) both}.mobile-page{width:min(100%,780px);padding-left:18px;padding-right:18px}.bottom-spacer{height:124px}
*{scrollbar-color:rgba(255,255,255,.16) transparent}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
h1,h2,h3,strong,b{color:var(--text)}.welcome,.page-header h1,.training-main-header h1,.training-subheader h1,.subpage-header h1{letter-spacing:-.048em;text-wrap:balance}.welcome{font-weight:720}.welcome strong{background:linear-gradient(110deg,#7bf0c2 0%,#83d8ff 48%,#a89bff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.today-date,.page-header p:not(.eyebrow),.auth-subtitle,.sheet-subtitle{color:var(--muted)!important}.eyebrow{color:#7ee7bd!important;letter-spacing:.17em;text-shadow:0 0 18px rgba(110,231,183,.22)}.wave{display:inline-block;transform-origin:70% 70%;animation:waveHello 2.8s ease-in-out 1 .4s}
.glass,.auth-card,.day-hero,.calendar-shell,.form-card,.coming-soon-card,.training-editor-card,.program-hero{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),rgba(14,20,31,.62)!important;border:1px solid var(--line)!important;-webkit-backdrop-filter:saturate(135%) blur(24px)!important;backdrop-filter:saturate(135%) blur(24px)!important;box-shadow:var(--glow)!important}.glass{border-color:rgba(255,255,255,.09)!important}
button,.more-label{transition:transform .18s var(--ease-premium),background .22s var(--ease-premium),border-color .22s var(--ease-premium),box-shadow .22s var(--ease-premium),color .22s var(--ease-premium),opacity .18s ease;-webkit-tap-highlight-color:transparent}button:active,.more-label:active{transform:scale(.975)}
@media(hover:hover) and (pointer:fine){.lesson-card:hover,.student-card:hover,.training-program-card:hover,.workout-list-card:hover,.library-exercise-card:hover,.day-event-card:hover{transform:translateY(-2px);border-color:rgba(126,231,189,.19)!important;box-shadow:0 20px 48px rgba(0,0,0,.30)!important}}
.btn{min-height:52px;border-radius:16px;font-weight:780}.btn-primary,.new-student-button{position:relative;overflow:hidden;background:linear-gradient(115deg,#5bdba7 0%,#5abedc 48%,#7f88ff 100%)!important;color:#06100c!important;box-shadow:0 14px 32px rgba(69,214,168,.17),inset 0 1px 0 rgba(255,255,255,.28)!important}.btn-primary::after,.new-student-button::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.23) 48%,transparent 66%);transform:translateX(-120%);transition:transform .65s var(--ease-premium)}@media(hover:hover){.btn-primary:hover::after,.new-student-button:hover::after{transform:translateX(120%)}}.btn-secondary{background:rgba(255,255,255,.065)!important;border:1px solid var(--line)!important;color:#dce4f0!important}.small-primary,.mini-action.primary,.training-preview-button,.program-hero>button{background:rgba(110,231,183,.11)!important;border:1px solid rgba(110,231,183,.13)!important;color:#83ecc4!important}.round-button,.round-action,.lesson-open,.day-event-card>button,.sheet-x{background:rgba(255,255,255,.055)!important;border:1px solid var(--line)!important;color:#cbd5e4!important}
.auth-screen{background:radial-gradient(circle at 16% 8%,rgba(62,223,179,.15),transparent 30%),radial-gradient(circle at 90% 18%,rgba(110,125,255,.16),transparent 30%),radial-gradient(circle at 62% 95%,rgba(174,100,255,.12),transparent 34%),#080b12!important}.auth-orb{filter:blur(12px);opacity:.58;animation:orbFloat 11s ease-in-out infinite alternate}.orb-one{background:rgba(77,229,178,.15)!important}.orb-two{background:rgba(112,121,255,.16)!important}.brand-icon{background:linear-gradient(145deg,#5ee0ab,#669cff 60%,#ad7dff)!important;color:#07110d!important;box-shadow:0 18px 45px rgba(68,213,169,.20)!important}.brand-text span{color:#76e5bb!important}.auth-card{border-radius:31px}.auth-card h1{font-weight:780}.local-note{color:#687488!important}
.field>span,.training-field>span,.training-form-grid label>span{color:#c6d0df!important}.field input,.field select,.field textarea,.training-field input,.training-field select,.training-field textarea,.training-form-grid input,.training-form-grid select,.search-box,.training-library-search,.circuit-edit-controls input,.circuit-edit-controls select,.combination-edit-controls input{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;color:#edf3fb!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}input::placeholder,textarea::placeholder{color:#687488!important}.field input:focus,.field select:focus,.field textarea:focus,.training-field input:focus,.training-field select:focus,.training-field textarea:focus,.training-form-grid input:focus,.training-form-grid select:focus{border-color:rgba(110,231,183,.42)!important;box-shadow:0 0 0 4px rgba(110,231,183,.075)!important;background:rgba(255,255,255,.065)!important}select option{background:#111722;color:#edf3fb}.fitcore-code-input{color:#88edc5!important;background:rgba(110,231,183,.07)!important}.field-help{color:#778399!important}
.topbar{padding-top:8px}.avatar-button,.avatar-mini{background:linear-gradient(#101722,#101722) padding-box,linear-gradient(140deg,#63e3b1,#659cff,#ad7cff) border-box!important;border:1px solid transparent!important;color:#eff7ff!important;box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 24px rgba(97,154,255,.10)!important}.avatar-button i{background:#6ee7b7!important;box-shadow:0 0 0 3px #0d121c,0 0 15px rgba(110,231,183,.6)}
.day-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 3% 0%,rgba(110,231,183,.19),transparent 35%),radial-gradient(circle at 98% 100%,rgba(127,156,255,.16),transparent 38%),rgba(14,20,31,.64)!important}.day-hero::after{content:"";position:absolute;width:150px;height:150px;right:-80px;top:-105px;border-radius:50%;border:1px solid rgba(255,255,255,.06);box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 0 48px rgba(255,255,255,.012);pointer-events:none}.hero-icon{background:linear-gradient(145deg,rgba(110,231,183,.22),rgba(127,156,255,.15))!important;color:#91f0cd!important;border:1px solid rgba(110,231,183,.13)}.hero-copy span{color:var(--muted)!important}.hero-link,.section-link{color:#8eeac9!important}
.lesson-card{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),rgba(15,21,32,.64)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;transition:transform .2s var(--ease-spring),border-color .2s,box-shadow .2s}.lesson-card::before{width:3px;box-shadow:0 0 18px currentColor}.time-box{background:rgba(110,231,183,.075)!important;border:1px solid rgba(110,231,183,.075)}.time-box strong,.day-event-time{color:#80e7bf!important}.service-chip{background:rgba(110,231,183,.10)!important;color:#9ce9cd!important}.lesson-main p{color:var(--muted)!important}.pill-realizada,.success,.training-status-publicado{background:rgba(76,220,143,.13)!important;color:#72e9ae!important}.pill-agendada,.blue-soft{background:rgba(101,151,255,.13)!important;color:#86a9ff!important}.pill-falta,.danger-soft{background:rgba(255,111,124,.13)!important;color:#ff8c94!important}.pill-reposicao,.warning-soft,.training-status-agendado{background:rgba(255,170,102,.13)!important;color:#ffb77e!important}.pill-cancelada,.neutral-soft,.training-status-rascunho{background:rgba(255,255,255,.065)!important;color:#a8b2c0!important}.training-status-arquivado{background:rgba(182,146,255,.11)!important;color:#c6aaff!important}
.summary-card{position:relative;overflow:hidden;min-height:142px;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)}.summary-card::after{content:"";position:absolute;inset:auto -18px -30px auto;width:78px;height:78px;border-radius:50%;background:currentColor;opacity:.055}.summary-green{color:#74e5b3;background:linear-gradient(145deg,rgba(82,217,162,.14),rgba(14,20,31,.72))!important}.summary-blue{color:#83a0ff;background:linear-gradient(145deg,rgba(101,139,255,.15),rgba(14,20,31,.72))!important}.summary-orange{color:#ffaf72;background:linear-gradient(145deg,rgba(255,162,98,.14),rgba(14,20,31,.72))!important}.summary-purple{color:#bc94ff;background:linear-gradient(145deg,rgba(178,121,255,.15),rgba(14,20,31,.72))!important}.summary-green .summary-icon{background:rgba(110,231,183,.12)!important;color:#77e8b9!important}.summary-blue .summary-icon{background:rgba(127,156,255,.12)!important;color:#91aaff!important}.summary-orange .summary-icon{background:rgba(255,173,115,.12)!important;color:#ffb57c!important}.summary-purple .summary-icon{background:rgba(182,146,255,.13)!important;color:#c1a2ff!important}.summary-card span{color:#c3ccda}.summary-card small{color:var(--muted)!important}.summary-card strong{color:var(--text)!important}.birthday-card{border:1px solid rgba(182,146,255,.11)!important;background:linear-gradient(135deg,rgba(182,146,255,.13),rgba(17,22,34,.68))!important;box-shadow:var(--shadow-soft)!important}.birthday-icon{background:rgba(182,146,255,.13)!important;color:#c5a6ff!important}.birthday-card span{color:var(--muted)!important}
.bottom-nav{height:74px;bottom:calc(10px + var(--safe-bottom));background:rgba(12,17,27,.73)!important;border:1px solid rgba(255,255,255,.105)!important;box-shadow:0 18px 55px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.045)!important;-webkit-backdrop-filter:saturate(145%) blur(26px)!important;backdrop-filter:saturate(145%) blur(26px)!important}.nav-item{position:relative;color:#778397!important;font-size:8.5px}.nav-item.active{background:linear-gradient(145deg,rgba(110,231,183,.12),rgba(127,156,255,.11))!important;color:#dff9ee!important;box-shadow:inset 0 0 0 1px rgba(110,231,183,.08),0 8px 22px rgba(0,0,0,.12)}.nav-item.active::before{content:"";position:absolute;top:4px;width:22px;height:2px;border-radius:999px;background:linear-gradient(90deg,#6ee7b7,#7f9cff);box-shadow:0 0 12px rgba(110,231,183,.55)}.nav-icon{width:22px;height:22px;display:grid;place-items:center}.nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-item.active .nav-icon{filter:drop-shadow(0 0 8px rgba(110,231,183,.22))}
.calendar-shell{padding:17px 14px 15px;background:radial-gradient(circle at 50% -20%,rgba(113,140,255,.12),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018)),rgba(12,18,29,.70)!important}.calendar-toolbar strong{font-size:16px;letter-spacing:-.025em}.calendar-toolbar #todayButton{display:inline-flex;align-items:center;gap:5px;color:#79e4ba!important}.calendar-toolbar #todayButton span{width:5px;height:5px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 10px rgba(110,231,183,.85)}.calendar-weekdays span{color:#6f7b90!important;letter-spacing:.05em;padding:8px 0 10px}.calendar-weekdays span:first-child,.calendar-weekdays span:last-child{color:#8e82b0!important}.calendar-grid{gap:5px}.calendar-day{min-height:44px;color:#cdd5e1!important;border:1px solid transparent!important;border-radius:15px;transition:transform .17s var(--ease-spring),background .2s,border-color .2s,box-shadow .2s;animation:calendarCellIn .28s var(--ease-premium) both}.calendar-day.weekend:not(.selected){color:#9d9ab5!important}.calendar-day.outside{color:#4e596b!important;opacity:.65}.calendar-day.has-items:not(.selected){background:rgba(255,255,255,.038)!important;border-color:rgba(255,255,255,.035)!important}.calendar-day.today:not(.selected){box-shadow:inset 0 0 0 1px rgba(110,231,183,.55),0 0 18px rgba(110,231,183,.06)!important}.calendar-day.selected{color:#f9fffd!important;background:linear-gradient(145deg,rgba(94,220,174,.92),rgba(88,133,246,.88))!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 12px 28px rgba(59,148,178,.22),inset 0 1px 0 rgba(255,255,255,.34)!important;transform:translateY(-1px) scale(1.015)}.calendar-day.selected .day-dots i{box-shadow:0 0 0 1px rgba(255,255,255,.28)}.day-dots i{width:4px;height:4px;box-shadow:0 0 8px currentColor}.calendar-legend{border-top-color:var(--line)!important}.calendar-legend span{color:#8995a8!important}.day-event-card{background:rgba(16,22,34,.66)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}.birthday-event{background:linear-gradient(135deg,rgba(182,146,255,.13),rgba(16,22,34,.70))!important;border-color:rgba(182,146,255,.13)!important}
.search-box{background:rgba(255,255,255,.04)!important}.search-box input{color:#edf3fb!important}.student-card{background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.016)),rgba(14,20,31,.67)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}.student-card-avatar,.training-student-avatar,.profile-avatar{background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef)!important;color:#07110d!important;box-shadow:0 10px 24px rgba(77,183,169,.16)}.student-card-main p,.student-card-meta span{color:var(--muted)!important}.student-progress{background:rgba(255,255,255,.06)!important}.student-progress i{background:linear-gradient(90deg,#5bdca9,#6e9cff)!important}.student-card-actions button,.student-card-actions a{background:rgba(255,255,255,.055)!important;color:#9ee7cb!important;border:1px solid rgba(255,255,255,.045)!important}.student-card-actions button.code-share-button{color:#9fb6ff!important}.student-code-line{color:#75a98f!important}
.step{color:#667286!important}.step>span{background:rgba(255,255,255,.055)!important}.step.active{color:#79e4ba!important}.step.active>span{background:linear-gradient(145deg,rgba(110,231,183,.18),rgba(127,156,255,.12))!important;color:#8debc8!important}.stepper>i{background:rgba(255,255,255,.07)!important}.form-card{background:rgba(14,20,31,.68)!important}.form-card-heading{border-bottom-color:var(--line)!important}.form-icon{background:linear-gradient(145deg,rgba(110,231,183,.15),rgba(127,156,255,.11))!important;color:#84e9c3!important}.toggle-row{background:rgba(255,255,255,.035)!important;border:1px solid var(--line)!important}.toggle-ui{background:#384255!important}.toggle-row input:checked+.toggle-ui{background:linear-gradient(90deg,#57dba6,#7199f6)!important}.weekday-toggle{background:rgba(255,255,255,.035)!important;border-color:var(--line)!important;color:#8995a8!important}.weekday-toggle span{background:rgba(255,255,255,.05)!important}.weekday-row.active .weekday-toggle{background:linear-gradient(145deg,rgba(110,231,183,.10),rgba(127,156,255,.07))!important;border-color:rgba(110,231,183,.20)!important;color:#d6eee4!important}.weekday-row.active .weekday-toggle span{background:rgba(110,231,183,.13)!important;color:#81e8c0!important}.schedule-note,.future-connection-note,.training-method-callout,.training-architecture-note,.builder-design-note{background:linear-gradient(145deg,rgba(108,148,255,.11),rgba(176,121,255,.07))!important;color:#aebbd0!important;border:1px solid rgba(127,156,255,.08)}
.more-menu button,.more-label{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),rgba(14,20,31,.67)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;color:var(--text)!important}.more-menu>button>span,.more-label>span{background:linear-gradient(145deg,rgba(110,231,183,.12),rgba(127,156,255,.10))!important;color:#8ce9c7!important}.more-menu small,.more-label small{color:var(--muted)!important}.more-menu i,.more-label i{color:#778399!important}
.sheet-backdrop{background:rgba(2,5,10,.69)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sheet{background:radial-gradient(circle at 50% -20%,rgba(112,140,255,.10),transparent 35%),rgba(15,21,32,.96)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 -26px 80px rgba(0,0,0,.55)!important;color:var(--text)!important;animation:sheetIn .38s var(--ease-spring) both}.sheet-handle{background:rgba(255,255,255,.18)!important}.profile-head p{color:var(--muted)!important}.sheet-actions button,.sheet-actions label{background:rgba(255,255,255,.045)!important;border:1px solid var(--line)!important;color:#dce5f0!important}.fitcore-code-card{border-color:rgba(110,231,183,.12)!important;background:linear-gradient(145deg,rgba(110,231,183,.10),rgba(127,156,255,.06))!important}.fitcore-code-card span,.fitcore-code-card small{color:#8795a7!important}.fitcore-code-card strong{color:#84eac4!important}.future-connection-note>span{background:rgba(127,156,255,.13)!important;color:#9db1ff!important}
.training-student-picker{background:linear-gradient(145deg,rgba(110,231,183,.07),rgba(127,156,255,.05)),rgba(14,20,31,.70)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}.training-student-copy>span,.training-student-code span{color:#6f7b90!important}.training-student-copy select{color:#f0f4fa!important}.training-student-code b{color:#7fe6bf!important}.training-tabs{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.045)}.training-tab{color:#748095!important}.training-tab.active{color:#e9fff7!important;background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.10))!important;box-shadow:inset 0 0 0 1px rgba(110,231,183,.08),0 8px 18px rgba(0,0,0,.10)!important}
.training-summary-row article,.builder-stats article,.library-overview article{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(14,20,31,.68)!important;border:1px solid var(--line)!important}.training-summary-row strong,.builder-stats strong,.library-overview strong{color:#f2f6fb!important}.training-program-card,.workout-list-card,.library-exercise-card{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.014)),rgba(14,20,31,.69)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important;transition:transform .2s var(--ease-spring),border-color .2s,box-shadow .2s}.training-program-meta{border-top-color:var(--line)!important}.training-program-meta span,.training-program-foot small,.workout-list-card p,.library-exercise-main>p{color:var(--muted)!important}.training-program-meta b{color:#dce5f0!important}.mini-action{background:rgba(255,255,255,.05)!important;color:#b7c2d0!important}.workout-list-icon,.library-exercise-icon{background:linear-gradient(145deg,rgba(110,231,183,.12),rgba(127,156,255,.10))!important;color:#8ce7c6!important}.workout-list-meta span{background:rgba(255,255,255,.045)!important;color:#8f9bac!important}.workout-list-card>button{background:rgba(255,255,255,.05)!important;color:#c8d2df!important}.training-empty,.builder-empty{background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.10)!important}.training-empty>div{background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.10))!important;color:#8de8c6!important}.training-empty p,.builder-empty p{color:var(--muted)!important}button.training-empty.clickable-empty:hover{background:rgba(110,231,183,.045)!important;border-color:rgba(110,231,183,.19)!important}.empty-primary-action{background:rgba(110,231,183,.11)!important;color:#89e8c5!important}.training-editor-intro{border-bottom-color:var(--line)!important}.training-editor-intro>span{background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.10))!important;color:#8ce9c7!important}.publication-explainer{background:rgba(255,255,255,.035)!important;border:1px solid var(--line)}.publication-explainer i{color:#657185!important}
.add-block-panel{background:radial-gradient(circle at 0% 0%,rgba(110,231,183,.07),transparent 40%),rgba(14,20,31,.67)!important;border:1px solid var(--line)!important}.add-block-grid button{background:rgba(255,255,255,.037)!important;border:1px solid var(--line)!important;color:#dfe7f2!important;min-height:84px}.add-block-grid button:nth-child(1){background:linear-gradient(145deg,rgba(110,231,183,.09),rgba(255,255,255,.025))!important}.add-block-grid button:nth-child(2){background:linear-gradient(145deg,rgba(127,156,255,.11),rgba(255,255,255,.025))!important}.add-block-grid button:nth-child(3){background:linear-gradient(145deg,rgba(255,173,115,.10),rgba(255,255,255,.025))!important}.add-block-grid button:nth-child(4){background:linear-gradient(145deg,rgba(182,146,255,.10),rgba(255,255,255,.025))!important}.add-block-grid button small{color:#8490a3!important}
.builder-block{background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.014)),rgba(13,19,30,.73)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)!important}.block-number{background:rgba(255,255,255,.055)!important;color:#a8b4c4!important}.block-kicker{color:#8090a7!important}.block-headline p{color:var(--muted)!important}.prescription-line span{background:rgba(255,255,255,.04)!important;color:#8390a3!important}.prescription-line b{color:#e4ebf4!important}.block-note{background:rgba(255,173,115,.07)!important;color:#deb18c!important}.block-actions button{background:rgba(255,255,255,.05)!important;color:#aab6c5!important}.block-actions .danger-text{background:rgba(255,119,129,.08)!important;color:#ff8b94!important}
.builder-block-circuit .block-accent{background:#ff9c61!important;box-shadow:0 0 18px rgba(255,156,97,.30)}.circuit-badge{background:rgba(255,173,115,.10)!important;color:#ffb179!important}.circuit-items li{background:rgba(255,173,115,.055)!important}.circuit-step{background:rgba(255,173,115,.12)!important;color:#ffb47e!important}.circuit-items small{color:#b69a80!important}.circuit-video{background:rgba(255,173,115,.11)!important;color:#ffb179!important}.circuit-rule{background:rgba(255,173,115,.065)!important;color:#c4a182!important}.circuit-rule span{background:rgba(255,173,115,.11)!important}.builder-block-combination .block-accent{background:#7f9cff!important;box-shadow:0 0 18px rgba(127,156,255,.30)}.combination-badge{background:rgba(127,156,255,.12)!important;color:#9db1ff!important}.combination-items li{background:rgba(127,156,255,.055)!important}.combination-items li:not(:last-child)::after{background:#202d4a!important;color:#9db1ff!important}.combination-step{background:rgba(127,156,255,.13)!important;color:#9fb2ff!important}.combination-item-main small{color:#93a1c4!important}.combination-video{background:rgba(127,156,255,.12)!important;color:#a0b2ff!important}.combination-rule{background:rgba(127,156,255,.065)!important;color:#9ba8c5!important}.combination-rule span{background:rgba(127,156,255,.12)!important}.builder-block-timed .block-accent{background:#b692ff!important;box-shadow:0 0 18px rgba(182,146,255,.28)}.timed-badge{background:rgba(182,146,255,.12)!important;color:#c5a6ff!important}.timed-exercises span{background:rgba(182,146,255,.08)!important;color:#bca9d7!important}
.exercise-category-chips button{background:rgba(255,255,255,.035)!important;border:1px solid var(--line)!important;color:#8d99ab!important}.exercise-category-chips button.active{color:#ebfff7!important;background:linear-gradient(120deg,rgba(110,231,183,.16),rgba(127,156,255,.12))!important;border-color:rgba(110,231,183,.16)!important}.exercise-select-card{background:rgba(255,255,255,.033)!important;border:1px solid var(--line)!important}.exercise-select-card.selected{background:linear-gradient(135deg,rgba(110,231,183,.10),rgba(127,156,255,.07))!important;border-color:rgba(110,231,183,.22)!important;box-shadow:inset 0 0 0 1px rgba(110,231,183,.05)!important}.exercise-check{background:rgba(255,255,255,.055)!important;color:#8ce9c6!important}.exercise-select-card.selected .exercise-check{background:linear-gradient(145deg,#5edba9,#6697f2)!important;color:#08110d!important}.exercise-select-main>span,.exercise-select-main small{color:#8692a4!important}.exercise-select-actions button,.library-exercise-actions button{background:rgba(255,255,255,.05)!important;color:#a9b7c7!important}.library-scope{background:rgba(255,255,255,.045)!important;color:#789b89!important}.library-video-status{color:#9f8c79!important}.library-video-status.has-video{color:#89a6ff!important}.add-inline-button{border-color:rgba(110,231,183,.18)!important;background:rgba(110,231,183,.055)!important;color:#8ce9c6!important}.selector-footer{background:linear-gradient(to top,#0f1521 68%,rgba(15,21,33,0))!important;padding-top:18px}
.combination-editor-intro{background:linear-gradient(145deg,rgba(127,156,255,.10),rgba(182,146,255,.05))!important;color:#aab8d8!important}.combination-editor-intro>span{background:rgba(127,156,255,.12)!important}.combination-edit-row{background:rgba(127,156,255,.035)!important;border-color:rgba(127,156,255,.10)!important}.combination-edit-title>span{background:rgba(127,156,255,.13)!important;color:#a0b3ff!important}.combination-edit-title small{color:#7f8aa0!important}.combination-edit-controls label>span{color:#8796b3!important}.combination-explainer{background:rgba(127,156,255,.06)!important;color:#99a9cc!important}.combination-explainer>span{background:rgba(127,156,255,.12)!important}.circuit-edit-row{background:rgba(255,173,115,.035)!important;border-color:rgba(255,173,115,.10)!important}.circuit-edit-title>span{background:rgba(255,173,115,.12)!important;color:#ffb67d!important}.circuit-edit-title small,.circuit-edit-help{color:#a88c75!important}
.inline-video-preview,.immersive-video{background:#05070c!important;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.34)}.video-strategy-note{background:rgba(127,156,255,.07)!important;color:#9caac3!important}.video-strategy-note>span{background:rgba(127,156,255,.12)!important;color:#9fb2ff!important}
.student-preview-sheet{background:#0b1019!important}.student-preview-phone{background:radial-gradient(circle at 50% 0%,rgba(110,231,183,.08),transparent 30%),#0e1420!important;border:1px solid rgba(255,255,255,.08)}.student-preview-top{border-bottom-color:var(--line)!important}.student-preview-top>span{color:#7fdcba!important}.student-preview-top button{background:rgba(255,255,255,.055)!important;color:#dbe4ef!important}.student-preview-heading p,.student-preview-heading>span{color:var(--muted)!important}.student-preview-exercise{background:rgba(255,255,255,.045)!important;border-color:var(--line)!important}.student-preview-index{background:rgba(110,231,183,.11)!important;color:#88e8c4!important}.student-preview-exercise span{color:#8490a3!important}.student-preview-exercise p{color:#b9c4d2!important}.student-preview-exercise button,.student-preview-circuit-list button{background:rgba(127,156,255,.12)!important;color:#a0b3ff!important}.student-preview-circuit{background:rgba(255,173,115,.055)!important;border-color:rgba(255,173,115,.11)!important}.student-preview-circuit-head{background:rgba(255,173,115,.08)!important}.student-preview-circuit-head span{color:#ffb47d!important}.student-preview-circuit-head small{color:#b79b82!important}.student-preview-circuit-list>div{background:rgba(255,255,255,.025)!important}.student-preview-circuit-list>div>span{background:rgba(255,173,115,.12)!important;color:#ffb57d!important}.student-preview-circuit-list small{color:#a8927e!important}.student-preview-timed{background:rgba(182,146,255,.07)!important;border-color:rgba(182,146,255,.11)!important}.student-preview-timed>span{color:#c5a7ff!important}.student-preview-timed p{color:#a99cbb!important}.student-preview-combination{background:rgba(127,156,255,.055)!important;border-color:rgba(127,156,255,.11)!important}.student-preview-combination-head{background:rgba(127,156,255,.08)!important}.student-preview-combination-head span{color:#9fb2ff!important}.student-preview-combination-head small{color:#97a5c4!important}.student-preview-combination-list>div{background:rgba(255,255,255,.025)!important}.student-preview-combination-list>div>span{background:rgba(127,156,255,.12)!important;color:#a1b4ff!important}.student-preview-combination-list small{color:#96a3c1!important}.student-preview-combination-list em{background:rgba(127,156,255,.08)!important;color:#abb7d1!important}.student-preview-combination-rest{background:rgba(127,156,255,.07)!important}.student-preview-combination-rest>span{background:rgba(127,156,255,.12)!important;color:#a1b4ff!important}.student-preview-combination-rest small{color:#96a3c1!important}.program-preview-status,.program-preview-workouts article{background:rgba(255,255,255,.04)!important;border-color:var(--line)!important}.program-preview-workouts article>span{background:rgba(110,231,183,.11)!important;color:#88e8c4!important}.program-preview-workouts small{color:#8490a3!important}
.toast{background:rgba(19,27,39,.94)!important;border:1px solid rgba(255,255,255,.10);color:#eff5fc!important;box-shadow:0 18px 50px rgba(0,0,0,.45)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
@keyframes fitcoreAurora{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}50%{transform:translate3d(1.2%,1.5%,0) scale(1.035)}100%{transform:translate3d(2%,-.7%,0) scale(1.015)}}@keyframes orbFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(18px,-14px,0) scale(1.06)}}@keyframes pageEnter{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sheetIn{from{opacity:0;transform:translateY(36px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes calendarCellIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes waveHello{0%,100%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(12deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(6deg)}}
@media(max-width:560px){.mobile-page{padding-left:14px;padding-right:14px}.bottom-nav{width:calc(100% - 18px)}.calendar-shell{padding-left:10px;padding-right:10px}.calendar-grid{gap:4px}.calendar-day{border-radius:13px;min-height:39px}.summary-card{min-height:130px}}@media(max-width:390px){.calendar-day{font-size:10px}.nav-item{font-size:7.8px}.nav-icon svg{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* =====================================================================
   FITCORE V5.1 — GRAPHITE GLASS
   Mantém o modo escuro, mas substitui o quase-preto por grafite/cinza azulado.
   ===================================================================== */
:root{
  --bg:#171c24;
  --bg-2:#131820;

  --surface:rgba(37,46,58,.72);
  --surface-strong:rgba(42,52,65,.94);
  --surface-soft:rgba(47,58,72,.68);
  --surface-hover:rgba(54,66,82,.80);

  --text:#f5f7fa;
  --muted:#a7b0be;
  --muted-2:#7f8a9b;

  --line:rgba(255,255,255,.095);
  --line-strong:rgba(255,255,255,.16);

  --shadow:0 24px 64px rgba(5,9,15,.28);
  --shadow-soft:0 13px 34px rgba(6,10,17,.19);
  --glow:0 0 0 1px rgba(255,255,255,.045),0 17px 45px rgba(6,10,17,.22);
}

html,body{
  background:#171c24!important;
}

body.fitcore-aurora{
  background:
    linear-gradient(180deg,#1b222c 0%,#171d26 46%,#151a22 100%)!important;
}

body.fitcore-aurora::before{
  inset:-15%;
  opacity:.78;
  background:
    radial-gradient(circle at 18% 10%,rgba(84,211,171,.11),transparent 29%),
    radial-gradient(circle at 82% 16%,rgba(109,139,224,.12),transparent 30%),
    radial-gradient(circle at 72% 74%,rgba(160,123,221,.085),transparent 30%),
    radial-gradient(circle at 12% 82%,rgba(75,155,205,.07),transparent 27%);
  animation-duration:24s;
}

body.fitcore-aurora::after{
  opacity:.10;
}

/* Base glass fica visivelmente grafite, sem afundar no preto */
.glass,
.auth-card,
.day-hero,
.calendar-shell,
.form-card,
.coming-soon-card,
.training-editor-card,
.program-hero{
  background:
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018)),
    rgba(37,46,58,.70)!important;
  border-color:rgba(255,255,255,.095)!important;
  box-shadow:var(--glow)!important;
}

.auth-screen{
  background:
    radial-gradient(circle at 15% 7%,rgba(85,212,171,.10),transparent 31%),
    radial-gradient(circle at 88% 16%,rgba(112,143,226,.11),transparent 32%),
    linear-gradient(160deg,#1b222c,#151a22 66%,#171c24)!important;
}

.auth-card{
  background:rgba(40,50,63,.78)!important;
}

.local-note{color:#8893a3!important}

/* Cards operacionais: mais cinza, menos preto */
.lesson-card,
.student-card,
.training-program-card,
.workout-list-card,
.library-exercise-card,
.day-event-card,
.builder-block{
  background:
    linear-gradient(135deg,rgba(255,255,255,.047),rgba(255,255,255,.014)),
    rgba(39,49,62,.72)!important;
  border-color:rgba(255,255,255,.085)!important;
  box-shadow:var(--shadow-soft)!important;
}

/* Hero um pouco mais luminoso */
.day-hero{
  background:
    radial-gradient(circle at 4% 0%,rgba(110,231,183,.13),transparent 37%),
    radial-gradient(circle at 98% 100%,rgba(127,156,255,.10),transparent 40%),
    rgba(43,53,66,.74)!important;
}

/* KPIs agora têm base de grafite clara + cor muito sutil */
.summary-green{
  background:linear-gradient(145deg,rgba(84,199,157,.115),rgba(43,52,65,.78))!important;
}
.summary-blue{
  background:linear-gradient(145deg,rgba(107,139,221,.115),rgba(43,52,65,.78))!important;
}
.summary-orange{
  background:linear-gradient(145deg,rgba(217,147,98,.11),rgba(43,52,65,.78))!important;
}
.summary-purple{
  background:linear-gradient(145deg,rgba(157,124,213,.11),rgba(43,52,65,.78))!important;
}

/* Bottom navigation mantém profundidade mas claramente grafite */
.bottom-nav{
  background:rgba(34,42,53,.82)!important;
  border-color:rgba(255,255,255,.105)!important;
  box-shadow:
    0 17px 45px rgba(5,9,15,.30),
    inset 0 1px 0 rgba(255,255,255,.055)!important;
}

/* Calendário mais leve */
.calendar-shell{
  background:
    radial-gradient(circle at 50% -20%,rgba(113,140,255,.075),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014)),
    rgba(39,49,62,.76)!important;
}

.calendar-day.has-items:not(.selected){
  background:rgba(255,255,255,.052)!important;
  border-color:rgba(255,255,255,.04)!important;
}

.calendar-day.selected{
  background:linear-gradient(145deg,#5ccca4,#668cda)!important;
  box-shadow:
    0 11px 24px rgba(51,103,134,.20),
    inset 0 1px 0 rgba(255,255,255,.26)!important;
}

/* Forms */
.field input,.field select,.field textarea,
.training-field input,.training-field select,.training-field textarea,
.training-form-grid input,.training-form-grid select,
.search-box,.training-library-search,
.circuit-edit-controls input,.circuit-edit-controls select,
.combination-edit-controls input{
  background:rgba(255,255,255,.060)!important;
  border-color:rgba(255,255,255,.10)!important;
}

.field input:focus,.field select:focus,.field textarea:focus,
.training-field input:focus,.training-field select:focus,.training-field textarea:focus,
.training-form-grid input:focus,.training-form-grid select:focus{
  background:rgba(255,255,255,.082)!important;
}

/* Sheets saem do quase-preto */
.sheet{
  background:
    radial-gradient(circle at 50% -20%,rgba(112,140,255,.065),transparent 35%),
    rgba(35,44,56,.97)!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:0 -25px 70px rgba(5,8,14,.36)!important;
}

.sheet-backdrop{
  background:rgba(10,14,20,.58)!important;
}

/* Treinos */
.training-student-picker{
  background:
    linear-gradient(145deg,rgba(110,231,183,.055),rgba(127,156,255,.038)),
    rgba(40,50,63,.76)!important;
}

.training-summary-row article,
.builder-stats article,
.library-overview article{
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    rgba(43,53,66,.76)!important;
}

.add-block-panel{
  background:
    radial-gradient(circle at 0% 0%,rgba(110,231,183,.055),transparent 42%),
    rgba(41,51,64,.76)!important;
}

.add-block-grid button{
  background:rgba(255,255,255,.052)!important;
}

.training-empty,.builder-empty{
  background:rgba(255,255,255,.040)!important;
}

/* Biblioteca e seleção */
.exercise-select-card{
  background:rgba(255,255,255,.047)!important;
}
.exercise-select-card.selected{
  background:linear-gradient(135deg,rgba(110,231,183,.095),rgba(127,156,255,.07))!important;
}
.exercise-category-chips button{
  background:rgba(255,255,255,.050)!important;
}

.selector-footer{
  background:linear-gradient(to top,#252e3a 70%,rgba(37,46,58,0))!important;
}

/* Preview do aluno mais claro */
.student-preview-sheet{
  background:#1b222c!important;
}
.student-preview-phone{
  background:
    radial-gradient(circle at 50% 0%,rgba(110,231,183,.055),transparent 32%),
    #222a35!important;
}

/* More */
.more-menu button,.more-label{
  background:
    linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.016)),
    rgba(40,50,63,.76)!important;
}

/* Avatar com foto */
.avatar-button,
.avatar-mini,
.profile-avatar{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

.avatar-button.has-user-photo,
.avatar-mini.has-user-photo{
  background-color:#303b49!important;
  background-size:cover!important;
  background-position:center!important;
  border-color:rgba(255,255,255,.16)!important;
}

.avatar-button.has-user-photo{
  box-shadow:
    0 11px 27px rgba(5,9,15,.25),
    0 0 0 1px rgba(255,255,255,.04)!important;
}

.avatar-mini.has-user-photo{
  box-shadow:
    0 10px 24px rgba(5,9,15,.22),
    0 0 0 1px rgba(255,255,255,.04)!important;
}

.profile-head-v51{
  align-items:flex-start;
  gap:15px;
}

.profile-photo-column{
  flex:0 0 auto;
}

.profile-photo-button{
  position:relative;
  width:78px;
  height:78px;
  padding:0;
  border:0;
  border-radius:25px;
  background:transparent;
}

.profile-avatar{
  width:78px!important;
  height:78px!important;
  border-radius:25px!important;
  font-size:17px;
  background:
    linear-gradient(145deg,#53cda2,#648bd5 62%,#9476cf)!important;
  color:#07110d!important;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
}

.profile-avatar.has-user-photo{
  color:transparent!important;
  background-color:#303b49!important;
  background-size:cover!important;
  background-position:center!important;
}

.profile-photo-edit{
  position:absolute;
  right:-5px;
  bottom:-5px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:linear-gradient(145deg,#66deb1,#7395dc);
  color:#0b1411;
  border:3px solid #27313d;
  box-shadow:0 7px 16px rgba(5,9,15,.24);
}

.profile-photo-edit svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.profile-identity{
  min-width:0;
  padding-top:3px;
}

.profile-kicker{
  display:block;
  margin-bottom:5px;
  color:#7ee1bd;
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
}

.profile-head-v51 .profile-identity h2{
  margin:0;
  font-size:19px;
  letter-spacing:-.035em;
}

.profile-head-v51 .profile-identity p{
  margin:4px 0 0;
  font-size:8.5px;
}

.profile-photo-actions{
  display:flex;
  gap:6px;
  margin-top:10px;
}

.profile-photo-actions button{
  min-height:30px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.055);
  color:#dbe4ef;
  font-size:7px;
  font-weight:800;
}

.profile-photo-actions button:first-child{
  color:#92e6c8;
  background:rgba(110,231,183,.075);
  border-color:rgba(110,231,183,.10);
}

.profile-photo-actions button:last-child{
  color:#ff949c;
  background:rgba(255,119,129,.07);
}

.profile-photo-note{
  display:grid;
  grid-template-columns:16px 1fr;
  gap:7px;
  align-items:start;
  margin:-1px 0 15px;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.055);
}

.profile-photo-note>span{
  color:#70dfb5;
  font-size:7px;
  margin-top:2px;
}

.profile-photo-note p{
  margin:0;
  color:#909cad;
  font-size:7px;
  line-height:1.5;
}

/* Um pouco menos neon no Graphite Glass */
.eyebrow{
  text-shadow:none!important;
}

.nav-item.active::before{
  box-shadow:0 0 8px rgba(110,231,183,.30)!important;
}

.avatar-button i{
  box-shadow:0 0 0 3px #28323f,0 0 10px rgba(110,231,183,.38)!important;
}

@media(max-width:560px){
  .profile-photo-button,
  .profile-avatar{
    width:70px!important;
    height:70px!important;
    border-radius:23px!important;
  }
}



/* =====================================================================
   FITCORE V5.2 — BIBLIOTECA SINCRONIZADA / WGER
   ===================================================================== */
.library-overview-v52{grid-template-columns:repeat(4,1fr)}
.library-overview-v52 article:nth-child(2) strong{color:#9fb2ff!important}
.library-overview-v52 article:nth-child(3) strong{color:#c5a6ff!important}
.library-overview-v52 article:nth-child(4) strong{color:#83e9c3!important}

.wger-sync-card{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;
  margin:12px 0 16px;padding:12px;border-radius:18px;
  background:linear-gradient(135deg,rgba(127,156,255,.09),rgba(110,231,183,.055)),rgba(42,52,65,.78);
  border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow-soft)
}
.wger-sync-icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(127,156,255,.17),rgba(110,231,183,.10));color:#a7b8ff
}
.wger-sync-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wger-sync-copy{min-width:0}
.wger-sync-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wger-sync-title strong{font-size:9.5px}
.wger-sync-title span{
  padding:4px 7px;border-radius:999px;background:rgba(127,156,255,.12);
  color:#a8b8ff;font-size:5.8px;font-weight:850;letter-spacing:.08em
}
.wger-sync-copy p{margin:4px 0 0;color:#aab4c3;font-size:7px;line-height:1.4}
.wger-sync-copy small{display:block;margin-top:3px;color:#788598;font-size:6.2px}
.wger-sync-card>button{
  min-height:34px;padding:0 11px;border-radius:11px;border:1px solid rgba(110,231,183,.12);
  background:rgba(110,231,183,.08);color:#91e7c7;font-size:7px;font-weight:800
}
.wger-sync-card>button:disabled{opacity:.55;cursor:wait}
.wger-sync-progress{position:relative;height:3px;margin-top:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.06)}
.wger-sync-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ee7b7,#7f9cff);transition:width .25s ease}

.library-load-more{
  display:block;width:100%;min-height:42px;margin:10px 0 4px;
  border:1px solid rgba(255,255,255,.08);border-radius:13px;
  background:rgba(255,255,255,.045);color:#aeb9c8;font-size:7.5px;font-weight:800
}
.library-load-more[hidden]{display:none!important}
.selector-load-more{margin:8px 0}

.library-exercise-icon.has-image,.exercise-select-thumb{
  position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(110,231,183,.10),rgba(127,156,255,.10))!important
}
.library-exercise-icon.has-image img,.exercise-select-thumb img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2
}
.library-exercise-icon.has-image span,.exercise-select-thumb span{position:relative;z-index:1}
.exercise-select-card{grid-template-columns:auto 42px minmax(0,1fr) auto!important}
.exercise-select-thumb{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  color:#91e7c7;font-size:7px;font-weight:850
}
.library-scope.external{color:#a7b8ff!important;background:rgba(127,156,255,.10)!important}
.library-muscle-line{display:block;margin-top:3px;color:#7e8a9d;font-size:6.2px}
.library-media-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px}
.library-media-meta{color:#778598;font-size:6px}

/* Player multi-fonte */
.video-source-line{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.video-source-line span{
  padding:5px 8px;border-radius:999px;background:rgba(127,156,255,.11);
  color:#a9b9ff;font-size:6px;font-weight:850;letter-spacing:.08em
}
.video-source-line small{color:#8995a7;font-size:6.5px}
.immersive-video iframe,.immersive-video video{
  display:block;width:100%;aspect-ratio:16/9;border:0;background:#111722;object-fit:contain
}
.immersive-video [hidden]{display:none!important}
.video-unsupported{
  min-height:220px;display:grid;place-items:center;position:relative;overflow:hidden;
  padding:18px;text-align:center;background:#1d2530
}
.video-unsupported img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.17;filter:blur(3px)
}
.video-unsupported div{position:relative;z-index:2;max-width:280px}
.video-unsupported strong{display:block;font-size:10px}
.video-unsupported p{margin:6px 0 0;color:#a1adbc;font-size:7px;line-height:1.5}
.video-player-actions{display:flex;margin-top:9px}
.video-player-actions .btn{width:100%;min-height:42px;text-decoration:none;display:grid;place-items:center}
.video-player-note{color:#8995a7!important;line-height:1.5}

@media(max-width:560px){
  .library-overview-v52{grid-template-columns:repeat(2,1fr)}
  .wger-sync-card{grid-template-columns:38px minmax(0,1fr)}
  .wger-sync-icon{width:38px;height:38px}
  .wger-sync-card>button{grid-column:1/-1;width:100%}
  .exercise-select-card{grid-template-columns:auto 36px minmax(0,1fr) auto!important}
  .exercise-select-thumb{width:34px;height:34px;border-radius:10px}
}


/* =====================================================================
   FITCORE V5.3 — BIBLIOTECA PT-BR
   ===================================================================== */
.library-overview-v53{grid-template-columns:repeat(6,1fr)}
.library-overview-v53 article:nth-child(3) strong{color:#83e9c3!important}
.library-overview-v53 article:nth-child(4) strong{color:#ffbd83!important}
.library-overview-v53 article:nth-child(5) strong{color:#c5a6ff!important}
.library-overview-v53 article:nth-child(6) strong{color:#9fb2ff!important}

.library-card-badges{
  display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap
}

.translation-badge{
  display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;
  font-size:5.4px;font-weight:850;letter-spacing:.035em;white-space:nowrap;border:1px solid transparent
}
.translation-badge.source{
  background:rgba(110,231,183,.09);color:#8ce7c5;border-color:rgba(110,231,183,.08)
}
.translation-badge.fitcore{
  background:rgba(127,156,255,.10);color:#a9b9ff;border-color:rgba(127,156,255,.08)
}
.translation-badge.review{
  background:rgba(255,173,115,.10);color:#ffbc86;border-color:rgba(255,173,115,.08)
}
.translation-badge.reviewed{
  background:rgba(182,146,255,.11);color:#c9adff;border-color:rgba(182,146,255,.09)
}

.exercise-translation-panel{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:start;
  padding:11px;border-radius:15px;
  background:linear-gradient(145deg,rgba(127,156,255,.075),rgba(255,173,115,.045)),rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07)
}
.exercise-translation-panel[hidden]{display:none!important}
.exercise-translation-panel>div{min-width:0}
.exercise-translation-kicker{
  display:block;color:#7f8da1;font-size:5.8px;font-weight:850;letter-spacing:.09em
}
.exercise-translation-panel strong{
  display:block;margin-top:4px;font-size:8.5px;line-height:1.35;overflow-wrap:anywhere
}
.exercise-translation-panel>p{
  grid-column:1/-1;margin:0;color:#909cad;font-size:6.6px;line-height:1.5
}
.exercise-translation-panel>p b{color:#d9e1ec}

@media(max-width:720px){
  .library-overview-v53{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .library-overview-v53{grid-template-columns:repeat(2,1fr)}
}


/* =====================================================================
   FITCORE V5.4 — CONSOLIDAÇÃO DE DUPLICADOS
   ===================================================================== */
.translation-badge.merged{
  background:rgba(89,195,220,.10);
  color:#9ddfea;
  border-color:rgba(89,195,220,.09)
}


/* =====================================================================
   FITCORE V5.5 — BIBLIOTECA CANÔNICA
   ===================================================================== */
.library-overview-v55{grid-template-columns:repeat(6,1fr)}
.library-overview-v55 article:nth-child(2) strong{color:#9fb2ff!important}
.library-overview-v55 article:nth-child(3) strong{color:#79dfbd!important}
.library-overview-v55 article:nth-child(4) strong{color:#9aaeff!important}
.library-overview-v55 article:nth-child(5) strong{color:#c5a6ff!important}
.library-overview-v55 article:nth-child(6) strong{color:#ffbd83!important}

.library-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.library-source-grid .wger-sync-card{margin:0}
.exercise-db-card{
  background:linear-gradient(135deg,rgba(182,146,255,.085),rgba(127,156,255,.05)),rgba(42,52,65,.78)!important
}
.wger-sync-icon.media-icon{
  background:linear-gradient(145deg,rgba(182,146,255,.16),rgba(127,156,255,.10))!important;
  color:#c9adff!important
}

.library-filter-section{margin:10px 0 12px}
.library-filter-label{
  display:block;margin-bottom:7px;color:#778599;font-size:6.2px;font-weight:850;letter-spacing:.11em
}
.filter-chip-row{display:flex;gap:6px;flex-wrap:wrap;overflow:visible;padding:0}
.filter-chip{
  min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:#8f9bac;font-size:7px;font-weight:750
}
.filter-chip.active{
  background:linear-gradient(120deg,rgba(110,231,183,.15),rgba(127,156,255,.10));
  color:#e8fff6;border-color:rgba(110,231,183,.17)
}

.muscle-filter-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px
}
.muscle-filter-button{
  min-height:37px;padding:0 7px;border-radius:12px;border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.035);color:#8996a8;font-size:7px;font-weight:780
}
.muscle-filter-button.active{
  color:#ecfff8;
  border-color:rgba(110,231,183,.18);
  background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.09));
  box-shadow:inset 0 0 0 1px rgba(110,231,183,.035)
}
.selector-filter-section{margin-top:7px}
.canonical-card{cursor:pointer}
.canonical-card .library-exercise-title>div:first-child{min-width:0}

.video-player-gif{
  display:block;width:100%;height:100%;object-fit:contain;background:#0d121b
}
.immersive-video>.video-player-gif[hidden]{display:none!important}

.exercise-detail-sheet{max-width:620px;max-height:94vh;overflow:auto}
.exercise-detail-media{
  min-height:260px;border-radius:18px;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),#202935;
  border:1px solid rgba(255,255,255,.07);margin-bottom:9px
}
.exercise-detail-media>img{
  display:block;width:100%;max-height:420px;object-fit:contain;background:#111722
}
.exercise-detail-no-media{
  display:grid;place-items:center;text-align:center;gap:5px;padding:25px;color:#8a96a7
}
.exercise-detail-no-media>span{font-size:28px;color:#708096}
.exercise-detail-no-media strong{font-size:10px}
.exercise-detail-no-media small{font-size:7px;color:#748195}

.exercise-detail-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0
}
.exercise-detail-grid article{
  min-height:66px;padding:10px;border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.065)
}
.exercise-detail-grid span{display:block;color:#778497;font-size:6px;font-weight:780;text-transform:uppercase;letter-spacing:.07em}
.exercise-detail-grid strong{display:block;margin-top:5px;font-size:8.2px;line-height:1.35}

.exercise-detail-section{
  padding:11px 0;border-top:1px solid rgba(255,255,255,.06)
}
.exercise-detail-sources{display:flex;gap:6px;flex-wrap:wrap}
.exercise-detail-sources span{
  padding:6px 9px;border-radius:999px;background:rgba(127,156,255,.09);
  color:#a8b8ff;font-size:6.2px;font-weight:850
}
.exercise-detail-media-status{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px
}
.exercise-detail-media-status span{
  padding:9px;border-radius:12px;background:rgba(255,255,255,.035);
  color:#8491a4;font-size:6.6px
}
.exercise-detail-media-status b{display:block;margin-top:4px;color:#dfe6ef;font-size:7.5px}

.media-review-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.media-review-button{
  min-height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);color:#909cad;font-size:7px;font-weight:800
}
.media-review-button[data-media-status="approved"].active{
  background:rgba(110,231,183,.11);border-color:rgba(110,231,183,.16);color:#8ce9c7
}
.media-review-button[data-media-status="review"].active{
  background:rgba(255,173,115,.10);border-color:rgba(255,173,115,.14);color:#ffbb84
}
.media-review-button[data-media-status="rejected"].active{
  background:rgba(255,119,129,.09);border-color:rgba(255,119,129,.13);color:#ff979f
}

@media(max-width:760px){
  .library-overview-v55{grid-template-columns:repeat(3,1fr)}
  .library-source-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .library-overview-v55{grid-template-columns:repeat(2,1fr)}
  .muscle-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .exercise-detail-media{min-height:210px}
}
@media(max-width:370px){
  .muscle-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =====================================================================
   FITCORE V5.6 — GRUPOS MUSCULARES COM SCROLL HORIZONTAL
   ===================================================================== */
.muscle-scroll-shell{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:6px;
  min-width:0;
}
.muscle-filter-strip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
  min-width:0;
  padding:2px 1px 5px;
  cursor:grab;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
}
.muscle-filter-strip::-webkit-scrollbar{display:none}
.muscle-filter-strip.dragging{cursor:grabbing;scroll-snap-type:none}
.muscle-filter-strip .muscle-filter-button{
  flex:0 0 auto;
  min-width:94px;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  scroll-snap-align:start;
  white-space:nowrap;
}
.muscle-scroll-arrow{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.045);
  color:#9facbd;
  font-size:17px;
  line-height:1;
  box-shadow:0 8px 20px rgba(0,0,0,.11);
}
.muscle-scroll-arrow:hover{
  color:#effff9;
  border-color:rgba(110,231,183,.17);
  background:rgba(110,231,183,.08)
}
.muscle-scroll-shell::before,
.muscle-scroll-shell::after{
  content:"";
  position:absolute;
  top:0;bottom:5px;
  width:20px;
  pointer-events:none;
  z-index:2
}
.muscle-scroll-shell::before{
  left:40px;
  background:linear-gradient(90deg,var(--page-bg,#202a36),transparent)
}
.muscle-scroll-shell::after{
  right:40px;
  background:linear-gradient(270deg,var(--page-bg,#202a36),transparent)
}
.summary-card-button{
  appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.summary-card-button:hover{transform:translateY(-1px)}
.summary-card-button:active{transform:scale(.99)}

/* =====================================================================
   FITCORE V5.6 — FINANCEIRO
   ===================================================================== */
.finance-page{
  --finance-green:#7ce3bd;
  --finance-blue:#9fb2ff;
  --finance-purple:#c5a6ff;
  --finance-orange:#ffbb84;
  --finance-red:#ff919a;
}
.finance-page-header{margin-bottom:8px}

.finance-month-nav{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  gap:8px;
  align-items:center;
  margin:4px 0 12px;
}
.finance-month-nav>button:not(.finance-month-center){
  width:42px;height:42px;border-radius:14px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.04);
  color:#a5b1c0;font-size:20px
}
.finance-month-center{
  min-height:42px;border:0;background:transparent;color:inherit;
  display:grid;place-items:center;text-align:center
}
.finance-month-center strong{font-size:11px;text-transform:capitalize}
.finance-month-center span{margin-top:2px;color:#6f7d90;font-size:5.9px}

.finance-hero-card{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:23px;
  background:
    radial-gradient(circle at 12% 10%,rgba(110,231,183,.17),transparent 38%),
    radial-gradient(circle at 88% 20%,rgba(127,156,255,.12),transparent 35%),
    linear-gradient(145deg,rgba(48,62,74,.93),rgba(37,48,61,.93))!important;
}
.finance-hero-card::after{
  content:"";
  position:absolute;
  width:160px;height:160px;border-radius:50%;
  right:-75px;bottom:-100px;
  background:rgba(110,231,183,.07);
  filter:blur(3px)
}
.finance-hero-copy{position:relative;z-index:1;min-width:0}
.finance-hero-copy>span{
  display:block;color:#8f9dae;font-size:7px;font-weight:750;letter-spacing:.02em
}
.finance-hero-copy>strong{
  display:block;margin-top:6px;
  color:#f2fff9;
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em
}
.finance-hero-copy>small{
  display:block;margin-top:7px;color:#84d9bb;font-size:6.7px
}
.finance-hero-actions{
  position:relative;z-index:1;
  display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end
}
.finance-hero-actions button{
  min-height:38px;padding:0 13px;border-radius:12px;font-size:7px;font-weight:850
}
.finance-primary-action{
  border:1px solid rgba(110,231,183,.18);
  background:linear-gradient(135deg,rgba(110,231,183,.92),rgba(104,207,177,.92));
  color:#102a22;
  box-shadow:0 10px 24px rgba(82,205,166,.14)
}
.finance-primary-action span{font-size:12px;vertical-align:-1px;margin-right:3px}
.finance-secondary-action{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  color:#c1cad6
}

.finance-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0
}
.finance-kpi-grid article{
  min-height:90px;
  padding:12px;
  border-radius:16px;
  background:rgba(42,52,65,.76);
  border:1px solid rgba(255,255,255,.065);
  box-shadow:0 10px 26px rgba(8,12,18,.08)
}
.finance-kpi-grid article>span{
  display:block;color:#7f8da0;font-size:6.5px;font-weight:750
}
.finance-kpi-grid article>strong{
  display:block;margin-top:9px;color:#edf4fb;font-size:14px;letter-spacing:-.025em
}
.finance-kpi-grid article>small{
  display:block;margin-top:5px;color:#68768a;font-size:5.8px
}
.finance-kpi-grid article:nth-child(1)>strong,
.finance-kpi-grid article:nth-child(5)>strong{color:var(--finance-green)}
.finance-kpi-grid article:nth-child(4)>strong{color:var(--finance-blue)}
.finance-kpi-grid article:nth-child(6)>strong{color:var(--finance-purple)}
.finance-kpi-grid article.risk>strong{color:var(--finance-red)}

.finance-dashboard-card{
  padding:14px;
  margin-top:10px;
  border-radius:19px
}
.finance-section-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px
}
.finance-section-head>div:first-child>span{
  display:block;color:#718094;font-size:5.8px;font-weight:900;letter-spacing:.11em
}
.finance-section-head h2{margin:3px 0 0;font-size:12px}
.finance-section-head p{margin:3px 0 0;color:#778497;font-size:6.5px;line-height:1.45}
.finance-section-head.compact{margin-bottom:10px}

.finance-chart-legend{display:flex;gap:9px;align-items:center;margin-top:4px}
.finance-chart-legend span{display:flex;gap:4px;align-items:center;color:#778496;font-size:5.8px}
.finance-chart-legend i{width:8px;height:8px;border-radius:3px;display:block}
.finance-chart-legend i.expected{background:rgba(159,178,255,.2);border:1px solid rgba(159,178,255,.45)}
.finance-chart-legend i.received{background:#79dfbd}

.finance-trend-chart{
  height:180px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:9px;
  align-items:end;
  padding:16px 5px 0;
  border-top:1px solid rgba(255,255,255,.05);
  background:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:100% 25%;
}
.finance-chart-group{
  height:100%;
  min-width:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) 20px;
  gap:5px;
  align-items:end
}
.finance-chart-bars{
  height:100%;
  display:flex;align-items:flex-end;justify-content:center;gap:4px
}
.finance-chart-bars i{
  display:block;width:min(15px,32%);border-radius:6px 6px 2px 2px;
  min-height:0;
  transition:height .4s cubic-bezier(.22,.8,.25,1)
}
.finance-chart-bars i.expected{
  background:rgba(159,178,255,.12);
  border:1px solid rgba(159,178,255,.28)
}
.finance-chart-bars i.received{
  background:linear-gradient(180deg,#83e9c3,#58b99a);
  box-shadow:0 8px 18px rgba(80,194,155,.10)
}
.finance-chart-group>span{
  text-align:center;color:#748195;font-size:6.2px;text-transform:capitalize
}

.finance-insights{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px
}
.finance-insight{
  display:grid;grid-template-columns:7px minmax(0,1fr);gap:9px;
  min-height:74px;padding:11px;border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.055)
}
.finance-insight>i{width:7px;height:7px;margin-top:3px;border-radius:50%;background:#8793a4}
.finance-insight.good>i{background:var(--finance-green);box-shadow:0 0 14px rgba(110,231,183,.25)}
.finance-insight.warn>i{background:var(--finance-orange)}
.finance-insight.risk>i{background:var(--finance-red)}
.finance-insight strong{display:block;font-size:8px}
.finance-insight span{display:block;margin-top:4px;color:#7f8da0;font-size:6.4px;line-height:1.5}

.finance-list{display:grid;gap:7px}
.finance-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:62px;
  padding:8px;
  border-radius:14px;
  background:rgba(255,255,255,.032);
  border:1px solid rgba(255,255,255,.055)
}
.finance-date-box{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  align-content:center;
  background:rgba(127,156,255,.09);
  border:1px solid rgba(127,156,255,.08)
}
.finance-date-box strong{font-size:11px}
.finance-date-box span{color:#8190a4;font-size:5.5px;text-transform:uppercase}
.finance-overdue-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,119,129,.09);color:var(--finance-red);font-size:14px;font-weight:900
}
.finance-row-main{min-width:0}
.finance-row-main strong{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finance-row-main span{display:block;margin-top:4px;color:#7f8ca0;font-size:6.2px;line-height:1.35}
.finance-row-value{text-align:right}
.finance-row-value>strong{display:block;font-size:9px}
.finance-row-value>button,
.finance-row-mini-actions button,
.finance-row-mini-actions a{
  display:inline-grid;place-items:center;
  min-height:28px;margin-top:5px;padding:0 8px;border-radius:9px;
  border:1px solid rgba(110,231,183,.11);
  background:rgba(110,231,183,.075);
  color:#87dfbf;font-size:6px;font-weight:800;text-decoration:none
}
.finance-row-mini-actions{display:flex;gap:4px;justify-content:flex-end}
.finance-row-mini-actions a{
  color:#a5b3c5;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07)
}
.overdue-row{border-color:rgba(255,119,129,.075)}

.finance-empty-mini{
  min-height:72px;padding:14px;border-radius:14px;
  display:grid;align-content:center;gap:4px;
  background:rgba(255,255,255,.025);
  border:1px dashed rgba(255,255,255,.075)
}
.finance-empty-mini strong{font-size:8px}
.finance-empty-mini span{color:#768498;font-size:6.4px}
.finance-empty-mini.good strong{color:#85ddbd}

.finance-two-column{
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}
.finance-methods,.finance-history{display:grid;gap:8px}
.finance-method-row{
  display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:5px 8px;align-items:center
}
.finance-method-row>div{display:flex;justify-content:space-between;gap:8px}
.finance-method-row strong{font-size:7px}
.finance-method-row span{color:#6e7d90;font-size:6px}
.finance-method-row>i{
  grid-column:1/2;height:5px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden
}
.finance-method-row>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ee7b7,#839cff)}
.finance-method-row>em{
  grid-column:2;grid-row:1/3;justify-self:end;font-style:normal;color:#bdc7d4;font-size:7px;font-weight:800
}
.finance-history-row{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)
}
.finance-history-row:last-child{border-bottom:0;padding-bottom:0}
.finance-history-row strong{display:block;font-size:7.5px}
.finance-history-row span{display:block;margin-top:3px;color:#748195;font-size:6px}
.finance-history-row>b{white-space:nowrap;color:#8fe2c4;font-size:8px}

.finance-footnote{
  margin:12px 0 4px;padding:11px 13px;border-radius:14px;
  background:rgba(127,156,255,.04);
  border:1px solid rgba(127,156,255,.055)
}
.finance-footnote span{color:#8597d8;font-size:5.7px;font-weight:900;letter-spacing:.10em}
.finance-footnote p{margin:4px 0 0;color:#727f91;font-size:6.2px;line-height:1.5}

/* Forms */
.finance-sheet{max-width:580px}
.finance-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.finance-form-grid .full{grid-column:1/-1}
.money-input{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;
  min-height:44px;border-radius:13px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.075)
}
.money-input>span{padding-left:12px;color:#718195;font-size:7px;font-weight:800}
.money-input>input{
  width:100%;min-height:42px;border:0!important;background:transparent!important;padding-left:7px!important
}
.finance-form-section{margin:12px 0}
.payment-method-chips{display:flex;gap:6px;flex-wrap:wrap}
.payment-method-chip{
  min-height:33px;padding:0 11px;border-radius:999px;border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);color:#8794a6;font-size:6.6px;font-weight:800
}
.payment-method-chip.active{
  background:rgba(110,231,183,.11);border-color:rgba(110,231,183,.16);color:#95e7ca
}
.finance-notes-field{margin-top:8px}
.finance-notes-field span small{font-weight:500;color:#667589}
.finance-sheet-actions{grid-template-columns:1fr 1.5fr}
.finance-recurring-note{
  display:grid;gap:4px;margin:11px 0;padding:10px 12px;border-radius:13px;
  background:rgba(127,156,255,.055);border:1px solid rgba(127,156,255,.065)
}
.finance-recurring-note strong{font-size:7px;color:#aab9ee}
.finance-recurring-note span{font-size:6.2px;color:#778598;line-height:1.45}

@media(max-width:760px){
  .finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-two-column{grid-template-columns:1fr}
}
@media(max-width:560px){
  .muscle-scroll-shell{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}
  .muscle-scroll-arrow{width:30px;height:30px;font-size:15px}
  .muscle-filter-strip .muscle-filter-button{min-width:82px;min-height:32px;padding:0 11px}
  .muscle-scroll-shell::before{left:34px}
  .muscle-scroll-shell::after{right:34px}

  .finance-hero-card{display:grid;align-items:start}
  .finance-hero-actions{justify-content:flex-start}
  .finance-hero-copy>strong{font-size:25px}
  .finance-kpi-grid article{min-height:84px}
  .finance-insights{grid-template-columns:1fr}
  .finance-trend-chart{height:155px}
  .finance-row{grid-template-columns:38px minmax(0,1fr)}
  .finance-date-box,.finance-overdue-icon{width:38px;height:38px}
  .finance-row-value{
    grid-column:2;
    display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left
  }
  .finance-row-value>button{margin-top:0}
  .finance-row-mini-actions{margin-left:auto}
  .finance-form-grid{grid-template-columns:1fr}
  .finance-form-grid .full{grid-column:auto}
}
@media(max-width:390px){
  .finance-kpi-grid{grid-template-columns:1fr 1fr}
  .finance-kpi-grid article{padding:10px}
  .finance-kpi-grid article>strong{font-size:12px}
}


/* =====================================================================
   FITCORE V5.7 — ALUNOS: ATIVOS / INATIVOS
   ===================================================================== */
.student-status-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:9px 0 12px;
  padding:4px;
  border-radius:15px;
  background:rgba(255,255,255,.032);
  border:1px solid rgba(255,255,255,.055)
}
.student-status-tab{
  min-height:39px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#778598;
  font-size:7.2px;
  font-weight:820
}
.student-status-tab b{
  min-width:21px;
  height:21px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#8795a8;
  font-size:6px
}
.student-status-tab.active{
  color:#e9fff7;
  background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.09));
  border-color:rgba(110,231,183,.10);
  box-shadow:inset 0 0 0 1px rgba(110,231,183,.03),0 8px 18px rgba(0,0,0,.08)
}
.student-status-tab.active b{
  background:rgba(110,231,183,.12);
  color:#8ee5c5
}
.student-card-name-line{display:flex;align-items:center;gap:7px;min-width:0}
.student-card-name-line h3{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.student-list-status{
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:999px;
  font-size:5.2px;
  font-weight:850;
  letter-spacing:.03em
}
.student-list-status.active{background:rgba(110,231,183,.09);color:#83dfbd}
.student-list-status.inactive{background:rgba(143,155,173,.10);color:#939fb0}
.student-card-inactive{
  background:linear-gradient(135deg,rgba(255,255,255,.037),rgba(255,255,255,.012)),rgba(14,20,31,.61)!important;
  border-color:rgba(255,255,255,.055)!important
}
.student-card-inactive .student-card-avatar{filter:saturate(.5);opacity:.72}
.student-card-inactive .student-progress i{filter:saturate(.35);opacity:.65}
.student-status-empty{margin-top:2px}
.student-form.is-saving{pointer-events:none;opacity:.76;transition:opacity .15s ease}
#studentSaveButton:disabled{cursor:wait;opacity:.72}

/* =====================================================================
   FITCORE V5.7 — TREINOS: ESCOLHA DE ALUNO PRIMEIRO
   ===================================================================== */
.training-chooser-header{margin-bottom:10px}
.training-chooser-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-bottom:9px
}
.training-student-search{margin:0!important}
.training-library-shortcut{
  min-height:44px;
  padding:0 13px;
  border-radius:13px;
  border:1px solid rgba(127,156,255,.10);
  background:rgba(127,156,255,.065);
  color:#aab9ee;
  font-size:7px;
  font-weight:830
}
.training-chooser-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:7px 1px 10px
}
.training-chooser-summary>div{display:flex;align-items:baseline;gap:5px}
.training-chooser-summary strong{font-size:12px;color:#8ce3c3}
.training-chooser-summary span,.training-chooser-summary p{color:#748195;font-size:6.2px}
.training-chooser-summary p{margin:0;text-align:right}

.training-student-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}
.training-student-card{
  appearance:none;
  width:100%;
  min-width:0;
  min-height:92px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 26px;
  gap:10px;
  align-items:center;
  padding:12px;
  text-align:left;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(145deg,rgba(110,231,183,.045),rgba(127,156,255,.035)),
    rgba(42,52,65,.73);
  box-shadow:0 12px 28px rgba(5,9,14,.08);
  color:inherit;
  transition:transform .16s ease,border-color .16s ease,background .16s ease
}
.training-student-card:hover{
  transform:translateY(-2px);
  border-color:rgba(110,231,183,.13);
  background:
    linear-gradient(145deg,rgba(110,231,183,.075),rgba(127,156,255,.05)),
    rgba(42,52,65,.82)
}
.training-student-card:active{transform:scale(.992)}
.training-card-avatar{
  width:46px;height:46px;border-radius:15px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef);
  color:#07110d;font-size:8px;font-weight:900;
  box-shadow:0 9px 22px rgba(77,183,169,.14)
}
.training-card-copy{display:grid;gap:4px;min-width:0}
.training-card-top{display:flex;align-items:center;gap:6px;min-width:0}
.training-card-top strong{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:9px
}
.training-card-top i{
  flex:0 0 auto;
  padding:3px 5px;border-radius:999px;
  background:rgba(110,231,183,.08);color:#84dfbd;
  font-size:4.9px;font-style:normal;font-weight:850
}
.training-card-copy>small{
  color:#7e8b9e;font-size:6.2px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.training-card-copy>em{
  color:#647388;font-size:5.7px;font-style:normal
}
.training-card-copy>em b{
  color:#7ddfbd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:5.8px
}
.training-card-arrow{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  justify-self:end;background:rgba(255,255,255,.045);color:#8e9bad;font-size:14px
}
.training-chooser-empty-search{
  grid-column:1/-1;
  min-height:105px;
  display:grid;align-content:center;gap:4px;
  padding:15px;border-radius:17px;
  border:1px dashed rgba(255,255,255,.07);
  background:rgba(255,255,255,.02)
}
.training-chooser-empty-search strong{font-size:8px}
.training-chooser-empty-search span{color:#748195;font-size:6.3px}

.training-workspace-header{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 42px;
  gap:10px;
  align-items:start;
  margin-bottom:12px
}
.training-workspace-header>div{min-width:0}
.training-workspace-header h1{margin:2px 0 0;font-size:23px;letter-spacing:-.045em}
.training-workspace-header p:not(.eyebrow){margin:5px 0 0;color:#8591a3;font-size:7px;line-height:1.45}
.training-selected-student{grid-template-columns:47px minmax(0,1fr) auto!important}
.training-student-copy>strong{
  display:block;
  color:#f0f4fa;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.training-selected-side{
  display:grid;gap:6px;justify-items:end;align-items:center
}
.training-selected-side button{
  min-height:25px;padding:0 8px;border-radius:8px;
  border:1px solid rgba(255,255,255,.065);
  background:rgba(255,255,255,.035);
  color:#8997a9;font-size:5.7px;font-weight:780
}

/* O botão muscular é sempre uma área de clique independente do drag da faixa. */
.muscle-filter-strip .muscle-filter-button{cursor:pointer;user-select:none}
.muscle-filter-strip.dragging{user-select:none}

@media(max-width:650px){
  .training-student-grid{grid-template-columns:1fr}
  .training-chooser-summary p{display:none}
}
@media(max-width:440px){
  .training-chooser-toolbar{grid-template-columns:1fr}
  .training-library-shortcut{min-height:38px}
  .training-workspace-header{grid-template-columns:34px minmax(0,1fr) 38px;gap:8px}
  .training-workspace-header h1{font-size:20px}
  .training-selected-student{grid-template-columns:42px minmax(0,1fr)!important}
  .training-selected-side{grid-column:2;display:flex;justify-content:space-between;width:100%;align-items:center}
}


/* =====================================================================
   FITCORE V5.8 — HORÁRIO BASE DA AGENDA
   ===================================================================== */
.schedule-base-card{
  position:relative;
  overflow:hidden;
  margin:0 0 14px;
  padding:13px;
  border-radius:17px;
  border:1px solid rgba(110,231,183,.105);
  background:
    radial-gradient(circle at 0% 0%,rgba(110,231,183,.09),transparent 36%),
    radial-gradient(circle at 100% 0%,rgba(127,156,255,.07),transparent 34%),
    rgba(255,255,255,.028);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 10px 28px rgba(3,8,14,.055);
}
.schedule-base-card::after{
  content:"";
  position:absolute;
  left:13px;right:13px;top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(110,231,183,.22),rgba(127,156,255,.15),transparent)
}
.schedule-base-main{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:center
}
.schedule-base-icon{
  width:36px;height:36px;
  border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.095));
  border:1px solid rgba(110,231,183,.08);
  color:#85e6c3
}
.schedule-base-icon svg{
  width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.schedule-base-copy{min-width:0}
.schedule-base-copy>span{
  display:block;
  color:#76d7b6;
  font-size:5.6px;
  font-weight:900;
  letter-spacing:.105em
}
.schedule-base-copy>strong{
  display:block;
  margin-top:3px;
  color:#eef4f8;
  font-size:8.4px;
  line-height:1.3
}
.schedule-base-copy>small{
  display:block;
  margin-top:3px;
  color:#7b899c;
  font-size:6.2px;
  line-height:1.45
}
.schedule-base-controls{
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:8px;
  margin-top:11px
}
.schedule-base-time{
  min-height:48px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:0 10px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.065);
  background:rgba(255,255,255,.035)
}
.schedule-base-time>span{
  color:#718094;
  font-size:6px;
  font-weight:800
}
.schedule-base-time>input{
  min-width:0;
  width:100%;
  height:34px!important;
  padding:0 4px!important;
  border:0!important;
  background:transparent!important;
  color:#eaf2f7!important;
  font-size:11px!important;
  font-weight:760!important;
  text-align:right
}
.schedule-apply-button{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 13px;
  border-radius:13px;
  border:1px solid rgba(110,231,183,.13);
  background:linear-gradient(145deg,rgba(110,231,183,.10),rgba(127,156,255,.065));
  color:#95e4c7;
  font-size:6.5px;
  font-weight:830;
  transition:transform .14s ease,border-color .14s ease,opacity .14s ease,background .14s ease
}
.schedule-apply-button svg{
  width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round
}
.schedule-apply-button:not(:disabled):hover{
  border-color:rgba(110,231,183,.23);
  background:linear-gradient(145deg,rgba(110,231,183,.15),rgba(127,156,255,.08));
  transform:translateY(-1px)
}
.schedule-apply-button:not(:disabled):active{transform:scale(.985)}
.schedule-apply-button:disabled{
  opacity:.35;
  cursor:not-allowed;
  filter:saturate(.55)
}
.schedule-base-feedback{
  display:grid;
  grid-template-columns:7px minmax(0,1fr);
  gap:7px;
  align-items:start;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.045)
}
.schedule-base-dot{
  width:6px;height:6px;
  margin-top:3px;
  border-radius:50%;
  background:#566477;
  transition:background .2s ease,box-shadow .2s ease
}
.schedule-base-dot.active{
  background:#73dfba;
  box-shadow:0 0 11px rgba(110,231,183,.28)
}
.schedule-base-feedback p{
  margin:0;
  color:#718094;
  font-size:6.1px;
  line-height:1.45
}
.schedule-base-feedback p b{color:#aab8c8;font-weight:780}
.schedule-base-feedback.success-pulse{
  animation:scheduleFeedbackPulse .5s ease
}
.weekday-row.schedule-just-applied .weekday-toggle,
.weekday-row.schedule-just-applied .weekday-time{
  animation:scheduleApplied .5s ease
}
@keyframes scheduleFeedbackPulse{
  0%{opacity:.55;transform:translateY(1px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes scheduleApplied{
  0%{box-shadow:0 0 0 0 rgba(110,231,183,.18)}
  45%{box-shadow:0 0 0 3px rgba(110,231,183,.08)}
  100%{box-shadow:0 0 0 0 rgba(110,231,183,0)}
}

/* O bloco novo não aumenta a sensação de altura da etapa: compacta levemente a lista. */
.form-step[data-form-step="3"] .weekday-schedule{gap:8px}
.form-step[data-form-step="3"] .weekday-row{
  grid-template-columns:minmax(0,1fr) 112px;
  gap:9px
}
.form-step[data-form-step="3"] .weekday-toggle,
.form-step[data-form-step="3"] .weekday-time{
  height:48px!important
}

@media(max-width:560px){
  .schedule-base-controls{
    grid-template-columns:120px minmax(0,1fr)
  }
  .schedule-base-copy>small{
    max-width:330px
  }
}
@media(max-width:410px){
  .schedule-base-controls{
    grid-template-columns:1fr
  }
  .schedule-base-time{
    grid-template-columns:minmax(0,1fr) 88px
  }
  .schedule-apply-button{min-height:42px}
  .form-step[data-form-step="3"] .weekday-row{
    grid-template-columns:minmax(0,1fr) 96px
  }
}


/* =====================================================================
   FITCORE V5.9 — ATENDIMENTO INDIVIDUAL / CONJUNTO
   ===================================================================== */

/* ---------- formato do atendimento ---------- */
.student-format-selector{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:11px;
  padding:12px 13px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 0 0,rgba(110,231,183,.07),transparent 42%),
    rgba(38,48,61,.64);
  box-shadow:0 12px 30px rgba(5,9,14,.06)
}
.student-format-copy>span{
  display:block;color:#79dcb9;font-size:5.7px;font-weight:900;letter-spacing:.11em
}
.student-format-copy>strong{
  display:block;margin-top:4px;color:#e9eff5;font-size:8.5px
}
.student-format-segment{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:4px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.05)
}
.student-format-option{
  min-width:125px;min-height:45px;
  display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;
  padding:5px 9px;
  text-align:left;
  border:1px solid transparent;border-radius:10px;
  background:transparent;color:#7f8c9d
}
.student-format-option.active{
  background:linear-gradient(145deg,rgba(110,231,183,.13),rgba(127,156,255,.085));
  border-color:rgba(110,231,183,.09);
  color:#edf8f4
}
.format-option-icon{
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:rgba(255,255,255,.045);font-size:8px;font-weight:900
}
.student-format-option.active .format-option-icon{
  background:rgba(110,231,183,.13);color:#8be3c3
}
.student-format-option b,.student-format-option small{display:block}
.student-format-option b{font-size:7px}
.student-format-option small{margin-top:2px;color:#6e7c8f;font-size:5.5px}
.student-format-option.active small{color:#7f9f95}

/* ---------- duplicate guard ---------- */
.duplicate-student-alert{
  display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;
  margin-bottom:12px;padding:11px;border-radius:14px;
  border:1px solid rgba(255,173,115,.12);
  background:linear-gradient(145deg,rgba(255,173,115,.08),rgba(255,255,255,.02))
}
.duplicate-student-alert[hidden]{display:none!important}
.duplicate-alert-icon{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  background:rgba(255,173,115,.10);color:#ffbb84;font-weight:900
}
.duplicate-student-alert span{display:block;color:#d99968;font-size:5.4px;font-weight:900;letter-spacing:.09em}
.duplicate-student-alert strong{display:block;margin-top:3px;font-size:8px}
.duplicate-student-alert p{margin:3px 0 7px;color:#8491a2;font-size:6.2px;line-height:1.45}
.duplicate-student-alert button{
  min-height:28px;padding:0 9px;border-radius:8px;
  border:1px solid rgba(255,173,115,.12);
  background:rgba(255,173,115,.075);color:#ffbc88;font-size:5.8px;font-weight:820
}

/* ---------- joint builder ---------- */
.joint-builder-card{position:relative;overflow:hidden}
.joint-builder-card::after{
  content:"";position:absolute;top:0;right:-50px;width:170px;height:100px;
  background:radial-gradient(circle,rgba(127,156,255,.065),transparent 70%);
  pointer-events:none
}
.joint-count-row{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-bottom:11px;padding:10px 11px;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055)
}
.joint-count-row>div:first-child>span{
  display:block;color:#718094;font-size:5.5px;font-weight:900;letter-spacing:.09em
}
.joint-count-row>div:first-child>strong{
  display:block;margin-top:3px;color:#aeb8c5;font-size:6.5px;font-weight:680
}
.joint-count-segment{
  display:flex;gap:4px;padding:3px;border-radius:11px;background:rgba(255,255,255,.035)
}
.joint-count-option{
  width:38px;height:32px;border-radius:9px;border:1px solid transparent;
  background:transparent;color:#7c8a9d;font-size:8px;font-weight:850
}
.joint-count-option.active{
  background:rgba(110,231,183,.11);border-color:rgba(110,231,183,.11);color:#91e5c7
}
.joint-participant-cards{display:grid;gap:7px}
.joint-participant-card{
  width:100%;min-height:64px;
  display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:9px;align-items:center;
  padding:9px 10px;text-align:left;
  border-radius:14px;border:1px dashed rgba(255,255,255,.085);
  background:rgba(255,255,255,.022);color:inherit
}
.joint-participant-card.filled{
  border-style:solid;
  border-color:rgba(110,231,183,.09);
  background:linear-gradient(145deg,rgba(110,231,183,.055),rgba(127,156,255,.035)),rgba(255,255,255,.02)
}
.joint-participant-number{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  background:rgba(255,255,255,.045);color:#8190a3;font-size:7px;font-weight:900
}
.joint-participant-card.filled .joint-participant-number{
  background:rgba(110,231,183,.10);color:#89e0c1
}
.joint-participant-copy{min-width:0}
.joint-participant-copy strong{
  display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.joint-participant-copy small{
  display:block;margin-top:4px;color:#748195;font-size:5.9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.joint-participant-state{
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  justify-self:end;background:rgba(255,255,255,.04);color:#7d8a9d;font-size:10px
}
.joint-participant-card.filled .joint-participant-state{
  background:rgba(110,231,183,.08);color:#86dfbf
}
.joint-builder-note{
  display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;
  margin-top:10px;padding:9px 10px;border-radius:12px;
  background:rgba(127,156,255,.045);border:1px solid rgba(127,156,255,.055)
}
.joint-builder-note>span{
  width:22px;height:22px;border-radius:8px;display:grid;place-items:center;
  background:rgba(127,156,255,.08);color:#a4b3ef;font-size:6px;font-weight:900
}
.joint-builder-note p{margin:0;color:#748195;font-size:5.9px;line-height:1.5}

/* ---------- participant sheet ---------- */
.joint-participant-sheet{max-width:610px;max-height:94vh;overflow:auto}
.joint-participant-mode{
  display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin-bottom:10px;
  border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)
}
.joint-participant-mode-button{
  min-height:36px;border:1px solid transparent;border-radius:9px;
  background:transparent;color:#778598;font-size:6.5px;font-weight:820
}
.joint-participant-mode-button.active{
  color:#eaf8f3;background:rgba(110,231,183,.09);border-color:rgba(110,231,183,.08)
}
.joint-existing-search{margin-bottom:8px!important}
.joint-existing-list{display:grid;gap:6px;max-height:390px;overflow:auto;padding-right:2px}
.joint-existing-row{
  width:100%;min-height:55px;
  display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;
  padding:8px;text-align:left;border-radius:13px;
  border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.027);color:inherit
}
.joint-existing-row:not(.disabled):hover{border-color:rgba(110,231,183,.12);background:rgba(110,231,183,.045)}
.joint-existing-row.disabled{opacity:.45}
.joint-existing-avatar{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef);
  color:#07110d;font-size:6.8px;font-weight:900
}
.joint-existing-copy{min-width:0}
.joint-existing-copy strong{display:block;font-size:7.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.joint-existing-copy small{display:block;margin-top:3px;color:#718094;font-size:5.6px}
.joint-existing-action{color:#7cddbd;font-size:5.6px;font-weight:820;white-space:nowrap}
.joint-existing-empty{
  min-height:90px;display:grid;align-content:center;gap:4px;padding:12px;
  border:1px dashed rgba(255,255,255,.07);border-radius:13px
}
.joint-existing-empty strong{font-size:7px}
.joint-existing-empty span{color:#748195;font-size:5.8px}
.joint-new-form{margin-top:4px}
.joint-duplicate-suggestion{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:10px;padding:10px;border-radius:13px;
  background:rgba(255,173,115,.07);border:1px solid rgba(255,173,115,.10)
}
.joint-duplicate-suggestion[hidden]{display:none!important}
.joint-duplicate-suggestion span{display:block;color:#d79a6b;font-size:5.2px;font-weight:900;letter-spacing:.08em}
.joint-duplicate-suggestion strong{display:block;margin-top:2px;font-size:7px}
.joint-duplicate-suggestion p{margin:3px 0 0;color:#7f8c9e;font-size:5.7px;line-height:1.4}
.joint-duplicate-suggestion button{
  flex:0 0 auto;min-height:31px;padding:0 9px;border-radius:9px;
  border:1px solid rgba(255,173,115,.12);background:rgba(255,173,115,.08);
  color:#ffba84;font-size:5.6px;font-weight:830
}

/* ---------- schedule conflict ---------- */
.schedule-conflict-panel{
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;
  margin-top:10px;padding:10px;border-radius:13px;
  background:rgba(255,111,124,.065);border:1px solid rgba(255,111,124,.10)
}
.schedule-conflict-panel[hidden]{display:none!important}
.schedule-conflict-icon{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:rgba(255,111,124,.09);color:#ff939b;font-weight:900
}
.schedule-conflict-panel strong{display:block;color:#ffadb3;font-size:7px}
.schedule-conflict-panel p{margin:3px 0 0;color:#8e98a8;font-size:6px;line-height:1.45}

/* ---------- home/calendar: same card size for joint attendance ---------- */
.lesson-card.status-parcial::before{background:#a98bf3}
.pill-parcial{
  background:rgba(182,146,255,.12)!important;
  color:#cbb0ff!important
}
.lesson-card-joint{
  /* deliberate: no extra padding, rows or min-height. Same geometry as individual card. */
}
.student-avatar-joint{
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important
}
.joint-mini-avatars{
  width:39px;height:39px;position:relative;display:block
}
.joint-mini-avatars i{
  position:absolute;top:5px;
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  border:2px solid #2c3744;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef);
  color:#07110d;font-size:6px;font-style:normal;font-weight:900
}
.joint-mini-avatars i:nth-child(1){left:0}
.joint-mini-avatars i:nth-child(2){right:0;background:linear-gradient(145deg,#64d8c4,#7689ee)}
.joint-mini-avatars i:nth-child(3){left:10px;top:16px;width:22px;height:22px;font-size:5px;background:linear-gradient(145deg,#8cd7aa,#8c7ee8)}
.lesson-card-joint .lesson-main h3,
.day-event-joint .day-event-main h3{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

/* ---------- group attendance sheet ---------- */
.group-attendance-panel{
  margin:10px 0 8px;padding:10px;border-radius:15px;
  background:linear-gradient(145deg,rgba(110,231,183,.05),rgba(127,156,255,.035));
  border:1px solid rgba(255,255,255,.06)
}
.group-attendance-panel[hidden]{display:none!important}
.group-attendance-head>span{
  display:block;color:#79dab9;font-size:5.4px;font-weight:900;letter-spacing:.09em
}
.group-attendance-head>p{margin:3px 0 9px;color:#758397;font-size:5.8px;line-height:1.4}
.group-attendance-list{display:grid;gap:6px}
.group-attendance-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;
  padding:8px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.045)
}
.group-attendance-person{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;min-width:0}
.group-attendance-person>span{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee);color:#07110d;font-size:6px;font-weight:900
}
.group-attendance-person strong{display:block;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-attendance-person small{display:block;margin-top:2px;color:#69778b;font-size:5.2px}
.group-attendance-actions{display:flex;gap:4px}
.group-attendance-actions button{
  width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.035);color:#718094;font-size:8px;font-weight:900
}
.group-attendance-actions button.active.success{background:rgba(76,220,143,.12);border-color:rgba(76,220,143,.12);color:#78e5ad}
.group-attendance-actions button.active.danger{background:rgba(255,111,124,.11);border-color:rgba(255,111,124,.12);color:#ff9099}
.group-attendance-actions button.active.pending{background:rgba(101,151,255,.11);border-color:rgba(101,151,255,.12);color:#90adff}

/* ---------- training chooser joint card ---------- */
.training-card-avatar-joint{
  position:relative;overflow:visible!important;background:transparent!important;box-shadow:none!important
}
.training-card-avatar-joint i{
  position:absolute;top:8px;
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  border:2px solid #2a3542;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee);
  color:#07110d;font-size:6px;font-style:normal;font-weight:900
}
.training-card-avatar-joint i:nth-child(1){left:0}
.training-card-avatar-joint i:nth-child(2){right:0;background:linear-gradient(145deg,#67d9c3,#7f85ea)}
.training-card-avatar-joint i:nth-child(3){left:12px;top:20px;width:24px;height:24px;font-size:5px;background:linear-gradient(145deg,#83d8ae,#947dec)}
.training-joint-card .training-card-top i{
  background:rgba(182,146,255,.10);color:#c8adff
}
.training-group-picker-sheet{max-width:520px}
.training-group-picker-list{display:grid;gap:7px}
.training-group-person-button{
  width:100%;min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;
  gap:9px;align-items:center;padding:9px;text-align:left;
  border:1px solid rgba(255,255,255,.06);border-radius:13px;
  background:rgba(255,255,255,.03);color:inherit
}
.training-group-person-button>span{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef);color:#07110d;font-size:6.5px;font-weight:900
}
.training-group-person-button strong{display:block;font-size:7.5px}
.training-group-person-button small{display:block;margin-top:3px;color:#738195;font-size:5.7px}
.training-group-person-button>i{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.04);color:#8c99aa;font-style:normal;font-size:12px
}

/* keep group lesson cards visually identical in height even at desktop screenshot widths */
@media(min-width:700px){
  .lesson-card,
  .lesson-card-joint{min-height:86px}
}

@media(max-width:620px){
  .student-format-selector{grid-template-columns:1fr}
  .student-format-segment{width:100%}
  .student-format-option{min-width:0}
}
@media(max-width:440px){
  .student-format-option{grid-template-columns:25px minmax(0,1fr);padding:5px 6px}
  .format-option-icon{width:25px;height:25px}
  .joint-count-row{align-items:flex-start}
  .joint-participant-card{grid-template-columns:30px minmax(0,1fr) 26px}
  .joint-participant-number{width:30px;height:30px}
  .joint-existing-row{grid-template-columns:34px minmax(0,1fr)}
  .joint-existing-action{grid-column:2}
  .joint-duplicate-suggestion{display:grid}
  .group-attendance-row{grid-template-columns:1fr}
  .group-attendance-actions{justify-content:flex-end}
}

/* =====================================================================
   FITCORE V6.0 — PACKAGE CYCLES / COMMUNICATION / BILLING
   ===================================================================== */
.student-package-progress-button{
  appearance:none;border:0;background:transparent;color:inherit;text-align:right;padding:0;cursor:pointer;
  min-width:76px;display:grid;justify-items:end;gap:2px
}
.student-package-progress-button strong{display:block;font-size:10px;color:#f0f4f8;line-height:1}
.student-package-progress-button span{display:block;color:#7d8999;font-size:5.6px;white-space:nowrap}
.student-package-progress-button:hover strong{color:#8ee3c4}
.student-package-progress-button.complete strong{color:#8ee3c4}
.student-package-progress-button.complete span{color:#72b89f}
.student-card-actions button{cursor:pointer}

.package-hub-sheet,.renew-package-sheet,.communication-sheet,.billing-settings-sheet{max-width:620px;max-height:94vh;overflow:auto}
.package-progress-card{
  padding:15px;border-radius:19px;
  background:linear-gradient(145deg,rgba(110,231,183,.065),rgba(127,156,255,.045)),rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07)
}
.package-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.package-progress-head span{display:block;color:#72d9b7;font-size:5.4px;font-weight:900;letter-spacing:.1em}
.package-progress-head strong{display:block;margin-top:4px;font-size:15px;letter-spacing:-.03em}
.package-progress-head small{display:block;margin-top:4px;color:#8390a1;font-size:6.2px}
.package-progress-head>b{font-size:15px;color:#a8b7ff}
.package-progress-track{height:7px;margin:12px 0;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}
.package-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#65ddb5,#8298ff);transition:width .35s ease}
.package-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.package-meta-grid>div{padding:9px;border-radius:12px;background:rgba(255,255,255,.032);border:1px solid rgba(255,255,255,.045)}
.package-meta-grid span{display:block;color:#718094;font-size:5.4px}
.package-meta-grid strong{display:block;margin-top:4px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.package-payment-paid{color:#7fe1bd!important}.package-payment-partial{color:#ffbd83!important}.package-payment-pending{color:#ff9aa3!important}
.package-next-card{margin-top:9px;padding:11px 12px;border-radius:14px;background:rgba(127,156,255,.055);border:1px solid rgba(127,156,255,.075)}
.package-next-card span{display:block;color:#8ea2ec;font-size:5.3px;font-weight:900;letter-spacing:.09em}
.package-next-card strong{display:block;margin-top:3px;font-size:8px}.package-next-card small{display:block;margin-top:3px;color:#778497;font-size:5.8px}
.package-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.package-action-grid>button{
  min-height:66px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;text-align:left;
  padding:9px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.028);color:inherit
}
.package-action-grid>button>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(110,231,183,.08);color:#83dfbd;font-size:7px;font-weight:900}
.package-action-grid strong{display:block;font-size:7.3px}.package-action-grid small{display:block;margin-top:3px;color:#718094;font-size:5.6px;line-height:1.35}
.package-action-grid>button:hover:not(:disabled){border-color:rgba(110,231,183,.12);background:rgba(110,231,183,.045)}
.package-action-grid>button.disabled,.package-action-grid>button:disabled{opacity:.42;cursor:not-allowed}
.package-history-section{margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.055)}
.package-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:8px}
.package-section-head span{display:block;color:#728095;font-size:5.3px;font-weight:900;letter-spacing:.09em}.package-section-head strong{display:block;margin-top:2px;font-size:8px}.package-section-head small{color:#667488;font-size:5.5px}
.package-history-list{display:grid;gap:6px}
.package-history-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.026);border:1px solid rgba(255,255,255,.045)}
.package-history-dot{width:7px;height:7px;border-radius:50%;background:#7f8ca0}.package-history-item.active .package-history-dot{background:#6ee7b7}.package-history-item.queued .package-history-dot{background:#8ca4ff}.package-history-item.completed .package-history-dot{background:#68788e}
.package-history-item strong{display:block;font-size:6.8px}.package-history-item small{display:block;margin-top:2px;color:#6f7d90;font-size:5.4px}.package-history-item>b{font-size:6.7px;color:#aab5c3}
.package-history-empty,.package-hub-empty{padding:18px;border-radius:15px;border:1px dashed rgba(255,255,255,.07);color:#768398;font-size:6px;text-align:center}
.package-hub-empty{display:grid;place-items:center;gap:5px}.package-hub-empty>span{font-size:18px;color:#72839a}.package-hub-empty>strong{font-size:8px;color:#dbe2ea}.package-hub-empty p{margin:0;max-width:320px;line-height:1.5}

.renew-suggestion-card,.renew-schedule-summary,.billing-identity-card{
  padding:11px 12px;margin-bottom:10px;border-radius:14px;background:linear-gradient(145deg,rgba(110,231,183,.055),rgba(127,156,255,.035));border:1px solid rgba(255,255,255,.06)
}
.renew-suggestion-card span,.renew-schedule-summary span,.billing-identity-card span{display:block;color:#72d8b6;font-size:5.3px;font-weight:900;letter-spacing:.09em}
.renew-suggestion-card strong,.renew-schedule-summary strong,.billing-identity-card strong{display:block;margin-top:3px;font-size:7.4px}.renew-suggestion-card small,.renew-schedule-summary small,.billing-identity-card small{display:block;margin-top:3px;color:#718094;font-size:5.6px;line-height:1.4}
.payment-toggle-card{display:grid;grid-template-columns:auto minmax(0,1fr) 34px;gap:9px;align-items:center;margin:11px 0;padding:10px 11px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.055);cursor:pointer}
.payment-toggle-card>input{position:absolute;opacity:0;pointer-events:none}.payment-toggle-card strong{display:block;font-size:6.8px}.payment-toggle-card small{display:block;margin-top:3px;color:#728094;font-size:5.6px}.payment-toggle-card>i{width:34px;height:20px;border-radius:999px;background:#3b4655;position:relative;transition:.2s}.payment-toggle-card>i::after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#8996a7;transition:.2s}.payment-toggle-card:has(input:checked)>i{background:rgba(110,231,183,.28)}.payment-toggle-card:has(input:checked)>i::after{left:17px;background:#7de1bd}

.communication-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);margin-bottom:9px}
.communication-tab{min-height:35px;border:1px solid transparent;border-radius:9px;background:transparent;color:#788698;font-size:6.3px;font-weight:820}.communication-tab.active{background:rgba(110,231,183,.09);border-color:rgba(110,231,183,.08);color:#e8f7f1}
.communication-warning{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:8px;padding:9px;border-radius:12px;background:rgba(255,173,115,.07);border:1px solid rgba(255,173,115,.09)}.communication-warning>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(255,173,115,.08);color:#ffb77f;font-weight:900}.communication-warning p{margin:0;color:#8e98a7;font-size:5.7px;line-height:1.4}
.communication-message-preview{width:100%;min-height:390px;resize:vertical;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:#202a36;color:#dfe6ed;font:500 7px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;outline:none}.communication-message-preview:focus{border-color:rgba(110,231,183,.16);box-shadow:0 0 0 3px rgba(110,231,183,.035)}
.communication-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:7px;margin-top:8px}.communication-art-button{width:100%;margin-top:8px;min-height:58px;display:grid;grid-template-columns:32px minmax(0,1fr) 22px;gap:8px;align-items:center;padding:9px;text-align:left;border-radius:14px;border:1px solid rgba(127,156,255,.08);background:rgba(127,156,255,.045);color:inherit}.communication-art-button>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(127,156,255,.09);color:#a5b5f3}.communication-art-button strong{display:block;font-size:7px}.communication-art-button small{display:block;margin-top:3px;color:#728094;font-size:5.5px}.communication-art-button>i{font-style:normal;color:#8290a4;font-size:13px}
.billing-future-note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;margin:10px 0;padding:10px;border-radius:13px;background:rgba(127,156,255,.045);border:1px solid rgba(127,156,255,.06)}.billing-future-note>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(127,156,255,.08);color:#9eaded}.billing-future-note p{margin:0;color:#758397;font-size:5.7px;line-height:1.45}

@media(max-width:560px){
  .package-meta-grid{grid-template-columns:1fr 1fr}
  .package-action-grid{grid-template-columns:1fr}
  .communication-message-preview{min-height:330px;font-size:6.6px}
}

/* =====================================================================
   FITCORE V6.1 — REAPROVEITAMENTO DE FICHAS + PDF
   ===================================================================== */
.training-card-quick-actions{display:flex;gap:6px;align-items:center}.mini-action.pdf{background:rgba(127,156,255,.09)!important;border:1px solid rgba(127,156,255,.10)!important;color:#a9b8f5!important}.mini-action.pdf:disabled{opacity:.55;cursor:wait}

.program-productivity-actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-10px 0 20px
}
.program-productivity-actions>button{
  min-width:0;min-height:62px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;
  padding:9px 10px;text-align:left;border-radius:15px;border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),rgba(39,49,62,.64);
  color:#dce5ef;box-shadow:0 10px 28px rgba(4,8,14,.07);transition:transform .16s ease,border-color .16s ease,background .16s ease
}
.program-productivity-actions>button:hover{transform:translateY(-1px);border-color:rgba(110,231,183,.16);background:linear-gradient(145deg,rgba(110,231,183,.07),rgba(127,156,255,.035)),rgba(39,49,62,.72)}
.program-productivity-actions>button>span{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.045);color:#8ea0b5;font-size:14px;font-weight:800
}
.program-productivity-actions>button.primary>span{background:rgba(110,231,183,.10);color:#82e3c1}
.program-productivity-actions strong{display:block;font-size:7.5px}.program-productivity-actions small{display:block;margin-top:3px;color:#718094;font-size:5.7px;line-height:1.35}
.program-productivity-actions>button:disabled{opacity:.55;cursor:wait;transform:none}

.workout-list-actions{display:flex;gap:5px;align-items:center}.workout-list-actions>button{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.045);color:#c4cfdb;font-size:13px}.workout-list-actions>button[data-duplicate]{font-size:10px;color:#94a8bc}.workout-list-actions>button:hover{border-color:rgba(110,231,183,.14);color:#8de5c5}

.copy-program-sheet{max-width:560px;max-height:92vh;overflow:auto}.copy-program-search{margin:0 0 9px!important}.copy-program-security-note{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:start;margin-bottom:10px;padding:9px 10px;border-radius:12px;background:rgba(110,231,183,.055);border:1px solid rgba(110,231,183,.07)}.copy-program-security-note>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(110,231,183,.09);color:#86dfc0;font-size:7px;font-weight:900}.copy-program-security-note p{margin:0;color:#788699;font-size:5.9px;line-height:1.45}.copy-program-security-note b{color:#aeb9c7}.copy-program-student-list{display:grid;gap:6px;max-height:430px;overflow:auto}.copy-program-student{width:100%;min-height:56px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 9px;text-align:left;border-radius:13px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.027);color:inherit}.copy-program-student:hover{border-color:rgba(110,231,183,.13);background:rgba(110,231,183,.045)}.copy-program-student:disabled{opacity:.55;cursor:wait}.copy-program-student>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#4fd9a5,#5b91ee 62%,#9d73ef);color:#07110d;font-size:6.5px;font-weight:900}.copy-program-student>div{min-width:0}.copy-program-student strong{display:block;font-size:7.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-program-student small{display:block;margin-top:3px;color:#738195;font-size:5.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-program-student>i{font-style:normal;color:#82dfbf;font-size:5.8px;font-weight:820;white-space:nowrap}.copy-program-empty{min-height:90px;display:grid;align-content:center;gap:4px;padding:12px;border-radius:13px;border:1px dashed rgba(255,255,255,.07);background:rgba(255,255,255,.02)}.copy-program-empty strong{font-size:7px}.copy-program-empty span{color:#748195;font-size:5.8px}

@media(max-width:620px){.program-productivity-actions{grid-template-columns:1fr}.program-productivity-actions>button{min-height:54px}.program-productivity-actions small{font-size:5.9px}}


/* =====================================================================
   FITCORE V6.1.1 — AÇÕES ESTÁVEIS + EXCLUSÃO SEGURA DE FICHA
   ===================================================================== */
.program-productivity-actions{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.program-productivity-actions>button{
  height:62px;
  min-height:62px;
}
.program-productivity-actions>button>div{
  min-width:0;
}
.program-productivity-actions>button strong,
.program-productivity-actions>button small{
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.program-productivity-actions>button.is-loading{
  position:relative;
  opacity:.72;
}
.program-productivity-actions>button.is-loading>span{
  position:relative;
  background:rgba(127,156,255,.08);
}
.program-productivity-actions>button.is-loading>span::after{
  content:"";
  width:13px;height:13px;
  border-radius:50%;
  border:2px solid rgba(145,162,184,.28);
  border-top-color:#9eb2cb;
  animation:programActionSpin .75s linear infinite;
}
@keyframes programActionSpin{to{transform:rotate(360deg)}}

.program-productivity-actions>button.danger{
  border-color:rgba(255,118,132,.075);
  background:linear-gradient(145deg,rgba(255,118,132,.035),rgba(255,255,255,.012)),rgba(39,49,62,.64);
}
.program-productivity-actions>button.danger>span{
  background:rgba(255,118,132,.07);
  color:#d9929c;
}
.program-productivity-actions>button.danger:hover{
  border-color:rgba(255,118,132,.16);
  background:linear-gradient(145deg,rgba(255,118,132,.07),rgba(255,255,255,.012)),rgba(39,49,62,.72);
}
.program-productivity-actions>button.danger:hover>span{
  color:#ffa0a9;
}

/* Modal de exclusão */
.delete-program-sheet{
  max-width:500px;
}
.delete-program-hero{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin:2px 0 14px;
}
.delete-program-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,114,128,.14),rgba(255,114,128,.07));
  border:1px solid rgba(255,114,128,.10);
  color:#ff929d;
  font-size:17px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(255,80,95,.06);
}
.danger-eyebrow{color:#d88d97!important}
.delete-program-hero h2{
  margin:3px 0 0;
  font-size:16px;
  letter-spacing:-.025em;
}
.delete-program-hero p:not(.eyebrow){
  margin:4px 0 0;
  color:#7e8b9d;
  font-size:6.5px;
  line-height:1.45;
}
.delete-program-target{
  padding:12px;
  border-radius:15px;
  background:rgba(255,255,255,.033);
  border:1px solid rgba(255,255,255,.06);
}
.delete-program-target>span{
  display:block;
  color:#6f7d90;
  font-size:5.5px;
  font-weight:900;
  letter-spacing:.10em;
}
.delete-program-target>strong{
  display:block;
  margin-top:5px;
  color:#edf2f7;
  font-size:10px;
}
.delete-program-target>small{
  display:block;
  margin-top:3px;
  color:#7d8a9c;
  font-size:6.2px;
}
.delete-program-impact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px;
}
.delete-program-impact article{
  min-height:62px;
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:13px;
  background:rgba(255,255,255,.027);
  border:1px solid rgba(255,255,255,.05);
}
.delete-program-impact span{
  color:#e7edf4;
  font-size:13px;
  font-weight:850;
}
.delete-program-impact small{
  margin-top:2px;
  color:#6f7c8f;
  font-size:5.6px;
}
.delete-program-warning{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-top:9px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(255,118,132,.045);
  border:1px solid rgba(255,118,132,.065);
}
.delete-program-warning>span{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:8px;
  background:rgba(255,118,132,.07);
  color:#db919a;
  font-size:6px;
  font-weight:900;
}
.delete-program-warning p{
  margin:0;
  color:#7e8999;
  font-size:6px;
  line-height:1.5;
}
.delete-program-warning b{color:#bba1a6}
.delete-program-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:7px;
  margin-top:13px;
}
.delete-confirm-button{
  border:1px solid rgba(255,118,132,.16)!important;
  background:linear-gradient(135deg,#d76470,#bb4f5b)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(185,65,79,.12)!important;
}
.delete-confirm-button:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}
.delete-confirm-button:disabled{
  opacity:.6;
  cursor:wait;
  transform:none;
}

@media(max-width:820px){
  .program-productivity-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .program-productivity-actions{grid-template-columns:1fr}
  .program-productivity-actions>button{height:56px;min-height:56px}
}


/* =====================================================================
   FITCORE V6.1.2 — AÇÕES ESTÁVEIS + EXCLUIR FICHA NA LISTA
   ===================================================================== */
.program-productivity-actions>button{
  position:relative;
  overflow:hidden;
}
.program-productivity-actions>button>div{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
}
.program-productivity-actions>button>div>strong{
  display:block!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.program-productivity-actions>button>div>small{
  display:block!important;
  margin-top:3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.program-productivity-actions>button.is-loading{
  opacity:.72;
  pointer-events:none;
}
.program-productivity-actions>button.is-loading::after{
  content:"";
  position:absolute;
  right:11px;
  top:50%;
  width:13px;
  height:13px;
  margin-top:-7px;
  border-radius:50%;
  border:2px solid rgba(150,168,190,.22);
  border-top-color:#9fb4cc;
  animation:programActionSpin .75s linear infinite;
}
.program-productivity-actions>button.is-loading>span::after{
  display:none!important;
}

.training-card-quick-actions .mini-action.danger{
  background:rgba(255,113,128,.065)!important;
  border:1px solid rgba(255,113,128,.09)!important;
  color:#d9969e!important;
}
.training-card-quick-actions .mini-action.danger:hover{
  background:rgba(255,113,128,.11)!important;
  border-color:rgba(255,113,128,.16)!important;
  color:#ff9da7!important;
}
.training-card-quick-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.training-card-quick-actions .mini-action{
  min-width:38px;
}

@media(max-width:520px){
  .training-card-quick-actions{gap:4px}
  .training-card-quick-actions .mini-action{
    min-height:29px;
    padding-left:7px;
    padding-right:7px;
    font-size:5.6px;
  }
}


/* =====================================================================
   FITCORE V6.1.3 — EXCLUIR FICHA NOS DOIS CONTEXTOS
   ===================================================================== */

/* A lista de fichas reserva uma área própria para as 4 ações.
   Isso evita que "Excluir" suma quando o texto à esquerda cresce. */
.training-program-foot{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
.training-program-foot>small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.training-card-quick-actions{
  display:grid!important;
  grid-template-columns:repeat(4,auto)!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:end!important;
  flex-wrap:nowrap!important;
}
.training-card-quick-actions .mini-action{
  min-width:40px!important;
  min-height:30px!important;
  padding:0 9px!important;
  white-space:nowrap!important;
}
.training-card-quick-actions .mini-action.danger{
  min-width:48px!important;
}

/* Dentro da ficha, o excluir continua disponível como ação maior.
   Quatro ações equilibradas em desktop, 2x2 em telas menores. */
.program-productivity-actions{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.program-productivity-actions>button.danger{
  border-color:rgba(255,113,128,.09)!important;
}
.program-productivity-actions>button.danger strong{
  color:#e1bdc1!important;
}
.program-productivity-actions>button.danger small{
  color:#8f7d83!important;
}

/* Confirmação mantém foco visual na ação destrutiva sem ser agressiva. */
.delete-program-sheet{
  box-shadow:0 30px 80px rgba(0,0,0,.28)!important;
}
.delete-confirm-button{
  min-height:42px!important;
}

/* Tablet: ações continuam lado a lado sempre que houver espaço. */
@media(max-width:760px){
  .training-program-foot{
    grid-template-columns:1fr!important;
  }
  .training-card-quick-actions{
    justify-content:start!important;
  }
  .program-productivity-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Celular: mantém os 4 botões numa única linha compacta.
   Só quebra se a tela for realmente muito estreita. */
@media(max-width:480px){
  .training-card-quick-actions{
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .training-card-quick-actions .mini-action{
    min-width:0!important;
    width:100%!important;
    padding:0 5px!important;
    font-size:5.4px!important;
  }
}

@media(max-width:340px){
  .training-card-quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =====================================================================
   FITCORE V6.1.4 — EDITAR / EXCLUIR TREINO DENTRO DA FICHA
   ===================================================================== */
.workout-list-actions{
  display:grid!important;
  grid-template-columns:repeat(4,34px)!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:end!important;
}
.workout-list-actions button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.07)!important;
  background:rgba(255,255,255,.035)!important;
  color:#8391a4!important;
  font-size:12px!important;
  line-height:1!important;
  transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease!important;
}
.workout-list-actions button:hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.065)!important;
  color:#dce5ee!important;
}
.workout-list-actions button[data-edit]{
  color:#9aa9bd!important;
}
.workout-list-actions button.danger{
  background:rgba(255,113,128,.05)!important;
  border-color:rgba(255,113,128,.075)!important;
  color:#ce8d96!important;
}
.workout-list-actions button.danger:hover{
  background:rgba(255,113,128,.105)!important;
  border-color:rgba(255,113,128,.15)!important;
  color:#ff9da7!important;
}
.workout-list-actions button.primary{
  background:rgba(110,231,183,.055)!important;
  border-color:rgba(110,231,183,.08)!important;
  color:#92dfc4!important;
}
.workout-list-actions button.primary:hover{
  background:rgba(110,231,183,.10)!important;
  border-color:rgba(110,231,183,.14)!important;
  color:#a7ead2!important;
}

/* Modal: exclusão é apenas do treino, não da ficha. */
.delete-workout-sheet{
  max-width:500px;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}
.delete-workout-hero{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin:2px 0 14px;
}
.delete-workout-icon{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:15px;
  background:linear-gradient(145deg,rgba(255,114,128,.14),rgba(255,114,128,.07));
  border:1px solid rgba(255,114,128,.10);
  color:#ff929d;
  font-size:17px;
  font-weight:900;
}
.delete-workout-hero h2{
  margin:3px 0 0;
  font-size:16px;
  letter-spacing:-.025em;
}
.delete-workout-hero p:not(.eyebrow){
  margin:4px 0 0;
  color:#7e8b9d;
  font-size:6.5px;
  line-height:1.45;
}
.delete-workout-target{
  padding:12px;
  border-radius:15px;
  background:rgba(255,255,255,.033);
  border:1px solid rgba(255,255,255,.06);
}
.delete-workout-target>span{
  display:block;
  color:#6f7d90;
  font-size:5.5px;
  font-weight:900;
  letter-spacing:.10em;
}
.delete-workout-target>strong{
  display:block;
  margin-top:5px;
  color:#edf2f7;
  font-size:10px;
}
.delete-workout-target>small{
  display:block;
  margin-top:3px;
  color:#7d8a9c;
  font-size:6.2px;
}
.delete-workout-impact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px;
}
.delete-workout-impact article{
  min-height:62px;
  display:grid;
  place-items:center;
  align-content:center;
  border-radius:13px;
  background:rgba(255,255,255,.027);
  border:1px solid rgba(255,255,255,.05);
}
.delete-workout-impact span{
  color:#e7edf4;
  font-size:13px;
  font-weight:850;
}
.delete-workout-impact small{
  margin-top:2px;
  color:#6f7c8f;
  font-size:5.6px;
}
.delete-workout-warning{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-top:9px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(255,118,132,.045);
  border:1px solid rgba(255,118,132,.065);
}
.delete-workout-warning>span{
  width:26px;height:26px;
  display:grid;place-items:center;
  border-radius:8px;
  background:rgba(255,118,132,.07);
  color:#db919a;
  font-size:6px;
  font-weight:900;
}
.delete-workout-warning p{
  margin:0;
  color:#7e8999;
  font-size:6px;
  line-height:1.5;
}
.delete-workout-warning b{color:#bba1a6}
.delete-workout-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:7px;
  margin-top:13px;
}
.delete-workout-confirm{
  min-height:42px!important;
  border:1px solid rgba(255,118,132,.16)!important;
  background:linear-gradient(135deg,#d76470,#bb4f5b)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(185,65,79,.12)!important;
}
.delete-workout-confirm:disabled{
  opacity:.6;
  cursor:wait;
}

/* Reserva espaço para as quatro ações sem aumentar a altura do card. */
.workout-list-card{
  grid-template-columns:52px minmax(0,1fr) auto!important;
}
.workout-list-card>div:nth-child(2){
  min-width:0!important;
}
.workout-list-card h3,
.workout-list-card p{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media(max-width:520px){
  .workout-list-actions{
    grid-template-columns:repeat(4,31px)!important;
    gap:4px!important;
  }
  .workout-list-actions button{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    min-height:31px!important;
    font-size:11px!important;
  }
}

@media(max-width:380px){
  .workout-list-actions{
    grid-template-columns:repeat(2,31px)!important;
  }
}


/* FITCORE V6.1.5 — mobile form hardening */
.form-grid,
.form-grid > *,
.field,
.field-full{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.field input,
.field select,
.field textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
input[type="date"],
input[type="time"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value{
  min-width:0!important;
  text-align:left;
}
@media(max-width:560px){
  .form-grid{grid-template-columns:1fr!important}
  .field,.field-full{grid-column:1 / -1!important}
  input[type="date"],input[type="time"]{font-size:16px!important}
}


/* =====================================================================
   FITCORE V6.1.6 — SAFARI IOS: ZOOM + CAMPOS NATIVOS DE DATA/HORA
   ===================================================================== */

/* Evita o zoom automático do Safari ao focar campos menores que 16px,
   sem bloquear o zoom manual/acessibilidade da página. */
@media (max-width: 768px){
  input,
  select,
  textarea,
  input[type="search"],
  .search-box,
  .training-library-search,
  .exercise-search input,
  .library-search input,
  .search-field input{
    font-size:16px!important;
  }
}

/* O WebKit dá largura intrínseca própria para date/time.
   Este bloco força o controle nativo a caber exatamente no field. */
.field,
.form-grid > *,
.training-field,
.training-form-grid > *{
  min-width:0!important;
}

.field input[type="date"],
.field input[type="time"],
.training-field input[type="date"],
.training-field input[type="time"],
.training-form-grid input[type="date"],
.training-form-grid input[type="time"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-left:14px!important;
  padding-right:14px!important;
}

input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

input[type="date"]::-webkit-datetime-edit,
input[type="time"]::-webkit-datetime-edit{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator{
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}

/* Em iPhone, os pares de campos não disputam largura.
   Isso corrige nascimento/status e datas do pacote/pagamento. */
@media (max-width: 560px){
  .form-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .form-grid > .field,
  .form-grid > .field-full{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}
