.portal{--portal-line:#353535;--portal-muted:#b0b0b0;background:#050505;color:#f5f5f5;min-height:100vh;font-size:16px;line-height:1.65}.portal *{box-sizing:border-box}.portal a{color:inherit}.portal a:hover{color:#f8ef22}.portal :focus-visible{outline:2px solid #f8ef22;outline-offset:4px}.portal .portal-header{height:auto;min-height:94px;padding:12px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--portal-line);background:#050505}.portal .portal-brand img{width:100px;height:70px;object-fit:contain}.portal .portal-header nav{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end;font-size:14px}.portal .portal-header nav a{display:block!important;padding:8px 0}.portal .portal-page{max-width:1500px;margin:auto;padding:45px 5% 65px}.portal h1{font:600 clamp(32px,4vw,52px)/1.18 'Segoe UI',Arial,sans-serif;letter-spacing:-1.5px;margin:0 0 15px}.portal h2{font:600 27px/1.3 'Segoe UI',Arial,sans-serif;letter-spacing:-.5px;margin:0 0 18px}.portal h3{font:600 21px/1.35 'Segoe UI',Arial,sans-serif;letter-spacing:-.3px;margin:18px 0 12px}.portal .portal-kicker{font-size:12px;letter-spacing:.1em;color:#c3bf7a;margin:0 0 16px}.portal .portal-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;margin-bottom:28px}.portal .portal-muted{color:var(--portal-muted);font-size:14px;line-height:1.8}.portal .portal-muted a{text-decoration:underline;text-underline-offset:3px}.portal .portal-alert{padding:16px 20px;background:#191b0c;border:1px solid #55562b;border-radius:5px;margin:20px 0;line-height:1.7;overflow-wrap:anywhere}.portal .portal-alert.error{background:#251313;border-color:#744040;color:#ffd6d6}.portal .portal-button,.portal .portal-actions button{display:inline-flex;justify-content:center;align-items:center;gap:12px;font:600 14px/1.5 'Segoe UI',Arial,sans-serif;min-height:44px;padding:12px 18px;border:1px solid #f8ef22;border-radius:5px;background:#f8ef22;color:#101010;text-decoration:none;cursor:pointer}.portal .portal-button.secondary,.portal .portal-actions button{background:#141414;color:#eee;border-color:#555}.portal button:disabled{opacity:.5;cursor:not-allowed}.portal .portal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.portal label{display:block;font-size:14px;line-height:1.6;margin:16px 0;color:#eee}.portal input,.portal textarea,.portal select{display:block;width:100%;max-width:100%;font:16px/1.5 'Segoe UI',Arial,sans-serif;color:#eee;background:#111;border:1px solid #555;padding:12px;border-radius:4px;margin-top:6px;min-height:46px;color-scheme:dark}.portal textarea{min-height:100px;resize:vertical}.portal .portal-check{display:flex;align-items:flex-start;gap:12px;padding:10px 0}.portal .portal-check input{display:inline-block;flex:0 0 20px;width:20px;min-height:20px;height:20px;margin:3px 0 0;accent-color:#f8ef22}.portal input[type=hidden]{display:none}.portal .portal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 18px}.portal .portal-auth-card{max-width:650px;padding:28px;border:1px solid var(--portal-line);background:#0d0d0d;border-radius:7px}.portal .portal-summary{display:flex;align-items:center;gap:12px 25px;flex-wrap:wrap;font-size:14px;color:#bebebe;margin:10px 0 25px;overflow-wrap:anywhere}.portal .portal-status{display:inline-block;padding:5px 10px;border:1px solid #646134;background:#19190d;color:#f0e989;font-size:14px;border-radius:4px}.portal .portal-empty{padding:28px;background:#0c0c0c;border:1px solid #333;color:#c3c3c3;line-height:1.8}.portal .portal-calendar{border:1px solid #333;border-radius:6px;overflow:hidden;margin:24px 0}.portal .portal-calendar-toolbar{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.portal .portal-calendar-toolbar h2{margin:0;font-size:24px}.portal .portal-calendar>.portal-muted{padding:0 22px 15px;margin:0}.portal .portal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.portal .portal-weekday{font-size:12px;text-align:center;padding:12px 0;background:#111;border-block:1px solid #333;color:#bbb}.portal .portal-day{min-width:0;min-height:135px;border-right:1px solid #292929;border-bottom:1px solid #292929;padding:8px 5px}.portal .portal-day:nth-child(7n){border-right:0}.portal .portal-day.outside{background:#020202}.portal .portal-day.selected{box-shadow:inset 0 0 0 1px #b7b039;background:#12120a}.portal .portal-date{min-width:32px;min-height:32px;padding:5px;border:0;background:transparent;color:#ddd;border-radius:3px;font-size:14px}.portal .portal-date.today{background:#f8ef22;color:#111}.portal .portal-mobile-count{display:none}.portal .workout-chip{display:block;width:100%;text-align:left;background:#181818;border:1px solid #383838;border-left:2px solid #f8ef22;border-radius:3px;padding:9px;margin-top:8px;color:#eee;line-height:1.5;overflow-wrap:anywhere}.portal .workout-chip span{display:block;font-size:12px;color:#b4b4b4}.portal .workout-chip strong{display:block;font-size:14px;font-weight:600;margin:5px 0}.portal .workout-chip.cancelled{border-left-color:#777;opacity:.65}.portal .portal-agenda{padding:22px;display:grid;gap:6px}.portal .portal-agenda h3{margin:0 0 10px}.portal .portal-agenda .workout-chip{padding:15px}.portal .portal-calendar>.portal-empty{border:0;border-top:1px solid #333}.portal .portal-dialog{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100vw - 30px));max-width:none;max-height:92vh;overflow:auto;padding:28px;background:#101010;color:#eee;border:1px solid #555;border-radius:8px;box-shadow:0 25px 100px #0008}.portal .portal-dialog::backdrop{background:#000c}.portal .portal-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#aaa;border-bottom:1px solid #3a3a3a;padding-bottom:18px;margin-bottom:22px}.portal .portal-dialog-top button{border:1px solid #555;background:#161616;color:white;border-radius:4px;min-height:40px;padding:8px 14px}.portal .preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.portal .exercise-cards,.portal .hyrox-blocks{list-style:none;padding:0;margin:20px 0;display:grid;gap:18px}.portal .exercise-cards>li{border:1px solid #3d3d3d;border-radius:5px;padding:20px;background:#141414}.portal .exercise-cards h3{margin-top:0}.portal .exercise-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:15px 0}.portal .exercise-facts dt{color:#aaa;font-size:12px}.portal .exercise-facts dd{font-size:16px;margin:5px 0;overflow-wrap:anywhere}.portal .hyrox-format{display:flex;gap:20px;flex-wrap:wrap;padding:20px;background:#252511;border-left:3px solid #f8ef22;margin:20px 0}.portal .hyrox-blocks>li{border:1px solid #3f3f3f;border-left:3px solid #e3dc29;padding:22px;border-radius:4px;background:#19190e}.portal .hyrox-blocks>.block-station{border-left-color:#ababab;background:#151515}.portal .hyrox-blocks>.block-rest{border-left-color:#616c78;background:#10151a}.portal .block-number{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#c0bf9e}.portal .hyrox-blocks h3{margin:8px 0}.portal .block-facts{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:16px}.portal .portal-results,.portal .portal-reply{border-top:1px solid #444;padding-top:20px;margin-top:28px}.portal .portal-reply{padding:22px;background:#17190c;border:1px solid #53552d}.portal .owner-coaching-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px}.portal .portal-sidebar{border-right:1px solid #333;padding-right:22px;min-width:0}.portal .portal-sidebar h2{font-size:23px;margin-top:25px}.portal .portal-request{padding:18px 0;border-top:1px solid #3d3d3d;overflow-wrap:anywhere}.portal .portal-request h3{font-size:18px}.portal .portal-request p{font-size:14px;color:#bbb}.portal .portal-owner-panel{border:1px solid #444;border-radius:5px;padding:20px;margin:22px 0}.portal .portal-owner-panel>summary{font-weight:600;cursor:pointer;font-size:17px;min-height:32px}.portal .portal-private-link{padding:20px;margin:25px 0;background:#1a1b0d;border:1px solid #62632f;overflow-wrap:anywhere}.portal .portal-record{padding:15px 0;border-bottom:1px solid #333;overflow-wrap:anywhere;line-height:1.7;font-size:14px}.portal .portal-record p{margin:6px 0}.portal .portal-record small{font-size:12px;color:#aaa}.portal .portal-owner-workouts{margin-top:38px}.portal .portal-client-workspace{min-width:0}.portal .portal-row-editor{margin:20px 0;padding:20px;border:1px solid #555;border-radius:5px;min-width:0;background:#151515}.portal .portal-row-editor legend{font-size:16px;color:#f1eb7d;padding:0 8px}.portal .hyrox-builder-head{padding:20px;background:#24240f;border-left:3px solid #f8ef22;margin:25px 0}.portal .hyrox-builder .portal-row-editor{border-left:3px solid #c2ba39}.portal .portal-sticky-actions{position:sticky;bottom:-28px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#111;padding:18px 0;border-top:1px solid #555;z-index:1;margin-top:30px}.portal .portal-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #333;padding:25px 5%;font-size:14px;background:#080808}.portal .portal-footer a{overflow-wrap:anywhere}.portal .portal-owner-panel form{margin-top:18px}
@media(max-width:1100px){.portal .owner-coaching-grid{grid-template-columns:1fr}.portal .portal-sidebar{border-right:0;padding-right:0}.portal .portal-sidebar select{max-width:650px}.portal .portal-request{display:inline-block;vertical-align:top;width:min(100%,360px);margin-right:20px;padding-right:10px}.portal .portal-page{padding-inline:4%}}
@media(max-width:800px){.portal .portal-desktop-workouts{display:none}.portal .portal-mobile-count{display:block;font-size:12px;line-height:1.4;margin-top:4px;white-space:normal}.portal .portal-day{min-height:74px;padding:5px 2px}.portal .portal-date{width:100%;font-size:14px}.portal .portal-dialog{padding:20px;width:calc(100vw - 20px);max-height:95vh}.portal .portal-sticky-actions{bottom:-20px}.portal .portal-calendar-toolbar{padding:16px}.portal .portal-calendar>.portal-muted{padding:0 16px 15px}.portal .portal-summary{display:grid;gap:9px}}
@media(max-width:600px){.portal .portal-header{align-items:flex-start;gap:14px;padding-inline:5%}.portal .portal-header nav{gap:6px 15px;justify-content:flex-start;font-size:14px;flex-direction:column}.portal .portal-header nav a{padding:2px 0}.portal .portal-brand img{width:85px}.portal .portal-form-grid{grid-template-columns:1fr}.portal .exercise-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.portal .portal-auth-card,.portal .portal-empty{padding:20px}.portal .portal-agenda{padding:16px}.portal .portal-actions button{padding:9px 12px;font-size:14px}.portal .portal-footer{flex-direction:column}.portal .portal-row-editor{padding:15px}.portal .portal-button{max-width:100%;white-space:normal}.portal .portal-owner-panel{padding:16px}.portal .portal-heading{gap:12px}.portal .portal-private-link{padding:15px}.portal .portal-calendar-toolbar h2{font-size:22px}}
.portal .portal-check input{padding:0;min-width:20px;max-width:20px}
/* One native modal owns focus. Discard confirmation stays inside that modal. */
.portal .portal-discard{padding:22px;border:1px solid #79732f;background:#1a190d;margin:0 0 24px}.portal .portal-discard h2{font-size:24px}.portal .workout-board{background:#050505;padding:24px clamp(16px,4vw,38px);border-left:2px solid #444;margin:24px 0;min-width:0}.portal .workout-board ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}.portal .workout-board li{font:700 clamp(18px,2.3vw,27px)/1.45 'Segoe UI',Arial,sans-serif;color:#f7f7f7;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:.015em}.portal .workout-board li.board-rest{color:#f8ef22}.portal .workout-board .board-rounds{font:700 clamp(18px,2.3vw,26px)/1.5 'Segoe UI',Arial,sans-serif;color:#f8ef22;border-top:1px solid #3d3b1e;padding-top:18px;margin:24px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.portal .board-line-fields{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px}.portal .board-preview{margin-top:28px;border:1px solid #444;padding:18px}.portal .board-preview>h3{font-size:16px;color:#bbb;margin-top:0}.portal .board-preview .workout-board{margin-bottom:0}.portal .board-builder .portal-row-editor{padding:14px}.portal .board-builder .portal-actions button{min-height:38px;padding:6px 12px}@media(max-width:600px){.portal .board-line-fields{grid-template-columns:1fr;gap:0}.portal .workout-board{padding:20px 14px}.portal .board-preview{padding:12px}}
.portal .library-tabs{margin:30px 0}.portal .library-tabs button[aria-pressed=true]{color:#f8ef22;border-color:#f8ef22}.portal .library-filters{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:25px 0}.portal .library-filters>label{flex:1;min-width:200px}.portal .library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:22px}.portal .library-card{padding:24px;background:#111;border:1px solid #3d3d3d;border-radius:6px;min-width:0;overflow-wrap:anywhere}.portal .library-card h2{font-size:25px}.portal .library-cues{font-size:14px;color:#bcbcbc}.portal .exercise-choice{border-top:1px solid #444;margin-top:18px;padding-top:5px;font-size:14px}.portal .demo-action{display:inline-block;border:1px solid #696533;border-radius:3px;background:#202013;color:#f8ef22;font:600 13px/1.5 'Segoe UI',Arial,sans-serif;letter-spacing:0;padding:5px 10px;margin:6px 0 6px 12px;vertical-align:middle;cursor:pointer;white-space:normal}.portal .workout-board li .demo-action{font-size:12px}.portal .demo-player video{display:block;width:100%;max-height:65vh;background:#000}.portal .demo-player iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid #444}.portal .demo-player{margin:20px 0;overflow-wrap:anywhere}.portal .assignment-clients{max-height:300px;overflow:auto;border:1px solid #555;padding:15px}.portal .assignment-preview{list-style:none;margin:20px 0;padding:0;max-height:45vh;overflow:auto}.portal .assignment-preview li{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid #444;padding:12px 0}.portal progress{display:block;width:100%;accent-color:#f8ef22;margin:12px 0}.portal .template-preview .workout-view>.portal-status{display:none}@media(max-width:600px){.portal .library-filters{gap:0}.portal .demo-action{margin-left:0;margin-top:8px}.portal .workout-board li .demo-action{display:table}.portal .assignment-preview li{display:grid;gap:5px}}
