:root{font-family:Segoe UI,Arial,sans-serif;color:#172b2c;background:#f3f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:12px 16px;background:#eaf0ed;color:#173f36}aside{width:240px;background:#102d29;color:#d8e8e1;min-height:100vh;padding:34px 22px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:13px;color:#b7f374;text-decoration:none;font-weight:800;font-size:30px;margin-bottom:55px}.brand span{font-size:11px;letter-spacing:2px;color:#fff;line-height:1.6}small{font-size:10px;letter-spacing:1.6px;font-weight:600}aside>small{color:#8ca69d}nav{display:grid;gap:9px;margin-top:20px}nav button{text-align:left;background:transparent;color:#c5d9d0;padding:14px 12px;font-size:14px}nav .selected{background:#b7f374;color:#12382c;font-weight:650}.aside-bottom{position:absolute;bottom:28px;font-size:12px;line-height:2}.dot{display:inline-block;width:7px;height:7px;background:#b7f374;border-radius:50%;margin-right:7px}main{margin-left:240px;padding:42px 45px;width:calc(100% - 240px);max-width:1700px}header{display:flex;justify-content:space-between;align-items:center}header small{color:#6d837b}h1{font-size:31px;margin:8px 0 24px;letter-spacing:-1px}.header-actions{display:flex;align-items:center;gap:16px}.primary{background:#194c3d;color:white;font-weight:600}.pill,.badge{border-radius:20px;padding:7px 12px;font-size:12px;background:#e8efeb}.notice{padding:12px 16px;border:1px solid #d5dfd8;border-radius:9px;color:#667d71;font-size:12px;margin-bottom:25px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:white;border:1px solid #e1e7e3;border-radius:15px;padding:23px}.stat-label{font-size:12px;color:#728379}.number{font-size:33px;font-weight:700;letter-spacing:-1px;margin:14px 0 5px}.muted{color:#74867c;font-size:13px;line-height:1.6}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-top:24px}h2{font-size:18px;margin:0 0 18px}h3{font-size:15px}.hero{background:#193c32;color:#fff;border-radius:15px;padding:30px;min-height:220px}.hero h2{font-size:27px;max-width:430px;line-height:1.2}.hero p{color:#c3d7c9;max-width:500px;line-height:1.7}.hero button{background:#b7f374}.rows{margin-top:22px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#7d8b83;font-size:11px;font-weight:600}td,th{padding:15px 10px;border-bottom:1px solid #edf0ed}.badge.good{background:#e6f6dd;color:#36642b}.badge.bad{background:#fff0e8;color:#ac603d}.empty{text-align:center;padding:50px 20px;color:#5f6f66;line-height:1.8}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}input,select{border:1px solid #d6e0d9;border-radius:8px;padding:12px;background:white;color:#213d30;width:100%}.toolbar input{max-width:340px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards .number{font-size:25px}.device{border-left:3px solid #b7f374;margin:14px 0;padding:6px 13px}dialog{border:0;border-radius:18px;padding:30px;width:440px;max-width:95vw;box-shadow:0 25px 80px #132c3340}dialog::backdrop{background:#102a2966}label{display:block;font-size:13px;margin:16px 0}label input,label select{margin-top:7px}.dialog-head{display:flex;justify-content:space-between}.dialog-head button{padding:3px 12px;font-size:25px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}#status,#form-error{color:#976240;font-size:13px}.link{color:#245a40}ul{padding-left:20px;line-height:1.9;font-size:13px}@media(max-width:900px){aside{width:190px;padding:25px 12px}main{margin-left:190px;width:calc(100% - 190px);padding:25px}.stats,.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:600px){body{display:block}aside{position:static;width:100%;min-height:auto;padding:18px}.brand{margin-bottom:15px}nav{grid-template-columns:repeat(2,1fr)}.aside-bottom,aside>small{display:none}main{margin:0;width:100%;padding:20px}header{align-items:flex-start}.header-actions{flex-direction:column;gap:8px}.stats,.cards{grid-template-columns:1fr 1fr}.card{padding:15px}.rows{overflow:auto}}
[hidden]{display:none!important}.login-screen{display:none}.auth-pending>aside,.auth-pending>main{display:none}.auth-pending .login-screen{display:flex;width:100%;min-height:100vh;align-items:center;justify-content:center;padding:24px}.login-card{background:white;border:1px solid #e1e7e3;border-radius:20px;padding:36px;width:420px;max-width:100%;box-shadow:0 18px 60px #173f3610}.login-card small{color:#476b5d}.login-card h1{margin-top:16px}.login-card .primary{width:100%;margin-top:8px}#login-error,#plan-error{color:#976240;font-size:13px;line-height:1.5}#signed-user{max-width:200px;overflow-wrap:anywhere}.period-field{max-width:220px}.cards.rows{margin-top:20px}.card table{display:block;overflow-x:auto}textarea{font:inherit;width:100%;margin-top:7px;padding:12px;border:1px solid #d6e0d9;border-radius:8px;resize:vertical;color:#213d30}
.access-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.access-tabs .selected{background:#194c3d;color:white}.access-toolbar{margin:0 0 18px;align-items:flex-start}.access-toolbar p{margin:0;max-width:720px}.agent-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.face-state{margin:8px 0}.face-state .badge{display:inline-block;margin-top:6px}.access-error,#device-error{color:#976240;font-size:13px;line-height:1.6}button:disabled{opacity:.55;cursor:not-allowed}.card td select{min-width:160px}
:root{background:#f6f8f7;color:#33443f;font-family:'Segoe UI',Arial,sans-serif}aside{background:#fff;color:#52665d;border-right:1px solid #e3eae6;padding:26px 20px;overflow:auto}.brand{color:#367360;font-weight:500;margin-bottom:30px}.brand span{color:#60736a;letter-spacing:.8px;font-size:11px}.brand span b{font-weight:400}nav{gap:3px;margin-top:14px}nav button{color:#586b61;padding:10px 12px;font-size:13px;width:100%;font-weight:400}nav .selected{background:#e7f1ec;color:#28634d;font-weight:500}nav details button{padding-left:28px}nav summary{cursor:pointer;padding:10px 12px;font-size:13px;color:#586b61}.nav-planned{padding:10px 12px;font-size:13px;color:#88968f}.nav-planned small{display:block;margin-top:4px;letter-spacing:0;font-size:10px;font-weight:400}.aside-bottom{position:static;margin-top:28px;color:#84958b}.dot{background:#9ab9a8}h1{font-size:24px;font-weight:500;letter-spacing:-.4px}h2{font-size:17px;font-weight:500}h3{font-weight:500}.number{font-weight:500;font-size:29px}.hero{background:#edf4f0;color:#365b49;border:1px solid #dde8e0}.hero h2{font-size:23px;font-weight:500}.hero p{color:#70857a}.hero button{background:#d8e9df}.primary{font-weight:500;background:#3d755f}.card{border-radius:12px;box-shadow:0 2px 5px #244f3a03}.card b{font-weight:500}.text-button{background:transparent;padding:0;text-align:left;color:#2e6952;text-decoration:underline;text-underline-offset:3px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.detail-grid section{border-top:1px solid #e8eeea;padding-top:16px}.header-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #55927a;outline-offset:3px}#face-link-error,#enrollment-error,#reconcile-error{color:#976240;font-size:13px}.notice{font-size:12px;background:#f1f5f2}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}header{gap:12px}.header-actions{max-width:55%}}@media(max-width:600px){nav{grid-template-columns:1fr 1fr}nav details{grid-column:span 2}.header-actions{max-width:none}.detail-grid{grid-template-columns:1fr}.stats,.cards{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.card{overflow:auto}}
.face-actions{display:grid;gap:8px}.secondary-capture{background:transparent;border:1px solid #dae5df;font-size:12px;color:#61766a}.installment-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #e4ebe6}.terms-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.7;padding:14px;background:#f6f8f7}.contract-version{margin-top:24px}.contract-version details{margin:14px 0;font-size:13px}.contract-version summary{cursor:pointer;color:#386d54}#contract-dialog{width:640px}#contract-error,#installment-error,#capture-error{color:#976240;font-size:13px;line-height:1.6}
.crm-choice{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #dfe8e2;border-radius:8px}.crm-choice input{width:auto;margin-top:3px}.crm-choice small{display:block;letter-spacing:0;font-weight:400;margin-top:5px;color:#74867c;overflow-wrap:anywhere}#crm-link-dialog{width:640px}#crm-link-error{color:#976240;font-size:13px;line-height:1.6}
.unit-choice{display:block;width:100%;text-align:left;margin:10px 0;background:#f1f5f2}.unit-choice span{display:block;font-size:14px}.unit-choice small{display:block;font-weight:400;letter-spacing:0;margin-top:5px;font-size:12px}.unit-choice.selected{border:1px solid #8cad99;background:#e7f1ec}.scope-changing main,.scope-changing aside{pointer-events:none;opacity:.6}#unit-error{color:#976240;font-size:13px}
#profile-error{color:#976240;font-size:13px;line-height:1.6}#reload-profile{margin-top:10px}
#financial-policy-error,#financial-source-error{color:#976240;font-size:13px;line-height:1.6}#reload-financial-policy{margin-top:10px}

.validation-guide{display:block}.validation-guide main{max-width:920px;margin:0 auto;padding:32px 24px}.validation-guide .card{margin-top:20px}.validation-guide li{margin:10px 0;line-height:1.6}.validation-guide p{line-height:1.7}@media print{.validation-guide main{padding:0;max-width:none}.validation-guide .link{display:none}.validation-guide .card{break-inside:avoid;border:1px solid #ddd;box-shadow:none}}

.student-photo-preview{max-width:240px;max-height:240px}
.student-photo-video{max-width:320px}

nav .portal-menu-link{display:block;text-align:left;padding:14px 12px;color:inherit;font-size:14px;text-decoration:none;border-radius:9px}nav .portal-menu-link:hover{background:#e7f1ec}nav .portal-menu-link small{display:block;font-weight:400;letter-spacing:0;font-size:11px;margin-top:4px}

/* Administração e apresentação 2026-10-05 */
:root{--nexus-green:#306e57;--nexus-border:#e2e9e5;--nexus-muted:#73847b;background:#f5f7f6}
.auth-pending .login-screen{gap:clamp(32px,6vw,100px);background:linear-gradient(135deg,#edf4ef,#f8faf9);padding:48px}
.login-introduction{max-width:510px}.login-introduction .brand{margin-bottom:68px}.login-introduction h2{font-size:clamp(28px,3vw,42px);line-height:1.2;letter-spacing:-1px;color:#244c3b;margin:24px 0}.login-introduction p{font-size:16px;line-height:1.8;color:#6a7e72;max-width:450px}.login-highlights{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.login-highlights span{padding:9px 12px;background:#e4eee8;color:#426c54;border-radius:24px;font-size:12px}.login-introduction .login-environment{font-size:12px;margin-top:48px}.login-card{padding:40px;border-radius:22px;box-shadow:0 18px 65px #214b3610}.login-card h1{font-size:25px;line-height:1.25}.login-card label{margin:24px 0}.login-card input{padding:14px;background:#fbfcfb}.login-card .primary{padding:15px}.login-card small{letter-spacing:1.8px}
body:not(.auth-pending)>aside{width:252px;padding:28px 20px}body:not(.auth-pending)>main{margin-left:252px;width:calc(100% - 252px);padding:34px 38px}nav .portal-menu-link{font-size:13px;padding:10px 12px}nav summary{border-radius:8px}nav button:hover,nav summary:hover{background:#f0f5f2}.brand{font-size:34px}main>header{padding-bottom:12px;border-bottom:1px solid var(--nexus-border);margin-bottom:20px}.notice{line-height:1.6}.primary:hover{background:#2f654f}.card{border-color:var(--nexus-border);box-shadow:0 4px 14px #254b3504}input:focus,select:focus,textarea:focus{outline:2px solid #a4c8b3;outline-offset:1px}dialog{box-shadow:0 30px 100px #16372726}table th{letter-spacing:.3px}
body.administration-page{display:block}.administration-page>main{margin:0 auto!important;width:100%!important;max-width:1280px;padding:40px!important}.administration-page .detail-grid{align-items:start;grid-template-columns:minmax(260px,.8fr) minmax(380px,1.5fr)}.administration-page .detail-grid section{border-top:1px solid var(--nexus-border)}.admin-unit{margin-bottom:18px}.admin-unit .unit-choice{margin-bottom:7px}.admin-user{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--nexus-border);overflow-wrap:anywhere}.admin-user strong{font-weight:500;font-size:14px}.admin-user p{margin:7px 0;font-size:13px;line-height:1.6}.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.admin-user-actions button{font-size:12px;padding:9px 12px}.admin-permissions,.admin-history{margin-top:24px}.admin-permissions .detail-grid{grid-template-columns:1fr 1fr}.admin-history .admin-user:last-child{border-bottom:0}
@media(max-width:1000px){.auth-pending .login-screen{padding:30px;gap:30px}.login-introduction{max-width:380px}.login-introduction .brand{margin-bottom:40px}body:not(.auth-pending)>aside{width:210px}body:not(.auth-pending)>main{margin-left:210px;width:calc(100% - 210px);padding:26px}.administration-page .detail-grid{grid-template-columns:1fr}.administration-page>main{padding:26px!important}}
@media(max-width:700px){.auth-pending .login-screen{flex-direction:column;padding:24px 18px}.login-introduction{width:100%;max-width:420px}.login-introduction .brand{margin-bottom:24px}.login-introduction h2{font-size:28px}.login-introduction>p,.login-highlights,.login-introduction .login-environment{display:none}.login-card{padding:28px}.admin-user{flex-direction:column}.admin-user-actions{justify-content:flex-start}.administration-page .toolbar{align-items:flex-start}.administration-page .admin-permissions .detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){body:not(.auth-pending)>aside{width:100%;padding:18px}body:not(.auth-pending)>main{margin:0;width:100%;padding:20px}main>header{flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-start;flex-direction:row}.administration-page>main{padding:20px!important}.administration-page header{gap:12px}}

/* Identidade By Suporte Fitness: referências visuais fornecidas por Vlademir. */
:root{--brand-blue:#2878ff;--brand-deep:#10213c;--nexus-green:#2878ff;--nexus-border:#e4eaf3;--nexus-muted:#64748b;color:#15243b;background:#f4f7fc;font-family:Inter,'Segoe UI',Arial,sans-serif}
body:not(.auth-pending)>aside{background:linear-gradient(180deg,#101e34,#0b1628);border:0;color:#c1cde0;box-shadow:4px 0 24px #0f1e3410}
.brand{color:#fff;gap:10px;font-size:25px;line-height:1.25;margin-bottom:32px}.brand span{color:#fff;font-size:12px;letter-spacing:.5px}.brand span strong{font-size:19px;font-weight:650;letter-spacing:-.4px}.brand span b{font-size:13px;font-weight:400;letter-spacing:1.2px}.brand-mark{width:43px;height:43px;flex-shrink:0}aside>small{color:#8393af;font-size:9px;letter-spacing:1.8px}nav button,nav summary,nav .portal-menu-link{color:#c4d0e2;font-size:13px;border-radius:7px}nav .portal-menu-link small{color:#8393af}nav button:hover,nav summary:hover,nav .portal-menu-link:hover{background:#1b2f4e;color:white}nav .selected{background:linear-gradient(135deg,#348aff,#1461ee);color:#fff;box-shadow:0 4px 14px #0861e833}nav details{border-bottom:1px solid #ffffff09;padding-bottom:5px}.aside-bottom{color:#8496b2;border-top:1px solid #ffffff12;padding-top:16px}.dot{background:#3b82f6}
h1{font-weight:650;color:#14233a;letter-spacing:-.7px;font-size:27px}h2{font-weight:600;color:#172841;font-size:18px}h3{color:#1e3553;font-weight:600}.muted{color:#6e7e94}header small{color:#74859f}.primary{background:linear-gradient(180deg,#3586ff,#2067f1);color:#fff;border:1px solid #2570f7;box-shadow:0 3px 7px #2975ff18;font-weight:550}.primary:hover{background:#1d61e6}.primary:disabled{box-shadow:none}button{background:#edf2fa;color:#26476e;border-radius:7px}button:hover{background:#e3ebf8}.text-button,.link{color:#1d5fd4}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #84b3ff;outline-offset:3px}input,select,textarea{border:1px solid #dce4f0;border-radius:7px;background:#fff;color:#1b2d48;padding:12px;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid #8ebaff;border-color:#3483ff;outline-offset:1px}label{color:#263b59;font-weight:500;font-size:12px}.notice{background:#eef4ff;border-color:#dce8fb;color:#637995}.card{border-color:#e5ebf4;border-radius:10px;box-shadow:0 3px 12px #1b3a6405}.stat-label{color:#647792}.number{font-size:31px;font-weight:650;color:#152b49}.badge,.pill{background:#edf3fe;color:#3665a7}.badge.good{background:#ddf8ea;color:#13804b}.badge.bad{background:#ffe7e9;color:#c63249}th{color:#657894;background:#f8fafd}td,th{border-color:#edf1f8;padding:15px 12px}.hero{background:linear-gradient(120deg,#10203b,#163b75);border-color:#1b427a;color:#fff}.hero h2{color:#fff}.hero p{color:#c0d0ea}.hero button{background:#2e7aff;color:white}.access-tabs .selected{background:#2878ff}.unit-choice{background:#f5f8fd;color:#233f63}.unit-choice.selected{background:#edf4ff;border:1px solid #94baff}.face-state .badge{font-weight:500}.device{border-left-color:#3382ff}dialog{border:1px solid #e5ecf6;box-shadow:0 24px 100px #0b224c33}dialog::backdrop{background:#091b3c66}.dialog-head h2{font-size:20px}.terms-text{background:#f5f8fd}.secondary-capture{border-color:#d9e4f6;color:#356098}.crm-choice{border-color:#dae5f5}
.auth-pending .login-screen{gap:0;padding:0;background:#f5f8fd;align-items:stretch;min-height:100vh}.login-introduction{position:relative;background:radial-gradient(ellipse at 15% 10%,#193e6e,transparent 55%),linear-gradient(145deg,#0b182b,#07111f);padding:clamp(40px,6vw,90px);width:52%;max-width:none;display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:white}.login-introduction:after{content:'';position:absolute;right:-100px;bottom:-110px;width:460px;height:460px;border:70px solid #2878ff0c;border-radius:50%;pointer-events:none}.login-introduction .brand{margin-bottom:68px}.login-introduction>small{color:#a7bdd9;font-size:10px}.login-introduction h2{font-size:clamp(32px,3.1vw,48px);color:#fff;max-width:620px;line-height:1.2}.login-introduction h2 span{color:#3987ff}.login-introduction>p{color:#becce0;max-width:540px}.login-highlights span{background:#142d4f;color:#b9d5ff;border:1px solid #2b4d77}.login-introduction .login-environment{font-size:13px;letter-spacing:3px;line-height:1.8;margin-top:44px;color:#e4edfa}.login-environment strong{color:#3382ff}.environment-caption{display:block;font-size:10px;letter-spacing:.5px;color:#8194b1;margin-top:12px}.login-card{align-self:center;background:white;width:430px;margin:auto;padding:42px;border:1px solid #e4eaf4;box-shadow:0 14px 60px #1430570b;border-radius:15px}.login-card>small{display:none}.login-card h1{margin:36px 0 8px;font-size:25px}.login-form-brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:650;color:#101f3a;letter-spacing:-1px}.login-form-brand .brand-mark{width:52px;height:52px}.login-form-brand small{font-size:16px;letter-spacing:1.2px;color:#14233e;font-weight:400}.login-card input{background:#fbfcff}.login-card .primary{padding:13px;border-radius:7px}#login-error,#admin-error{color:#b42339;line-height:1.5}.administration-page>main{max-width:1400px}.admin-history .admin-user{border-color:#e7edf6}.admin-permissions h3{color:#256de6}
@media(max-width:1000px){.login-introduction{padding:42px;width:48%}.login-introduction h2{font-size:34px}.login-card{width:390px;padding:32px;margin:30px auto}.login-highlights{gap:7px}.login-highlights span{font-size:11px}.login-introduction .brand{margin-bottom:36px}}
@media(max-width:700px){.auth-pending .login-screen{align-items:center;padding:0 0 28px}.login-introduction{width:100%;padding:28px;min-height:200px;display:block}.login-introduction .brand{margin-bottom:20px}.login-introduction h2{font-size:26px;margin:14px 0 0}.login-introduction>small{font-size:9px}.login-introduction>p,.login-highlights,.login-introduction .login-environment{display:none}.login-card{width:calc(100% - 36px);max-width:430px;margin:24px auto 0;padding:28px}.login-card h1{margin-top:24px}.login-form-brand{font-size:23px}.login-introduction:after{width:250px;height:250px;right:-70px;bottom:-130px;border-width:40px}}

/* Entrega funcional do ciclo: painéis, fichas, calendário e formulários */
.eyebrow{font-size:10px;letter-spacing:1.2px;color:#617b9f}.dashboard-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.dashboard-heading h2{font-size:26px;margin:8px 0}.dashboard-heading p{font-size:13px;color:#64748b}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.dashboard-kpi{display:flex;flex-direction:column;gap:13px;min-width:0;position:relative;border-top:3px solid #3982ff}.dashboard-kpi.green{border-top-color:#20b881}.dashboard-kpi.violet{border-top-color:#8e5bf1}.dashboard-kpi.amber{border-top-color:#efac38}.dashboard-kpi-label{font-size:12px;color:#5d708b}.dashboard-kpi strong{font-size:29px;letter-spacing:-.6px;color:#122945}.dashboard-kpi small{font-size:11px;letter-spacing:0;font-weight:400;line-height:1.5;color:#56657b}.dashboard-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-charts svg{width:100%;max-height:270px}.dashboard-chart-data{font-size:12px;color:#55739d}.dashboard-chart-data summary{cursor:pointer}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr .85fr;gap:20px;margin-top:20px}.dashboard-agenda,.dashboard-activity{list-style:none;padding:0}.dashboard-agenda li,.dashboard-activity li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid #edf2f9}.dashboard-agenda time{font-size:13px;border-left:3px solid #20b881;padding-left:8px}.dashboard-agenda strong,.dashboard-activity strong{display:block;font-size:13px;font-weight:550}.dashboard-agenda small,.dashboard-activity small,.dashboard-activity span{display:block;font-size:11px;letter-spacing:0;line-height:1.7;font-weight:400;color:#56657b}.dashboard-activity-dot{width:9px;height:9px;border-radius:50%;background:#3080ff;flex-shrink:0;margin-top:5px}.dashboard-brand-card{background:linear-gradient(140deg,#10213c,#20477d);border-radius:10px;padding:25px;color:#e5edfa;display:flex;flex-direction:column;gap:13px}.dashboard-brand-card .eyebrow{color:#a6c3ee}.dashboard-brand-card h3{color:#fff;font-size:23px;line-height:1.3;margin:0}.dashboard-brand-card p{font-size:13px;line-height:1.6;margin:0}.dashboard-brand-card strong{font-size:27px}.dashboard-brand-card small{letter-spacing:0;font-weight:400;line-height:1.7;color:#b7cdea}.dashboard-access-note{font-size:11px!important;color:#a4bcdf}.dashboard-loading,.empty-state{padding:30px;border:1px dashed #cbdaf0;border-radius:12px;background:#f7faff}.finance-overview{margin-bottom:24px}
.student-workspace-header{display:flex;gap:24px;align-items:center;margin:18px 0}.student-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:86px;height:86px;border-radius:50%;background:#e5efff;color:#276dd6;font-size:28px;font-weight:600}.student-identity{flex:1;min-width:0}.student-identity h2{font-size:24px;margin:8px 0}.student-identity p{margin:8px 0;overflow-wrap:anywhere}.student-summary{display:grid;grid-template-columns:1fr;gap:13px;min-width:200px}.student-summary strong,.student-summary span{display:block;font-size:12px}.student-summary strong{margin-top:5px;line-height:1.5}.student-workspace-tabs{border-bottom:1px solid #dce6f6;padding-bottom:10px;margin:22px 0}.student-workspace-tabs button{background:transparent;border-radius:5px;font-size:12px}.student-workspace-tabs .selected{background:#e8f1ff;color:#155bd0;border-bottom:2px solid #2878ff}.student-workspace-panel>.card{margin:20px 0}.student-workspace-navigation{margin:0}
#student-dialog{width:680px;padding:28px}#plan-dialog{width:660px}.form-steps{padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;gap:8px}.form-steps li{padding:12px;background:#f0f4fb;border:1px solid #e1e8f5;border-radius:8px;font-size:12px;color:#60738f}.form-steps .current{background:#edf4ff;border-color:#8ab5fa;color:#155bd0}.form-step-panel{min-height:190px}.form-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e4eaf4;padding-top:20px}.intake-review{display:grid;grid-template-columns:100px 1fr;gap:16px;font-size:13px;background:#f6f9fe;padding:24px;border:1px solid #e6edf7;border-radius:10px}.intake-review dt{color:#6a7b94}.intake-review dd{margin:0;overflow-wrap:anywhere}.plan-preview{background:linear-gradient(130deg,#10213c,#1e4780);padding:24px;border-radius:12px;margin-top:25px;color:white}.plan-preview h3{color:white;font-size:24px}.plan-preview strong{font-size:29px}.plan-preview small{font-size:10px;letter-spacing:1px;color:#a2c4ff}.plan-preview p{font-size:13px;color:#c4d7f2}.agenda-calendar{margin-bottom:24px}.agenda-calendar-modes{display:flex;gap:6px}.agenda-calendar-modes .selected{background:#1764df;color:white}.agenda-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e0e8f5;border-radius:9px;overflow:auto}.agenda-calendar-day{min-width:105px;min-height:150px;padding:10px;border-right:1px solid #e5ecf7;border-bottom:1px solid #e5ecf7;background:#fff}.agenda-calendar-day>header{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;margin-bottom:12px;color:#6e82a0}.agenda-calendar-day>header strong{font-size:16px}.agenda-calendar-day.is-today{background:#f2f7ff}.agenda-calendar-day.is-today>header strong{background:#2878ff;color:white;border-radius:50%;padding:6px}.agenda-calendar-day.is-adjacent{background:#f8fafd;opacity:.8}.agenda-calendar-event{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;margin:6px 0;padding:10px 8px;border-left:3px solid #3281ff;background:#edf4ff;border-radius:5px;overflow-wrap:anywhere;font-size:11px}.agenda-calendar-event strong{font-weight:550}.agenda-calendar-event small{font-size:10px;letter-spacing:0;font-weight:400;line-height:1.5;color:#4f6e98}.agenda-calendar-event.selected{outline:2px solid #2271ee;background:#e1eeff}.agenda-calendar-day .agenda-calendar-empty{font-size:11px;margin-top:20px}.agenda-calendar-day.agenda-calendar-day{max-width:none}.agenda-calendar-grid.agenda-calendar-day{display:grid;grid-template-columns:1fr;padding:0}.agenda-calendar-week{min-height:230px}.agenda-calendar-month .agenda-calendar-day{min-height:130px}#agenda-period-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}#agenda-period-form label{margin:0;max-width:180px}
.primary{background:linear-gradient(180deg,#206be7,#175bd2);border-color:#175bd2}nav .selected{background:linear-gradient(135deg,#236ce5,#175bd2)}.muted{color:#62738c}
@media(max-width:1100px){.dashboard-bottom{grid-template-columns:1fr 1fr}.dashboard-brand-card{grid-column:span 2}.dashboard-kpis{grid-template-columns:1fr 1fr}.student-workspace-header{align-items:flex-start}.student-summary{min-width:150px}.agenda-calendar-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}}
@media(max-width:700px){.dashboard-heading,.section-heading{flex-wrap:wrap}.dashboard-charts,.dashboard-bottom{grid-template-columns:1fr}.dashboard-brand-card{grid-column:span 1}.dashboard-kpis{gap:10px}.dashboard-kpi{padding:15px}.dashboard-kpi strong{font-size:23px}.student-workspace-header{flex-wrap:wrap;gap:15px}.student-avatar{width:65px;height:65px;font-size:23px}.student-summary{width:100%;grid-template-columns:repeat(2,1fr)}.student-identity h2{font-size:20px}.form-steps{grid-template-columns:1fr}.form-steps li:not(.current){display:none}.intake-review{grid-template-columns:1fr;gap:8px}.intake-review dd{margin-bottom:12px}.agenda-calendar .toolbar{gap:12px}.agenda-calendar-grid{max-width:100%;}.dashboard-kpi small{font-size:10px}}

/* Local brand assets: Inter OFL 1.1 and generated decorative gym portrait. */
@font-face{font-family:Inter;src:url('/inter-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}:root{font-family:Inter,Segoe UI,Arial,sans-serif}.login-introduction{background-image:linear-gradient(90deg,rgba(5,14,28,.93),rgba(5,14,28,.67) 56%,rgba(5,14,28,.26)),url('/fitness-login-hero.png');background-size:cover;background-position:center}.login-introduction:after{display:none}.login-introduction h2,.login-introduction>p,.login-introduction .brand,.login-introduction .login-environment{position:relative;z-index:1}.login-introduction>p{max-width:430px}.login-introduction .login-highlights{max-width:430px}.login-introduction .brand strong{font-weight:750}.login-introduction .login-environment{margin-top:auto;padding-top:36px}.login-introduction{justify-content:flex-start}.login-introduction h2{margin-top:28px}@media(max-width:700px){.login-introduction{background-position:center 32%;background-image:linear-gradient(90deg,rgba(5,14,28,.94),rgba(5,14,28,.60)),url('/fitness-login-hero.png')}}

textarea{font:inherit}

#student-form .form-step-panel:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#student-form .form-step-panel:first-of-type>p{grid-column:1/-1}#profile-dialog{width:min(680px,94vw)}#profile-form label{display:block}@media(max-width:600px){#student-form .form-step-panel:first-of-type{grid-template-columns:1fr}}

/* Scoped management reports, with readable printable output. */
@media print{body:has(.management-report) .management-report table{display:table!important;overflow:visible!important;table-layout:fixed}body:has(.management-report) .management-report th,body:has(.management-report) .management-report td{white-space:normal;overflow-wrap:anywhere}body:has(.management-report) .management-report thead{display:table-header-group}body:has(.management-report) .management-report tr{break-inside:avoid}}
.management-report-filter{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:20px 0}.management-report-filter label{min-width:160px}.management-report-actions{display:flex;flex-wrap:wrap;gap:8px}.management-report-table{overflow-x:auto}.management-report table{width:100%;min-width:760px}.management-report td:not(:first-child),.management-report th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.management-report .report-basis{font-size:.88rem;line-height:1.65}.management-report .report-stamp{color:#4b5563;font-size:.85rem}
@media print{body:has(.management-report){display:block;background:white;color:#111}body:has(.management-report)>aside,body:has(.management-report)>nav,body:has(.management-report)>dialog,body:has(.management-report)>section,body:has(.management-report) main>header,body:has(.management-report) #notice,body:has(.management-report) #status{display:none!important}body:has(.management-report) main{margin:0;padding:0;width:100%;max-width:none}body:has(.management-report) .management-report-filter,body:has(.management-report) .management-report-actions{display:none!important}body:has(.management-report) .card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}body:has(.management-report) .management-report-table{overflow:visible}body:has(.management-report) table{min-width:0;width:100%;font-size:9pt}body:has(.management-report) th,body:has(.management-report) td{padding:6px}body:has(.management-report) .management-report{display:block}body:has(.management-report) .management-report button{display:none!important}}

/* Treinos: biblioteca e prescrições versionadas da equipe. */
.training-library-row,.training-item,.training-staff-form{border:1px solid var(--border,#e2e8f0);border-radius:12px;padding:16px;margin:12px 0;background:#fff;min-width:0}.training-item textarea,.training-library-row textarea{white-space:pre-wrap;max-width:100%}.training-item label,.training-staff-form label{display:block;margin:8px 0}.training-item input,.training-item select,.training-item textarea{max-width:100%;box-sizing:border-box}@media(max-width:700px){.training-item,.training-library-row,.training-staff-form{padding:12px}.training-item input,.training-item select{width:100%}}
