/*
 * VFB / Athlete Console
 * Capa exclusivamente visual: no cambia ids, flujos, datos ni permisos.
 * Dirección: tablero de entrenamiento editorial. Alto contraste, jerarquía
 * fuerte y controles amplios para leerlos entrenando o en un celular.
 */
:root {
	--ink: #080d0b;
	--surface: #101714;
	--surface-raised: #17211c;
	--surface-soft: #1d2922;
	--line: rgba(235, 255, 240, .11);
	--line-strong: rgba(235, 255, 240, .2);
	--text: #f3f7f2;
	--muted: #98a29b;
	--lime: #c6f36b;
	--lime-deep: #8ebd38;
	--orange: #ff8a4c;
	--danger: #ff7770;
	--radius: 20px;
}

html { background: var(--ink); }
body {
	min-width: 320px;
	background-color: var(--ink);
	background-image:
		linear-gradient(90deg, rgba(198, 243, 107, .028) 1px, transparent 1px),
		linear-gradient(rgba(198, 243, 107, .028) 1px, transparent 1px),
		radial-gradient(800px 420px at 100% -12%, rgba(198, 243, 107, .13), transparent 67%),
		radial-gradient(620px 480px at -15% 98%, rgba(255, 138, 76, .075), transparent 65%);
	background-size: 34px 34px, 34px 34px, auto, auto;
	color: var(--text);
}

/* Un único marco visual para evitar la mezcla de tarjetas genéricas. */
.grid-texture { background-image: none; }
.glass {
	background: linear-gradient(145deg, rgba(25, 35, 29, .96), rgba(13, 20, 17, .97));
	border-color: var(--line);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .22), inset 0 1px rgba(255, 255, 255, .035);
	backdrop-filter: blur(14px);
}

::selection { background: var(--lime); color: var(--ink); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { transition: transform .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
button:not(:disabled):active { transform: scale(.985); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--lime);
	outline-offset: 3px;
}
input, select, textarea {
	border-color: var(--line) !important;
	background-color: rgba(255, 255, 255, .035) !important;
	box-shadow: inset 0 1px rgba(255, 255, 255, .035);
}
input:focus, select:focus, textarea:focus {
	border-color: var(--lime) !important;
	box-shadow: 0 0 0 3px rgba(198, 243, 107, .13), inset 0 1px rgba(255,255,255,.04) !important;
}

/* ========== ACCESO ========== */
#login-screen { position: relative; isolation: isolate; max-width: none; overflow: clip; }
#login-screen::before {
	content: ""; position: absolute; z-index: -1; width: min(86vw, 850px); aspect-ratio: 1;
	border: 1px solid rgba(198, 243, 107, .16); border-radius: 50%;
	box-shadow: 0 0 0 44px rgba(198, 243, 107, .025), 0 0 0 120px rgba(198, 243, 107, .016);
}
#login-screen::after {
	content: "VFB / TRAINING"; position: absolute; z-index: -1; bottom: 7vh; left: 50%;
	transform: translateX(-50%); white-space: nowrap; color: rgba(255,255,255,.026);
	font-family: Sora, sans-serif; font-size: clamp(3.5rem, 11vw, 11rem); font-weight: 700; letter-spacing: -.08em;
}
#login-screen > .glass {
	max-width: 32rem; border: 1px solid rgba(198, 243, 107, .26);
	box-shadow: 0 36px 100px rgba(0,0,0,.52), 0 0 0 7px rgba(198,243,107,.035), inset 0 1px rgba(255,255,255,.06);
}
#login-screen > .glass > div:first-child { filter: drop-shadow(0 12px 16px rgba(198,243,107,.19)); }
#login-screen h1 { font-size: clamp(3rem, 7vw, 4.25rem); letter-spacing: -.07em; }
#login-screen button[type="submit"] { min-height: 52px; border-color: rgba(198,243,107,.42); background: var(--lime); color: var(--ink); box-shadow: 0 12px 28px rgba(198,243,107,.16); }
#login-screen button[type="submit"]:hover { background: #e7ffc0; box-shadow: 0 14px 34px rgba(198,243,107,.26); }

/* ========== ESTRUCTURA PRINCIPAL ========== */
#app-shell { max-width: 1720px; gap: 2rem; padding-top: 1.5rem; }
#app-shell > aside {
	border: 1px solid rgba(198, 243, 107, .16);
	background: linear-gradient(180deg, rgba(25, 37, 30, .98), rgba(8, 14, 11, .98));
	box-shadow: 0 24px 56px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.04);
}
#app-shell > aside::before {
	content: "VFB"; display: block; margin: -1rem -1rem 1.1rem; padding: .95rem 1rem .85rem;
	border-bottom: 1px solid var(--line); color: var(--lime); font: 800 1.3rem/1 Sora, sans-serif; letter-spacing: -.08em;
}
#app-shell > aside > div:first-child { display: none; }
#app-shell > aside .menu-link {
	min-height: 46px; border: 1px solid transparent; border-radius: 12px;
	color: rgba(243,247,242,.63); letter-spacing: .025em;
}
#app-shell > aside .menu-link i { color: rgba(198,243,107,.7); }
#app-shell > aside .menu-link:not(.active-tab):hover { border-color: var(--line); background: rgba(255,255,255,.045); color: var(--text); }
#app-shell > aside .menu-link.active-tab {
	background: var(--lime);
	color: var(--ink);
	border-color: var(--lime);
	font-weight: 800;
	box-shadow: 0 11px 24px rgba(198,243,107,.18), inset 0 1px rgba(255,255,255,.55);
}
#app-shell > aside .menu-link.active-tab i,
#app-shell > aside .menu-link.active-tab svg { color: inherit; }
#sidebar-plan { border: 1px solid rgba(198,243,107,.2); background: linear-gradient(135deg, rgba(198,243,107,.12), rgba(198,243,107,.035)) !important; }
#logout-btn { min-height: 46px; }

header {
	position: relative; margin-bottom: 2.5rem !important; padding: .25rem 0 1.3rem;
	border-bottom: 1px solid var(--line);
}
header::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 88px; height: 2px; background: var(--lime); box-shadow: 0 0 14px var(--lime); }
header > div:first-child > div:first-child { filter: drop-shadow(0 8px 12px rgba(198,243,107,.2)); }
header #notifications-btn, header #account-menu-btn > div:first-child { border-color: var(--line-strong); background: rgba(255,255,255,.045); }
#current-date { color: var(--lime); letter-spacing: .22em; }
#page-title { color: var(--lime); }

/* ========== INICIO DEL DUEÑO ========== */
#owner-view [data-owner-screen="home"]:first-child > article {
	position: relative; min-height: 202px; overflow: hidden; border-radius: var(--radius); border: 1px solid var(--line);
}
#owner-view [data-owner-screen="home"]:first-child > article::after {
	content: ""; position: absolute; right: -24px; bottom: -45px; width: 142px; height: 142px; border-radius: 50%;
	background: radial-gradient(circle, rgba(198,243,107,.20), transparent 67%); pointer-events: none;
}
#owner-view [data-owner-screen="home"]:first-child > article:nth-child(2)::after { background: radial-gradient(circle, rgba(255,138,76,.2), transparent 67%); }
#owner-view [data-owner-screen="home"]:first-child > article:nth-child(3)::after { background: radial-gradient(circle, rgba(255,119,112,.18), transparent 67%); }
#owner-view [data-owner-screen="home"]:first-child > article > div:first-child > span:first-child { border: 1px solid rgba(198,243,107,.25); }
#owner-income, #owner-clients, #owner-warning-count { font-size: clamp(2.5rem, 4vw, 3.6rem); letter-spacing: -.075em; line-height: 1; }
#owner-view [data-owner-screen="home"]:not(:first-child) > div.rounded-2xl,
#owner-view [data-owner-screen="home"]:not(:first-child).glass { border-color: var(--line); }
#app-health-card { border-color: rgba(198,243,107,.26) !important; background: linear-gradient(115deg, rgba(198,243,107,.105), rgba(17,25,21,.94) 48%) !important; }
#summary-income-bar, #summary-costs-bar { box-shadow: 0 0 15px currentColor; }

/* ========== LISTAS DEL DUEÑO ========== */
#owner-view .glass.overflow-hidden, #owner-view [data-owner-screen="payments"], #owner-view [data-owner-screen="attendance"] { border-color: var(--line-strong); }
#student-list tr { transition: background-color .16s ease, box-shadow .16s ease; }
#student-list tr:hover { background: rgba(198,243,107,.055) !important; box-shadow: inset 3px 0 var(--lime); }
#student-list td { vertical-align: middle; }
#owner-payment-list > div, #attendance-list > div, #routine-book-list > article {
	border: 1px solid var(--line); border-radius: 14px; box-shadow: inset 0 1px rgba(255,255,255,.02);
}
#owner-payment-list > div:hover, #attendance-list > div:hover { border-color: rgba(198,243,107,.24); }

/* ========== ÁREA DE ENTRENAMIENTO ========== */
#student-view-heading { padding-top: 1.65rem; border-top-color: rgba(198,243,107,.22); }
#student-view [data-student-screen="routine"] > .glass:first-child {
	border: 1px solid rgba(198,243,107,.34);
	background: linear-gradient(112deg, rgba(198,243,107,.15), rgba(25,34,29,.98) 42%, rgba(12,19,15,.98));
}
#student-routine-title { font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.05em; }
#routine-progress { border-color: var(--lime) !important; box-shadow: 0 0 0 7px rgba(198,243,107,.065), 0 0 28px rgba(198,243,107,.14); }
#workout-list { gap: 1rem !important; }
#workout-list article {
	position: relative; overflow: hidden; border: 1px solid var(--line) !important; border-radius: 18px;
	background: linear-gradient(112deg, rgba(29,40,33,.98), rgba(15,23,19,.98));
	box-shadow: 0 15px 34px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.025);
}
#workout-list article::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: var(--lime); opacity: .8; }
#workout-list article:hover { border-color: rgba(198,243,107,.4) !important; }
#workout-list .exercise-icon { border: 1px solid rgba(198,243,107,.24); box-shadow: inset 0 1px rgba(255,255,255,.12); }
#workout-list .exercise-title { font-size: 1.05rem; letter-spacing: -.02em; }
#workout-list .exercise-target { font-size: 1.2rem; color: var(--lime); }
#workout-list .kg-input { min-height: 52px; border-color: rgba(198,243,107,.35) !important; background: rgba(198,243,107,.075) !important; font-size: 1.15rem; font-weight: 800; }
#workout-list .save-performance, #workout-list .complete-exercise { min-height: 44px; border-radius: 11px; }
#workout-list .save-performance { border-color: rgba(255,138,76,.55); color: #ffb188; background: rgba(255,138,76,.075); }
#workout-list .complete-exercise { border-color: rgba(198,243,107,.52); color: var(--lime); }
#workout-list .complete-exercise:hover { border-color: var(--lime); }
#student-weight-list > div, #student-max-reps-list > div { border-color: var(--line); }

/* Una biserie/triserie se lee como un único bloque de trabajo. Cada ejercicio
   conserva su propia carga y check, pero el marco grande deja claro que se
   realizan seguidos y sin descanso. */
#workout-list .workout-series-block {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 138, 76, .52);
	border-radius: 21px;
	padding: 1rem;
	background: linear-gradient(135deg, rgba(255, 138, 76, .13), rgba(34, 29, 23, .96) 36%, rgba(15, 22, 18, .98));
	box-shadow: 0 18px 40px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.04);
}
#workout-list .workout-series-block::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--orange);
	box-shadow: 0 0 18px rgba(255,138,76,.7);
}
#workout-list .workout-series-block.workout-series-triset { border-color: rgba(198, 243, 107, .48); background: linear-gradient(135deg, rgba(198,243,107,.13), rgba(24, 35, 28, .96) 36%, rgba(15, 22, 18, .98)); }
#workout-list .workout-series-block.workout-series-triset::before { background: var(--lime); box-shadow: 0 0 18px rgba(198,243,107,.65); }
#workout-list .workout-series-header { display: flex; align-items: center; justify-content: space-between; gap: .9rem; padding: .1rem .25rem .95rem .55rem; }
#workout-list .workout-series-kicker { color: var(--orange); font-size: .66rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
#workout-list .workout-series-triset .workout-series-kicker { color: var(--lime); }
#workout-list .workout-series-title { margin-top: .25rem; color: var(--text); font-size: .82rem; font-weight: 700; }
#workout-list .workout-series-count { flex: 0 0 auto; border: 1px solid rgba(255, 138, 76, .35); border-radius: 999px; padding: .38rem .6rem; color: #ffc0a0; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
#workout-list .workout-series-triset .workout-series-count { border-color: rgba(198,243,107,.32); color: var(--lime); }
#workout-list .workout-series-exercises { display: grid; gap: .65rem; }
#workout-list .workout-series-block article { border-radius: 14px; background: rgba(7, 13, 10, .5); box-shadow: inset 0 1px rgba(255,255,255,.035); }
#workout-list .workout-series-block article::before { opacity: .48; }

/* Timer: pensado para leerse de lejos, como los buenos timers de box. */
#shared-wod-timer, #student-timer-slot .glass {
	border: 1px solid rgba(198,243,107,.3);
	background: radial-gradient(circle at 50% 0, rgba(198,243,107,.16), transparent 48%), linear-gradient(145deg, #18251e, #0b120e 70%);
	box-shadow: 0 24px 55px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.06);
}
#timer-display { font-size: clamp(3.4rem, 10vw, 7rem); letter-spacing: -.085em; text-shadow: 0 0 34px rgba(198,243,107,.22); }
#timer-start { min-height: 47px; box-shadow: 0 12px 25px rgba(198,243,107,.2); }

/* Mensajes y modales. */
#toast { border-color: rgba(198,243,107,.5); background: rgba(13,21,16,.97); box-shadow: 0 18px 52px rgba(0,0,0,.48); backdrop-filter: blur(18px); }
.fixed.inset-0 { background-color: rgba(4,9,6,.82) !important; }
.fixed.inset-0 > .glass { border-color: rgba(255,255,255,.16); box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.05); }
footer { border-top-color: var(--line) !important; }

@media (max-width: 639px) {
	body { background-size: 25px 25px, 25px 25px, auto, auto; }
	#login-screen { padding-inline: 1rem; }
	#login-screen::after { bottom: 2.5rem; font-size: 3.3rem; }
	#login-screen > .glass { padding: 1.7rem 1.35rem; border-radius: 22px; }
	#app-shell { gap: 1.1rem; padding: .7rem; }
	#app-shell > aside { position: sticky; top: .45rem; z-index: 30; padding: .65rem; border-radius: 16px; }
	#app-shell > aside::before { display: none; }
	#app-shell > aside nav { gap: .35rem; }
	#app-shell > aside .menu-link { min-height: 43px; padding: .68rem .78rem; border-radius: 10px; }
	#app-shell > aside #sidebar-plan { display: none !important; }
	#logout-btn { margin-top: .5rem; }
	header { margin-bottom: 1.45rem !important; padding-bottom: 1rem; }
	header > div:first-child > div:first-child { width: 2.3rem; height: 2.3rem; }
	#owner-view [data-owner-screen="home"]:first-child > article { min-height: 0; }
	#owner-view [data-owner-screen="home"]:first-child > article > div:first-child { margin-bottom: 1.5rem; }
	#owner-income, #owner-clients, #owner-warning-count { font-size: 2.6rem; }
	#student-view [data-student-screen="routine"] > .glass:first-child { padding: 1.15rem; }
	#workout-list article { border-radius: 15px; }
	#workout-list article::before { width: 3px; }
	#workout-list .workout-series-block { border-radius: 17px; padding: .85rem; }
	#workout-list .workout-series-header { align-items: flex-start; padding-left: .4rem; }
	#workout-list .workout-series-count { max-width: 9rem; text-align: right; line-height: 1.35; }
	#workout-list .complete-exercise { width: 100%; }
	#workout-list .save-performance { flex: 1 1 100%; }
	#timer-display { font-size: clamp(3.65rem, 18vw, 5.2rem); }
}

@media (min-width: 1024px) {
	#app-shell > aside { border-radius: 22px; }
	#app-shell > aside .menu-link { border-radius: 12px; }
	main { padding-bottom: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Vista de entrenamiento en lista: nombre + objetivo; controles al desplegar.
   details es nativo y se conserva junto a sus inputs al confirmar un peso. */
#workout-list {
	border: 1px solid var(--line-strong);
	border-radius: 18px;
	padding: .25rem 1rem;
	background: rgba(17, 25, 20, .84);
}
#workout-list > * + * { margin-top: 0; }
#workout-list .workout-list-row {
	padding: .95rem 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	overflow: visible;
}
#workout-list .workout-list-row::before { display: none; }
#workout-list > .workout-list-row + .workout-list-row { border-top: 1px solid var(--line) !important; }
#workout-list .workout-row-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; align-items: start; }
#workout-list .workout-row-heading .exercise-title { font-size: .9rem; font-weight: 500; line-height: 1.5; }
#workout-list .workout-row-heading .exercise-target { margin: 0; font-size: .95rem; line-height: 1.5; white-space: nowrap; text-align: right; }
#workout-list .workout-row-details > summary { display: flex; justify-content: space-between; gap: .75rem; align-items: center; min-height: 36px; margin-top: .25rem; cursor: pointer; list-style: none; font-size: .65rem; color: var(--muted); }
#workout-list .workout-row-details > summary::-webkit-details-marker { display: none; }
#workout-list .workout-row-details > summary > span:last-child { flex-shrink: 0; color: var(--lime); }
#workout-list .workout-row-details > summary:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; border-radius: 4px; }
#workout-list .workout-row-controls { border-top: 1px solid var(--line); padding-top: .8rem; }
#workout-list .workout-row-controls > div:first-child { align-items: flex-start; }
#workout-list .workout-row-controls > div:first-child label { align-items: flex-start; }
#workout-list .exercise-entry-fields { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: .65rem; align-items: start; }
#workout-list .exercise-comment-label { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
#workout-list .exercise-comment-input { width: 100%; min-height: 44px; max-height: 120px; resize: vertical; border: 1px solid var(--line-strong); border-radius: 9px; background: rgba(255,255,255,.04); padding: .65rem .7rem; color: var(--text); font: 400 .8rem/1.4 Manrope, sans-serif; }
#workout-list .exercise-comment-input:focus { outline: 2px solid var(--lime); outline-offset: 1px; }
#workout-list .exercise-comment-input::placeholder { color: var(--muted); }
#workout-list .exercise-comment-preview { margin-top: .15rem; color: var(--muted); font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#workout-list .exercise-previous-comment { margin: 0 0 .6rem; color: var(--muted); font-size: .75rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
#workout-list .workout-row-details[open] + .exercise-comment-preview { display: none; }
#workout-list .workout-row-controls .complete-exercise { width: 11rem; max-width: 100%; transition: none; transform: none; }
#workout-list .workout-series-block { margin: .6rem 0; border-radius: 13px; padding: .75rem .85rem; background: rgba(255,138,76,.035); box-shadow: none; }
#workout-list .workout-series-triset { background: rgba(198,243,107,.035); }
#workout-list .workout-series-header { padding: 0 0 .55rem; border-bottom: 1px solid var(--line); }
#workout-list .workout-series-title { display: none; }
#workout-list .workout-series-exercises { gap: 0; }
#workout-list .workout-series-block .workout-list-row { padding: .8rem 0; border-radius: 0; background: transparent; box-shadow: none; }
#workout-list .workout-series-exercises > article + article { border-top: 1px solid var(--line) !important; }
#student-routine-view-content .owner-exercise-values { max-width: 45%; white-space: normal; }

/* Editor como una planilla: se escribe en filas sin agregar tarjetas. */
.routine-editor-row {
	display: grid;
	grid-template-columns: 1.3rem minmax(7rem, 1fr) 4.8rem 3.3rem 3.5rem 2rem;
	align-items: end;
	gap: .45rem;
	padding: .65rem 0;
	border-bottom: 1px solid var(--line);
}
.routine-editor-row > span:first-child { grid-row: 2; align-self: center; }
.routine-editor-row > span:nth-of-type(2) { grid-column: 2 / -1; justify-self: start; border: 0; background: none; padding: 0; font-size: .62rem; }
.routine-editor-row[data-routine-block-type="single"] > span:nth-of-type(2) { display: none; }
.routine-editor-row > input[name^="exercise-"] { grid-column: 2; grid-row: 2; width: 100%; min-width: 0; height: 40px; }
.routine-editor-row > label { grid-row: 2; min-width: 0; font-size: .55rem; }
.routine-editor-row > label:nth-of-type(1) { grid-column: 3; }
.routine-editor-row > label:nth-of-type(2) { grid-column: 4; }
.routine-editor-row > label:nth-of-type(3) { grid-column: 5; }
.routine-editor-row select, .routine-editor-row input[type="number"] { width: 100%; min-width: 0; height: 40px; padding-inline: .35rem; }
.routine-editor-row .remove-builder-exercise { grid-column: 6; grid-row: 2; margin: 0; width: 100%; height: 40px; }
.routine-editor-row[data-routine-block-type="biset"], .routine-editor-row[data-routine-block-type="triset"] { border-left: 3px solid var(--orange); padding-left: .5rem; }
.routine-editor-row[data-routine-block-type="triset"] { border-left-color: var(--lime); }
.routine-editor-row.routine-editor-blank { border-bottom-style: dashed; }
.routine-editor-row.routine-editor-blank > label, .routine-editor-row.routine-editor-blank > button { opacity: .55; }
.exercise-name-suggestions {
	position: fixed; z-index: 100; overflow-y: auto; overscroll-behavior: contain;
	padding: .3rem; border: 1px solid var(--lime-deep); border-radius: 10px;
	background: var(--surface-raised); box-shadow: 0 12px 30px rgba(0, 0, 0, .4);
}
.exercise-name-suggestions[hidden] { display: none; }
.exercise-name-suggestions [role="option"] {
	display: block; width: 100%; min-height: 44px; padding: .65rem .75rem;
	border: 0; border-radius: 6px; text-align: left; font-size: .8rem; line-height: 1.4;
	color: var(--text); background: transparent; overflow-wrap: anywhere; cursor: pointer;
}
.exercise-name-suggestions [role="option"]:hover,
.exercise-name-suggestions [aria-selected="true"] { color: var(--ink); background: var(--lime); }
@media (max-width: 639px) {
	#workout-list .exercise-comment-input { font-size: 16px; }
	#workout-list { padding-inline: .8rem; border-radius: 14px; }
	#workout-list .workout-row-heading .exercise-title { font-size: .85rem; }
	#workout-list .workout-row-heading .exercise-target { font-size: .88rem; }
	#workout-list .workout-row-details > summary { font-size: .6rem; }
	#workout-list .workout-row-controls .save-performance { flex: 0 1 auto; }
	.routine-editor-row { grid-template-columns: 1rem minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 2rem; gap: .4rem; }
	.routine-editor-row > input[name^="exercise-"] { grid-column: 2 / 5; grid-row: 2; }
	.routine-editor-row > label { grid-row: 3; }
	.routine-editor-row > label:nth-of-type(1) { grid-column: 2; }
	.routine-editor-row > label:nth-of-type(2) { grid-column: 3; }
	.routine-editor-row > label:nth-of-type(3) { grid-column: 4; }
	.routine-editor-row .remove-builder-exercise { grid-column: 5; }
}
