/**
 * Estilos frontend — Training Management Pro.
 * Pensado para integrarse con Astra / Elementor sin pisar el tema.
 */
.tmp-dash,
.tmp-calendar,
.tmp-routine-block {
	--tmp-primary: #FF00F3;
	--tmp-primary-dark: #D100C7;
	--tmp-accent: #FF00F3;
	--tmp-surface: #ffffff;
	--tmp-bg: #f6f7fb;
	--tmp-border: #e5e7eb;
	--tmp-text: #111111;
	--tmp-muted: #6b7280;
	--tmp-radius: 12px;
	--tmp-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
	color: var(--tmp-text);
}

.tmp-dash__header {
	margin-bottom: 20px;
}
.tmp-dash__header h2 {
	margin: 0 0 4px;
}
.tmp-dash__header p {
	color: var(--tmp-muted);
	margin: 0;
}
.tmp-dash__section {
	background: var(--tmp-surface);
	border: 1px solid var(--tmp-border);
	border-radius: var(--tmp-radius);
	box-shadow: var(--tmp-shadow);
	padding: 20px;
	margin-bottom: 20px;
}
.tmp-dash__section h3 {
	margin-top: 0;
}
.tmp-empty {
	color: var(--tmp-muted);
	font-style: italic;
}

/* Notices */
.tmp-notice {
	padding: 12px 16px;
	border-radius: 8px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
}
.tmp-notice--warning {
	background: #fffbeb;
	border-color: #fde68a;
	color: #92400e;
}

/* Lista de grupos */
.tmp-grouplist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.tmp-grouplist__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--tmp-bg);
	border: 1px solid var(--tmp-border);
	border-radius: 10px;
	padding: 12px 16px;
}
.tmp-badge {
	background: var(--tmp-primary);
	color: #fff;
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 12px;
}

/* Rutina */
.tmp-routine {
	border: 1px solid var(--tmp-border);
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 16px;
}
.tmp-routine__day h5 {
	margin: 12px 0 6px;
	color: var(--tmp-primary-dark);
}
.tmp-routine__day ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tmp-routine__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--tmp-border);
}
.tmp-routine__name {
	font-weight: 600;
	flex: 1;
	min-width: 160px;
}
.tmp-routine__meta {
	color: var(--tmp-muted);
	font-size: 13px;
}
.tmp-log-btn {
	background: var(--tmp-accent);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 6px 12px;
	cursor: pointer;
	font-size: 13px;
}
.tmp-log-btn:hover {
	filter: brightness(0.95);
}

/* Estadísticas */
.tmp-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}
.tmp-stat {
	background: var(--tmp-bg);
	border: 1px solid var(--tmp-border);
	border-radius: 10px;
	padding: 14px;
	text-align: center;
}
.tmp-stat__value {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--tmp-primary);
}
.tmp-stat__label {
	font-size: 12px;
	color: var(--tmp-muted);
}
.tmp-spark {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 80px;
	padding: 8px;
	background: var(--tmp-bg);
	border-radius: 10px;
}
.tmp-spark__bar {
	flex: 1;
	min-width: 4px;
	background: var(--tmp-primary);
	border-radius: 3px 3px 0 0;
	min-height: 3px;
}

/* Calendario */
.tmp-cal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.tmp-cal__title {
	font-weight: 700;
	text-transform: capitalize;
}
.tmp-cal__prev,
.tmp-cal__next {
	background: var(--tmp-surface);
	border: 1px solid var(--tmp-border);
	border-radius: 8px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	font-size: 18px;
}
.tmp-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}
.tmp-cal__dow {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--tmp-muted);
}
.tmp-cal__cell {
	min-height: 70px;
	background: var(--tmp-bg);
	border: 1px solid var(--tmp-border);
	border-radius: 8px;
	padding: 6px;
	font-size: 12px;
}
.tmp-cal__cell--empty {
	background: transparent;
	border: none;
}
.tmp-cal__cell.has-events {
	border-color: var(--tmp-primary);
}
.tmp-cal__num {
	font-weight: 600;
	color: var(--tmp-muted);
}
.tmp-cal__event {
	display: block;
	background: var(--tmp-primary);
	color: #fff;
	border-radius: 5px;
	padding: 2px 5px;
	margin-top: 3px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tmp-cal__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.tmp-cal__list-day {
	background: var(--tmp-bg);
	border: 1px solid var(--tmp-border);
	border-radius: 8px;
	padding: 10px 14px;
}
.tmp-cal__rest {
	color: var(--tmp-muted);
	font-style: italic;
}

/* Mensajería */
.tmp-msg-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.tmp-msg {
	border: 1px solid var(--tmp-border);
	border-radius: 8px;
	padding: 10px 14px;
}
.tmp-msg.is-unread {
	border-left: 4px solid var(--tmp-primary);
	background: #eff6ff;
}
.tmp-msg time {
	font-size: 11px;
	color: var(--tmp-muted);
}

/* Modal de registro */
.tmp-log-modal {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 16px;
}
.tmp-log-modal[hidden] {
	display: none;
}
.tmp-log-modal__box {
	background: #fff;
	border-radius: var(--tmp-radius);
	padding: 22px;
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	overflow-y: auto;
	display: grid;
	gap: 10px;
}
.tmp-log-modal__box label {
	display: block;
	font-size: 13px;
}
.tmp-log-modal__box input[type="number"],
.tmp-log-modal__box textarea {
	width: 100%;
}
.tmp-log-modal__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 6px;
}
.tmp-log-modal__actions button {
	border-radius: 8px;
	padding: 8px 16px;
	cursor: pointer;
	border: 1px solid var(--tmp-border);
}
.tmp-log-save {
	background: var(--tmp-primary);
	color: #fff;
	border-color: var(--tmp-primary);
}

/* Accesibilidad: foco visible */
.tmp-dash :focus-visible,
.tmp-calendar :focus-visible,
.tmp-log-modal :focus-visible {
	outline: 3px solid rgba(37, 99, 235, 0.5);
	outline-offset: 2px;
}


/* ============================================================
   Panel frontend C3 (profesor / alumno) — Fitexpertos UI 2.8
   Diseño plano (sin sombras), menú con íconos, esquinas sobrias.
   ============================================================ */
.tmp-panel-wrap,
.tmp-auth,
.tmp-coaches{
	--c3-green:#FF00F3;
	--c3-green-dark:#D100C7;
	--c3-green-50:#fff3ec;
	--c3-green-100:#ffe1d2;
	--c3-ink:#111827;
	--c3-ink-soft:#334155;
	--c3-muted:#64748b;
	--c3-line:#e4e7ec;
	--c3-line-soft:#eef1f5;
	--c3-bg:#f6f7f9;
	--c3-surface:#ffffff;
	--c3-slate-50:#f4f6f8;
	--c3-r:12px;
	--c3-r-sm:8px;
	--c3-r-btn:8px;
	--c3-ease:.15s ease;
	font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
	color:var(--c3-ink);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.tmp-panel-wrap{
	max-width:1080px;margin:0 auto;padding:24px 18px 60px;
	font-size:15px;line-height:1.55;
}
.tmp-panel-wrap *,.tmp-auth *{box-sizing:border-box;}

/* ---------- Encabezado ---------- */
.tmp-panel-header{
	display:flex;flex-direction:column;align-items:stretch;gap:16px;
	margin-bottom:24px;
}
.tmp-panel-header h1{
	margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.025em;color:var(--c3-ink);
}

/* ---------- Menú tipo barra de herramientas ---------- */
.tmp-panel-nav{
	display:flex;flex-wrap:wrap;gap:3px;align-items:center;
	background:var(--c3-slate-50);
	border:1px solid var(--c3-line);
	border-radius:var(--c3-r);
	padding:5px;
}
.tmp-navlink{
	display:inline-flex;align-items:center;gap:7px;
	text-decoration:none;color:var(--c3-ink-soft);
	padding:8px 13px;border-radius:var(--c3-r-sm);
	font-size:.885rem;font-weight:600;white-space:nowrap;line-height:1;
	transition:background var(--c3-ease),color var(--c3-ease);
}
.tmp-navlink::before{
	font-family:dashicons;font-weight:400;font-size:16px;line-height:1;
	width:16px;height:16px;display:inline-block;flex:none;opacity:.85;
	-webkit-font-smoothing:antialiased;
}
.tmp-navlink[href*="c3_view=dashboard"]::before{content:"\f102";}
.tmp-navlink[href*="c3_view=programs"]::before{content:"\f481";}
.tmp-navlink[href*="c3_view=library"]::before{content:"\f11c";}
.tmp-navlink[href*="c3_view=categories"]::before{content:"\f318";}
.tmp-navlink[href*="c3_view=forms"]::before{content:"\f175";}
.tmp-navlink[href*="c3_view=students"]::before{content:"\f307";}
.tmp-navlink[href*="c3_view=messages"]::before{content:"\f465";}
.tmp-navlink[href*="c3_view=agenda"]::before{content:"\f508";}
.tmp-navlink[href*="c3_view=profile"]::before{content:"\f110";}
.tmp-navlink[href*="c3_view=retention"]::before{content:"\f185";}
.tmp-navlink[href*="c3_view=history"]::before{content:"\f321";}
.tmp-navlink[href*="c3_view=membership"]::before{content:"\f155";}
.tmp-navlink[href*="logout"]::before{content:"\f345";}
.tmp-navlink:hover{background:#fff;color:var(--c3-ink);}
.tmp-navlink.is-active{background:var(--c3-green);color:#fff;}
.tmp-navlink.is-active::before{opacity:1;}
.tmp-navlink.is-active:hover{background:var(--c3-green-dark);color:#fff;}
.tmp-hello{color:var(--c3-muted);font-size:.96rem;margin:0 0 20px;}
.tmp-hello strong{color:var(--c3-ink);}

/* Botón del menú (solo mobile; oculto en desktop) */
.tmp-nav-toggle{display:none;}

/* ---------- Tarjetas de métricas ---------- */
.tmp-cards{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
	gap:14px;margin-bottom:22px;
}
.tmp-card{
	background:var(--c3-surface);border:1px solid var(--c3-line);border-radius:var(--c3-r);
	padding:18px 20px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px;
	transition:border-color var(--c3-ease),background var(--c3-ease);
}
a.tmp-card:hover{border-color:var(--c3-green-100);background:var(--c3-green-50);}
.tmp-card-num{
	font-size:2.15rem;font-weight:800;color:var(--c3-ink);line-height:1;letter-spacing:-.03em;
	font-variant-numeric:tabular-nums;
}
.tmp-card-label{color:var(--c3-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.045em;}

/* ---------- Cajas / secciones ---------- */
.tmp-card-box{
	background:var(--c3-surface);border:1px solid var(--c3-line);border-radius:var(--c3-r);
	padding:24px;margin-bottom:16px;
}
.tmp-card-box h2{margin:0 0 14px;font-size:1.16rem;font-weight:700;letter-spacing:-.015em;color:var(--c3-ink);}
.tmp-card-box h3{margin:0 0 12px;font-size:1.02rem;font-weight:700;color:var(--c3-ink);}

/* ---------- Formularios ---------- */
.tmp-form .tmp-field{margin-bottom:16px;}
.tmp-field label{display:block;font-weight:600;margin-bottom:6px;font-size:.86rem;color:var(--c3-ink);}
.tmp-field input[type=text],.tmp-field input[type=email],.tmp-field input[type=password],
.tmp-field input[type=number],.tmp-field input[type=url],.tmp-field input[type=tel],
.tmp-field input[type=date],.tmp-field input[type=file],
.tmp-field select,.tmp-field textarea,
.tmp-builder input[type=text],.tmp-builder input[type=number],.tmp-builder select{
	width:100%;max-width:440px;padding:11px 13px;border:1px solid var(--c3-line);border-radius:var(--c3-r-sm);
	font-size:.96rem;font-family:inherit;color:var(--c3-ink);box-sizing:border-box;background:#fff;
	transition:border-color var(--c3-ease);
}
.tmp-field textarea{min-height:96px;resize:vertical;}
.tmp-field input:focus,.tmp-field select:focus,.tmp-field textarea:focus,
.tmp-builder input:focus,.tmp-builder select:focus{
	outline:2px solid var(--c3-green);outline-offset:1px;border-color:var(--c3-green);
}
.tmp-field input::placeholder,.tmp-field textarea::placeholder{color:#98a2b3;}
.tmp-field--row{display:flex;gap:16px;flex-wrap:wrap;}
.tmp-field--row>div{flex:1;min-width:130px;}

/* ---------- Botones (esquinas sobrias, planos) ---------- */
.tmp-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	background:#fff;color:var(--c3-ink);border:1px solid var(--c3-line);border-radius:var(--c3-r-btn);
	padding:10px 18px;font-size:.92rem;font-weight:600;font-family:inherit;line-height:1.2;
	cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:normal;
	transition:background var(--c3-ease),border-color var(--c3-ease),color var(--c3-ease);
}
.tmp-btn:hover{background:var(--c3-slate-50);border-color:#cfd4dc;}
.tmp-btn:focus-visible{outline:2px solid var(--c3-green);outline-offset:2px;}
.tmp-btn--primary{background:var(--c3-green);color:#fff;border-color:var(--c3-green);}
.tmp-btn--primary:hover{background:var(--c3-green-dark);border-color:var(--c3-green-dark);color:#fff;}
.tmp-btn--small{padding:7px 13px;font-size:.83rem;}
.tmp-btn--block{display:flex;width:100%;text-align:center;margin-top:6px;}

/* ---------- Listas ---------- */
.tmp-list{list-style:none;margin:0;padding:0;}
.tmp-list-item{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:14px 0;border-top:1px solid var(--c3-line-soft);
}
.tmp-list-item:first-child{border-top:none;}
.tmp-muted{color:var(--c3-muted);}
.tmp-quick{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Badges ---------- */
.tmp-badge{
	display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;
	font-size:.77rem;font-weight:600;text-transform:capitalize;background:#eef1f5;color:var(--c3-ink);
}
.tmp-badge--active{background:var(--c3-green-100);color:var(--c3-green-dark);}
.tmp-badge--completed{background:#e6e8eb;color:#556;}

/* ---------- Programa del alumno ---------- */
.tmp-program-head{margin-bottom:18px;}
.tmp-program-head h2{margin:0;font-weight:800;letter-spacing:-.015em;color:var(--c3-ink);}
.tmp-block-title{border-left:3px solid var(--c3-green);padding-left:12px;border-radius:0;}
.tmp-ex-list{list-style:none;margin:0;padding:0;}
.tmp-ex-item{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:14px 0;border-top:1px solid var(--c3-line-soft);
}
.tmp-ex-item:first-child{border-top:none;}
.tmp-ex-main{display:flex;flex-direction:column;gap:3px;}
.tmp-ex-name{font-weight:600;color:var(--c3-ink);}
.tmp-ex-presc{color:var(--c3-green);font-weight:700;font-size:.92rem;}
.tmp-ex-video{white-space:nowrap;font-size:.88rem;text-decoration:none;color:var(--c3-green);font-weight:600;}
.tmp-ex-video:hover{text-decoration:underline;}
.tmp-check{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-weight:600;}

/* ---------- Builder ---------- */
.tmp-builder .tmp-level{background:#fff;}
.tmp-builder-actions{position:sticky;bottom:0;background:#fff;padding:14px 0;border-top:1px solid var(--c3-line);}

/* ---------- Formularios (fase 4) ---------- */
.tmp-opt{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:1rem;cursor:pointer;}
.tmp-opt input{width:18px;height:18px;accent-color:var(--c3-green);}
.tmp-question{margin:0 0 10px;font-size:1.05rem;font-weight:600;}
.tmp-req{color:#c0392b;}
.tmp-ex-check{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1;}
.tmp-ex-check input{width:22px;height:22px;flex:none;accent-color:var(--c3-green);}

/* ---------- Tablas ---------- */
.tmp-table{
	width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;
	border:1px solid var(--c3-line);border-radius:var(--c3-r-sm);overflow:hidden;
}
.tmp-table th,.tmp-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--c3-line-soft);}
.tmp-table thead th{
	background:var(--c3-slate-50);color:var(--c3-muted);font-weight:600;font-size:.74rem;
	text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--c3-line);
}
.tmp-table tbody tr:last-child td{border-bottom:none;}
.tmp-table tbody tr:hover{background:var(--c3-slate-50);}

/* Barra de progreso genérica */
.tmp-progress{background:#eef1f5;border-radius:999px;height:8px;overflow:hidden;}
.tmp-progress>span{display:block;height:100%;background:var(--c3-green);border-radius:inherit;}

/* ---------- Respuestas / colapsables ---------- */
.tmp-response{border:1px solid var(--c3-line);border-radius:var(--c3-r-sm);padding:12px 16px;margin-bottom:10px;background:#fff;}
.tmp-response summary{cursor:pointer;font-weight:600;}
.tmp-qa{list-style:none;margin:10px 0 0;padding:0;}
.tmp-qa li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px dashed var(--c3-line);}
.tmp-qa .tmp-q{color:var(--c3-muted);font-size:.85rem;}
.tmp-qa .tmp-a{font-weight:600;}

/* ---------- Escala 1-10 ---------- */
.tmp-scale{display:flex;flex-wrap:wrap;gap:8px;}
.tmp-scale-opt{position:relative;}
.tmp-scale-opt input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer;}
.tmp-scale-opt span{
	display:flex;align-items:center;justify-content:center;width:42px;height:42px;
	border:1px solid var(--c3-line);border-radius:var(--c3-r-sm);font-weight:700;color:var(--c3-ink);background:#fff;
	transition:all var(--c3-ease);
}
.tmp-scale-opt:hover span{border-color:var(--c3-green-100);}
.tmp-scale-opt input:checked + span{background:var(--c3-green);color:#fff;border-color:var(--c3-green);}

/* ---------- Avisos ---------- */
.tmp-notice{border:1px solid var(--c3-line);border-radius:var(--c3-r-sm);padding:12px 16px;margin-bottom:14px;background:#fff;}
.tmp-notice--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46;}
.tmp-notice--warning{background:#fffbeb;border-color:#fde68a;color:#92400e;}

/* ---------- Autenticación ---------- */
.tmp-auth{max-width:440px;margin:44px auto;padding:0 16px;}
.tmp-auth-card{background:var(--c3-surface);border:1px solid var(--c3-line);border-radius:var(--c3-r);padding:28px;}
.tmp-auth-card h1{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:var(--c3-ink);margin:0 0 16px;}
.tmp-auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:.9rem;}
.tmp-auth-links a{color:var(--c3-green);text-decoration:none;font-weight:600;}
.tmp-auth-links a:hover{text-decoration:underline;}
.tmp-auth-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--c3-line);}
.tmp-auth-choice .tmp-muted{flex:1 1 100%;font-size:.9rem;margin-bottom:2px;}

/* ---------- Utilidades reutilizables ---------- */
.tmp-section-note{color:var(--c3-muted);font-size:.92rem;margin:0 0 16px;}

/* Pills de estado (retención, progresión, etc.) */
.tmp-pill{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:.77rem;font-weight:600;background:#eef1f5;color:var(--c3-ink-soft);white-space:nowrap;}
.tmp-pill--ok{background:#e7f6ec;color:#137a3e;}
.tmp-pill--warn{background:#fff4e5;color:#a86400;}
.tmp-pill--risk{background:#fdeaea;color:#a3221f;}
.tmp-pill--muted{background:#eef1f5;color:#667085;}
.tmp-pill--up{background:#e7f6ec;color:#137a3e;}
.tmp-pill--hold{background:var(--c3-green-100);color:var(--c3-green-dark);}
.tmp-pill--down{background:#fdeaea;color:#a3221f;}

/* Número de métrica con color semántico */
.tmp-num--ok{color:#137a3e;}
.tmp-num--risk{color:#b0400a;}
.tmp-num--muted{color:#98a2b3;}

/* Barra de progreso con ancho por variable --v (0-100) */
.tmp-bar{background:#eef1f5;border-radius:999px;height:8px;width:120px;max-width:100%;overflow:hidden;}
.tmp-bar>i{display:block;height:100%;background:var(--c3-green);border-radius:inherit;width:var(--v,0%);}

/* Alertas (resultado de importaciones, avisos) */
.tmp-alert{border:1px solid var(--c3-line);border-left-width:3px;border-radius:var(--c3-r-sm);padding:12px 16px;margin-bottom:16px;font-size:.93rem;}
.tmp-alert--success{background:#f2fbf5;border-color:#a7f3d0;border-left-color:#137a3e;color:#0b5c34;}
.tmp-alert--error{background:#fdf3f3;border-color:#f4c9c9;border-left-color:#c0392b;color:#8a2620;}
.tmp-alert--warning{background:#fffaf0;border-color:#fde8bf;border-left-color:#b8860b;color:#7a5200;}
.tmp-alert ul{margin:8px 0 0;padding-left:18px;}

/* Tabla: celda numérica y secundaria */
.tmp-table td.tmp-num{font-variant-numeric:tabular-nums;font-weight:600;}
.tmp-td-sub{color:var(--c3-muted);font-size:.85rem;}

/* ---------- Directorio público de profesionales ---------- */
.tmp-coaches{color:var(--c3-ink);}
.tmp-coaches *{box-sizing:border-box;}
.tmp-dir-filters{
	display:flex;flex-direction:column;gap:14px;margin-bottom:22px;
	background:var(--c3-surface);border:1px solid var(--c3-line);border-radius:var(--c3-r);padding:18px;
}
.tmp-dir-filters .tmp-field{margin:0;}
.tmp-dir-filters .tmp-field input,.tmp-dir-filters .tmp-field select{max-width:100%;width:100%;}
.tmp-dir-row{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
	gap:12px;align-items:end;
}
.tmp-dir-actions{display:flex;gap:10px;flex-wrap:wrap;}
.tmp-dir-actions .tmp-btn{min-width:130px;}

/* ---------- Cronómetro de ejercicios ---------- */
.tmp-ex-timer{
	display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
	background:var(--c3-green-50);color:var(--c3-green-dark);border:1px solid var(--c3-green-100);
	border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;
	transition:background var(--c3-ease);
}
.tmp-ex-timer:hover{background:var(--c3-green-100);}
.tmp-ex-timer .dashicons{font-size:16px;width:16px;height:16px;line-height:1;}
.tmp-timer-modal{
	position:fixed;inset:0;z-index:99999;background:rgba(15,23,32,.55);
	display:flex;align-items:center;justify-content:center;padding:16px;
}
.tmp-timer-modal[hidden]{display:none;}
.tmp-timer-card{
	position:relative;background:#fff;border-radius:18px;padding:26px 24px 24px;
	width:340px;max-width:100%;text-align:center;
	font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	box-shadow:0 24px 60px -12px rgba(0,0,0,.4);
}
.tmp-timer-card.is-done{animation:tmp-timer-flash .5s ease 3;}
@keyframes tmp-timer-flash{0%,100%{background:#fff;}50%{background:var(--c3-green-100);}}
.tmp-timer-close{
	position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;line-height:1;
	color:#98a2b3;cursor:pointer;padding:2px 6px;
}
.tmp-timer-name{font-weight:700;color:var(--c3-ink);margin-bottom:8px;min-height:1.2em;font-size:1.02rem;}
.tmp-timer-display{
	font-size:4rem;font-weight:800;letter-spacing:-.02em;color:var(--c3-ink);line-height:1.05;
	font-variant-numeric:tabular-nums;margin:4px 0 12px;
}
.tmp-timer-bar{background:#eef1f5;border-radius:999px;height:8px;overflow:hidden;margin-bottom:16px;}
.tmp-timer-bar>i{display:block;height:100%;width:100%;background:var(--c3-green);border-radius:inherit;transition:width .25s linear;}
.tmp-timer-adjust{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;}
.tmp-timer-adjust button{
	background:#fff;border:1px solid var(--c3-line);border-radius:8px;padding:7px 10px;font-size:.85rem;
	font-weight:600;font-family:inherit;color:var(--c3-ink);cursor:pointer;
}
.tmp-timer-adjust button:hover{background:var(--c3-slate-50);}
.tmp-timer-input{
	width:72px;padding:8px;border:1px solid var(--c3-line);border-radius:8px;text-align:center;
	font-size:1rem;font-family:inherit;font-variant-numeric:tabular-nums;
}
.tmp-timer-controls{display:flex;gap:10px;}
.tmp-timer-controls .tmp-btn{flex:1;}

/* ---------- Registro de profesionales: tarjetas de plan ---------- */
.tmp-plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 20px;}
.tmp-plan-card{
	display:flex;flex-direction:column;gap:3px;text-decoration:none;
	border:1.5px solid var(--c3-line);border-radius:var(--c3-r-sm);padding:12px 14px;
	color:var(--c3-ink);transition:border-color var(--c3-ease),background var(--c3-ease);
}
.tmp-plan-card:hover{border-color:var(--c3-green-100);background:var(--c3-green-50);}
.tmp-plan-card.is-selected{border-color:var(--c3-green);background:var(--c3-green-50);}
.tmp-plan-name{font-weight:700;font-size:.9rem;}
.tmp-plan-price{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--c3-ink);line-height:1;}
.tmp-plan-meta{font-size:.78rem;color:var(--c3-muted);}

/* ---------- Perfil público de clase mundial ---------- */
.tmp-cprofile{max-width:640px;margin:0 auto;background:#fff;border:1px solid #e6e8ec;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(17,24,39,.06);}
.tmp-cprofile__cover{height:104px;background:var(--tmp-primary);}
.tmp-cprofile__head{text-align:center;padding:0 24px 6px;}
.tmp-cprofile__avatar{width:118px;height:118px;border-radius:50%;object-fit:cover;border:4px solid #fff;background:#fff;box-shadow:0 4px 14px rgba(17,24,39,.14);margin-top:-59px;}
.tmp-cprofile__name{font-size:1.55rem;font-weight:800;letter-spacing:-.02em;color:#111827;margin:10px 0 2px;line-height:1.15;}
.tmp-cprofile__verified{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--tmp-primary);color:#fff;border-radius:50%;font-size:.72rem;vertical-align:middle;margin-left:6px;}
.tmp-cprofile__role{color:#6b7280;font-weight:600;font-size:.95rem;}
.tmp-cprofile__rating{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;}
.tmp-cprofile__stars{color:#f5a623;letter-spacing:2px;font-size:1.05rem;}
.tmp-cprofile__ratingnum{color:#6b7280;font-size:.85rem;}
.tmp-cprofile__meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.tmp-cchip{display:inline-block;background:#f4f6f8;color:#374151;border-radius:999px;padding:5px 13px;font-size:.82rem;font-weight:600;}
.tmp-cchip--soft{background:color-mix(in srgb, var(--tmp-primary) 12%, #fff);color:var(--tmp-primary-dark);}
.tmp-cprofile__body{padding:10px 26px 28px;}
.tmp-cprofile__cta{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:16px 0 4px;}
.tmp-cbtn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:11px;border:1.5px solid #e4e7ec;background:#fff;color:#111827;text-decoration:none;font-weight:600;font-size:.9rem;transition:border-color .15s ease,background .15s ease,transform .05s ease;}
.tmp-cbtn:hover{border-color:#cbd5e1;}
.tmp-cbtn:active{transform:translateY(1px);}
.tmp-cbtn--primary{background:var(--tmp-primary);border-color:var(--tmp-primary);color:#fff;}
.tmp-cbtn--primary:hover{background:var(--tmp-primary-dark);border-color:var(--tmp-primary-dark);}
.tmp-cbtn--wa{background:#25d366;border-color:#1eb85a;color:#fff;}
.tmp-cbtn--wa:hover{background:#1eb85a;border-color:#1eb85a;}
.tmp-cprofile__section{margin-top:22px;}
.tmp-cprofile__h{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#9aa3af;font-weight:700;margin:0 0 9px;}
.tmp-cprofile__bio{color:#374151;line-height:1.65;margin:0;font-size:.98rem;}
.tmp-cchips{display:flex;flex-wrap:wrap;gap:7px;}
.tmp-cvideo{position:relative;width:100%;padding-bottom:56.25%;height:0;border-radius:14px;overflow:hidden;background:#000;}
.tmp-cvideo iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.tmp-cwa-sticky{display:none;position:fixed;right:16px;bottom:16px;z-index:9990;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.28);text-decoration:none;}
.tmp-cwa-sticky:hover{background:#1eb85a;}
@media (max-width:780px){ .tmp-cwa-sticky{display:flex;} }
@media (max-width:520px){
	.tmp-cprofile__avatar{width:96px;height:96px;margin-top:-48px;}
	.tmp-cprofile__name{font-size:1.3rem;}
	.tmp-cprofile__body{padding:10px 18px 22px;}
	.tmp-cbtn{flex:1 1 auto;justify-content:center;}
}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:900px){
	.tmp-panel-wrap{padding:18px 14px 48px;}
	.tmp-card-box{padding:20px;}
}
@media(max-width:780px){
	.tmp-panel-header h1{font-size:1.35rem;}
	/* Menú desplegable: el botón muestra la sección actual y abre la lista completa */
	.tmp-nav-toggle{
		display:flex;align-items:center;gap:10px;width:100%;
		background:var(--c3-slate-50);border:1px solid var(--c3-line);border-radius:var(--c3-r);
		padding:12px 14px;font-family:inherit;font-size:.95rem;font-weight:700;color:var(--c3-ink);
		cursor:pointer;text-align:left;
	}
	.tmp-nav-toggle__ico::before{font-family:dashicons;content:"\f333";font-size:20px;color:var(--c3-green);line-height:1;}
	.tmp-nav-toggle__label{flex:1;}
	.tmp-nav-toggle__chev::before{font-family:dashicons;content:"\f347";font-size:18px;line-height:1;display:inline-block;transition:transform .15s ease;color:var(--c3-muted);}
	.tmp-nav-toggle.is-open .tmp-nav-toggle__chev::before{transform:rotate(180deg);}
	.tmp-panel-nav{
		display:none;flex-direction:column;gap:2px;
		margin-top:6px;padding:6px;
	}
	.tmp-panel-nav.is-open{display:flex;}
	.tmp-navlink{width:100%;padding:11px 13px;font-size:.95rem;}
	.tmp-cards{grid-template-columns:repeat(2,1fr);gap:10px;}
	.tmp-card{padding:16px;}
	.tmp-card-num{font-size:1.9rem;}
	.tmp-field--row{flex-direction:column;gap:12px;}
	.tmp-field input,.tmp-field select,.tmp-field textarea{max-width:100%;}
	.tmp-table{display:block;overflow-x:auto;white-space:nowrap;}
}
@media(max-width:420px){
	.tmp-cards{grid-template-columns:1fr;}
	.tmp-btn{width:100%;}
	.tmp-quick .tmp-btn{width:auto;}
}
