:root{color-scheme:dark;--bg:#000000;--panel:#0b0b0b;--muted:#9a9a9a;--text:#f4f4f4;--line:#242424;--yellow:#fffb00;--yellow-dark:#d8d400;--danger:#ff6b5f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1040px,100%);margin:0 auto;padding:18px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:rgba(9,9,9,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav{display:flex;gap:10px;justify-content:space-between}.brand,.nav{align-items:center}.brand{display:inline-flex;line-height:0}.brand-mark{display:grid;place-items:center;inline-size:150px;block-size:60px;padding:0}.brand-mark img{display:block;inline-size:100%;block-size:100%;object-fit:contain}.navlinks{display:flex;flex-wrap:wrap;gap:8px}.link-button,.navlinks a{border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#101010;color:var(--text)}.link-button{cursor:pointer}.mobile-menu{display:none;margin-left:auto;position:relative}.hamburger-button{display:grid;grid-gap:5px;gap:5px;place-content:center;border:1px solid var(--line);border-radius:8px;inline-size:44px;block-size:40px;background:#101010;cursor:pointer}.hamburger-button span{display:block;inline-size:20px;block-size:2px;border-radius:999px;background:var(--yellow)}.mobile-menu-panel{position:absolute;top:calc(100% + 8px);right:0;display:grid;grid-gap:8px;gap:8px;min-width:220px;border:1px solid var(--line);border-radius:8px;background:#101010;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.38)}.mobile-menu-panel .link-button,.mobile-menu-panel a{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#151515;color:var(--text);padding:12px;text-align:left}.hero{min-height:calc(100dvh - 80px);display:grid;align-items:center}.auth-logo{display:grid;place-items:center;inline-size:230px;block-size:92px;padding:0;object-fit:contain;margin:0 auto 12px}.auth-logo img{display:block;inline-size:100%;block-size:100%;object-fit:contain}.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:18px}.grid{display:grid;grid-gap:14px;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:8px;background:#121212;padding:15px}.form-error{border:1px solid rgba(255,107,95,.45);border-radius:8px;background:rgba(255,107,95,.1);color:#ffb7b0;margin:0;padding:11px 12px}.dashboard-head{gap:14px}.dashboard-head,.row{display:flex;align-items:center;justify-content:space-between}.row{gap:12px}.row.compact{justify-content:flex-start}.booking-action-row,.booking-card-head,.manual-booking-form,.session-detail-head,.session-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.session-detail-head,.session-overview{align-items:center}.session-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;flex:1 1}.session-summary div{border:1px solid var(--line);border-radius:8px;background:#101010;padding:11px}.session-summary span{display:block;color:var(--muted);font-size:12px}.session-summary strong{display:block;margin-top:4px;font-size:22px}.manual-booking-form .label{flex:1 1}.booking-card{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#121212;padding:14px}.booking-card-head{align-items:center}.booking-card-head p{margin:4px 0 0;overflow-wrap:anywhere}.booking-action-row .select{flex:1 1}.attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.attendance-button{width:100%;padding-inline:8px}.attendance-button.active{border-color:var(--yellow)!important;background:var(--yellow)!important;color:#090909!important;box-shadow:inset 0 0 0 2px #090909}.attendance-button.active[data-status=ABSENT]{border-color:var(--danger)!important;background:var(--danger)!important;color:#100!important}.stack{display:grid;grid-gap:12px;gap:12px}.muted{color:var(--muted)}.title{margin:0 0 6px;font-size:28px}.section-title{margin:0 0 12px;font-size:20px}.label{display:grid;grid-gap:7px;gap:7px;color:var(--muted)}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#080808;color:var(--text);padding:12px}.textarea{min-height:96px;resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:12px 14px;background:var(--yellow);color:#0a0a0a;font-weight:800;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.58}.button-spinner{inline-size:14px;block-size:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .75s linear infinite}.pending-link-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;color:var(--yellow);font-weight:800}@keyframes spin{to{transform:rotate(1turn)}}.button.secondary{border:1px solid var(--line);background:#101010;color:var(--text)}.button.danger{background:var(--danger);color:#100}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#272000;color:var(--yellow);font-size:13px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:7px;gap:7px;width:100%}.calendar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.calendar-copy{min-width:0}.month-switcher{display:grid;grid-template-columns:38px minmax(112px,max-content) 38px;align-items:center;grid-gap:8px;gap:8px;white-space:nowrap}.month-switcher strong{text-align:center;text-transform:capitalize}.icon-button{display:grid;place-items:center;inline-size:38px;block-size:38px;color:var(--yellow);cursor:pointer;font-size:28px;font-weight:800;line-height:1}.icon-button,.segmented{border:1px solid var(--line);border-radius:8px;background:#101010}.segmented{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(260px,100%);padding:4px}.segmented button{border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800;padding:9px 12px}.segmented button.active{background:var(--yellow);color:#090909}.calendar-heading{color:var(--muted);font-size:13px;text-align:center}.calendar-day{display:grid;grid-gap:2px;gap:2px;place-items:center;min-height:clamp(58px,4.2vw,82px);border:1px solid var(--line);border-radius:8px;background:#101010;color:var(--text);cursor:pointer;font-weight:800}.day-load{display:grid;grid-gap:3px;gap:3px;width:min(34px,80%)}.day-load small{justify-self:center;border-radius:999px;background:#2d2600;color:var(--yellow);font-size:11px;min-width:20px;padding:2px 5px}.day-load-track{overflow:hidden;border-radius:999px;block-size:4px;background:#2d2d2d}.day-load-fill{display:block;block-size:100%;border-radius:inherit;background:var(--yellow)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;overflow-x:visible;padding-bottom:4px}.week-day{display:grid;align-content:space-between;grid-gap:8px;gap:8px;min-height:126px;border:1px solid var(--line);border-radius:8px;background:#101010;color:var(--text);cursor:pointer;padding:11px;text-align:left}.week-day:disabled{cursor:not-allowed;opacity:.42}.week-day.selected{border-color:var(--yellow);background:var(--yellow);color:#090909}.week-day.today{border-color:rgba(255,251,0,.7)}.week-day.today:after{content:"dnes";justify-self:start;border-radius:999px;background:#2d2600;color:var(--yellow);font-size:11px;font-weight:800;padding:2px 7px}.week-day.selected.today:after{background:#090909;color:var(--yellow)}.week-day-name{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.week-day.selected .week-day-name{color:#332b00}.week-day strong{font-size:28px;line-height:1}.week-day-count{font-size:13px;font-weight:800}.week-day-capacity{min-height:18px;color:var(--muted);font-size:13px}.week-day.selected .week-day-capacity{color:#332b00}.week-load-track{overflow:hidden;border-radius:999px;block-size:8px;background:#2d2d2d}.week-day.selected .week-load-track{background:rgba(9,9,9,.32)}.week-day.selected .day-load-fill{background:#090909}.calendar-day:disabled{cursor:not-allowed;opacity:.24}.calendar-day.selected{border-color:var(--yellow);background:var(--yellow);color:#090909}.calendar-day.selected .day-load small{background:#090909}.calendar-day.selected .day-load-track{background:rgba(9,9,9,.32)}.calendar-day.selected .day-load-fill{background:#090909}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);border-radius:999px;background:#101010;color:var(--text);cursor:pointer;padding:8px 11px}.chip.active{border-color:var(--yellow);color:var(--yellow)}.check-row{display:flex;align-items:center;gap:10px;color:var(--text)}.check-row input{accent-color:var(--yellow);inline-size:18px;block-size:18px}.slot-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:flex-end}.slot-index{display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;min-height:45px;color:var(--yellow);font-weight:800}.table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto}.invite-action-cell{width:1%;white-space:nowrap}.invite-actions{display:inline-flex;gap:8px;justify-content:flex-end}.athlete-cards,.invite-action-icon,.mobile-email{display:none}.athlete-card{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:#101010;padding:14px}.athlete-card-head{display:grid;grid-gap:12px;gap:12px}.athlete-card-head strong{display:block;font-size:19px;line-height:1.15}.athlete-card-head a:not(.button){display:block;overflow-wrap:anywhere;color:var(--muted);margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.stats-grid div{border:1px solid var(--line);border-radius:8px;padding:10px}.stats-grid dt{color:var(--muted);font-size:12px}.stats-grid dd{margin:3px 0 0;font-size:22px;font-weight:800}.table td,.table th{border-bottom:1px solid var(--line);padding:10px 6px;text-align:left}@media (max-width:760px){.shell{padding:14px}.nav{align-items:center;flex-direction:row}.booking-action-row,.booking-card-head,.manual-booking-form,.session-detail-head,.session-overview{align-items:stretch;flex-direction:column}.session-detail-head{align-items:flex-start}.session-summary{width:100%}.session-summary div{padding:9px}.session-summary strong{font-size:18px}.booking-action-row .button,.booking-card-head .button,.manual-booking-form .button,.session-overview .button{width:100%}.navlinks{display:none}.mobile-menu{display:block}.brand-mark{inline-size:132px;block-size:53px}.grid.four,.grid.two{grid-template-columns:1fr}.row{align-items:flex-start}.dashboard-head,.row{flex-direction:column}.dashboard-head{align-items:stretch}.dashboard-head .button{width:100%;text-align:center}.row.compact{flex-direction:row;flex-wrap:wrap}.calendar-top{align-items:stretch;gap:10px}.calendar-copy .muted{display:none}.calendar-copy .section-title{margin-bottom:0;font-size:22px}.month-switcher{grid-template-columns:34px minmax(96px,1fr) 34px;gap:6px;min-width:178px}.month-switcher strong{font-size:16px}.icon-button{inline-size:34px;block-size:34px;font-size:24px}.segmented{width:100%}.week-strip{grid-template-columns:none;grid-auto-columns:minmax(116px,42%);grid-auto-flow:column;overflow-x:auto;margin-inline:-14px;padding-inline:14px;scroll-snap-type:x proximity}.calendar-day{min-height:auto;aspect-ratio:1}.week-day{min-height:132px;padding:12px;scroll-snap-align:start}.week-day strong{font-size:28px}.slot-row{grid-template-columns:34px repeat(2,minmax(0,1fr))}.slot-row .button{grid-column:1/-1}.invite-actions{align-items:center;flex-direction:row;gap:5px}.invite-action-button{display:grid;place-items:center;inline-size:30px;block-size:30px;padding:0}.invite-action-icon{display:block;font-size:15px;line-height:1}.desktop-email,.invite-action-label{display:none}.mobile-email{display:inline}.table td,.table th{padding:8px 4px}.invite-action-cell{text-align:right}.athlete-table{display:none}.athlete-cards{display:grid;grid-gap:12px;gap:12px}}