[hidden]{display:none!important}
.row>span>.badge,.row>a>.badge{justify-self:start}.row>span.num>.badge,.row>span:last-child>.badge{justify-self:end}
/* Entrena · product styles on top of interfaz-saas-framework 1.1.1 (tokens: --ix-*).
   Identity: rugged black outer frame + black browser theme (--ix-browser-theme #101010), lime (#d9ff4f) as the action color, ink accent.
   Framework 1.5.1 stable viewport shell: the document never scrolls; this file only styles content, never the
   viewport/header/dock geometry. Nothing inside .ix-scroller is position:fixed; drawers and toasts are overlays. */
:root{--e-lime:#d9ff4f;--e-lime-2:#e8ff8a;--e-ink:#111412;--e-card:#fff;--e-soft:#efeee8;--e-line:var(--ix-line);--e-muted:var(--ix-muted);--e-ok:#1d7a43;--e-ok-bg:#e7f6ec;--e-warn:#8a5a00;--e-warn-bg:#fff3d6;--e-bad:#a3271b;--e-bad-bg:#fdecea;--e-info:#2c48b8;--e-info-bg:#e8eeff;--e-radius:22px}
h1,h2,h3{margin:0;letter-spacing:-.04em;line-height:1.05}
h1{font-size:clamp(34px,4.4vw,62px);letter-spacing:-.06em}
h2{font-size:clamp(20px,2.1vw,26px)}
h3{font-size:18px}
p{line-height:1.6}
a{color:inherit}
.muted{color:var(--e-muted)}.small{font-size:12px}.center{text-align:center}
.ok-text{color:var(--e-ok)}.warn-text{color:var(--e-warn)}.bad-text{color:var(--e-bad)}
.ok-text .ico,.warn-text .ico,.small .ico{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ico{width:18px;height:18px;flex:0 0 auto}.ico.big{width:30px;height:30px}.ico.ext{width:13px;height:13px;opacity:.5;margin-left:auto}
.ix-btn-accent{background:var(--e-lime);color:var(--e-ink)}.ix-btn-accent:hover{background:var(--e-lime-2)}
.ix-btn .ico{width:17px;height:17px}
.ix-wordmark-main b{color:var(--e-ink)}
.ix-eyebrow{color:#5b5f5a}

.ix-footer{border-top-color:rgba(17,20,18,.14)}
.ix-nav-actions .ix-nav-login.is-platform{color:var(--e-ink);background:var(--e-lime);padding:8px 10px;border-radius:10px}
.chip-box{font-size:12px;font-weight:800;padding:8px 11px;border-radius:11px;background:var(--e-soft);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-link{border:0;background:transparent;color:var(--e-muted);padding:10px 0;font:inherit;font-weight:750;cursor:pointer;text-decoration:underline}
.notice{padding:12px 14px;border-radius:14px;background:var(--e-warn-bg);color:var(--e-warn);margin:12px 0;font-size:13px;line-height:1.45}
.notice.error{background:var(--e-bad-bg);color:var(--e-bad)}.notice.success{background:var(--e-ok-bg);color:var(--e-ok)}.notice.info{background:var(--e-info-bg);color:var(--e-info)}
button:not([class]),.btn{appearance:none;border:0;min-height:44px;border-radius:var(--ix-control-radius);padding:0 17px;background:var(--e-ink);color:#fff;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.secondary{background:var(--e-soft);color:var(--e-ink)}
button[disabled],.ix-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none!important}
.mini-action{appearance:none;border:1px solid var(--e-line);background:#fff;color:var(--e-ink);border-radius:11px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:34px}
.mini-action:hover{border-color:var(--e-ink)}.mini-action .ico{width:15px;height:15px}
.mini-action.ok{background:var(--e-ok-bg);border-color:transparent;color:var(--e-ok)}.mini-action.danger,.ix-btn.danger{color:var(--e-bad)}
.icon-btn{appearance:none;border:1px solid var(--e-line);background:#fff;color:var(--e-ink);width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;cursor:pointer;text-decoration:none;flex:0 0 auto}
.icon-btn.sm{width:30px;height:30px;border-radius:9px}.icon-btn.sm .ico{width:15px;height:15px}
input:not([type=hidden]):not([type=checkbox]):not(.ix-otp-cell),select,textarea{width:100%;min-width:0;border:1px solid var(--e-line);background:#fff;border-radius:12px;padding:11px 13px;font:inherit;font-size:14px;color:var(--e-ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:#777;box-shadow:0 0 0 3px rgba(17,20,18,.08)}
input.low{border-color:var(--e-bad);color:var(--e-bad)}
textarea{resize:vertical;min-height:70px}
.field{display:grid;gap:6px;min-width:0}.field>span{font-size:12px;font-weight:800;color:#4d534e}.field small{color:var(--e-muted);font-size:11px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:end}.form-grid h2{margin-top:6px}.span-all{grid-column:1/-1}
.form-stack{display:grid;gap:10px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.chip-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;cursor:pointer}.chip-check input{width:18px;height:18px;accent-color:#111}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--e-line);background:#fff;font-size:12px;font-weight:800;text-decoration:none;color:#4b514d;white-space:nowrap}.chip em{font-style:normal;color:var(--e-muted)}.chip.is-active{background:var(--e-ink);border-color:var(--e-ink);color:#fff}.chip.is-active em{color:var(--e-lime)}.chip .ico{width:13px;height:13px}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:850;padding:5px 9px;border-radius:999px;background:var(--e-soft);color:#4b514d;white-space:nowrap}
.badge.ok{background:var(--e-ok-bg);color:var(--e-ok)}.badge.warn{background:var(--e-warn-bg);color:var(--e-warn)}.badge.bad{background:var(--e-bad-bg);color:var(--e-bad)}.badge.info{background:var(--e-info-bg);color:var(--e-info)}.badge.lime{background:var(--e-lime);color:#111}
.avatar{width:42px;height:42px;border-radius:14px;background:#111;color:var(--e-lime);display:inline-grid;place-items:center;font-weight:900;font-size:14px;flex:0 0 auto;letter-spacing:0}
.avatar.sm{width:34px;height:34px;border-radius:11px;font-size:12px}.avatar.lg{width:76px;height:76px;border-radius:24px;font-size:26px}
.card{background:var(--e-card);border:1px solid var(--e-line);border-radius:var(--e-radius);padding:22px;min-width:0;display:grid;gap:12px;align-content:start}
.card h2+p{margin-top:-4px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-head h2{margin-top:6px}
.card-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
h3.sub{font-size:13px;letter-spacing:.02em;margin:8px 0 0;color:#4b514d}
.list{display:grid}.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--e-line);text-decoration:none;color:inherit;min-width:0}.row:last-child{border-bottom:0}
.row>span:not(.badge):not(.avatar):not(.pos),.row>a:not(.icon-btn):not(.ix-btn):not(.badge){display:grid;gap:2px;min-width:0;flex:1;text-decoration:none;color:inherit}.row>.badge,.row>.avatar,.row>.icon-btn,.row>.ix-btn{flex:0 0 auto}.row>span>small,.row>a>small{color:var(--e-muted);font-size:12px}.row b{font-weight:800}
a.row:hover b{text-decoration:underline}
.row .pos{flex:0 0 26px;font-weight:900;color:var(--e-muted)}
.inline{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.empty-state{display:grid;gap:6px;justify-items:start;padding:18px;border:1px dashed var(--e-line);border-radius:16px;font-size:13px}.empty-state span{color:var(--e-muted)}
.stack{display:grid;gap:14px;align-content:start}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 14px}.grid-2.wide-left{grid-template-columns:1.45fr 1fr}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 14px}
section.card{margin-bottom:14px}
.table-scroll{overflow-x:auto}
.back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;text-decoration:none;color:var(--e-muted);margin:6px 0 10px}
.toast-stack{position:absolute;left:50%;bottom:var(--ix-content-bottom,24px);transform:translateX(-50%);z-index:2500;display:grid;gap:8px;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}.is-bare .toast-stack{position:fixed;bottom:24px}.toast{background:#111;color:#fff;padding:12px 16px;border-radius:14px;font-size:13px;font-weight:700;box-shadow:0 14px 40px rgba(0,0,0,.25);animation:toastIn .3s cubic-bezier(.2,.8,.2,1)}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}}

/* ---------- message pages ---------- */
.login{min-height:calc(100svh - var(--ix-frame-top) - var(--ix-frame-bottom) - var(--ix-content-top) - var(--ix-content-bottom) - 160px);display:grid;place-items:center;padding:40px 0}.loginbox{width:min(480px,100%)}.loginbox h1{font-size:34px;margin:6px 0 4px}.loginbox .btn{justify-self:start}

/* ---------- demo bar ---------- */
.demo-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 0;padding:8px 8px 8px 14px;border-radius:16px;background:#111;color:#fff;font-size:13px}
.demo-bar .demo-tag{font-weight:700;color:#cfcfca}.demo-bar .demo-tag b{background:var(--e-lime);color:#111;border-radius:6px;padding:2px 6px;margin-right:6px;font-size:11px}
.demo-bar nav{display:flex;gap:4px;flex-wrap:wrap;margin-right:auto}.demo-bar nav a{color:#cfcfca;text-decoration:none;font-weight:800;padding:8px 10px;border-radius:10px}.demo-bar nav a.is-active{background:#2a2a2a;color:#fff}
.demo-bar .ix-btn{min-height:38px}.demo-bar .demo-short{display:none}.lbl-short{display:none}
.impersonation-bar{margin:12px 0 0;padding:10px 14px;border-radius:14px;background:var(--e-warn-bg);color:var(--e-warn);font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}

/* ---------- staff app shell ---------- */

.topbar-cta span{white-space:nowrap}
.account{position:relative}.account>summary{list-style:none;cursor:pointer}.account>summary::-webkit-details-marker{display:none}
.account-btn{display:flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:14px;border:1px solid transparent}.account[open] .account-btn,.account-btn:hover{border-color:var(--e-line);background:#fff}
.account-btn .avatar{width:34px;height:34px;border-radius:11px;font-size:12px}.account-meta{display:grid;line-height:1.15}.account-meta b{font-size:13px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-meta small{font-size:11px;color:var(--e-muted)}
.account-menu{position:absolute;right:0;top:calc(100% + 8px);width:270px;background:#fffefa;border:1px solid var(--e-line);border-radius:16px;box-shadow:0 18px 55px rgba(20,24,21,.18);padding:8px;display:grid;gap:2px;z-index:1200}
.menu-head{display:grid;padding:8px 10px 10px;border-bottom:1px solid var(--e-line);margin-bottom:4px}.menu-head small{color:var(--e-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:10px;font:inherit;font-size:13px;font-weight:700;text-decoration:none;color:inherit;cursor:pointer}.menu-item:hover{background:var(--e-soft)}
.nav-toggle{display:none}
.app-frame{display:grid;grid-template-columns:232px minmax(0,1fr);gap:26px;align-items:start;padding:22px 0 40px}
.sidebar{position:sticky;top:calc(var(--ix-content-top) - 8px);display:grid;gap:16px;max-height:calc(100svh - var(--ix-frame-top) - var(--ix-frame-bottom) - var(--ix-content-top) - var(--ix-content-bottom));overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding-right:4px}
.nav-group{display:grid;gap:2px}.nav-label{font-size:10px;letter-spacing:.14em;font-weight:900;color:#8a8e89;text-transform:uppercase;padding:0 10px 4px}
.nav-group a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;text-decoration:none;color:#3f4440;font-size:14px;font-weight:650}.nav-group a:hover{background:rgba(17,20,18,.05)}
.nav-group a.is-active{background:#111;color:#fff}.nav-group a.is-active .ico{color:var(--e-lime)}
.sidebar-foot{display:grid;gap:6px;padding:12px 10px;border-top:1px solid var(--e-line)}.sidebar-foot a{font-size:12px;font-weight:800;text-decoration:underline;text-decoration-color:var(--e-lime);text-decoration-thickness:3px}
.plan-chip{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.plan-chip.premium{color:#111}.plan-chip.premium::before{content:"● ";color:#9fc400}

.app-main{min-width:0}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:6px 0 20px}.page-head h1{font-size:clamp(30px,3.6vw,48px);margin-top:8px}.page-head p{color:var(--e-muted);margin:8px 0 0;max-width:720px}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.stat{background:#fff;border:1px solid var(--e-line);border-radius:20px;padding:18px 18px 16px;display:grid;gap:4px}.stat span{font-size:12px;color:var(--e-muted);font-weight:700}.stat strong{font-size:30px;letter-spacing:-.05em;line-height:1.1}.stat small{font-size:12px;color:var(--e-muted)}.stat small a{color:inherit}
.stat.warn{border-color:#f1d48b;background:#fffaf0}.stat.bad{border-color:#f3c3bd;background:#fff7f6}
.setup-card .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.step{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--e-line);border-radius:14px;text-decoration:none;font-size:13px;font-weight:750}.step i{width:24px;height:24px;border-radius:50%;border:2px solid var(--e-line);display:grid;place-items:center;flex:0 0 auto}.step.done{background:var(--e-ok-bg);border-color:transparent;color:var(--e-ok)}.step.done i{background:var(--e-ok);border-color:var(--e-ok);color:#fff}.step i .ico{width:14px;height:14px}
.progress{width:160px;height:8px;border-radius:99px;background:var(--e-soft);overflow:hidden;align-self:center}.progress i{display:block;height:100%;background:var(--e-lime)}
.session-row{display:grid;grid-template-columns:54px minmax(0,1fr) 150px 18px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--e-line);text-decoration:none;color:inherit}.session-row:last-child{border:0}.session-row time{font-weight:900;font-size:15px}.session-row div{display:grid;gap:2px;min-width:0}.session-row small{color:var(--e-muted);font-size:12px}
.session-row.is-past{opacity:.55}.session-row.is-cancelled{opacity:.5;text-decoration:line-through}
.occ{display:grid;gap:5px;text-align:right}.occ span{font-size:12px;font-weight:800}.occ i{display:block;height:6px;border-radius:99px;background:var(--e-soft);overflow:hidden}.occ em{display:block;height:100%;background:#111;border-radius:99px}
.alert-row{display:grid;grid-template-columns:20px minmax(0,1fr) 18px;gap:12px;align-items:center;padding:12px;border-radius:14px;text-decoration:none;color:inherit;background:var(--e-soft);margin-bottom:6px}.alert-row span{display:grid;gap:2px}.alert-row small{color:var(--e-muted);font-size:12px}
.alert-row.warn{background:var(--e-warn-bg)}.alert-row.bad{background:var(--e-bad-bg)}
.wod-card{background:#111;color:#fff;border-radius:18px;padding:20px;display:grid;gap:10px}.wod-card h3{font-size:24px;color:#fff}.wod-card .ix-eyebrow{color:var(--e-lime)}
.wod-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.wod-level{font-size:11px;font-weight:850;background:var(--e-lime);color:#111;border-radius:999px;padding:6px 10px;white-space:nowrap}
.wod-sec{display:grid;gap:3px}.wod-sec span{font-size:10px;letter-spacing:.14em;font-weight:900;text-transform:uppercase;color:#8d918c}.wod-sec p{margin:0;color:#e9e9e4;line-height:1.5}
.wod-link{display:inline-flex;align-items:center;gap:4px;color:var(--e-lime);font-weight:800;text-decoration:none;font-size:13px}
.my-score{display:flex;align-items:center;gap:8px;margin:0;color:var(--e-lime)}.my-score .badge{background:#2a2a2a;color:#fff}
.wod-card .add-row input{background:#1d1d1d;border-color:#333;color:#fff}.wod-card .chip-check{color:#fff}
/* schedule */
.week-nav{display:flex;align-items:center;gap:6px}.month-label{font-weight:900;min-width:90px;text-align:center}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:10px}
.day-col{background:#fff;border:1px solid var(--e-line);border-radius:18px;padding:10px;display:grid;gap:6px;align-content:start;min-width:0}.day-col.is-today{border-color:#111;box-shadow:inset 0 0 0 1px #111}
.day-col header{display:flex;align-items:baseline;gap:6px;padding:2px 4px 6px}.day-col header span{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--e-muted)}.day-col header b{font-size:20px}
.slot{display:grid;gap:2px;padding:9px 10px;border-radius:12px;background:var(--e-soft);text-decoration:none;color:inherit;position:relative;min-width:0}.slot:hover{background:#e6e5de}
.slot time{font-size:12px;font-weight:900}.slot b{font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot small{font-size:11px;color:var(--e-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot em{position:absolute;top:8px;right:9px;font-style:normal;font-size:11px;font-weight:900}.occ-mini{display:block;height:4px;border-radius:99px;background:rgba(17,20,18,.1);overflow:hidden;margin-top:3px}.occ-mini i{display:block;height:100%;background:#111}
.slot.is-full{background:#111;color:#fff}.slot.is-full small{color:#aaa}.slot.is-full .occ-mini i{background:var(--e-lime)}.slot.is-full em{color:var(--e-lime)}
.slot.is-past{opacity:.5}.slot.is-cancelled{opacity:.45;text-decoration:line-through}
.tpl-head,.tpl-row{display:grid;grid-template-columns:118px 92px minmax(120px,1.4fr) 128px 70px 70px minmax(110px,1fr) auto auto;gap:6px;align-items:center}.tpl-head{font-size:11px;font-weight:900;color:var(--e-muted);text-transform:uppercase;letter-spacing:.06em;padding:0 2px 4px}.tpl-row{padding:6px 0;border-top:1px solid var(--e-line)}.tpl-row input,.tpl-row select{padding:8px 9px;font-size:13px}
.roster-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--e-line)}.roster-row:last-child{border:0}.roster-row a{display:grid;text-decoration:none;color:inherit;min-width:0}.roster-row small{color:var(--e-muted);font-size:12px}
.add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.add-row>input,.add-row>select{flex:1 1 180px}
.day-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 14px}
.day-pill{display:grid;justify-items:center;gap:2px;min-width:54px;padding:9px 6px;border-radius:14px;background:#fff;border:1px solid var(--e-line);text-decoration:none;color:inherit;position:relative}.day-pill span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--e-muted)}.day-pill b{font-size:18px}
.day-pill.is-today{border-color:#111}.day-pill.is-active{background:#111;color:#fff;border-color:#111}.day-pill.is-active span{color:var(--e-lime)}.day-pill i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:#9fc400}
/* whiteboard */
.board{list-style:none;margin:0;padding:0;display:grid;gap:4px}.board li{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;background:var(--e-soft)}.board li:first-child{background:#111;color:#fff}.board li:first-child .pos{color:var(--e-lime)}.board .pos{font-weight:900}.board .score{font-weight:900}.board li.me{outline:2px solid var(--e-lime)}
.board-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:10px 0 4px}
body.is-bare{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ix-ink);-webkit-font-smoothing:antialiased}.tv-body{background:#101010}.tv-board{min-height:100svh;padding:5svh 5vw;color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;background:#101010}.tv-board header h1{font-size:clamp(48px,6vw,96px);color:#fff;margin:10px 0}.tv-board header p{font-size:clamp(18px,2vw,28px);color:#d6d6d0}.tv-board .ix-eyebrow{color:var(--e-lime)}.tv-board .board li{font-size:clamp(16px,1.6vw,24px);background:#1d1d1d}.tv-board .board li:first-child{background:var(--e-lime);color:#111}.tv-board .board li:first-child .pos{color:#111}.tv-board .board-title{color:#aaa}
.tv-exit{position:fixed;right:24px;bottom:24px;color:#777;font-size:12px;text-decoration:none}
/* kiosk */
.kiosk{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;background:#101010;color:#fff;border-radius:28px;padding:28px;min-height:520px}
.kiosk-main{display:grid;gap:14px;align-content:center}.kiosk-main h1{color:#fff;font-size:clamp(34px,4vw,58px)}.kiosk-main p{color:#bdbdb8;margin:0}.kiosk-main .ix-eyebrow{color:var(--e-lime)}
.kiosk-form{display:flex;gap:10px;flex-wrap:wrap}.kiosk-form input{flex:1 1 240px;font-size:22px!important;padding:16px 18px!important;border-radius:16px!important;background:#1d1d1d!important;border-color:#333!important;color:#fff!important;letter-spacing:.04em}
.kiosk-scan{justify-self:start;background:#1d1d1d;border-color:#333;color:#fff}.kiosk video{width:100%;max-width:420px;border-radius:18px}
.kiosk-result{padding:20px;border-radius:20px;background:#1d1d1d;display:grid;gap:4px;animation:toastIn .25s ease}.kiosk-result b{font-size:28px;letter-spacing:-.04em}.kiosk-result.ok{background:var(--e-lime);color:#111}.kiosk-result.warn{background:#f5c34b;color:#111}.kiosk-result.error{background:#e5533e;color:#fff}
.kiosk-side{background:#1a1a1a;border-radius:20px;padding:18px;display:grid;gap:10px;align-content:start}.kiosk-side h3{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.kiosk-side ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.kiosk-side li{display:flex;align-items:center;gap:10px;font-size:14px}.kiosk-side li small{display:block;color:#999;font-size:11px}.kiosk-classes li{justify-content:space-between}.kiosk-classes time{font-weight:900;color:var(--e-lime)}.kiosk-classes em{font-style:normal;color:#999}.kiosk-recent .avatar{background:#2a2a2a}
.kiosk-body{background:#101010}.kiosk-page{min-height:100svh;padding:24px;display:grid}.kiosk.is-full{min-height:calc(100svh - 48px)}
/* tables */
.table-card{padding:0;gap:0;overflow:hidden}.table-card .card-head{padding:20px 20px 6px}
.thead,.tr{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(120px,1fr) minmax(140px,1.2fr) 120px 110px;gap:12px;align-items:center;padding:12px 20px}
.thead{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--e-muted);border-bottom:1px solid var(--e-line);background:#fbfbf8}
.tr{border-bottom:1px solid var(--e-line);text-decoration:none;color:inherit;font-size:13px}.tr:last-child{border:0}a.tr:hover{background:#fbfbf8}
.td{display:grid;gap:2px;min-width:0;overflow:hidden;text-overflow:ellipsis}.td small{color:var(--e-muted);font-size:11px}.td.name{display:flex;align-items:center;gap:10px}.td.name span{display:grid}.td.num{font-weight:800}
.thead.pay,.pay .tr{grid-template-columns:110px minmax(140px,1.2fr) minmax(140px,1.4fr) 140px 110px 80px}
.toolbar{display:grid;gap:10px;margin-bottom:12px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--e-line);border-radius:14px;padding:0 12px}.search input{border:0!important;box-shadow:none!important;padding:12px 0!important}
/* member */
.member-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}.member-head>div:nth-child(2){flex:1;min-width:220px}.member-head h1{font-size:clamp(30px,3.4vw,46px);margin:6px 0}.member-head p{margin:0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}.kv span{color:var(--e-muted)}
.action-box{border:1px solid var(--e-line);border-radius:16px;padding:0 14px}.action-box>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:13px 0;font-weight:800;font-size:14px}.action-box>summary::-webkit-details-marker{display:none}.action-box[open]{padding-bottom:14px}.action-box .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.qr-block{display:flex;align-items:center;gap:14px;margin:0}.qr{width:118px;height:118px;border-radius:14px;background:#fff;border:1px solid var(--e-line);padding:6px;flex:0 0 auto}.qr svg{display:block;width:100%;height:100%}.qr-block figcaption{display:grid;gap:3px}.qr-block figcaption b{font-size:20px;letter-spacing:.06em}.qr-block small{color:var(--e-muted);font-size:12px}
/* plans, store, team rows */
.plan-head,.plan-row{display:grid;grid-template-columns:minmax(140px,1.4fr) 160px 110px 76px 76px 92px 82px auto auto;gap:6px;align-items:center}.plan-head{font-size:11px;font-weight:900;color:var(--e-muted);text-transform:uppercase;letter-spacing:.06em}.plan-row{padding:6px 0;border-top:1px solid var(--e-line)}.plan-row input,.plan-row select{padding:8px 9px;font-size:13px}.plan-row.is-off{opacity:.55}
.prod-head,.prod-row{display:grid;grid-template-columns:minmax(140px,1.6fr) 120px 92px 92px 76px 76px auto auto;gap:6px;align-items:center}.prod-head{font-size:11px;font-weight:900;color:var(--e-muted);text-transform:uppercase}.prod-row{padding:6px 0;border-top:1px solid var(--e-line)}.prod-row input{padding:8px 9px;font-size:13px}.prod-row.is-off{opacity:.55}
.staff-row{display:grid;grid-template-columns:34px minmax(160px,1.3fr) 140px 140px auto auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--e-line)}.staff-row>span{display:grid;min-width:0}.staff-row small{color:var(--e-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}.staff-row select{padding:8px}.staff-row.is-off{opacity:.55}
.rate{display:flex;align-items:center;gap:6px}.rate input{width:96px;padding:8px}.payroll-total{margin:6px 0 0;font-size:14px}
.roles{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;margin:6px 0 0}.roles dt{font-weight:900}.roles dd{margin:0;color:var(--e-muted)}
.plan-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-tile{border:1px solid var(--e-line);border-radius:18px;padding:16px;display:grid;gap:6px;align-content:start}.plan-tile h3{font-size:26px}.plan-tile h3 small{font-size:12px;color:var(--e-muted)}.plan-tile p{margin:0;font-size:13px;color:var(--e-muted)}.plan-tile.is-current{border-color:#111;box-shadow:inset 0 0 0 1px #111}
.upgrade-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:16px;background:#111;color:#fff;margin-bottom:14px}.upgrade-box>div{flex:1;min-width:200px}.upgrade-box b{font-size:15px}.upgrade-box p{margin:2px 0 0;color:#bdbdb8;font-size:13px}.upgrade-box .ico{color:var(--e-lime);width:22px;height:22px}
/* charts */
.bars{display:flex;align-items:flex-end;gap:8px;height:200px;padding-top:24px}.bar{flex:1;display:grid;grid-template-rows:auto 1fr auto;align-items:end;justify-items:center;gap:6px;height:100%;min-width:0}.bar i{display:block;width:100%;max-width:56px;background:#111;border-radius:10px 10px 4px 4px;align-self:end}.bar:hover i{background:var(--e-lime)}.bar-val{font-size:11px;font-weight:800;white-space:nowrap}.bar-label{font-size:11px;color:var(--e-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* CRM */
.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:10px;overflow-x:auto;padding-bottom:10px}
.kanban-col{background:var(--e-soft);border-radius:18px;padding:10px;display:grid;gap:8px;align-content:start}.kanban-col header{display:flex;justify-content:space-between;align-items:center;padding:4px 6px}.kanban-col header em{font-style:normal;font-weight:900;color:var(--e-muted)}
.lead-card{background:#fff;border:1px solid var(--e-line);border-radius:14px;padding:12px;display:grid;gap:6px}.lead-card.is-due{border-color:#f1d48b;box-shadow:inset 3px 0 0 #f5c34b}.lead-card header{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}.lead-card p{margin:0;font-size:13px}.lead-card p .ico{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.lead-actions{display:flex;gap:6px;flex-wrap:wrap}.lead-more summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--e-muted)}.lead-more .form-stack{margin-top:8px}.lead-more select,.lead-more input,.lead-more textarea{padding:8px;font-size:12px}
.msg-row .ix-btn{min-height:38px}
.inv-row form input{width:150px;padding:8px}
/* receipt */
.receipt-body{background:#101010}.receipt{max-width:520px;margin:6svh auto;background:#fff;border-radius:24px;padding:30px;display:grid;gap:14px}.receipt h1{font-size:30px;margin:6px 0 0}.receipt header p{margin:2px 0 0;color:var(--e-muted)}.receipt dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}.receipt dt{color:var(--e-muted)}.receipt dd{margin:0;font-weight:700}.receipt-total{display:flex;justify-content:space-between;align-items:center;margin:0;padding:14px 0;border-top:2px solid #111;font-size:18px}.receipt-total b{font-size:26px}
@media print{.no-print,.ix-topbar,.ix-dock,.demo-bar,.toast-stack,.nav-sheet,.ix-auth-modal{display:none!important}#ix-edge-top,#ix-edge-bottom{display:none!important}html,body.ix-shell{position:static!important;height:auto!important;overflow:visible!important;background:#fff!important}.ix-viewport{position:static;height:auto;overflow:visible;clip-path:none;border-radius:0}.ix-scroller{position:static;overflow:visible;padding:0;-webkit-mask-image:none;mask-image:none}.receipt-body{background:#fff}.receipt{margin:0;box-shadow:none}}

/* ---------- athlete app ---------- */
.athlete-main{max-width:760px;margin:0 auto;padding:18px 0 8px;display:grid;gap:14px}
.athlete-hello{padding:10px 2px 4px}.athlete-hello h1{font-size:clamp(34px,6vw,52px);margin:6px 0 4px}.athlete-hello p{margin:0;color:var(--e-muted)}
.cred{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;background:#111;color:#fff;border-radius:24px;padding:20px}.cred .qr{background:#fff;border:0;width:132px;height:132px}.cred .qr-block figcaption{display:none}.cred-info{display:grid;gap:8px;justify-items:start}.cred-info h2{color:#fff}.cred-info p{margin:0;color:#cfcfca;font-size:14px}.cred-info .ix-eyebrow{color:var(--e-lime)}
.class-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--e-line);border-radius:18px;padding:14px}.class-card time{font-size:20px;font-weight:900}.class-card>div{display:grid;gap:2px;min-width:0}.class-card small{font-size:12px}.class-card.is-cancelled{opacity:.55}.class-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pr-card{appearance:none;text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid var(--e-line);border-radius:16px;padding:14px;display:grid;gap:3px;color:inherit}.pr-card span{font-size:12px;font-weight:800;color:var(--e-muted)}.pr-card b{font-size:22px;letter-spacing:-.04em}.pr-card small{font-size:11px;color:var(--e-muted)}.pr-card:hover,.pr-card.is-active{border-color:#111}
.pct-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.pct-table div{background:var(--e-soft);border-radius:12px;padding:10px;display:grid}.pct-table span{font-size:11px;font-weight:900;color:var(--e-muted)}.pct-table b{font-size:17px}
.ann{border-left:3px solid var(--e-line);padding:2px 0 2px 12px;display:grid;gap:3px}.ann.pinned{border-color:var(--e-lime)}.ann p{margin:0;font-size:14px}.ann small{color:var(--e-muted);font-size:11px}
.waiver-text{max-height:320px;overflow:auto;padding:14px;border-radius:14px;background:var(--e-soft);font-size:14px;line-height:1.6}
.athlete-tabs{display:flex!important}

/* ---------- mobile tab bar (staff + athlete) ---------- */
.ix-dock{color:#d6d6d0}.ix-dock .ico{width:20px;height:20px}.ix-dock a.is-active .ico,.ix-dock [aria-current="page"] .ico{color:var(--e-lime)}.ix-dock span{white-space:nowrap}
/* The staff dock is a phone surface (desktop has the sidebar): hidden and given no clearance above 760px. */
@media(min-width:761px){.app-dock{display:none}.ix-viewport:has(> .ix-dock.app-dock){--ix-dock-h:0px;--ix-occlude-bottom:0px}}
/* Staff menu sheet (phones): an overlay inside the window, clipped by the frame. */
.nav-sheet{visibility:hidden;pointer-events:none;transition:visibility 0s linear .32s}
body.nav-open .nav-sheet{visibility:visible;pointer-events:auto;transition:none}
.nav-scrim{position:absolute;inset:0;border:0;padding:0;margin:0;background:rgba(17,20,18,.42);opacity:0;transition:opacity .25s;cursor:default}
body.nav-open .nav-scrim{opacity:1}
.nav-panel{position:absolute;top:0;bottom:0;left:0;width:min(310px,86%);background:#fffefa;padding:calc(var(--ix-chrome-gap) + 16px) 14px 24px;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:16px;transform:translateX(-105%);transition:transform .32s cubic-bezier(.22,.8,.18,1);box-shadow:0 0 60px rgba(0,0,0,.22)}
body.nav-open .nav-panel{transform:none}
.nav-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 0 10px}.nav-panel-head b{font-size:15px}
.nav-panel nav{display:grid;gap:14px}
/* ---------- public: landing ---------- */
.lp-hero{padding:68px 0 60px;display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
.lp-copy>p{font-size:18px;max-width:640px;color:var(--e-muted);margin:22px 0 0}.lp-copy h1{max-width:780px;margin-top:14px}
.lp-copy h1 em,.ix-auth-story h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--e-lime) 64%)}
.cta-row{display:flex;gap:10px;margin:28px 0 18px;flex-wrap:wrap}.proof{display:flex;gap:18px;flex-wrap:wrap;color:var(--e-muted);font-size:12px}
.demo-window{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--e-line);border-radius:28px;padding:24px;box-shadow:0 26px 70px rgba(0,0,0,.08);transform:rotate(1.2deg);transition:transform .3s ease,box-shadow .3s ease}.demo-window:hover{transform:rotate(0deg) translateY(-3px);box-shadow:0 34px 90px rgba(0,0,0,.12)}
.demo-window-head{display:flex;align-items:center;gap:10px}.demo-window-head b{margin-right:auto}.demo-window-head span{color:var(--e-muted);font-size:12px}.demo-window-head i{font-style:normal;background:#eaf8ed;color:#23713a;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}
.demo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.demo-kpis div{background:var(--e-soft);border-radius:16px;padding:14px}.demo-kpis span{display:block;color:var(--e-muted);font-size:11px}.demo-kpis strong{display:block;font-size:23px;margin-top:6px;letter-spacing:-.04em}
.demo-list .row{padding:10px 0;font-size:13px}
.logo-strip{background:#111;color:#b7b7b2;border-radius:999px;padding:14px 24px;display:flex;justify-content:space-between;gap:20px;overflow:auto;font-weight:750;font-size:13px;white-space:nowrap}
.lp-section{padding:84px 0}.section-intro{max-width:760px;margin-bottom:34px}.section-intro h2,.section-intro h1{font-size:clamp(32px,3.6vw,48px);margin:12px 0 14px}.section-intro p{font-size:18px;color:var(--e-muted)}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--e-line);border-radius:26px;overflow:hidden;background:var(--e-line)}
.feature{background:#fff;padding:24px;min-height:210px;display:grid;gap:10px;align-content:start}.feature h3{font-size:19px;margin-top:10px}.feature p{color:var(--e-muted);margin:0;font-size:14px}.feature .ico.big{color:#111;background:var(--e-lime);border-radius:12px;padding:5px;width:40px;height:40px}
.crossfit-board{background:#111;color:#fff;border-radius:26px;padding:10px 24px;margin-bottom:14px}.wod-row{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #2a2a2a}.wod-row:last-child{border:0}.wod-row span{color:#9d9d98;font-size:12px}.wod-row strong{color:var(--e-lime)}
.benchmark-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.benchmark-grid article{background:#fff;border:1px solid var(--e-line);border-radius:20px;padding:22px}.benchmark-grid strong{display:block;font-size:34px;letter-spacing:-.05em}.benchmark-grid span{color:var(--e-muted);font-size:12px}
.roles-section{background:#111;color:#fff;border-radius:34px;padding:64px 48px}.roles-section .section-intro h2{color:#fff}.roles-section .ix-eyebrow{color:var(--e-lime)}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343434;border:1px solid #343434;border-radius:22px;overflow:hidden}.role-grid article{background:#111;padding:30px}.role-grid b{font-size:20px;display:block;margin-bottom:8px}.role-grid p{color:#aaa;margin:0}
.compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--e-line);border-radius:22px;overflow:hidden;font-size:14px}.compare th,.compare td{padding:14px 16px;border-bottom:1px solid var(--e-line);text-align:left}.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}.compare thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--e-muted)}.compare .us{background:#111;color:var(--e-lime);font-weight:900}.compare thead .us{color:var(--e-lime)}.compare tbody th{font-weight:700}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}
.price{background:#fff;border:1px solid var(--e-line);border-radius:26px;padding:26px;display:flex;flex-direction:column;gap:6px}.price.featured{border-color:#111;box-shadow:0 22px 60px rgba(0,0,0,.08)}
.price .plan{font-weight:850;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#5b5f5a}.price.featured .plan{color:#111;background:var(--e-lime);padding:5px 8px;border-radius:999px;width:max-content}
.price h3{font-size:36px;letter-spacing:-.05em;margin:18px 0 4px}.price h3 small{font-size:13px;color:var(--e-muted);letter-spacing:0}.price>p{color:var(--e-muted);min-height:42px;margin:0}.price ul{padding-left:18px;line-height:1.9;color:#42423f;flex:1;margin:8px 0 18px;font-size:14px}
.faq-list{display:grid;gap:8px;max-width:860px}.faq-list details{background:#fff;border:1px solid var(--e-line);border-radius:16px;padding:0 18px}.faq-list summary{cursor:pointer;padding:16px 0;font-weight:800}.faq-list p{margin:0 0 16px;color:var(--e-muted)}
.final-cta{background:var(--e-lime);color:#101010;border-radius:34px;padding:64px;text-align:center;margin-bottom:40px}.final-cta h2{font-size:clamp(30px,3.6vw,46px);margin:12px 0 18px}.final-cta p{color:#4a4d2c}.final-cta .ix-btn{background:#111;color:#fff}
/* demo home */
.demo-home{padding:56px 0 60px}.demo-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.demo-card{background:#fff;border:1px solid var(--e-line);border-radius:24px;padding:22px;display:grid;gap:10px;align-content:start;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.demo-card:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(0,0,0,.08)}.demo-card .ico.big{background:#111;color:var(--e-lime);border-radius:14px;padding:8px;width:46px;height:46px}.demo-card p{margin:0;color:var(--e-muted);font-size:14px}.demo-card .ix-btn{justify-self:start;margin-top:6px}
/* public box page */
.pub{padding:24px 0 60px;display:grid;gap:16px}
.pub-hero{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:#111;color:#fff;border-radius:30px;padding:36px}.pub-hero h1{color:#fff;font-size:clamp(40px,6vw,74px);margin:8px 0 10px}.pub-hero p{color:#cfcfca;max-width:680px}.pub-hero .ix-eyebrow{color:var(--e-lime)}.pub-hero .ix-btn-ghost{background:#2a2a2a;color:#fff}
.pub-logo{width:110px;height:110px;border-radius:30px;object-fit:cover;background:#1d1d1d}
.pub-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:start}
.pub-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.pub-day{background:var(--e-soft);border-radius:14px;padding:12px;display:grid;gap:6px;align-content:start}.pub-day ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.pub-day time{font-weight:900;margin-right:6px}
.trial-card{border-color:#111;box-shadow:0 22px 60px rgba(0,0,0,.08)}.trial-done{display:grid;gap:10px;justify-items:start}
.pub-plans h2{margin:8px 0 14px}.powered{text-align:center;font-size:12px;color:var(--e-muted)}.powered a{font-weight:800}
/* auth, onboarding */






.ix-auth-story ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:9px;color:#4b514d;font-size:14px}

.setup{padding:56px 0 90px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.setup h1{margin:12px 0 18px}.setup-steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.setup-steps span{border:1px solid var(--e-line);background:#fff;border-radius:999px;padding:9px 13px;font-size:12px;display:inline-flex;gap:8px;align-items:center}.setup-steps b{background:#111;color:var(--e-lime);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:11px}
.setup-form{display:grid;gap:12px}.setup-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#4d534e}
/* platform */
.platform{padding:20px 0 50px}.gym-table{width:100%;border-collapse:collapse;font-size:13px}.gym-table th,.gym-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--e-line);vertical-align:middle}.gym-table th{font-size:11px;color:var(--e-muted);letter-spacing:.08em;text-transform:uppercase}.gym-table td.actions{display:flex;gap:6px;flex-wrap:wrap}.gym-table form{display:inline-flex;gap:6px;align-items:center}.gym-table select{width:auto;padding:8px 10px}
/* BillingCentral payment panel */
.payment-gateway-zone{display:grid;gap:10px}.payment-gateway-zone .subhead{display:grid;gap:3px}.payment-gateway-zone .subhead span{font-size:12px;color:var(--e-muted)}
.gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gateway-card{border:1px solid var(--e-line);border-radius:14px;padding:12px;display:grid;gap:8px;background:#fbfbf8}.gateway-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.gateway-card p{margin:0;font-size:12px}
.gateway-state{font-size:10px;font-weight:850;color:var(--e-muted)}.gateway-state.on{color:var(--e-ok)}
.payment-link-maker{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;padding:12px;border:1px solid var(--e-line);border-radius:14px}.payment-link-maker .notice{grid-column:1/-1}
.gateway-recents{display:grid;gap:6px}.gateway-recent{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--e-line)}.gateway-recent div{display:grid;gap:2px}.gateway-recent small{font-size:10px;color:var(--e-muted)}

/* ---------- responsive ---------- */
@media(max-width:1180px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl-head{display:none}.tpl-row{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-head,.prod-head{display:none}.plan-row,.prod-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){
  .app-frame{grid-template-columns:1fr;padding-top:14px}
  .sidebar{display:none}
  .nav-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--e-line);background:#fff}
  .account-meta,.topbar-cta span{display:none}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-2.wide-left,.grid-3{grid-template-columns:1fr}
  .feature-grid,.pricing-grid,.role-grid,.benchmark-grid{grid-template-columns:1fr 1fr}.lp-hero{grid-template-columns:1fr;gap:34px}.pub-grid{grid-template-columns:1fr}
  .kiosk{grid-template-columns:1fr}.tv-board{grid-template-columns:1fr}
  .thead{display:none}.tr{grid-template-columns:1fr auto;gap:4px 10px}.tr .td:nth-child(2),.tr .td:nth-child(5){display:none}.pay .tr .td:nth-child(2){display:grid}
  .setup-card .steps{grid-template-columns:1fr 1fr}.plan-tiles{grid-template-columns:1fr}.gateway-grid{grid-template-columns:1fr}.payment-link-maker{grid-template-columns:1fr}
  .staff-row{grid-template-columns:34px minmax(0,1fr) auto}.staff-row>*:nth-child(n+4){grid-column:2/-1}
}
@media(max-width:760px){
  .nav-toggle{display:none}
  .form-grid,.action-box .form-grid{grid-template-columns:1fr}
  .lp-section{padding:56px 0}.lp-copy>p{font-size:16px}.cta-row .ix-btn{flex:1 1 100%}.demo-window{transform:none}
  .feature-grid,.pricing-grid,.role-grid,.benchmark-grid,.demo-cards{grid-template-columns:1fr}.roles-section{padding:40px 22px;border-radius:26px}.final-cta{padding:44px 22px;border-radius:26px}.logo-strip{border-radius:22px;justify-content:flex-start}
  .setup{grid-template-columns:1fr;padding:34px 0 70px;gap:26px}
  .week-grid{grid-template-columns:1fr}.day-col{grid-template-columns:1fr}.tpl-row,.plan-row,.prod-row{grid-template-columns:1fr 1fr}
  .session-row{grid-template-columns:48px minmax(0,1fr) 18px}.session-row .occ{display:none}
  .page-head{align-items:flex-start}.page-actions{width:100%}
  .cred{grid-template-columns:1fr;justify-items:center;text-align:center}.cred-info{justify-items:center}
  .class-card{grid-template-columns:52px minmax(0,1fr)}.class-actions{grid-column:1/-1;justify-content:flex-start}
  .pub-hero{grid-template-columns:1fr;padding:26px;border-radius:24px}.pub-logo{width:80px;height:80px;border-radius:22px}
  .nav-demo,.ix-nav-actions .chip-box{display:none}.ix-nav-actions{margin-left:auto}.ix-nav-actions .ix-btn{white-space:nowrap;font-size:12px}.ix-nav-actions .ix-nav-login{padding:0 6px;white-space:nowrap}
  .demo-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'tag cta' 'nav nav';align-items:center;gap:8px;padding:8px;border-radius:14px}.demo-bar .demo-tag{grid-area:tag;display:flex;align-items:center;min-width:0;padding-left:4px;font-size:12px;white-space:nowrap}.demo-bar .demo-tag b{flex:0 0 auto;line-height:1.4}.demo-bar>.ix-btn{grid-area:cta}
  .demo-bar .ix-btn{min-height:34px;padding:0 12px;font-size:12px;border-radius:10px;white-space:nowrap}
  .demo-bar nav{grid-area:nav;order:0;width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:0;padding:3px;background:#1f1f1f;border-radius:11px}
  .demo-bar nav a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 4px;font-size:12px;border-radius:8px;white-space:nowrap;text-align:center}.demo-bar nav a.is-active{background:var(--e-lime);color:#111}
  .demo-bar .demo-long{display:none}.demo-bar .demo-short{display:inline}
  .lbl-long{display:none}.lbl-short{display:inline}
  .kiosk{padding:20px;border-radius:22px}
}
@media(max-width:430px){.stat-grid{grid-template-columns:1fr 1fr}.stat strong{font-size:24px}.compare{font-size:12px}}
@media(prefers-reduced-motion:reduce){.demo-window,.demo-card,.sidebar{transition:none!important}}
/* team: role matrix */
.role-matrix{width:100%;border-collapse:collapse;font-size:13px}.role-matrix th,.role-matrix td{padding:9px 10px;border-bottom:1px solid var(--e-line);text-align:center}.role-matrix tbody th{text-align:left;font-weight:650}.role-matrix thead th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--e-muted)}.role-matrix .yes{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--e-lime);color:#111}.role-matrix .yes .ico{width:15px;height:15px}.role-matrix .no{color:#b9bcb7}
/* Own domain card (Configuración · Dominio propio) */
.domain-card{display:grid;gap:12px}.domain-card h2{margin:0}.domain-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.domain-host{font-size:clamp(20px,4vw,26px);word-break:break-all}.domain-card .kv{margin:0}.domain-card .notice{margin:0}.domain-card .notice .ix-btn{margin-top:10px}
.domain-ctas{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.domain-ctas form{margin:0}.domain-ctas [aria-busy=true]{opacity:.6;pointer-events:none}
.domain-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14px}.domain-records{width:100%;border-collapse:collapse;font-size:13px}
.domain-records th,.domain-records td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--e-line,#e6e6e1);vertical-align:top}.domain-records code{word-break:break-all;font-size:12px}
.danger-text{color:var(--e-bad)!important}
