@media (width<=767px) and (height>=650px){.safety-manual__hamburger{display:none}}:root{--bg-primary:#fff;--bg-secondary:#f0f0f0;--bg-muted:#a0a0a0;--bg-card:#fff;--bg-card-hover:#f8f8f8;--text-primary:#545454;--text-secondary:#888;--text-muted:#888;--accent:#bf2c37;--accent-hover:#a32630;--accent-light:#d85b66;--accent-text:#fff;--primary:#fce107;--primary-hover:#fde739;--primary-text:#000;--secondary:#424245;--secondary-hover:#747479;--secondary-text:#fff;--success:#4ade80;--warning:#fbbf24;--danger:#ef4444;--border-radius:8px;--border-radius-lg:12px;--spacing:1rem;--max-width:480px;--bottom-bar-height:56px;--bottom-bar-total:calc(56px + env(safe-area-inset-bottom,0px));--page-header-height:56px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}@media (width>=768px),(height<=649px){:root{--bottom-bar-height:0px;--bottom-bar-total:0px}}*{box-sizing:border-box}button,a,[role=button],summary,input,select,textarea,label{touch-action:manipulation}button{color:inherit}html{background:var(--bg-primary);overscroll-behavior:none;-webkit-overflow-scrolling:touch;height:100%;overflow:hidden}html.swipe-page{background:var(--bg-secondary);overscroll-behavior:none;overflow:hidden}body{padding:0 var(--spacing) var(--spacing);font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;height:100%;margin:0;overflow-y:auto}body.status-screen-page{background:var(--bg-secondary)}.container{max-width:var(--max-width);margin:0 auto}.page-header{z-index:100;background:var(--bg-primary);padding:calc(env(safe-area-inset-top,0) + .5rem) var(--spacing) .5rem;margin-left:calc(-1 * var(--spacing));margin-right:calc(-1 * var(--spacing));border-bottom:1px solid var(--bg-secondary);align-items:center;gap:.25rem;margin-bottom:1.5rem;display:flex;position:sticky;top:0}.page-header__left{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.page-header__center{flex:1;min-width:0;padding:0 .25rem 0 .625rem}.page-header__right{flex-shrink:0;align-items:center;display:flex}.page-header__title{text-transform:uppercase;letter-spacing:-.5px;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.4rem;font-weight:700;overflow:hidden}.page-header__subtitle{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;overflow:hidden}.page-header__hamburger,.page-header__back{background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex;box-shadow:0 2px 8px #0000001a}.page-header__hamburger:hover,.page-header__back:hover{background:var(--bg-secondary)}.page-header__hamburger:active,.page-header__back:active{transform:scale(.93)}@media (width>=768px){.page-header{padding-top:calc(env(safe-area-inset-top,0) + .75rem);padding-bottom:.75rem}}@media (width<=767px) and (height>=650px){.page-header__hamburger{display:none}}.download-button,.add-menu-button,.page-header__icon-btn{background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex;box-shadow:0 2px 8px #0000001a}.download-button:hover,.add-menu-button:hover,.page-header__icon-btn:hover{background:var(--bg-secondary)}.download-button:active,.add-menu-button:active,.page-header__icon-btn:active{transform:scale(.93)}.page-header__icon-btn:disabled{opacity:.45;cursor:default}.add-menu-container{z-index:100;position:relative}.add-menu-dropdown{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);min-width:180px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.add-menu-dropdown button{text-align:left;background:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;border:none;padding:.875rem 1rem;font-size:.9rem;font-weight:500;transition:background .2s;display:block}.add-menu-dropdown button:hover{background:var(--bg-secondary)}.add-menu-dropdown button:not(:last-child){border-bottom:1px solid var(--bg-secondary)}.group-selector{grid-template-columns:repeat(auto-fit, minmax(min(calc((100% - 2 * var(--spacing)) / 3), 100%), 1fr));gap:var(--spacing);margin-bottom:1.5rem;display:grid}.group-btn{letter-spacing:1px;text-transform:uppercase;border:2px solid var(--bg-secondary);border-radius:var(--border-radius-lg);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;padding:2rem 1rem;font-size:1.5rem;font-weight:700;transition:all .2s}.group-btn:hover{border-color:var(--accent);background:var(--bg-card-hover)}.group-btn.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.group-btn .count{letter-spacing:0;text-transform:none;opacity:.7;margin-top:.5rem;font-size:.8rem;font-weight:500;display:block}.history-section{border-top:1px solid var(--bg-secondary);margin-top:1.5rem;padding-top:1.5rem}.history-link{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.history-link:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.history-link svg{flex-shrink:0}.admin-link{border-radius:var(--border-radius);color:var(--text-primary);background:#ffc1071a;border:1px solid #ffc1074d;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-link:hover{background:#ffc10733;border-color:#ffc10780;transform:translateY(-1px)}.admin-link svg{flex-shrink:0}.reset-section{padding-top:var(--spacing);padding-bottom:calc(var(--spacing) + env(safe-area-inset-bottom,0));border-top:1px solid var(--bg-secondary);margin-top:2rem}.reset-btn{text-transform:uppercase;letter-spacing:.5px;width:100%;color:var(--danger);border:1px solid var(--danger);border-radius:var(--border-radius);cursor:pointer;background:0 0;padding:1rem;font-size:.9rem;font-weight:600;transition:all .2s}.reset-btn:hover{background:var(--danger);color:var(--bg-primary)}.pull-refresh-indicator{top:env(safe-area-inset-top,0);z-index:1200;opacity:0;will-change:transform, opacity;pointer-events:none;justify-content:center;align-items:center;height:44px;display:flex;position:fixed;left:0;right:0;transform:translateY(-100%)}.pull-refresh-indicator__spinner{border:2.5px solid var(--bg-secondary);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px}.pull-refresh-indicator--spinning .pull-refresh-indicator__spinner{animation:.7s linear infinite spinner-rotate}.button{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-width:80px;padding:.75rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.button--primary{background:var(--accent);color:var(--accent-text)}.button--primary:hover:not(.button--disabled){background:var(--accent-hover)}.button--success{background:var(--success);color:#fff}.button--success:hover:not(.button--disabled){background:#22c55e}.button--danger{background:var(--danger);color:var(--accent-text)}.button--danger:hover:not(.button--disabled){background:#1a1a1a}.button--warning{background:var(--warning);color:#000}.button--warning:hover:not(.button--disabled){background:#fcd34d}.button--yellow{background:var(--primary);color:var(--primary-text)}.button--yellow:hover:not(.button--disabled){background:var(--primary-hover)}.button--secondary{background:var(--secondary);color:var(--secondary-text)}.button--secondary:hover:not(.button--disabled){background:var(--secondary-hover)}.button--outline{color:var(--text-primary);background:0 0;border:1px solid}.button--outline:hover:not(.button--disabled){background:var(--bg-card-hover)}.button--outline-danger{border:1px solid var(--danger);color:var(--danger);background:0 0}.button--outline-danger:hover:not(.button--disabled){background:var(--danger);color:var(--bg-primary)}.button--ghost{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--bg-secondary)}.button--ghost:hover:not(.button--disabled){background:var(--bg-card-hover);border-color:var(--accent)}.button--muted{background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-secondary)}.button--muted:hover:not(.button--disabled){background:var(--bg-card-hover);color:var(--text-primary)}.button--large{padding:1rem;font-size:1rem}.button--hero{letter-spacing:1px;border-radius:var(--border-radius-lg);padding:2rem 1rem;font-size:1.5rem;font-weight:700}.button--compact{min-width:unset;padding:.5rem .6rem;font-size:.75rem}.button--tiny{min-width:unset;padding:.35rem .5rem;font-size:.7rem}.button--disabled,.button:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-muted);pointer-events:none}.button--active{box-shadow:inset 0 2px 4px #0003}.button--selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button--circle{width:44px;height:44px;min-width:unset;border-radius:50%;padding:0}.button--full-width{width:100%}.button--icon-only{min-width:unset;padding:.75rem}.button--clear{color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;height:36px;padding:.5rem .75rem;font-size:1.25rem;line-height:1;display:flex}.button--clear:hover:not(.button--disabled){color:var(--danger);background:#dc26261a}.button--clear:active:not(.button--disabled){background:var(--danger);color:var(--accent-text)}.button--clear.button--disabled{opacity:.3;background:0 0}.button--clear.button--disabled:hover{color:var(--text-muted);background:0 0}.button--list-item{text-align:left;background:var(--bg-secondary);width:100%;min-width:unset;border:none;margin-bottom:.5rem;padding:.75rem;display:block}.button--list-item:hover:not(.button--disabled){background:var(--bg-card-hover)}@media (width<=375px){.button{padding:.5rem 1rem;font-size:.75rem}.button--large{padding:.875rem;font-size:.95rem}.button--hero{padding:1.5rem .75rem;font-size:1.25rem}.button--compact{padding:.35rem .5rem;font-size:.7rem}}.card{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--bg-secondary);padding:1rem 1.25rem;transition:background .2s,box-shadow .2s,transform .2s}.card:hover{background:var(--bg-card-hover)}.card__header{margin-bottom:.75rem}.card__header--with-action{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card__title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.card__body{flex:1}.card__main{justify-content:space-between;align-items:flex-start;gap:var(--spacing);width:100%;display:flex}.card__info{flex:1;min-width:0}.card__info h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.card__metadata{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.card__info .age{color:var(--text-muted);font-size:.85rem}.card__level{color:var(--text-secondary);font-size:.9em;font-weight:400}.card__info .device-status{margin-top:.35rem;font-size:.85rem}.card__info .device-status.scanned{color:var(--success);font-weight:600}.card__info .device-status.pending{color:var(--text-muted)}.card__info .student-note-container{width:100%;margin-top:.75rem}.card__actions{flex-direction:column;align-items:stretch;gap:.5rem;min-width:110px;display:flex}.card__actions .scan-btn,.card__actions .remove-btn{text-align:center;width:100%}.card__notes{width:100%}.card__footer{border-top:1px solid var(--bg-secondary);margin-top:1rem;padding-top:1rem}.card--horizontal{justify-content:space-between;align-items:center;display:flex}.card--vertical{flex-direction:column;gap:.75rem;display:flex}.card--with-notes{flex-direction:column;gap:.75rem}.card--student{justify-content:space-between;align-items:flex-start;display:flex}.card--attendance{box-shadow:0 1px 3px #0000001a}.card--history{box-shadow:0 2px 8px #00000014}.card--history:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card--workflow{color:var(--text-primary);border-left:4px solid #0000;text-decoration:none}.card--workflow:hover{border-left-color:var(--accent)}.card--absent{background:var(--bg-card-hover)}.card--editing{border-color:var(--accent);box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.card--coach{border:2px solid var(--primary);border-left:4px solid var(--primary);background:#fce10714}.card--coach:hover{background:#fce1071f}.card--transfer{border-left:3px solid var(--warning)}.card--manual{border-left:3px solid var(--accent-light)}.card--highlighted{border-left:4px solid var(--accent);background:#bf2c370a}.card--highlighted:hover{background:#bf2c3712}.covers-day-picker{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.covers-date-input{flex:1}.card--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card--pulse{border-left-color:var(--primary);background:linear-gradient(135deg, var(--bg-secondary) 0%, #fce10714 100%);animation:2s ease-in-out infinite pulse-border}@keyframes pulse-border{0%,to{border-left-color:var(--primary);box-shadow:0 0 #fce10766}50%{border-left-color:var(--accent);box-shadow:0 0 0 4px #fce1071a}}.badge{text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--flaik{background:var(--bg-secondary);color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.badge--flaik.badge--assigned{color:var(--success);background:#4ade8026}.badge--flaik-large{align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:1rem;font-weight:700;display:inline-flex}.badge--flaik svg{flex-shrink:0;width:16px;height:16px}.badge--signout{cursor:pointer;border:none;padding:.35rem .65rem;font-size:.85rem;font-weight:700;transition:opacity .2s}.badge--signout:active{opacity:.7}.badge--transfer{background:var(--warning);color:#000;margin-top:.5rem;padding:.2rem .4rem;font-size:.7rem}.badge--manual{background:var(--accent-light);color:#fff;margin-top:.5rem;padding:.2rem .4rem;font-size:.7rem}.badge--coach{background:var(--primary);color:var(--primary-text);letter-spacing:.5px;vertical-align:middle;padding:.25rem .65rem;font-size:.7rem;font-weight:700}.badge--status{border:1px solid;margin-right:.5rem}.badge--red{color:#fff;background:#dc2626}.badge--yellow{color:#fff;background:#ca8a04}.badge--green{color:#fff;background:#16a34a}.badge--success{color:#16a34a;background:#16a34a26;border-color:#16a34a}.badge--warning{color:#d97706;background:#fbbf2426;border-color:#d97706}.badge--error{color:#dc2626;background:#dc262626;border-color:#dc2626}.badge--overridden{border:2px dashed #fff}.badge--level{color:var(--success);background:#4ade8026}.badge--muted{background:var(--bg-secondary);color:var(--text-muted)}.badge--compact{padding:.25rem .55rem;font-size:.7rem}.badge--large{padding:.75rem 1.5rem;font-size:1rem}@media (width<=375px){.badge--signout{padding:.25rem .55rem;font-size:.75rem}}.student-list{flex-direction:column;gap:.75rem;display:flex}.coach-badge-inline{background:var(--primary);color:var(--primary-text);letter-spacing:.5px;vertical-align:middle;border-radius:4px;padding:.25rem .65rem;font-size:.7rem;font-weight:700;display:inline-block}.scan-btn{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text);background:var(--accent);border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;min-width:80px;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s;overflow:hidden}.scan-btn:hover{background:var(--accent-hover)}.scan-btn.scanned{background:var(--success)}.scan-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-muted)}.instruction-banner{background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:var(--spacing);border-left:4px solid var(--primary);align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.instruction-icon{flex-shrink:0;font-size:2rem;line-height:1}.instruction-content{flex:1}.instruction-title{color:var(--text-primary);margin-bottom:.35rem;font-size:.95rem;font-weight:600;line-height:1.3}.instruction-text{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.status-screen{top:0;left:0;right:0;bottom:var(--bottom-bar-total,0px);background:var(--bg-secondary);padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0));justify-content:center;align-items:center;display:flex;position:fixed;overflow-y:auto}.status-screen-content{flex-direction:column;align-items:center;width:100%;max-width:500px;padding:1rem 1rem 2rem;display:flex}.status-screen-hero{text-align:center;margin-bottom:2rem}.status-screen-icon{color:var(--success);margin-bottom:1rem;font-size:4rem;line-height:1;animation:.6s ease-out statusPulse}@keyframes statusPulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.status-screen-title{color:var(--text-primary);letter-spacing:-.5px;margin:0;font-size:1.75rem;font-weight:700}.status-screen-card{background:var(--bg-card);border-radius:var(--border-radius-lg);border:1px solid #ddd;width:100%;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #00000014}.status-screen-card h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.status-screen-steps{margin:0;padding:0;list-style:none}.status-screen-steps li{border-bottom:1px solid var(--bg-secondary);color:var(--text-secondary);padding:.875rem 0;font-size:.95rem;line-height:1.5}.status-screen-steps li:last-child{border-bottom:none}.status-screen-steps strong{color:var(--text-primary);font-weight:600}.status-screen-info{align-items:center;gap:.75rem;margin-bottom:2rem;font-size:.95rem;display:flex}.status-screen-badge{background:var(--accent);color:var(--accent-text);border-radius:var(--border-radius);letter-spacing:.5px;padding:.4rem .875rem;font-size:.9rem;font-weight:700}.status-screen-separator{color:var(--text-muted)}.status-screen-coach{color:var(--text-primary);font-weight:600}.status-screen-actions{flex-direction:column;gap:.75rem;width:100%;display:flex}.status-screen-btn{text-align:center;border-radius:var(--border-radius);cursor:pointer;padding:1rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.status-screen-btn.primary{background:var(--accent);color:var(--accent-text);border:none}.status-screen-btn.primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.status-screen-btn.secondary{color:var(--text-primary);background:0 0;border:2px solid #ccc}.status-screen-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}@media (width<=767px){.status-screen-hero{margin-bottom:1.25rem}.status-screen-icon{margin-bottom:.75rem;font-size:3rem}.status-screen-title{font-size:1.5rem}.status-screen-card{margin-bottom:1.25rem;padding:1.25rem}.status-screen-info{margin-bottom:1.25rem}.status-screen-btn{padding:.875rem 1.25rem}}.assignment-warning-banner{border-radius:var(--border-radius);margin-top:var(--spacing);background:#ef44441a;border-left:4px solid #dc2626;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.assignment-warning-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.assignment-warning-content{flex:1}.assignment-warning-title{color:#dc2626;margin-bottom:.35rem;font-size:.95rem;font-weight:600;line-height:1.3}.assignment-warning-text{color:#991b1b;font-size:.85rem;line-height:1.4}@keyframes highlightError{0%{transform:scale(1);box-shadow:0 0 #dc262666}50%{transform:scale(1.02);box-shadow:0 0 0 8px #dc262600}to{transform:scale(1);box-shadow:0 0 #dc262600}}.student-search{margin:1rem 0;position:relative}.student-search-input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);width:100%;color:var(--text-primary);padding:.75rem 2.5rem;font-size:1rem;transition:border-color .2s,background .2s}.student-search-input:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}.student-search-input:disabled{opacity:.6;cursor:not-allowed}.student-search .search-icon{opacity:.5;pointer-events:none;color:var(--text-muted);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.student-search .search-clear-btn{cursor:pointer;opacity:.5;color:var(--text-muted);background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:opacity .2s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.student-search .search-clear-btn:hover{opacity:1}.search-results-info{color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem}.load-more-section{text-align:center;border-top:1px solid var(--border-color);margin-top:1rem;padding:2rem 1rem}.load-more-info{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.load-more-btn{background:var(--primary);color:var(--primary-text);border-radius:var(--border-radius);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.load-more-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.toast{top:calc(2rem + env(safe-area-inset-top,0));background:var(--bg-card);color:var(--text-primary);border-radius:var(--border-radius-lg);z-index:10000;width:calc(100% - 2rem);max-width:calc(var(--max-width) - 2rem);cursor:pointer;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:500;transition:transform .3s ease-in-out;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(-120%);box-shadow:0 8px 24px #0003}.toast--visible{transform:translate(-50%)translateY(0)}.toast--success{background:var(--success);color:#fff}.toast--error{background:var(--accent);color:var(--accent-text)}.toast--info{background:var(--secondary);color:var(--secondary-text)}.toast-icon{font-size:1.5rem;font-weight:700;line-height:1}.toast-message{font-size:.95rem;line-height:1.4}.flaik-counter{background:var(--bg-secondary);border-radius:var(--border-radius);justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:.75rem 1rem;display:flex}.flaik-counter__label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.flaik-counter__value{color:var(--accent);font-size:1.5rem;font-weight:600;line-height:1}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1.5rem;display:flex}.loading-spinner--small{gap:.75rem;padding:1.5rem 1rem}.loading-spinner--large{gap:1.5rem;padding:4rem 2rem}.loading-spinner__spinner{border:4px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spinner-rotate}.loading-spinner--small .loading-spinner__spinner{border-width:3px;width:32px;height:32px}.loading-spinner--large .loading-spinner__spinner{border-width:5px;width:64px;height:64px}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:.8s linear infinite spinner-rotate}.loading-spinner__text{color:var(--text-secondary);opacity:.9;font-size:1rem;font-weight:500}.loading-spinner--small .loading-spinner__text{font-size:.875rem}.loading-spinner--large .loading-spinner__text{font-size:1.125rem}.update-banner{bottom:calc(env(safe-area-inset-bottom,0) + .75rem);background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);z-index:1600;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;animation:.25s ease-out update-banner-in;display:flex;position:fixed;left:.75rem;right:.75rem;box-shadow:0 4px 16px #0003}@keyframes update-banner-in{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}.update-banner__text{color:var(--text-primary);flex:1;font-size:.875rem}.update-banner__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.update-banner__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem;line-height:1}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.empty-state p{margin:0}.filter-pills{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.filter-pill{border:1px solid var(--bg-secondary);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.filter-pill--active{background:var(--secondary);color:var(--secondary-text);border-color:var(--secondary)}.filter-divider{background:var(--bg-secondary);width:1px;height:1.25rem;margin:0 .2rem}.badge--program{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.modal{z-index:1000;display:none;position:fixed;inset:0}.modal--open{display:flex}.modal__overlay{background:#000000e6;position:absolute;inset:0}.modal__content{background:var(--bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--bg-secondary);z-index:1;box-sizing:border-box;width:100%;max-width:400px;margin:auto;padding:1.5rem;position:relative;overflow-x:hidden}.modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal__title{color:var(--text-primary);flex:1;margin:0;font-size:1.1rem;font-weight:600}.modal__body{margin-bottom:1rem}.modal__footer{align-items:center;gap:.75rem;display:flex}.modal__footer .button{flex:1}.modal__footer--column{flex-direction:column;gap:.5rem}.modal--center{padding:var(--spacing);justify-content:center;align-items:center;display:flex}.modal--center .modal__content{max-height:calc(100dvh - 2 * var(--spacing,1rem));flex-direction:column;display:flex}.modal--center .modal__body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}@media (width<=767px){.modal--center{padding:.75rem}.modal__content{border-radius:var(--border-radius);padding:1rem}.modal__content .form-field__input,.modal__content .form-field__select,.modal__content .form-field__textarea{box-sizing:border-box;max-width:100%}.modal__content .form-field__help{word-wrap:break-word;overflow-wrap:break-word}}.modal--fullscreen{flex-direction:column;padding:0}.modal--fullscreen .modal__overlay{background:var(--bg-primary);position:static}.modal--fullscreen .modal__content{border:none;border-radius:0;flex-direction:column;width:100%;max-width:100%;height:100%;margin:0;padding:0;display:flex;overflow:hidden}.modal--fullscreen .modal__header{padding:var(--spacing);background:var(--bg-secondary);text-align:center;border-bottom:1px solid var(--bg-secondary);margin-bottom:0}.modal--fullscreen .modal__body{background:var(--bg-primary);flex:1;justify-content:center;align-items:center;min-height:0;margin-bottom:0;display:flex;overflow:hidden}.modal--fullscreen .modal__footer{padding:var(--spacing);padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--bg-secondary)}.modal--scanner{z-index:1000}.modal--scanner .modal__content{background:var(--bg-primary)}.modal--confirm .modal__content{text-align:center}.modal--confirm .modal__title{color:var(--danger)}.modal--confirm .modal__body p{color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.modal--confirm .modal__body p:last-child{margin-bottom:0}.modal--confirm .confirm-warning{border-radius:var(--border-radius);color:var(--text-secondary);background:#ffc1071a;border:1px solid #ffc1074d;margin:0;padding:.75rem;font-size:.9rem;line-height:1.4}.modal--level-1{z-index:1001}.modal--level-2{z-index:1002}.modal--level-3{z-index:1003}#scanner-container{width:100%;max-width:400px;position:relative;overflow:hidden}#scanner-container video{width:100%;max-height:calc(100dvh - 10rem - env(safe-area-inset-bottom,0px));border-radius:var(--border-radius);object-fit:contain;min-height:200px;display:block}.scanner-aim-frame{pointer-events:none;width:250px;height:250px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2000px #00000080}.scanner-aim-frame__corner{width:40px;height:40px;position:absolute}.scanner-aim-frame__corner--tl{border-top:5px solid #fff;border-left:5px solid #fff;top:0;left:0}.scanner-aim-frame__corner--tr{border-top:5px solid #fff;border-right:5px solid #fff;top:0;right:0}.scanner-aim-frame__corner--bl{border-bottom:5px solid #fff;border-left:5px solid #fff;bottom:0;left:0}.scanner-aim-frame__corner--br{border-bottom:5px solid #fff;border-right:5px solid #fff;bottom:0;right:0}.scanner-loading{color:var(--text-primary);white-space:nowrap;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scanner-error{text-align:center;color:var(--text-primary);flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.scanner-focus-indicator{pointer-events:none;border:2px solid #fff;border-radius:2px;width:72px;height:72px;animation:2s forwards scanner-focus-anim;position:absolute;transform:translate(-50%,-50%)}@keyframes scanner-focus-anim{0%{opacity:0;transform:translate(-50%,-50%)scale(1.5)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}70%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}#manual-scanner-container{width:100%;max-width:400px;margin:0 auto}.coach-search{margin-bottom:1rem}.coach-selector{flex-direction:column;gap:.75rem;display:flex}.coach-btn{text-align:left;background:var(--bg-secondary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;padding:1.25rem;transition:all .2s}.coach-btn:hover{border-color:var(--accent);background:var(--bg-card-hover)}.coach-btn .coach-name{color:var(--text-primary);margin-bottom:.25rem;font-size:1.1rem;font-weight:600;display:block}.coach-btn .coach-groups{color:var(--text-muted);font-size:.75rem;font-weight:400;display:block}.coach-btn--cover{border-color:var(--primary);background:#fff9e6;margin-top:.5rem}.coach-btn--cover:hover{border-color:var(--primary);background:#fff3cc}.coach-btn--cover .coach-name{color:#960;font-weight:600}.coach-btn--cover .coach-groups{color:#650}.coach-btn--muted{opacity:.5;background:var(--bg-secondary)}.coach-btn--muted:hover{opacity:.6;background:var(--bg-secondary);border-color:var(--border)}.coach-header{justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.current-coach{color:var(--text-secondary);font-size:.9rem;font-weight:500}.change-coach-btn{text-transform:uppercase;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-muted);border-radius:var(--border-radius);cursor:pointer;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.change-coach-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.roster-actions{margin-bottom:var(--spacing);gap:.75rem;display:flex}.roster-actions button{background:var(--bg-secondary);color:var(--accent);border:1px dashed var(--accent);border-radius:var(--border-radius);cursor:pointer;flex:1;padding:.75rem;font-size:.85rem;font-weight:600;transition:all .2s}.roster-actions button:hover{background:var(--accent);color:var(--accent-text);border-style:solid}.transfer-list{flex:1;min-height:100px;margin-bottom:1rem;overflow-y:auto}.transfer-student-btn .name{color:var(--text-primary);font-weight:600;display:block}.transfer-student-btn .info{color:var(--text-muted);font-size:.75rem;font-weight:400;display:block}.customer-id-row{gap:.5rem;display:flex}.customer-id-row input{flex:1}.scan-id-btn{white-space:nowrap}.scanner-inline{text-align:center;margin-top:1rem}.scanner-inline #manual-scanner-container{margin-bottom:.5rem}.continuous-scanner{z-index:1000;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.continuous-scanner__overlay{z-index:1;background:#000000f2;position:absolute;inset:0}.continuous-scanner__container{z-index:2;width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.scanner-progress-bar{height:calc(10px + env(safe-area-inset-top,0));padding-top:env(safe-area-inset-top,0);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1001;background:#0006;gap:3px;padding-left:3px;padding-right:3px;display:flex;position:fixed;top:0;left:0;right:0}.scanner-progress-bar__segment{background:#fff3;border-radius:2px;flex:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.scanner-progress-bar__segment--filled{background:#10b981;box-shadow:0 0 10px #10b98199}.scanner-progress-bar__text{z-index:1001;color:#fff;text-shadow:0 2px 8px #000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#0009;border:1px solid #ffffff1a;border-radius:20px;padding:.5rem 1rem;font-size:1rem;font-weight:600;position:fixed;bottom:6rem;left:50%;transform:translate(-50%)}@media (width<=767px){.scanner-progress-bar{height:calc(8px + env(safe-area-inset-top,0));gap:2px;padding-left:2px;padding-right:2px}.scanner-progress-bar__text{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));font-size:.9rem}}.scanner-camera{aspect-ratio:4/3;background:#000;border-radius:12px;width:100%;max-width:800px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}@media (width<=767px){.scanner-camera{width:100%;max-width:none;height:100dvh;aspect-ratio:unset;border-radius:0}}.scanner-camera__video{object-fit:cover;width:100%;height:100%;display:block}.scanner-camera__loading{z-index:10;background:#000000e6;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.scanner-camera__dimming-overlay{z-index:4;pointer-events:none;border-radius:16px;width:280px;height:280px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000080}.scanner-camera__aim-frame{z-index:5;pointer-events:none;width:280px;height:280px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=767px){.scanner-camera__dimming-overlay,.scanner-camera__aim-frame{width:260px;height:260px}}.scanner-camera__corner{border:4px solid var(--primary);width:50px;height:50px;animation:3s ease-in-out infinite scanner-corner-pulse;position:absolute}@keyframes scanner-corner-pulse{0%,to{opacity:1}50%{opacity:.2}}.scanner-camera__corner--tl{border-bottom:none;border-right:none;border-radius:16px 0 0;top:0;left:0}.scanner-camera__corner--tr{border-bottom:none;border-left:none;border-radius:0 16px 0 0;top:0;right:0}.scanner-camera__corner--bl{border-top:none;border-right:none;border-radius:0 0 0 16px;bottom:0;left:0}.scanner-camera__corner--br{border-top:none;border-left:none;border-radius:0 0 16px;bottom:0;right:0}@media (width<=767px){.scanner-camera__corner{border-width:3px;width:45px;height:45px}}.scanner-camera__loading-spinner{border:4px solid #ffffff1a;border-top-color:#fce107;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spinner-rotate}.scanner-camera__loading-text{color:#fff;opacity:.9;font-size:1rem;font-weight:500}.scanner-flash-overlay{z-index:2000;pointer-events:none;animation-duration:.5s;animation-timing-function:ease-out;position:fixed;inset:0}.scanner-flash-overlay--success{animation-name:flash-success}.scanner-flash-overlay--duplicate{animation-name:flash-duplicate}.scanner-flash-overlay--error{animation-name:flash-error}@keyframes flash-success{0%{background:#10b98100;box-shadow:inset 0 0 #10b98100}50%{background:#10b98140;box-shadow:inset 0 0 60px 15px #10b981b3}to{background:#10b98100;box-shadow:inset 0 0 #10b98100}}@keyframes flash-duplicate{0%{background:#fce10700;box-shadow:inset 0 0 #fce10700}50%{background:#fce10740;box-shadow:inset 0 0 60px 15px #fce107b3}to{background:#fce10700;box-shadow:inset 0 0 #fce10700}}@keyframes flash-error{0%{background:#ef444400;box-shadow:inset 0 0 #ef444400}50%{background:#ef444440;box-shadow:inset 0 0 60px 15px #ef4444b3}to{background:#ef444400;box-shadow:inset 0 0 #ef444400}}.scanner-torch-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:100;background:#000c;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex;position:absolute;bottom:6rem;right:2rem;box-shadow:0 2px 10px #0000004d}.scanner-torch-btn:hover{background:#000000e6;transform:scale(1.05)}.scanner-torch-btn--active{background:#fce107e6;border-color:#fce107;box-shadow:0 0 30px #fce10799}@media (width<=767px){.scanner-torch-btn{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));right:1rem}}.scanner-button-bar{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000e6;border-top:1px solid #ffffff1a;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.scanner-button-bar .button{flex:1}@media (width<=767px){.scanner-button-bar{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));gap:.75rem}}.scanner-target-card{top:calc(env(safe-area-inset-top,0px) + 18px);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;z-index:11;background:#000000d9;border:2px solid #fce10780;border-radius:12px;min-width:250px;padding:1rem 2rem;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}@media (width<=767px){.scanner-target-card{top:calc(env(safe-area-inset-top,0px) + 14px);min-width:200px;padding:.75rem 1.5rem}}.scanner-target-card__label{text-transform:uppercase;letter-spacing:.05em;color:#fff9;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.scanner-target-card__name{color:var(--primary);text-shadow:0 2px 4px #0000004d;font-size:1.25rem;font-weight:700}@media (width<=767px){.scanner-target-card__name{font-size:1.1rem}}.scanner-warnings{top:calc(60px + env(safe-area-inset-top,0));z-index:1000;flex-direction:column;gap:.5rem;max-width:600px;margin:0 auto;display:flex;position:fixed;left:1rem;right:1rem}@media (width<=767px){.scanner-warnings{top:calc(50px + env(safe-area-inset-top,0))}}@keyframes warning-fade-out{0%,80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.scanner-warning{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#000000d9;border-left:4px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem;font-size:.85rem;animation:5s ease-out forwards warning-fade-out;display:flex;box-shadow:0 2px 10px #0000004d}.scanner-warning--duplicate{border-left-color:var(--primary);background:#fce10726}.scanner-warning--error{border-left-color:var(--danger);background:#ef444426}.scanner-warning__text{flex:1;font-weight:500;line-height:1.3}.scanner-close-btn{z-index:100;position:fixed;bottom:2rem;right:2rem}.scanner-close-btn--success{animation:1.5s ease-in-out infinite pulse-success}@keyframes pulse-success{0%,to{box-shadow:0 4px 20px #10b98180}50%{box-shadow:0 4px 30px #10b981cc}}@media (width<=767px){.scanner-close-btn{bottom:calc(1rem + env(safe-area-inset-bottom));width:calc(100% - 2rem);left:1rem;right:1rem}}.continuous-scanner__completion{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;background:#000000f2;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-content{text-align:center;pointer-events:none;animation:.5s ease-out scaleIn}.completion-content .button{pointer-events:auto}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.completion-icon{margin-bottom:1rem;font-size:5rem;animation:.6s ease-out bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.completion-title{color:var(--success);text-shadow:0 2px 10px #10b98180;margin:0 0 .5rem;font-size:2rem;font-weight:700}.completion-message{color:#fffc;margin:0;font-size:1.1rem}.completion-title--error{color:var(--danger);text-shadow:none}.camera-error-actions{pointer-events:auto;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=767px){.completion-icon{font-size:4rem}.completion-title{font-size:1.75rem}.completion-message{font-size:1rem}}.profile-summary{background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:1rem;padding:.75rem}.profile-summary--loading{justify-content:center;padding:.5rem;display:flex}.profile-summary__row{flex-direction:column;gap:.25rem;display:flex}.profile-summary__row+.profile-summary__row{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.profile-summary__label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.7rem;font-weight:600}.profile-summary__fields{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.profile-summary__field{align-items:center;gap:.375rem;display:flex}.profile-summary__field-label{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.profile-summary__field-value{color:var(--text-primary);font-size:.8rem;font-weight:600}body.swipe-page{padding:0;padding-top:env(safe-area-inset-top,0);background:var(--bg-secondary);overflow:hidden}@media (orientation:landscape) and (height<=500px){body.swipe-page{overflow-y:auto}.swipe-header{padding:.5rem var(--spacing)}.swipe-header h1{margin:.25rem 0;font-size:1rem}.swipe-card-area{padding:.5rem var(--spacing)}.swipe-card{padding:1rem}.swipe-card .student-name{margin-bottom:.5rem;font-size:1.25rem}.swipe-card .barcode-container{margin:.5rem 0;padding:.75rem}.swipe-card .customer-id{margin:.35rem 0 0}.swipe-card .flaik-ref{margin-top:.5rem;padding:.5rem}.coach-reminder-content{padding:1.5rem 1rem}.coach-reminder-body{font-size:.95rem}.coach-reminder-instructions{padding:.75rem}}@media (height<=700px){.swipe-card,.coach-reminder-content{padding:.75rem!important}.coach-reminder-title{margin-bottom:.5rem!important;font-size:1.1rem!important}.coach-reminder-body{font-size:.8rem!important}.coach-reminder-note{margin:0 0 .4rem!important;font-size:.75rem!important}.coach-reminder-flow{margin:.4rem 0!important;padding:.5rem .5rem .5rem 1.5rem!important;font-size:.8rem!important}.coach-reminder-flow li{margin-bottom:.15rem!important}.coach-reminder-subheading{margin:.5rem 0 0!important;font-size:.8rem!important}.coach-reminder-feature-hint{margin-top:.5rem!important;padding:.5rem!important;font-size:.7rem!important;line-height:1.3!important}.coach-reminder-continue{margin-top:.6rem!important;font-size:.7rem!important}.swipe-header{padding:.5rem var(--spacing)!important}.swipe-header h1{margin:.3rem 0!important;font-size:1rem!important}.step-label{font-size:.7rem!important}.swipe-card-area{padding:.5rem var(--spacing)!important}.student-qr-card-inner,.flaik-qr-card-inner{padding:1rem .75rem!important}.student-qr-card-title,.flaik-qr-card-title{margin-bottom:.25rem!important;font-size:.95rem!important}.student-qr-card-level{margin-bottom:.6rem!important;font-size:.75rem!important}.flaik-qr-card-ref{margin-bottom:.6rem!important;font-size:1rem!important}.student-qr-container,.flaik-qr-container{padding:.6rem!important}.student-qr-container svg,.flaik-qr-container svg{width:180px!important;height:180px!important}.student-qr-help-text,.flaik-qr-help-text{margin-top:.6rem!important;font-size:.7rem!important}.student-qr-note{margin-top:.6rem!important;padding:.5rem!important;font-size:.7rem!important}.flaik-qr-placeholder{min-height:160px!important;padding:1.25rem!important}.swipe-card-badges{margin-top:.5rem!important}.swipe-card .student-name{margin-bottom:.4rem!important;font-size:1.2rem!important}.scan-reminder-box{margin-bottom:.4rem!important;padding:.4rem .6rem!important}.scan-reminder-text{font-size:.8rem!important}.swipe-card .barcode-container{margin:.5rem 0!important;padding:.75rem!important}.swipe-card .customer-id{margin:.25rem 0 0!important;font-size:.9rem!important}.swipe-card .flaik-ref{margin-top:.5rem!important;padding:.65rem!important;font-size:.9rem!important}.swipe-card .student-note{margin-top:.5rem!important;padding:.5rem .75rem!important;font-size:.8rem!important}}@media (height<=580px){.swipe-card{padding:.5rem!important}.swipe-card .student-name{margin-bottom:.25rem!important;font-size:1rem!important}.scan-reminder-box{margin-bottom:.25rem!important;padding:.25rem .5rem!important}.swipe-card .barcode-container{margin:.25rem 0!important;padding:.5rem!important}.swipe-card .customer-id{margin:.15rem 0 0!important;font-size:.8rem!important}.swipe-card .flaik-ref{margin-top:.25rem!important;padding:.5rem!important;font-size:.8rem!important}.swipe-card .student-note{margin-top:.25rem!important;padding:.4rem .5rem!important;font-size:.75rem!important}.student-qr-container svg,.flaik-qr-container svg{width:150px!important;height:150px!important}.flaik-qr-placeholder{min-height:150px!important;padding:1rem!important}.coach-reminder-content{padding:.5rem!important}}@media (width<=375px){.swipe-card{max-width:100%!important;padding:.75rem!important}.swipe-card .student-name{margin-bottom:.35rem!important;font-size:1.1rem!important;line-height:1.3!important}.swipe-card .student-level-text{margin-top:.25rem!important;font-size:.85rem!important;display:block!important}.swipe-card .barcode-container{margin:.35rem 0!important;padding:.5rem!important}.swipe-card .barcode-container svg{max-width:100%!important;height:auto!important}.swipe-card .customer-id{margin:.25rem 0 0!important;font-size:.9rem!important}.swipe-card .flaik-ref{margin-top:.35rem!important;padding:.65rem!important;font-size:.95rem!important}.scan-reminder-box{margin:.35rem 0!important;padding:.4rem .6rem!important}.scan-reminder-text{font-size:.8rem!important}.coach-reminder-content{padding:1rem .75rem!important}.coach-reminder-title{margin-bottom:1rem!important;font-size:1.25rem!important}.coach-reminder-body{font-size:.9rem!important}.coach-reminder-primary{margin-bottom:.75rem!important;font-size:.9rem!important}.coach-reminder-instructions{margin-top:1rem!important;padding:.65rem!important}.coach-reminder-instructions-title{margin-bottom:.4rem!important;font-size:.9rem!important}.coach-reminder-list{padding-left:1rem!important;font-size:.85rem!important}.coach-reminder-list li{margin-bottom:.25rem!important}.coach-reminder-continue{margin-top:1rem!important;font-size:.8rem!important}}.swipe-container{flex-direction:column;width:100%;min-height:100dvh;display:flex}.swipe-header{padding:var(--spacing);text-align:center;background:var(--bg-secondary);border-bottom:1px solid var(--bg-secondary)}.swipe-header h1{color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;margin:.5rem 0;font-size:1.1rem}.student-counter{color:var(--text-muted);font-size:.85rem;font-weight:500}.swipe-card-badges{pointer-events:none;z-index:15;align-items:center;gap:.5rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.student-counter-badge{color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#fffffff2;border:1px solid #0000000d;border-radius:16px;padding:.4rem .85rem;font-size:.75rem;font-weight:600;box-shadow:0 2px 12px #00000026}.student-counter-badge--complete{background:var(--success);color:#fff}.hidden-student-badge{color:var(--text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#ffffffe6;border:1px solid #0000000d;border-radius:12px;padding:.35rem .75rem;font-size:.7rem;box-shadow:0 2px 12px #0000001f}.swipe-card-area{padding:var(--spacing);touch-action:pan-x;background:var(--bg-primary);padding-bottom:calc(var(--spacing) + env(safe-area-inset-bottom,0));flex:1;justify-content:center;align-items:center;display:flex;position:relative}.swipe-card-area:before,.swipe-card-area:after{display:none}.swipe-card{background:var(--bg-card);border-radius:var(--border-radius-lg);text-align:center;border:1px solid var(--bg-secondary);z-index:10;width:100%;max-width:350px;padding:1rem 1.5rem;position:relative;box-shadow:0 8px 25px #00000014}.swipe-arrow-btn{z-index:20;color:var(--text-muted);opacity:.5;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:1rem .5rem;font-size:3.5rem;font-weight:200;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%)}.swipe-arrow-btn:hover:not(:disabled){opacity:.8;color:var(--text-primary)}.swipe-arrow-btn.prev{left:0}.swipe-arrow-btn.next{right:0}.swipe-arrow-btn:disabled{opacity:0;cursor:default}.swipe-card.animate-in{animation:.2s ease-out slideIn}@keyframes slideIn{0%{opacity:.7;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.swipe-card.swipe-out-left{animation:.2s ease-out forwards swipeOutLeft}.swipe-card.swipe-out-right{animation:.2s ease-out forwards swipeOutRight}.swipe-card.enter-from-left{animation:.25s ease-out forwards enterFromLeft}.swipe-card.enter-from-right{animation:.25s ease-out forwards enterFromRight}@keyframes swipeOutLeft{to{opacity:0;transform:translate(-120%)rotate(-15deg)}}@keyframes swipeOutRight{to{opacity:0;transform:translate(120%)rotate(15deg)}}@keyframes enterFromLeft{0%{opacity:0;transform:translate(-100%)rotate(-10deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes enterFromRight{0%{opacity:0;transform:translate(100%)rotate(10deg)}to{opacity:1;transform:translate(0)rotate(0)}}.swipe-card .student-name{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.swipe-card .barcode-container{border-radius:var(--border-radius);background:#fff;margin:1rem 0;padding:1.5rem}.swipe-card .barcode-container svg{max-width:100%;height:auto}.swipe-card .customer-id{color:var(--text-muted);margin:.5rem 0 0;font-family:SF Mono,Monaco,monospace;font-size:1.1rem;font-weight:500}.swipe-card .flaik-ref{background:var(--bg-secondary);border-radius:var(--border-radius);border-left:3px solid var(--accent);margin:.75rem 0 0;padding:1rem;font-size:1.1rem}.swipe-card .flaik-ref.assigned strong{color:var(--success)}.swipe-card .flaik-ref.unassigned{background:#f59e0b1a;border-left-color:#f59e0b}.swipe-card .flaik-ref.unassigned strong{color:#f59e0b}.swipe-card .flaik-ref strong{color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.swipe-card .student-note{border-radius:var(--border-radius);color:var(--warning);background:#fbbf2426;margin:1rem 0 0;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.swipe-card .student-note.hidden{display:none}.swipe-card .no-flaik-message{text-align:center;background:var(--bg-secondary);border-radius:var(--border-radius);border:2px dashed var(--text-muted);flex-direction:column;justify-content:center;align-items:center;margin:1.5rem 0;padding:3rem 2rem;display:flex}.swipe-card .no-flaik-message svg{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.swipe-card .no-flaik-message p{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.swipe-card .no-flaik-message span{color:var(--text-muted);margin:0;font-size:.9rem}.coach-reminder-content{text-align:center;padding:2rem 1rem}.coach-flaik-assigned{border:1px solid var(--success);border-radius:var(--border-radius);background:#4ade8026;margin:1rem 0;padding:.875rem 1rem}.coach-flaik-assigned p{color:#15803d;margin:0;font-size:.95rem}.coach-flaik-assigned strong{color:#16a34a;font-family:SF Mono,Monaco,monospace}.coach-reminder-title{margin-bottom:1.5rem}.coach-reminder-body{text-align:left;font-size:1rem;line-height:1.5}.coach-reminder-primary{margin-bottom:1rem;font-weight:600}.coach-reminder-flow{background:var(--bg-secondary);border-radius:8px;margin:.75rem 0;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem;line-height:1.6}.coach-reminder-flow li{margin-bottom:.5rem}.coach-reminder-flow li:last-child{margin-bottom:0}.coach-reminder-flow ul{margin-top:.35rem;padding-left:1.25rem;font-size:.9rem;font-weight:400}.coach-reminder-flow ul li{margin-bottom:.25rem}.coach-reminder-subheading{margin:1rem 0 0;font-size:.95rem;font-weight:600}.coach-reminder-note{color:var(--text-muted);margin:0 0 .5rem;font-size:.9rem}.coach-reminder-instructions{background:var(--bg-secondary);border-radius:8px;margin-top:1.25rem;padding:.875rem}.coach-reminder-instructions-title{margin-top:0;margin-bottom:.5rem;font-weight:600}.coach-reminder-list{margin-bottom:0;padding-left:1.25rem;font-size:.9rem}.coach-reminder-list li{margin-bottom:.35rem}.coach-reminder-list li:last-child{margin-bottom:0}.coach-reminder-continue{color:var(--text-primary);text-align:center;margin-top:1.5rem;font-size:1.1rem;font-weight:600}.coach-reminder-feature-hint{border:1px solid var(--primary);border-radius:var(--border-radius);text-align:left;background:#fce10726;margin-top:1rem;padding:.75rem;font-size:.85rem}.coach-reminder-feature-hint strong{color:var(--primary)}.qr-mode-toggle-btn{top:calc(var(--spacing) + env(safe-area-inset-top,0));right:var(--spacing);z-index:1000;background:var(--bg-card);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:fixed;box-shadow:0 2px 8px #00000026}.qr-mode-toggle-btn:active{transform:scale(.95)}.qr-mode-toggle-btn:hover{background:var(--bg-secondary)}.qr-mode-toggle-btn.active{color:var(--accent);background:var(--bg-card)}.qr-mode-toggle-btn .new-badge{color:#fff;background:#bf2c37;border-radius:8px;padding:.15rem .35rem;font-size:.6rem;font-weight:700;position:absolute;top:-4px;right:-4px}.flaik-qr-card{border-radius:var(--border-radius-lg);background:#d32f2f;padding:.5rem;box-shadow:0 8px 25px #00000026}.flaik-qr-card-inner{border-radius:calc(var(--border-radius-lg) - 4px);text-align:center;background:#212121;padding:1.5rem 1rem}.flaik-qr-card-title{color:#fff;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.flaik-qr-card-ref{color:#fff;letter-spacing:1px;margin:0 0 1rem;font-family:SF Mono,Monaco,monospace;font-size:1.3rem;font-weight:700}.flaik-qr-container{border-radius:var(--border-radius);background:#fff;padding:1rem;display:inline-block}.flaik-qr-container svg{width:220px;height:220px;display:block}.flaik-qr-help-text{color:#fff;opacity:.7;margin:1rem 0 0;font-size:.85rem}.flaik-qr-placeholder{border-radius:var(--border-radius);background:#ffffff1a;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:2rem;display:flex}.flaik-qr-placeholder-icon{margin-bottom:1rem;font-size:3rem}.flaik-qr-placeholder-text{color:#fff;opacity:.9;margin:0;font-size:1.1rem;font-weight:600}.student-qr-card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:.5rem;box-shadow:0 8px 25px #00000026}.student-qr-card-inner{background:var(--bg-card);border-radius:calc(var(--border-radius-lg) - 4px);text-align:center;padding:1.5rem 1rem}.student-qr-card-title{color:var(--text-primary);letter-spacing:.5px;margin:0 0 .25rem;font-size:1.3rem;font-weight:600}.student-qr-card-level{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;font-weight:500}.student-qr-container{background:var(--bg-card);border-radius:var(--border-radius);padding:1rem;display:inline-block}.student-qr-container svg{width:220px;height:220px;display:block}.student-qr-help-text{color:var(--text-secondary);margin:1rem 0 0;font-size:.85rem;font-weight:500}.student-qr-note{background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--border-radius);margin-top:1rem;padding:.75rem;font-size:.85rem;line-height:1.4}.student-level-text{color:var(--text-secondary);font-size:.8em;font-weight:400}.scan-reminder-box{background:var(--bg-secondary);border-radius:6px;margin-bottom:.75rem;padding:.65rem .875rem;font-size:.85rem;line-height:1.4}.scan-reminder-text{margin:0;font-weight:600}@media (width>=768px){.swipe-card{max-width:450px;padding:2.5rem 2rem}.swipe-card .student-name{font-size:1.75rem}.swipe-card .barcode-container{padding:2rem}}@media (width>=1024px){.swipe-card{max-width:500px;padding:3rem 2.5rem}.swipe-card .barcode-container svg{max-height:120px}}.attendance-summary{background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:var(--spacing);justify-content:space-around;padding:1rem;font-size:.9rem;font-weight:600;display:flex}.attendance-summary .full-count{color:var(--success)}.attendance-summary .half-count{color:var(--warning)}.attendance-summary .absent-count{color:var(--danger)}.attendance-filter{margin-bottom:var(--spacing)}.filter-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);border-radius:var(--border-radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;transition:background .2s;display:flex}.filter-toggle:hover{background:var(--bg-card-hover)}.filter-toggle input[type=checkbox]{display:none}.toggle-label{color:var(--text-primary);flex:1;font-size:.95rem;font-weight:500}.hidden-count{color:var(--text-muted);margin-left:.5rem;font-size:.85rem;font-weight:400}.toggle-switch{background:var(--bg-card);border:2px solid var(--bg-card);border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:all .3s;display:inline-block;position:relative}.toggle-slider{background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.filter-toggle input[type=checkbox]:checked+.toggle-switch{background:var(--accent);border-color:var(--accent)}.filter-toggle input[type=checkbox]:checked+.toggle-switch .toggle-slider{background:var(--accent-text);transform:translate(20px)}.attendance-list{flex-direction:column;gap:.75rem;display:flex}.attendance-info{margin-bottom:.75rem}.attendance-name-row{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.attendance-info h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.attendance-badges{align-items:center;gap:.5rem;display:flex}.attendance-note-row{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.attendance-note-row .student-note-container{flex:1;min-width:0}@media (width<=375px){.attendance-info h3{width:100%;text-overflow:unset;white-space:normal;flex:none;overflow:visible}}.flaik-badge-compact{color:var(--success);white-space:nowrap;background:#4ade8026;border-radius:4px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-family:SF Mono,Monaco,monospace;font-size:1rem;font-weight:700;display:inline-flex}@media (width<=375px){.flaik-badge-compact{padding:.25rem .55rem;font-size:.75rem}.flaik-badge-compact svg{display:none}}.flaik-badge-compact svg{flex-shrink:0;width:16px;height:16px}.flaik-badge{background:var(--bg-secondary);color:var(--text-muted);border-radius:4px;padding:.25rem .6rem;font-family:SF Mono,Monaco,monospace;font-size:.75rem;font-weight:600;display:inline-block}.flaik-badge.assigned{color:var(--success);background:#4ade8026}.attendance-badges-row{margin-top:.35rem}.signout-badge{cursor:pointer;border:none;border-radius:4px;padding:.35rem .65rem;font-size:.85rem;font-weight:700;transition:opacity .2s}.signout-badge:active{opacity:.7}.signout-badge.red{color:#fff;background:#dc2626}.signout-badge.yellow{color:#fff;background:#ca8a04}.signout-badge.green{color:#fff;background:#16a34a}.signout-badge.overridden{border:2px dashed #fff}@media (width<=375px){.signout-badge{padding:.25rem .55rem;font-size:.75rem}}.signout-badge-container{position:relative}.signout-details{background:var(--bg-card,white);border:1px solid var(--bg-secondary,#f0f0f0);border-radius:var(--border-radius,8px);width:280px;color:var(--text-primary);z-index:100;text-align:left;padding:1rem;font-size:.9rem;line-height:1.5;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 24px #00000026}.signout-details:before{content:"";border-style:solid;border-width:9px;border-color:transparent transparent var(--bg-secondary,#f0f0f0) transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.signout-details:after{content:"";border-style:solid;border-width:8px;border-color:transparent transparent var(--bg-card,white) transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.signout-details .signout-rule{color:var(--text-primary);margin:0 0 .5rem;line-height:1.4}.signout-details .signout-age{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8rem}.signout-waiver-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.waiver-toggle-btn{cursor:pointer;background:var(--secondary);color:var(--secondary-text);z-index:1;border:none;border-radius:4px;padding:.4rem .6rem;font-size:.75rem;font-weight:600;position:relative}.waiver-toggle-btn:active{background:var(--secondary-hover)}.waiver-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.attendance-options{gap:.5rem;display:flex}.attendance-option{cursor:pointer;flex:1}.attendance-option input{display:none}.attendance-option .option-label{text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);border:2px solid var(--bg-secondary);background:var(--bg-secondary);width:100%;color:var(--text-muted);padding:.65rem .5rem;font-size:.8rem;font-weight:600;transition:all .2s;display:block}.attendance-option .option-label.full{border-color:#4ade804d}.attendance-option .option-label.half{border-color:#fbbf244d}.attendance-option .option-label.absent{border-color:#f871714d}.attendance-option.selected .option-label.full{background:var(--success);border-color:var(--success);color:var(--accent-text)}.attendance-option.selected .option-label.half{background:var(--warning);border-color:var(--warning);color:var(--accent-text)}.attendance-option.selected .option-label.absent{background:var(--danger);border-color:var(--danger);color:var(--accent-text)}.signout-instructions{border-top:1px solid var(--bg-secondary);margin-top:1rem;padding-top:1rem}.signout-instructions input{background:var(--bg-secondary);width:100%;color:var(--text-primary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:.75rem;padding:.75rem;font-size:.9rem;transition:border-color .2s}.signout-instructions input:focus{border-color:var(--accent);outline:none}.quick-options{flex-wrap:nowrap;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.quick-options-rows{flex-direction:column;gap:.5rem;display:flex}.quick-options-row{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex;overflow-x:auto}.quick-options-row .row-label{color:var(--text-secondary);white-space:nowrap;min-width:60px;font-size:.7rem;font-weight:600}.quick-options-row .placeholder-text{color:var(--text-muted);padding:.5rem 0;font-size:.75rem;font-style:italic}.quick-option-btn{text-transform:uppercase;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;padding:.5rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s}.quick-option-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.quick-option-btn.clear-btn{color:var(--danger)}.quick-option-btn.clear-btn:hover{background:var(--danger);color:var(--accent-text)}.quick-option-btn.parent-required{color:#fff;background:#dc2626}.quick-option-btn.parent-required:hover{color:#fff;background:#b91c1c}.quick-option-btn.compact{padding:.35rem .5rem;font-size:.7rem}.quick-option-btn.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.instruction-display{background:var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;min-height:48px;padding:.75rem;transition:background .2s;display:flex}.instruction-display:hover{background:var(--bg-card-hover)}.instruction-display .instruction-text{color:var(--text-primary);flex:1;font-size:.9rem}.instruction-display .instruction-placeholder{color:var(--text-muted);flex:1;font-size:.9rem;font-style:italic}.instruction-display .edit-icon{color:var(--text-secondary);flex-shrink:0}.editing-actions{align-items:stretch;gap:.5rem;margin-top:.75rem;display:flex}.editing-actions .reset-btn{background:var(--bg-secondary);width:48px;color:var(--text-muted);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;flex:0 0 48px;justify-content:center;align-items:center;padding:.65rem .75rem;transition:all .2s;display:flex}.editing-actions .reset-btn:hover{background:var(--bg-card-hover);color:var(--danger);border-color:var(--danger)}.editing-actions .reset-btn:active{background:var(--danger);color:var(--accent-text);border-color:var(--danger)}.done-editing-btn{text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--accent-text);border-radius:var(--border-radius);cursor:pointer;border:none;flex:1;padding:.65rem;font-size:.85rem;font-weight:600;transition:background .2s}.done-editing-btn:active{background:var(--accent-hover)}.quick-option-btn.compact.selected:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.form-field{margin-bottom:1rem}.form-field:last-child{margin-bottom:0}.form-field__label{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-field__label--required:after{content:" *";color:#dc2626;font-weight:600}.form-field__required{color:#dc2626;font-weight:600}.form-field__hint{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;display:block}.form-field__error{color:#dc2626;margin-top:.25rem;font-size:.85rem;font-weight:500;display:block}.form-field__help{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem;font-style:italic;line-height:1.4;display:block}.form-field__input,.form-field__textarea,.form-field__select{border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,background .2s}.form-field__input:focus,.form-field__textarea:focus,.form-field__select:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}.form-field__input:disabled,.form-field__textarea:disabled,.form-field__select:disabled{opacity:.6;cursor:not-allowed}.form-field__input::placeholder,.form-field__textarea::placeholder{color:var(--text-muted)}.form-field__textarea{resize:vertical;min-height:100px}.form-field__input--large{padding:1rem;font-size:1.25rem}.form-field__input--monospace{text-transform:uppercase;font-family:SF Mono,Monaco,monospace}.form-field__input--search{padding-left:2.5rem}.form-field__input-wrapper{position:relative}.form-field__input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.form-field__input-wrapper .form-field__input{padding-left:2.5rem}.form-field__button-group{gap:.75rem;display:flex}.form-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.form-section__title{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.form-section__description{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.form-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:inline-flex}.form-toggle__input{opacity:0;pointer-events:none;position:absolute}.form-toggle__switch{background:var(--bg-secondary);border-radius:12px;width:44px;height:24px;transition:background .2s;position:relative}.form-toggle__input:checked+.form-toggle__switch{background:var(--accent)}.form-toggle__slider{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.form-toggle__input:checked+.form-toggle__switch .form-toggle__slider{transform:translate(20px)}.form-toggle__label{color:var(--text-primary);font-size:.95rem;font-weight:500}.form-options{flex-direction:column;gap:.5rem;display:flex}.form-options--horizontal{flex-flow:wrap;gap:.75rem}.form-option{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.form-option__input{cursor:pointer}.form-option__label{cursor:pointer;color:var(--text-primary);font-size:.95rem}.workflow-steps{margin-bottom:var(--spacing);flex-direction:column;gap:.75rem;display:flex}.workflow-step{background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-primary);border-left:4px solid #0000;align-items:center;gap:1rem;padding:1.25rem;text-decoration:none;transition:all .2s;display:flex}.workflow-step:hover{background:var(--bg-card-hover);border-left-color:var(--accent)}.step-number{background:var(--bg-primary);border:2px solid var(--accent);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.step-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.step-title{text-transform:uppercase;letter-spacing:.5px;font-size:1rem;font-weight:600}.step-desc{color:var(--text-muted);font-size:.85rem}.step-progress{color:var(--warning);font-family:SF Mono,Monaco,monospace;font-size:.8rem;font-weight:600}.step-progress.complete{color:var(--success)}.step-arrow{color:var(--text-muted);font-size:1.25rem;transition:transform .2s}.workflow-step:hover .step-arrow{color:var(--accent);transform:translate(4px)}.workflow-step.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.workflow-step.disabled .step-number{border-color:var(--text-muted);color:var(--text-muted)}.workflow-step.disabled .step-desc{color:var(--text-muted);font-style:italic}.workflow-step.step-start-here{border-left-color:var(--primary);background:linear-gradient(135deg, var(--bg-secondary) 0%, #fce10714 100%);animation:2s ease-in-out infinite pulse-border}.step-indicator{justify-content:center;align-items:center;gap:0;padding:1rem 0;display:flex}.step-indicator.compact{padding:.5rem 0}.step-dot{background:var(--bg-secondary);border:2px solid var(--text-muted);border-radius:50%;width:12px;height:12px;transition:all .2s}.step-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #bf2c3733}.step-dot.completed{background:var(--accent);border-color:var(--accent)}.step-line{background:var(--bg-muted);width:3rem;height:2px;transition:background .2s}.step-line.completed{background:var(--accent)}.step-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.home-button{top:calc(env(safe-area-inset-top,0) + .75rem);z-index:10;width:44px;height:44px;color:var(--text-primary);background-color:#0000000d;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;text-decoration:none;transition:background-color .2s;display:flex;position:absolute;left:0}.home-button:hover{background-color:#0000001a}.swipe-container .home-button{top:calc(var(--spacing) + .5rem);left:var(--spacing)}.admin-actions{margin-top:var(--spacing);padding:var(--spacing) 0;border-top:1px solid var(--bg-secondary);flex-direction:column;gap:.75rem;display:flex}@media (width>=640px){.admin-actions{flex-direction:row}}.admin-actions-btn{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.admin-actions-btn svg{flex-shrink:0}.admin-actions-btn.secondary{background:var(--bg-secondary);color:var(--text-primary)}.admin-actions-btn.secondary:hover{background:var(--bg-card-hover)}.step-nav{width:100%;max-width:var(--max-width);padding:var(--spacing) 0;border-top:1px solid var(--bg-secondary);gap:.75rem;margin:2rem auto;display:flex}.step-nav-btn{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.step-nav-spacer{display:none}@media (width<=767px){.step-nav-spacer{height:calc(4rem + var(--spacing) + env(safe-area-inset-bottom));display:block}}.submit-reminder-banner{background:var(--bg-secondary);border-radius:var(--border-radius);border-left:3px solid var(--primary);margin-bottom:1.25rem;padding:.75rem .875rem;font-size:.85rem;line-height:1.4}.submit-summary{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.submit-summary h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.submit-date{background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-secondary);margin:0 0 1rem;padding:.75rem;font-size:.95rem}.submit-date strong{color:var(--text-primary)}.summary-note{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.lesson-fields-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.lesson-fields-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.submit-section{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.step-nav-btn.submit-attendance-btn{border-radius:var(--border-radius);cursor:pointer;background:var(--accent);width:100%;color:var(--accent-text);border:none;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.step-nav-btn.submit-attendance-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.submit-attendance-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.submit-error-message{border-radius:var(--border-radius);color:#dc2626;background:#dc26261a;border:1px solid #dc2626;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem;font-weight:500}.error-banner{z-index:9999;color:#fff;text-align:center;background:#dc2626;padding:1rem;font-size:1rem;font-weight:600;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #0000004d}.error-banner-content{justify-content:center;align-items:center;gap:.75rem;max-width:900px;margin:0 auto;display:flex}.error-banner-icon{flex-shrink:0}.error-banner-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.error-banner+.container{padding-top:4rem}.backup-mode-banner{z-index:9998;color:#78350f;text-align:center;background:#f59e0b;padding:1rem;font-size:1rem;font-weight:600;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #0000004d}.backup-mode-banner-content{justify-content:center;align-items:center;gap:.75rem;max-width:900px;margin:0 auto;display:flex}.backup-mode-banner-icon{flex-shrink:0}.backup-mode-banner-text-container{flex-direction:column;flex:1;gap:.25rem;display:flex}.backup-mode-banner-text{display:block}.backup-mode-banner-expiry{opacity:.9;font-size:.85rem;font-weight:500;display:block}.backup-mode-banner-disable{color:#78350f;cursor:pointer;white-space:nowrap;background:#78350f33;border:1px solid #78350f;border-radius:4px;margin-left:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.backup-mode-banner-disable:hover{background:#78350f4d;transform:translateY(-1px)}body:has(.backup-mode-banner){padding-top:7rem}@media (width>=768px){body:has(.backup-mode-banner){padding-top:5rem}}.error-message{border-radius:var(--border-radius);color:#dc2626;background:#dc26261a;border:1px solid #dc2626;margin-bottom:1.5rem;padding:.75rem;font-size:.9rem;font-weight:500}@media print{:root{--bg-primary:white;--text-primary:black}body{color:#000;background:#fff;padding:0}.back-link,.reset-section,.swipe-header,.step-indicator,.step-nav,.step-label,.home-button{display:none!important}.swipe-card{box-shadow:none;background:#fff;border:1px solid #ccc}.swipe-card .student-name{color:#000}}@media (width<=767px){.step-nav{background:var(--bg-secondary);max-width:none;padding:var(--spacing) var(--spacing) calc(var(--spacing) + env(safe-area-inset-bottom));border-top:1px solid var(--bg-secondary);z-index:100;margin:0;position:fixed;bottom:0;left:0;right:0}}@media (width>=768px){.swipe-container .step-nav{max-width:var(--max-width);background:var(--bg-secondary);padding:var(--spacing);border-top:1px solid var(--bg-secondary);z-index:100;margin:0;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 12px #00000014}}.coach-reminder-card{border-left:4px solid var(--warning);background:linear-gradient(135deg,#fbbf241a 0%,#fbbf240d 100%);box-shadow:0 2px 8px #fbbf241a}.coach-reminder-card .student-info h3{color:var(--warning);font-size:1.15rem}.coach-reminder-card .reminder-text{margin-top:.75rem}.coach-reminder-card .reminder-text p{color:var(--text-primary);margin:.5rem 0;font-size:.9rem;line-height:1.5}.coach-reminder-card .reminder-text p:first-child{font-weight:600}.absent-btn{text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);border:1px solid var(--text-muted);border-radius:var(--border-radius);cursor:pointer;background:0 0;min-width:80px;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.absent-btn:hover{border-color:var(--danger);background:#0000000d}.absent-btn.active{background:var(--danger);color:var(--accent-text);border-color:var(--danger)}.absent-btn.active:hover{background:#000;border-color:#000}.clear-attendance-btn{color:var(--text-muted);border-radius:var(--border-radius);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;height:36px;padding:.5rem .75rem;font-size:1.25rem;font-weight:600;line-height:1;transition:all .2s;display:flex}.clear-attendance-btn:hover{color:var(--danger);background:#dc26261a}.clear-attendance-btn:active{background:var(--danger);color:var(--accent-text)}.clear-attendance-btn:disabled{opacity:.3;cursor:not-allowed;background:0 0}.clear-attendance-btn:disabled:hover{color:var(--text-muted);background:0 0}.student-note-container{cursor:pointer;align-items:center;width:100%;display:flex}.student-note-container .student-note{width:100%;color:var(--text-secondary);padding:.6rem 0;font-size:.85rem}.student-note-container .student-note.placeholder{color:var(--text-muted);font-style:italic;font-weight:400}.student-note-input{background-color:#0000;border:none;border-bottom:2px solid #0000;border-radius:0;outline:none;width:100%;padding:.6rem 0;font-size:.85rem;transition:border-color .2s}.student-note-input:focus{border-bottom-color:var(--accent);outline:none}.student-note-input::placeholder{color:var(--text-muted)}.login-container{flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem;display:flex}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--accent);margin:0 0 .5rem;font-size:2rem;font-weight:700}.login-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:500}.login-form{background:var(--bg-card);border-radius:var(--border-radius-lg);width:100%;max-width:360px;padding:2rem;box-shadow:0 2px 8px #0000001a}.login-error{border:1px solid var(--accent);color:var(--accent);border-radius:var(--border-radius);text-align:center;background:#fee;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-group input{border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-primary);width:100%;color:var(--text-primary);padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--accent);outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-btn{background:var(--accent);width:100%;color:var(--accent-text);border-radius:var(--border-radius);cursor:pointer;border:none;padding:.875rem;font-size:1rem;font-weight:600;transition:background .2s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem}.login-footer p{color:var(--text-muted);margin:0;font-size:.9rem}.auth-info{color:var(--text-muted);justify-content:center;align-items:center;gap:1rem;margin-top:.5rem;font-size:.9rem;display:flex}.logout-btn-inline{background:var(--secondary);color:var(--secondary-text);border-radius:var(--border-radius);cursor:pointer;border:none;padding:.4rem .8rem;font-size:.85rem;transition:background .2s}.logout-btn-inline:hover{background:var(--secondary-hover)}.day-mismatch-banner{border-radius:var(--border-radius);background:#0084a81a;border:2px solid #0084a859;flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.day-mismatch-banner__text{color:var(--text-primary);flex:1;min-width:0;font-size:.9rem}.day-mismatch-banner__switch{flex-shrink:0}.day-mismatch-banner__dismiss{color:var(--text-muted);flex-shrink:0}.stale-data-warning{border-radius:var(--border-radius);text-align:center;background:#fff3cd;border:2px solid #ffc107;margin-bottom:1.5rem;padding:1rem}.stale-data-warning strong{color:#856404;margin-bottom:.5rem;font-size:1rem;display:block}.stale-data-warning p{color:#856404;margin:0 0 .75rem;font-size:.9rem}.group-student-card__mismatch{color:#92400e;align-items:center;gap:.3rem;margin-top:.15rem;font-size:.8rem;display:flex}.group-student-card__actions{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.refresh-btn{background:var(--accent);color:var(--accent-text);border-radius:var(--border-radius);cursor:pointer;border:none;padding:.6rem 1.2rem;font-weight:600;transition:background .2s}.refresh-btn:hover:not(:disabled){background:var(--accent-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.history-filters{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.history-filters__row{align-items:center;gap:.375rem;display:flex}.history-filters__row .form-field__select,.history-filters__row .form-field__input{flex:1 1 0;min-width:0;padding:.35rem .5rem;font-size:.8rem}.history-count{color:var(--text-muted);font-size:.9rem}.history-count-footer{text-align:center;color:var(--text-muted);margin-bottom:1rem;padding:1rem;font-size:.95rem}.history-list{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.history-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);content-visibility:auto;contain-intrinsic-size:auto 80px;transition:box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 2px 8px #00000014}.history-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.history-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1.25rem;transition:background .2s;display:flex}.history-header:hover{background:var(--bg-secondary)}.history-header-main{flex:1}.history-header h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.history-header h3 .coach-name{color:var(--text-muted);font-size:.95rem;font-weight:400}.lesson-metadata{flex-wrap:wrap;gap:.75rem;margin:.5rem 0;font-size:.85rem;display:flex}.metadata-item{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);border-radius:4px;padding:.25rem .5rem}.history-header .summary{color:var(--text-muted);font-size:.9rem}.expand-icon{color:var(--text-muted);flex-shrink:0;margin-left:1rem;transition:transform .2s}.expand-icon.expanded{transform:rotate(180deg)}.history-details{border-top:1px solid var(--border-color);padding:0 1.25rem 1.25rem}.detail-section,.detail-section:first-child{margin-top:1rem}.detail-section strong{color:var(--text-primary);margin-bottom:.5rem;font-size:.95rem;display:block}.detail-section p{color:var(--text-secondary);margin:0;line-height:1.5}.detail-section .no-notes{color:var(--text-muted);font-style:italic}.student-list{margin:0;padding:0;list-style:none}.student-list li{background:var(--bg-secondary);border-radius:var(--border-radius);border-left:3px solid var(--border-color);margin-bottom:.5rem;padding:.75rem}.student-list li:last-child{margin-bottom:0}.status-badge{text-transform:uppercase;border-radius:4px;margin-right:.5rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.full{color:#16a34a;background:#16a34a26;border:1px solid #16a34a}.status-badge.half{color:#d97706;background:#fbbf2426;border:1px solid #d97706}.status-badge.absent{color:#dc2626;background:#dc262626;border:1px solid #dc2626}.student-name{color:var(--text-primary);font-weight:500}.student-source{color:var(--text-muted);background:#fce1071a;border:1px solid #fce1074d;border-radius:4px;margin-left:.5rem;padding:.25rem .5rem;font-size:.8rem;font-style:italic;display:inline-block}.flaik-ref{background:var(--bg-primary);color:var(--text-muted);border-radius:4px;margin-left:.5rem;padding:.25rem .5rem;font-family:SF Mono,Monaco,monospace;font-size:.85rem;display:inline-block}.sign-out-instructions{color:var(--text-secondary);background:#3b82f61a;border-left:2px solid #3b82f6;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.9rem}.submission-meta{color:var(--text-muted);border-top:1px solid var(--border-color);flex-direction:column;gap:.25rem;padding-top:.75rem;font-size:.85rem;display:flex}.delete-section{border-top:1px solid var(--border-color);padding-top:.75rem}.delete-lesson-btn{background:var(--accent);width:100%;color:var(--accent-text);border-radius:var(--border-radius);cursor:pointer;border:none;padding:.75rem;font-size:1rem;font-weight:600;transition:background .2s}.delete-lesson-btn:hover{background:var(--accent-hover)}.delete-lesson-btn:active{transform:scale(.98)}.bottom-nav{border-top:1px solid var(--border-color);justify-content:center;padding-top:1rem;display:flex}.nav-link{color:var(--accent);padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{text-decoration:underline}.admin-export-container{max-width:100%;padding-left:0;padding-right:0}@media (width>=768px){.admin-export-container{max-width:1400px;padding-left:1rem;padding-right:1rem}}@media (width>=1200px){.admin-export-container{max-width:1600px}}.admin-export-controls{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.export-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.checkbox-filter{background:var(--bg-secondary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);min-height:44px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.95rem;transition:border-color .2s,background .2s;display:flex}.checkbox-filter:hover{border-color:var(--accent)}.checkbox-filter input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.date-filter{flex-direction:column;gap:.375rem;min-width:0;display:flex}.date-filter__label{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:500}.date-filter__input{border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-width:150px;padding:.5rem .75rem;font-size:.95rem;transition:border-color .2s,background .2s}.date-filter__input:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}@media (width<=640px){.card__header--with-action{flex-direction:column;align-items:stretch;gap:.75rem}.date-filter{width:100%}.date-filter__input{width:100%;min-width:0}}.export-actions{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.admin-export-controls label{color:var(--text-primary);flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:500;display:flex}.admin-export-controls select,.admin-export-controls .date-input,.admin-export-controls input[type=text],.admin-export-controls input[type=date]{border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);cursor:text;box-sizing:border-box;max-width:100%;min-height:44px;padding:.65rem .75rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,background .2s}.admin-export-controls select,.admin-export-controls .date-input,.admin-export-controls input[type=date]{cursor:pointer}.admin-export-controls select:focus,.admin-export-controls .date-input:focus,.admin-export-controls input[type=text]:focus,.admin-export-controls input[type=date]:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}.clear-date-btn{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.clear-date-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.clear-date-btn svg{flex-shrink:0}@media (width>=768px){.admin-export-controls{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:1.5rem}.export-filters{flex:1}.export-actions{flex-direction:row;align-items:flex-end;gap:1rem}.admin-export-controls select,.admin-export-controls .date-input{min-width:150px}}.admin-export-summary{flex-direction:column;gap:1.5rem;display:flex}@media (width>=1024px){.admin-export-summary{gap:2rem}}.summary-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing)}.summary-card h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.stat-item{border-bottom:1px solid var(--bg-secondary);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.stat-item:last-child{border-bottom:none}.stat-label{color:var(--text-muted);font-weight:500}.stat-value{color:var(--text-primary);font-weight:600}.admin-export-preview{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing)}.admin-export-preview h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.1rem}.preview-table-container{max-width:100%;margin-bottom:1rem;overflow-x:auto}.preview-table{border-collapse:separate;border-spacing:0;width:100%;min-width:700px;font-size:.9rem}.preview-table th,.preview-table td{text-align:left;border:1px solid var(--border-color);padding:.75rem}.preview-table th{background:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;z-index:10;font-weight:600;position:sticky;top:0}.preview-table td{color:var(--text-secondary);background:var(--bg-primary)}.preview-table td[rowspan]{background:var(--bg-secondary);color:var(--text-primary);border-right:3px solid var(--accent);font-weight:500}.preview-table tbody:first-of-type td{border-top:none}.preview-table tbody td{border-top:1px solid var(--secondary)}.preview-table tbody tr:hover td{background:var(--bg-card-hover)}.preview-table tbody tr:hover td[rowspan]{background:var(--bg-secondary)}.preview-lesson-notes-row{background:var(--bg-card-hover);border-left:4px solid var(--accent)}.preview-lesson-notes-row td{color:var(--text-secondary);font-size:.85rem;background:var(--bg-card-hover)!important;padding:1rem!important}.preview-lesson-field{margin-bottom:.5rem;line-height:1.5}.preview-lesson-field:last-child{margin-bottom:0}.preview-lesson-field strong{color:var(--text-primary);margin-right:.5rem;font-weight:600}.preview-note{text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}@media (width<=767px){.preview-table-container{display:none}.missing-reports-mobile{flex-direction:column;gap:1rem;display:flex}}@media (width>=768px){.missing-reports-mobile{display:none}}.missing-report-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;box-shadow:0 2px 8px #00000014}.missing-report-card__header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.missing-report-card__coach{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.missing-report-card__day{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.missing-report-card__body{flex-direction:column;gap:.5rem;display:flex}.missing-report-card__field{justify-content:space-between;align-items:baseline;font-size:.9rem;display:flex}.missing-report-card__label{color:var(--text-muted);flex-shrink:0;margin-right:.75rem;font-weight:500}.missing-report-card__value{color:var(--text-primary);text-align:right;word-break:break-word}.missing-report-card__programs{font-size:.85rem;line-height:1.4}.missing-report-card__overdue{font-size:1rem;font-weight:600}.missing-report-card__overdue--warning{color:var(--accent)}.missing-report-card__overdue--normal{color:var(--text-muted)}@media (width>=768px){.admin-export-preview{padding:2rem}.preview-table{font-size:1rem}.preview-table th,.preview-table td{padding:1rem}}.missing-reports-controls{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.missing-reports-summary{color:var(--text-muted);margin:0 0 1rem;font-size:.85rem}.missing-reports-summary strong{color:var(--text-primary)}.overdue-warning{color:var(--accent);font-weight:600}.overdue-normal{color:var(--text-muted)}.admin-home-container{max-width:var(--max-width)}@media (width>=768px){.admin-home-container{max-width:900px}}@media (width>=1024px){.admin-home-container{max-width:1200px}}@media (width>=1440px){.admin-home-container{max-width:1400px}}.admin-home-container header{padding:0}.admin-hub{flex-direction:column;gap:2rem;margin-top:1.75rem;display:flex}.admin-hub__section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:2px solid var(--bg-secondary);margin:0 0 .75rem;padding-bottom:.5rem;font-size:.95rem;font-weight:700}.admin-home-grid{grid-template-columns:1fr;gap:.625rem;display:grid}@media (width>=600px){.admin-home-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width>=1024px){.admin-home-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.admin-home-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);color:var(--text-primary);flex-direction:row;align-items:center;gap:1rem;padding:.875rem 1rem;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.admin-home-card:hover{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:0 2px 8px #00000014}@media (width>=600px){.admin-home-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem}}.admin-home-card-icon{width:44px;height:44px;color:var(--accent);background:#bf2c3714;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width>=600px){.admin-home-card-icon{border-radius:14px;width:48px;height:48px}}.admin-home-card-body{flex:1;min-width:0}.admin-home-card-body h3{color:var(--text-primary);margin:0 0 .2rem;font-size:.95rem;font-weight:600;line-height:1.2}@media (width>=600px){.admin-home-card-body h3{margin-bottom:.3rem;font-size:1rem}}.admin-home-card-body p{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.35}@media (width>=600px){.admin-home-card-body p{font-size:.82rem}}.admin-section{margin-bottom:2rem}.admin-section h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.status-badge{border-radius:var(--border-radius);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;display:inline-block}.status-active{color:#78350f;background:#fef3c7;border:2px solid #f59e0b}.status-inactive{color:#065f46;background:#d1fae5;border:2px solid #10b981}.help-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.6}.help-list{margin:1rem 0;padding-left:1.5rem}.help-list li{color:var(--text-secondary);margin-bottom:.5rem}.warning-text{color:#d97706;font-weight:500}.qr-duration-selector{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.qr-duration-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;flex:1;align-items:center;gap:.5rem;min-width:200px;padding:.75rem 1.25rem;transition:all .2s;display:flex}.qr-duration-option:hover{background:var(--bg-card-hover);border-color:var(--accent)}.qr-duration-option input[type=radio]:checked+span{font-weight:700}.qr-duration-option input[type=radio]{cursor:pointer;width:20px;height:20px}.qr-duration-option span{color:var(--text-primary);font-size:.95rem;font-weight:500}.qr-code-container{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width>=768px){.qr-code-container{grid-template-columns:repeat(2,1fr)}}.qr-code-container-two{grid-template-columns:1fr}@media (width>=768px){.qr-code-container-two{grid-template-columns:repeat(2,1fr)}}.qr-code-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);flex-direction:column;align-items:center;padding:2rem;display:flex}.qr-code-card-permanent{background:#f59e0b0d;border-color:#f59e0b}.qr-code-card h3{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.1rem}.qr-warning-text{color:#d97706;text-align:center;margin:1rem 0 0;padding:0 .5rem;font-size:.85rem;font-weight:600}.qr-code-wrapper{border-radius:var(--border-radius);background:#fff;margin-bottom:1rem;padding:1rem}.url-text{color:var(--text-secondary);word-break:break-all;text-align:center;margin:0;padding:0 .5rem;font-size:.8rem}.backup-status-active,.backup-status-inactive{border-radius:var(--border-radius-lg);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.5rem;display:flex}.backup-status-active{background:#f59e0b1a;border:2px solid #f59e0b}.backup-status-inactive{background:#10b9811a;border:2px solid #10b981}.backup-status-icon{font-size:2rem;line-height:1}.backup-status-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.backup-status-expiry{color:var(--text-secondary);font-size:.9rem}.backup-mode-controls{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.backup-mode-duration{flex-direction:column;gap:.75rem;display:flex}.duration-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}.duration-option:hover{background:var(--bg-card-hover);border-color:var(--accent)}.duration-option input[type=radio]{cursor:pointer;width:20px;height:20px}.duration-option span{color:var(--text-primary);font-size:.95rem;font-weight:500}.backup-mode-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn-warning{color:#78350f;border-radius:var(--border-radius);cursor:pointer;background:#f59e0b;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-warning:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.btn-warning:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.success-message{text-align:center;flex-direction:column;align-items:center;padding:2rem;display:flex}.success-icon{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;font-size:2rem;font-weight:700;display:flex}.success-message h2{color:var(--text-primary);margin:0 0 1rem}.status-text{color:var(--text-secondary);margin-bottom:1rem;font-size:1rem}.redirect-text{color:var(--text-secondary);font-size:.9rem;font-style:italic}.error-icon{color:#fff;background:#dc2626;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;font-size:2rem;font-weight:700;display:flex}.student-lookup-controls{margin-bottom:1.5rem}.student-lookup-search-row{margin-bottom:1rem;position:relative}.student-lookup-search-row .form-field__input{padding-right:2.5rem}.clear-search-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.clear-search-btn:hover{color:var(--text-primary);background:#0000000d}.filters-section{margin-bottom:1rem}.filters-toggle{background:var(--bg-surface);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.filters-toggle:hover{background:var(--bg-secondary)}.filters-toggle svg:first-child{flex-shrink:0}.filter-count{background:var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 .35rem;font-size:.75rem;font-weight:600;display:inline-flex}.toggle-arrow{flex-shrink:0;transition:transform .2s}.toggle-arrow.expanded{transform:rotate(180deg)}.clear-filters-container{border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}.clear-filters-btn{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.clear-filters-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.clear-filters-btn svg{flex-shrink:0}.filter-row{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;gap:1rem;margin-top:.5rem;padding:1rem;display:flex}@media (width>=640px){.filter-row{flex-flow:wrap}}.filter-row label{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:flex}.filter-row select{border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;padding:.5rem .75rem;font-size:.95rem;transition:border-color .2s,background .2s}.filter-row select:focus{border-color:var(--accent);background:var(--bg-primary);outline:none}.student-lookup-summary{text-align:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);margin-top:1rem;padding:.5rem;font-size:.9rem}.student-lookup-summary strong{color:var(--text-primary);font-weight:600}.student-lookup-results{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}.student-table-container{margin-bottom:0;overflow-x:auto}.student-table{border-collapse:separate;border-spacing:0;width:100%;min-width:600px;font-size:.85rem}.student-table th,.student-table td{text-align:left;border:1px solid var(--border-color);white-space:nowrap;padding:.5rem}.student-table th{background:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;z-index:10;font-weight:600;position:sticky;top:0}.student-table td{color:var(--text-secondary);background:var(--bg-primary)}.student-table tbody tr:hover td{background:var(--bg-card-hover)}.student-name-cell{color:var(--text-primary);text-overflow:ellipsis;max-width:200px;font-weight:500;overflow:hidden}.day-cell,.program-cell,.group-cell,.level-cell{text-align:center}.coach-cell{text-overflow:ellipsis;max-width:150px;font-weight:500;overflow:hidden}@media (width>=768px){.filter-row{padding:1.5rem}.student-table{font-size:.95rem}.student-table th,.student-table td{padding:.75rem}.student-name-cell,.coach-cell{max-width:none}}.session-warning-overlay{z-index:10000;padding:var(--spacing);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-warning-modal{background:var(--bg-card);border-radius:var(--border-radius-lg);width:100%;max-width:400px;margin:1rem;padding:2rem;animation:.3s ease-out modalSlideIn;box-shadow:0 4px 20px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.session-warning-modal h3{color:var(--text-primary);text-align:center;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.session-warning-modal p{text-align:center;color:var(--text-secondary);margin:0 0 1rem;font-size:.95rem;line-height:1.5}.session-warning-modal strong{color:var(--accent);font-weight:600}.session-warning-modal .warning-text{color:var(--accent);margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.session-warning-modal .btn-group{gap:.75rem;display:flex}.session-warning-modal .btn-group button{border-radius:var(--border-radius);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;flex:1;padding:.875rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s}.session-warning-modal .primary-btn{background:var(--accent);color:var(--accent-text)}.session-warning-modal .primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #bf2c374d}.session-warning-modal .secondary-btn{background:var(--bg-secondary);color:var(--text-primary)}.session-warning-modal .secondary-btn:hover{background:var(--bg-card-hover)}.session-expired-banner{background:var(--accent);color:var(--accent-text);text-align:center;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem;font-size:.95rem;font-weight:500;box-shadow:0 2px 8px #bf2c3733}.notices-banner{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-top:.75rem;display:flex}.card--notice{padding:.75rem;overflow:hidden}.card--notice-critical{background-color:#fee;border-left:4px solid #d32f2f}.card--notice-critical:hover{background-color:#fee}.card--notice-info{background-color:#e3f2fd;border-left:4px solid #1976d2}.card--notice-info:hover{background-color:#e3f2fd}.card--notice-updates{background-color:#fffde7;border-left:4px solid #f57c00}.card--notice-updates:hover{background-color:#fffde7}.card--notice-event{background-color:#f3e5f5;border-left:4px solid #7b1fa2}.card--notice-event:hover{background-color:#f3e5f5}.card--notice .card__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0;display:flex}.card__header-content{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.card__icon{flex-shrink:0;font-size:1.25rem;line-height:1}.card--notice .card__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.card__countdown{white-space:nowrap;background:#0000001a;border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-size:.75rem;font-weight:500}.card__dismiss{cursor:pointer;width:1.75rem;height:1.75rem;color:inherit;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background .2s;display:flex}.card__dismiss:hover{background:#00000026}.card--notice .card__body{padding:0}.card__message{white-space:pre-wrap;color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.card__footer-text{color:var(--text-secondary);border-top:1px solid #0000001a;margin:.75rem 0 0;padding-top:.75rem;font-size:.875rem}.time-range-presets{flex-wrap:wrap;gap:.5rem;display:flex}.filter-mode-options{flex-direction:column;gap:.75rem;display:flex}.filter-mode-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .2s;display:flex}.filter-mode-option:hover{background:var(--bg-card-hover);border-color:var(--accent)}.filter-mode-option:has(input:checked){border-color:var(--primary);background:#fce1071a;font-weight:600}.filter-mode-option input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}.filter-mode-option span{color:var(--text-primary);font-size:.95rem}.multiselect{margin-top:var(--spacing-2)}.multiselect__header{margin-bottom:var(--spacing-2);justify-content:space-between;align-items:center;display:flex}.multiselect__toggle-all{color:var(--text-primary);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;white-space:nowrap;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.multiselect__toggle-all:hover{background:var(--bg-card-hover);border-color:var(--primary)}.multiselect__toggle-all--active{border-color:var(--primary);color:var(--text-primary);background:#fce10726;font-weight:600}.multiselect__list{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);max-height:280px;padding:.5rem;overflow-y:auto}.multiselect__list--compact{max-height:none;overflow-y:visible}.multiselect__item{cursor:pointer;border-radius:var(--border-radius);-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex}.multiselect__item:hover{background:var(--bg-secondary);border-color:var(--border-color)}.multiselect__item:has(.multiselect__checkbox:checked){border-color:var(--primary);background:#fce1071a}.multiselect__checkbox{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary);flex-shrink:0}.multiselect__label{color:var(--text-primary);flex:1;font-size:.95rem;font-weight:500}.multiselect__item:has(.multiselect__checkbox:checked) .multiselect__label{font-weight:600}.multiselect__summary{margin-top:var(--spacing-2);background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-secondary);text-align:center;padding:.5rem .75rem;font-size:.875rem}.typeahead{width:100%;position:relative}.typeahead__suggestions{background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--border-radius);z-index:100;max-height:300px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.typeahead__suggestion{cursor:pointer;border-bottom:1px solid var(--bg-secondary);padding:.75rem 1rem;transition:background .2s}.typeahead__suggestion:last-child{border-bottom:none}.typeahead__suggestion:hover{background:var(--bg-card-hover)}.typeahead__suggestion:active{background:var(--accent);color:var(--accent-text)}.notice-history{flex-direction:column;gap:1rem;display:flex}.card--archived{opacity:.6}.card--notice.card--history{padding:.75rem}.card--notice.card--history .card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;padding:0;display:flex}.card--notice.card--history .card__info{flex:1;min-width:0}.card--notice.card--history .card__title{white-space:normal;text-overflow:clip;margin:0 0 .35rem;font-size:1rem;font-weight:600;overflow:visible}.card--notice.card--history .card__metadata{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:0;font-size:.85rem;display:flex}.card--notice.card--history .card__body{padding:0}.csv-preview{flex-direction:column;gap:.75rem;display:flex}.csv-preview-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.75rem;font-size:.875rem;line-height:1.4}.csv-preview-item strong{color:var(--text-primary);margin-bottom:.25rem;display:block}.error-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6}.error-list li{color:var(--text-secondary);margin-bottom:.5rem}.error-list li:last-child{margin-bottom:0}.card--error{border-radius:var(--border-radius);background:#fee;border:1px solid #dc2626}.card--error .card__body{padding:1rem}.card--error h3{color:#dc2626;margin:0 0 .75rem;font-size:1rem}.card--success{border-radius:var(--border-radius);background:#d1fae5;border:1px solid #10b981}.card--success .card__body{padding:1rem}.card--success h3{color:#065f46;margin:0 0 .75rem;font-size:1rem}.notice-filter{flex-direction:column;gap:.25rem;min-width:140px;display:flex}.notice-filter .form-field__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.75rem;font-weight:600}.form-field__select--compact{min-height:auto;padding:.4rem .6rem;font-size:.9rem}.notice-toggle-container{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.modal__content--large{max-width:600px;max-height:90vh;overflow-y:auto}@media (width>=768px){.modal__content--large{max-width:700px}}.admin-table{border-collapse:separate;border-spacing:0;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;font-size:.9rem;overflow:hidden}.admin-table th{background:var(--bg-secondary);color:var(--text-primary);text-align:left;border-bottom:2px solid var(--border-color);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;padding:1rem .75rem;font-size:.85rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-primary);padding:1rem .75rem}.admin-table tbody tr:nth-child(4n+1),.admin-table tbody tr:nth-child(4n+2){background:var(--bg-primary)}.admin-table tbody tr:nth-child(4n+3),.admin-table tbody tr:nth-child(4n+4){background:#00000005}.admin-table tbody tr:not([data-detail-row]):hover td{background:var(--bg-card-hover);cursor:pointer}.admin-table tbody tr[data-detail-row] td{border-bottom:2px solid var(--border-color);background:#fce10708!important;padding:1.5rem!important}.admin-table tbody tr[data-detail-row]:hover td{cursor:default;background:#fce10708!important}.admin-table .admin-table{border:1px solid var(--border-color);margin-top:.5rem;font-size:.85rem;box-shadow:0 1px 3px #0000000d}.admin-table .admin-table th{background:#00000005;padding:.65rem .75rem;font-size:.8rem}.admin-table .admin-table td{padding:.65rem .75rem}.admin-table .admin-table tbody tr{background:var(--bg-primary)!important}.admin-table .admin-table tbody tr:hover td{background:var(--bg-card-hover)!important}@media (width>=768px){.admin-table{font-size:.95rem}.admin-table th{padding:1rem;font-size:.9rem}.admin-table td{padding:1rem}.admin-table .admin-table th{padding:.75rem;font-size:.85rem}.admin-table .admin-table td{padding:.75rem}}.attendance-summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.attendance-summary-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:1rem;display:grid}.attendance-summary-filters .form-field{margin-bottom:0}.attendance-detail-loading{text-align:center;color:var(--text-muted);padding:1rem}.attendance-detail-header{color:var(--text-primary);margin:0 0 1rem;font-size:.95rem;font-weight:600}.attendance-expand-icon{text-align:center;width:40px}.attendance-expand-icon svg{transition:transform .2s}.attendance-card-footer-expanded{border-top:1px solid var(--border-color);background:#fce10708;margin-top:1rem;padding-top:1rem}.stat-value-large{font-size:2rem}.stat-label-small{margin-bottom:.5rem;font-size:.875rem}.u-mb-0{margin-bottom:0}.u-mb-1{margin-bottom:.5rem}.u-mb-2{margin-bottom:1rem}.u-mb-3{margin-bottom:1.5rem}.u-mb-4{margin-bottom:2rem}.u-mt-0{margin-top:0}.u-mt-1{margin-top:.5rem}.u-mt-2{margin-top:1rem}.u-mt-3{margin-top:1.5rem}.u-mt-4{margin-top:2rem}.u-ml-0{margin-left:0}.u-ml-1{margin-left:.5rem}.u-ml-2{margin-left:1rem}.u-mr-0{margin-right:0}.u-mr-1{margin-right:.5rem}.u-mr-2{margin-right:1rem}.u-p-0{padding:0}.u-p-1{padding:.5rem}.u-p-2{padding:1rem}.u-p-3{padding:1.5rem}.u-p-4{padding:2rem}.u-block{display:block}.u-inline-block{display:inline-block}.u-inline{display:inline}.u-hidden{display:none}.u-flex{display:flex}.u-flex-column{flex-direction:column}.u-flex-row{flex-direction:row}.u-flex-wrap{flex-wrap:wrap}.u-flex-start{justify-content:flex-start}.u-flex-end{justify-content:flex-end}.u-flex-center{justify-content:center}.u-flex-between{justify-content:space-between}.u-flex-around{justify-content:space-around}.u-align-start{align-items:flex-start}.u-align-end{align-items:flex-end}.u-align-center{align-items:center}.u-align-stretch{align-items:stretch}.u-gap-0{gap:0}.u-gap-1{gap:.5rem}.u-gap-2{gap:1rem}.u-gap-3{gap:1.5rem}.u-gap-4{gap:2rem}.u-flex-1{flex:1}.u-flex-auto{flex:auto}.u-flex-none{flex:none}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-text-muted{color:var(--text-muted)}.u-text-primary{color:var(--text-primary)}.u-text-secondary{color:var(--text-secondary)}.u-text-accent{color:var(--accent)}.u-font-mono{font-family:SF Mono,Monaco,monospace}.u-font-bold{font-weight:700}.u-font-semibold{font-weight:600}.u-font-normal{font-weight:400}.u-text-uppercase{text-transform:uppercase}.u-text-lowercase{text-transform:lowercase}.u-text-capitalize{text-transform:capitalize}.u-text-sm{font-size:.875rem}.u-text-base{font-size:1rem}.u-text-lg{font-size:1.125rem}.u-text-xl{font-size:1.25rem}.u-w-full{width:100%}.u-w-auto{width:auto}.u-w-half{width:50%}.u-relative{position:relative}.u-absolute{position:absolute}.u-fixed{position:fixed}@media (width<=767px){.u-hidden-mobile{display:none}}@media (width>=768px){.u-hidden-desktop{display:none}}.u-opacity-0{opacity:0}.u-opacity-50{opacity:.5}.u-opacity-100{opacity:1}.u-overflow-auto{overflow:auto}.u-overflow-hidden{overflow:hidden}.u-overflow-scroll{overflow:scroll}.sidebar-safe-area-fill{height:env(safe-area-inset-top,0);background:var(--bg-primary);z-index:1510;pointer-events:none;will-change:transform;transition:background .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0}.sidebar-safe-area-fill--open{background:var(--bg-card)}.sidebar-overlay{z-index:1500;opacity:0;pointer-events:none;background:#00000073;transition:opacity .25s;position:fixed;inset:0}.sidebar-overlay--visible{opacity:1;pointer-events:auto}.sidebar-panel{background:var(--bg-card);z-index:1501;-webkit-overflow-scrolling:touch;width:280px;height:100dvh;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 24px #0000002e}.sidebar-panel--open{transform:translate(0)}.sidebar-close{top:calc(.75rem + env(safe-area-inset-top,0));cursor:pointer;width:36px;height:36px;color:var(--text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;transition:background .15s,color .15s;display:flex;position:absolute;right:.75rem}.sidebar-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-user-info{padding:calc(1.25rem + env(safe-area-inset-top,0)) 1.25rem 1.25rem;border-bottom:1px solid var(--bg-secondary)}.sidebar-user-info__name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.8rem}.sidebar-user-info__value{color:var(--text-primary);font-size:1rem;font-weight:600}.sidebar-user-info__coach{border-top:1px solid var(--bg-secondary);margin-top:.75rem;padding-top:.75rem}.sidebar-user-info__coach-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sidebar-user-info__coach-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.sidebar-user-info__coach-name{color:var(--text-primary);margin-top:.15rem;font-size:.95rem;font-weight:600}.sidebar-user-info__coach-name--empty{color:var(--text-muted);font-style:italic;font-weight:400}.sidebar-user-info__change-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-size:.78rem;transition:background .15s}.sidebar-user-info__change-btn:hover{background:#bf2c3714}.sidebar-nav{flex:1;padding:.75rem 0}.sidebar-nav-item{width:100%;min-height:48px;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.875rem;padding:.875rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav-item:hover{background:var(--bg-secondary)}.sidebar-nav-item--active{color:var(--accent);background:#bf2c370f;font-weight:600}.sidebar-nav-item--active:hover{background:#bf2c371a}.sidebar-nav-item--dimmed{opacity:.4;pointer-events:none}.sidebar-nav-item--danger{color:var(--danger)}.sidebar-nav-item--danger:hover{background:#ef444414}.sidebar-nav-item__icon{text-align:center;flex-shrink:0;width:1.5rem;font-size:1.1rem}.sidebar-divider{background:var(--bg-secondary);height:1px;margin:.5rem 0}.sidebar-footer{border-top:1px solid var(--bg-secondary);padding:.5rem 0}.sidebar-nav-item--install{color:var(--text-secondary)}.sidebar-nav-item--install:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-nav-item__install-text{flex-direction:column;gap:.1rem;display:flex}.sidebar-nav-item__install-sub{color:var(--text-muted);font-size:.72rem;font-weight:400}.sidebar-install-hint{color:var(--text-muted);padding:.375rem 1.25rem .5rem 3.625rem;font-size:.78rem;line-height:1.4}.map-page{padding-top:env(safe-area-inset-top,0);background:#1a1a2e;flex-direction:column;display:flex;position:fixed;inset:0}.map-container{flex:1;min-height:0;position:relative;overflow:hidden}.map-container .maplibregl-map{width:100%;height:100%;position:absolute;inset:0}.map-freshness-banner{z-index:200;border-radius:var(--border-radius);align-items:center;gap:.5rem;padding:.6rem .875rem;font-size:.82rem;font-weight:500;display:flex;position:absolute;top:.75rem;left:calc(1.25rem + 44px);right:calc(1.25rem + 44px);box-shadow:0 2px 8px #0003}.map-freshness-banner--subtle{color:var(--text-primary);border:1px solid var(--bg-secondary);background:#fffffff2}.map-freshness-banner--prominent{color:#92400e;background:#fbbf24f7;border:1px solid #fbbf24cc}.map-freshness-banner__refresh-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:.15rem .4rem;font-size:.8rem;font-weight:700}.map-freshness-banner--prominent .map-freshness-banner__refresh-btn{color:#92400e;text-decoration:underline}.map-hamburger-btn{top:calc(.75rem + env(safe-area-inset-top,0));z-index:200;background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,transform .15s;display:flex;position:absolute;left:.75rem;box-shadow:0 2px 8px #0003}.map-hamburger-btn:hover{background:var(--bg-secondary)}.map-hamburger-btn:active{transform:scale(.93)}@media (width<=767px) and (height>=650px){.map-hamburger-btn{display:none}}.map-download-panel{z-index:300;position:absolute;top:.75rem;right:.75rem}.map-download-btn{background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,transform .15s;display:flex;box-shadow:0 2px 8px #0003}.map-download-btn:hover{background:var(--bg-secondary)}.map-download-btn:active{transform:scale(.93)}.map-download-dropdown{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);width:260px;padding:1rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 4px 16px #0000002e}.map-download-dropdown__title{color:var(--text-primary);margin-bottom:.4rem;font-size:.85rem;font-weight:600}.map-download-dropdown__meta{color:var(--text-secondary);margin-bottom:.75rem;font-size:.78rem}.map-download-dropdown__hint{color:var(--text-secondary);margin-bottom:.5rem;font-size:.72rem;font-style:italic}.map-download-done{color:#16a34a;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.map-download-persist-notice{color:#92400e;border-radius:var(--border-radius);background:#fef3c7;border:1px solid #fde68a;margin-bottom:.5rem;padding:.4rem .5rem;font-size:.73rem}.map-download-eviction-warning{color:#92400e;border-radius:var(--border-radius);background:#fef3c7;border:1px solid #fde68a;margin-bottom:.75rem;padding:.5rem .6rem;font-size:.78rem}.map-download-progress{margin-bottom:.75rem}.map-download-progress__bar-track{background:var(--bg-secondary);border-radius:3px;height:6px;margin-bottom:.3rem;overflow:hidden}.map-download-progress__bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.map-download-progress__label{color:var(--text-secondary);font-size:.75rem}.map-download-dropdown__clear-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;font-size:.78rem;text-decoration:underline;display:block}.map-download-dropdown__clear-btn:hover{color:var(--danger)}.map-download-quality{gap:.4rem;margin-bottom:.6rem;display:flex}.map-download-quality__btn{border:1px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:center;flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.4rem .25rem;font-size:.78rem;font-weight:500;transition:all .15s;display:flex}.map-download-quality__btn:hover{border-color:var(--accent)}.map-download-quality__btn--active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.map-download-quality__size{opacity:.75;font-size:.68rem}.map-filter-panel{z-index:200;background:var(--bg-card);border-top:2px solid var(--bg-secondary);padding-bottom:env(safe-area-inset-bottom,0);position:relative;box-shadow:0 -6px 32px #00000047}.map-filter-panel:before{content:"";background:var(--text-secondary);opacity:.45;border-radius:2px;width:36px;height:4px;margin:8px auto 0;display:block}.map-filter-panel__toggle{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.7rem 1.25rem;transition:background .15s;display:flex}.map-filter-panel__toggle:hover{background:var(--bg-secondary)}.map-filter-panel__toggle-summary{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.map-filter-panel__toggle-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);white-space:nowrap;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;display:flex}.map-filter-panel__toggle-range{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.map-filter-panel__toggle-arrow{color:var(--text-secondary);flex-shrink:0;font-size:.85rem;transition:transform .25s}.map-filter-panel__toggle-arrow--up{transform:rotate(180deg)}.map-filter-panel__body{border-top:1px solid var(--bg-secondary);padding:.5rem 1.25rem 1rem}.map-filter-section{margin-bottom:.875rem}.map-filter-section:last-child{margin-bottom:0}.map-filter-section__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.map-filter-section__label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);font-size:.72rem;font-weight:600}.map-filter-section__label:only-child{margin-bottom:.5rem}.map-filter-panel__reset-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:.72rem;font-weight:600;transition:color .15s,background .15s;display:flex}.map-filter-panel__reset-btn:hover{color:var(--accent);background:var(--bg-secondary)}.map-level-chips{gap:.3rem;display:flex}.map-level-chip{height:36px;color:var(--text-secondary);cursor:pointer;letter-spacing:-.01em;background:0 0;border:2px solid;border-radius:6px;flex:1;justify-content:center;align-items:center;padding:0;font-size:.68rem;font-weight:700;transition:background .15s,color .15s,transform .1s;display:flex}.map-level-chip:active{transform:scale(.94)}.map-level-chip--active{font-weight:800}.map-tree-presets{gap:.5rem;display:flex}.map-tree-preset-btn{border:1px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:center;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .25rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.map-tree-preset-btn:hover{border-color:var(--accent)}.map-tree-preset-btn--active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.map-tree-preset-btn--capped{opacity:.35;pointer-events:none}.map-tree-preset-btn--condition{flex-direction:column;gap:.1rem;padding:.4rem .25rem}.map-tree-preset-btn__main{font-size:.8rem;font-weight:500}.map-tree-preset-btn__sub{opacity:.75;font-size:.65rem;font-weight:400}.map-filter-section__label--warning{color:#d97706}.maplibregl-popup-close-button{background:var(--bg-secondary)!important;width:32px!important;height:32px!important;color:var(--text-primary)!important;cursor:pointer!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;font-size:1.2rem!important;line-height:32px!important;display:flex!important;top:6px!important;right:6px!important}.maplibregl-popup-close-button:hover{background:var(--bg-tertiary,#ddd)!important}.maplibregl-popup-content{border-radius:var(--border-radius);min-width:180px;max-width:300px;padding:0;box-shadow:0 4px 16px #0003}.map-run-popup{padding:.875rem 2.5rem .875rem 1rem}.map-run-popup__name{color:var(--text-primary);margin-bottom:.15rem;font-size:1rem;font-weight:700;line-height:1.3}.map-run-popup__alt-name{color:var(--text-secondary);margin-bottom:.25rem;font-size:.78rem;font-style:italic}.map-run-popup__meta{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem}.map-run-popup__tree-badge{color:#15803d;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:999px;align-items:center;gap:.25rem;margin-bottom:.4rem;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.map-run-popup__field{border-top:1px solid var(--bg-secondary);margin-top:.3rem;padding-top:.4rem}.map-run-popup__field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.1rem;font-size:.68rem;font-weight:600}.map-run-popup__field-value{color:var(--text-primary);font-size:.8rem;line-height:1.4}.map-run-popup__notes{color:var(--text-secondary);border-top:1px solid var(--bg-secondary);margin-top:.25rem;padding-top:.5rem;font-size:.8rem;line-height:1.45}.map-loading{z-index:100;color:#aaa;background:#1a1a2e;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.9rem;display:flex;position:absolute;inset:0}.map-loading__spinner{border:3px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite map-spin}@keyframes map-spin{to{transform:rotate(360deg)}}.map-container .maplibregl-ctrl-bottom-right{bottom:.75rem;right:.75rem}.map-search-btn{z-index:200;background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,transform .15s;display:flex;position:absolute;bottom:.75rem;left:.75rem;box-shadow:0 2px 8px #0003}.map-search-btn:hover{background:var(--bg-secondary)}.map-search-btn:active{transform:scale(.93)}.map-3d-btn{z-index:200;background:var(--bg-card);border:1px solid var(--bg-secondary);cursor:pointer;width:44px;height:44px;color:var(--text-primary);letter-spacing:.03em;border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;transition:background .15s,transform .15s;display:flex;position:absolute;top:calc(1.25rem + 44px);right:.75rem;box-shadow:0 2px 8px #0003}.map-3d-btn:hover{background:var(--bg-secondary)}.map-3d-btn:active{transform:scale(.93)}.map-3d-btn--active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.map-3d-btn--active:hover{background:var(--accent);opacity:.88}.map-search-overlay{z-index:1520;background:var(--bg-card);flex-direction:column;display:flex;position:fixed;inset:0}.map-search-header{border-bottom:1px solid var(--bg-secondary);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem;display:flex}.map-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.map-search-input-icon{color:var(--text-secondary);pointer-events:none;position:absolute;left:.6rem}.map-search-input{border:1px solid var(--bg-secondary);background:var(--bg-secondary);width:100%;color:var(--text-primary);-webkit-appearance:none;border-radius:8px;outline:none;padding:.55rem 2rem .55rem 2.1rem;font-size:1rem}.map-search-input:focus{border-color:var(--accent)}.map-search-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.2rem;line-height:1;position:absolute;right:.5rem}.map-search-cancel{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:.25rem;font-size:.9rem;font-weight:600}.map-search-results{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.map-search-result{border:none;border-bottom:1px solid var(--bg-secondary);cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.75rem 1rem;transition:background .1s;display:flex}.map-search-result:hover,.map-search-result:active{background:var(--bg-secondary)}.map-search-result__name{color:var(--text-primary);font-size:.95rem;font-weight:600}.map-search-result__altname{color:var(--text-secondary);font-size:.78rem;font-weight:400;display:block}.map-search-result__meta{color:var(--text-secondary);font-size:.78rem}.map-search-empty{text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.9rem}.safety-manual{background:var(--bg-primary);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex;position:fixed;inset:0}.safety-manual__header{color:var(--text-primary);border-bottom:1px solid var(--bg-secondary);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .5rem;font-size:.9rem;font-weight:600;display:flex}.safety-manual__hamburger{cursor:pointer;width:40px;height:40px;color:var(--text-primary);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.safety-manual__hamburger:hover{background:var(--bg-secondary)}@media (width<=767px) and (height>=650px){.safety-manual__hamburger{display:none}}.safety-manual__scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.safety-manual__pages{flex-direction:column;display:flex}.safety-manual__status{text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.9rem}.safety-manual__status--error{color:var(--color-danger,#bf2c37)}.profile-open-btn{min-width:32px;min-height:32px;color:var(--text-muted);flex-shrink:0;padding:.25rem}.profile-color-dots{flex-flow:wrap;align-items:center;gap:.35rem;margin-top:.3rem;display:flex}.profile-color-dot{background-color:var(--dot-color,var(--bg-secondary));border:1px solid #0003;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.profile-color-dot--unknown{background-color:var(--bg-secondary);border-style:dashed}.profile-color-label{color:var(--text-muted);font-size:.7rem;line-height:1}.roster-day-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem;font-weight:700}.roster-list{flex-direction:column;gap:.5rem;display:flex}.roster-card{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.roster-card:active{opacity:.85}.roster-card__name{color:var(--text-primary);font-size:1rem;font-weight:600}.roster-card__notes{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.85rem;display:-webkit-box;overflow:hidden}.roster-card__no-profile{color:var(--text-muted);margin-top:.35rem;font-size:.8rem;font-style:italic}.color-select-row{align-items:center;gap:.5rem;display:flex}.color-select-row .form-field__select{flex:1}.color-select-swatch{background-color:var(--swatch-color,var(--bg-secondary));border:2px solid var(--bg-secondary);border-radius:50%;flex-shrink:0;width:28px;height:28px;transition:background-color .15s;box-shadow:inset 0 0 0 1px #00000026}.color-select-trigger{border:1.5px solid var(--border);border-radius:var(--border-radius);background:var(--bg-card);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;transition:border-color .15s;display:flex}.color-select-trigger:active{border-color:var(--accent)}.color-select-trigger__dot{background-color:var(--swatch-color,var(--bg-secondary));border:1.5px solid #0003;border-radius:50%;flex-shrink:0;width:20px;height:20px}.color-select-trigger__name{color:var(--text-primary);text-align:left;flex:1;font-size:.9rem}.color-select-trigger__placeholder{color:var(--text-muted);text-align:left;flex:1;font-size:.9rem}.color-select-trigger__icon{color:var(--text-muted);flex-shrink:0}.color-swatch-grid{flex-wrap:wrap;gap:.35rem;display:flex}.color-swatch-btn{border-radius:var(--border-radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:.15rem;min-width:44px;min-height:44px;padding:.25rem;transition:border-color .15s;display:flex;position:relative}.color-swatch-btn:active{opacity:.8}.color-swatch-btn--selected{border-color:var(--accent);background-color:var(--bg-secondary)}.color-swatch-btn__circle{background-color:var(--swatch-color,var(--bg-secondary));border:1.5px solid #0003;border-radius:50%;flex-shrink:0;width:26px;height:26px;transition:transform .1s}.color-swatch-btn:active .color-swatch-btn__circle{transform:scale(.9)}.color-swatch-btn__circle--more{background-color:var(--bg-secondary);color:var(--text-secondary);border-style:dashed;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.color-swatch-btn__check{background-color:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:.2rem;right:.2rem}.color-swatch-btn__label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:44px;font-size:.6rem;line-height:1;overflow:hidden}.color-swatch-btn--selected .color-swatch-btn__label{color:var(--text-primary);font-weight:600}.color-select-preview{align-items:center;gap:.5rem;display:flex}.color-swatch-freetext{align-items:stretch;gap:.5rem;display:flex}.color-swatch-freetext .form-field__input{flex:1}.color-swatch-freetext .button{white-space:nowrap}.color-swatch--red{--swatch-color:#c20}.color-swatch--maroon{--swatch-color:#7a0000}.color-swatch--coral{--swatch-color:#f53}.color-swatch--orange{--swatch-color:#f60}.color-swatch--brown{--swatch-color:#7b3f00}.color-swatch--tan{--swatch-color:#c4a25a}.color-swatch--yellow{--swatch-color:gold}.color-swatch--lime{--swatch-color:#8bc34a}.color-swatch--green{--swatch-color:#006400}.color-swatch--olive{--swatch-color:#6b7a2a}.color-swatch--teal{--swatch-color:teal}.color-swatch--sky{--swatch-color:#5bb8e8}.color-swatch--blue{--swatch-color:#05c}.color-swatch--navy{--swatch-color:#003087}.color-swatch--purple{--swatch-color:#60c}.color-swatch--pink{--swatch-color:#ff69b4}.color-swatch--black{--swatch-color:#222}.color-swatch--grey{--swatch-color:gray}.color-swatch--silver{--swatch-color:#ababab}.color-swatch--white{--swatch-color:#e8e8e8}.color-swatch--burgundy{--swatch-color:#800020}.color-swatch--rust{--swatch-color:#b7410e}.color-swatch--peach{--swatch-color:#ffcba4}.color-swatch--gold{--swatch-color:#daa520}.color-swatch--bright-yellow{--swatch-color:#ffef00}.color-swatch--cream{--swatch-color:#fffdd0}.color-swatch--sage{--swatch-color:#87ae73}.color-swatch--dark-green{--swatch-color:#013220}.color-swatch--mint{--swatch-color:#98fb98}.color-swatch--forest{--swatch-color:#228b22}.color-swatch--turquoise{--swatch-color:#30d5c8}.color-swatch--light-blue{--swatch-color:#add8e6}.color-swatch--powder-blue{--swatch-color:#b0e0e6}.color-swatch--royal-blue{--swatch-color:#4169e1}.color-swatch--slate{--swatch-color:#708090}.color-swatch--lavender{--swatch-color:#b57edc}.color-swatch--plum{--swatch-color:#8e4585}.color-swatch--dusty-rose{--swatch-color:#c4767a}.color-swatch--hot-pink{--swatch-color:#ff69b4}.color-swatch--magenta{--swatch-color:#c0c}.color-swatch--charcoal{--swatch-color:#36454f}.color-swatch--beige{--swatch-color:tan}.color-swatch--copper{--swatch-color:#b87333}.color-swatch--neon-green{--swatch-color:#39ff14}.color-swatch--neon-orange{--swatch-color:#ff6700}.checkin-form{padding:.5rem 0}.checkin-form__actions{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.checkin-form__error{color:var(--error)}.checkin-greeting{color:var(--text-primary);margin-bottom:1.25rem;font-size:1rem}.checkin-options{flex-direction:column;gap:.75rem;display:flex}.checkin-option{border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-primary);color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:.75rem;min-height:56px;padding:.875rem 1rem;font-size:1rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.checkin-option__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.checkin-option--here .checkin-option__icon{color:#16a34a;background:#22c55e26}.checkin-option--late .checkin-option__icon{color:#b45309;background:#eab30826}.checkin-option--unavailable .checkin-option__icon{color:#dc2626;background:#ef444426}.checkin-option--selected{border-color:currentColor}.checkin-option--here.checkin-option--selected{background:#22c55e0f;border-color:#16a34a}.checkin-option--late.checkin-option--selected{background:#eab3080f;border-color:#b45309}.checkin-option--unavailable.checkin-option--selected{background:#ef44440f;border-color:#dc2626}.checkin-late-expand{border-radius:var(--border-radius);background:#eab3080f;border:1px solid #b45309;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.checkins-program-filter{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;margin-bottom:1rem;padding-bottom:.125rem;display:flex;overflow-x:auto}.checkins-program-filter::-webkit-scrollbar{display:none}.checkins-program-chip{border:2px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;min-height:36px;padding:.375rem .875rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.checkins-program-chip--active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.checkins-date-nav{align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.checkins-date-nav__label{text-align:center;flex:1;padding:.5rem .25rem;position:relative}.checkins-date-nav__text{color:var(--text-primary);pointer-events:none;font-size:1rem;font-weight:600}.checkins-date-nav__overlay{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;position:absolute;inset:0}.checkin-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.checkin-badge--here{color:#16a34a;background:#22c55e26}.checkin-badge--late{color:#b45309;background:#eab30826}.checkin-badge--unavailable{color:#dc2626;background:#ef444426}.checkin-badge--pending{background:var(--bg-tertiary,var(--bg-secondary));color:var(--text-muted)}.checkins-summary{gap:.75rem;margin-bottom:1.5rem;display:flex}.checkins-summary__item{border-radius:var(--radius);background:var(--bg-secondary);flex-direction:column;flex:1;align-items:center;padding:.75rem .5rem;display:flex}.checkins-summary__count{font-size:1.75rem;font-weight:700;line-height:1}.checkins-summary__label{color:var(--text-muted);margin-top:.2rem;font-size:.7rem}.checkins-summary__item--absent .checkins-summary__count{color:#dc2626}.checkins-summary__item--late .checkins-summary__count{color:#b45309}.checkins-summary__item--here .checkins-summary__count{color:#16a34a}.checkins-section{margin-bottom:1.5rem}.checkins-section__heading{text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid;margin:0 0 .625rem;padding-bottom:.375rem;font-size:.72rem;font-weight:700}.checkins-section__heading--absent{color:#dc2626;border-color:#dc262640}.checkins-section__heading--pending{color:var(--text-muted);border-color:var(--border)}.checkins-section__heading--late{color:#b45309;border-color:#b4530940}.checkins-section__toggle{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-bottom:2px solid;justify-content:space-between;align-items:center;width:100%;margin-bottom:.625rem;padding:0 0 .375rem;font-size:.72rem;font-weight:700;display:flex}.checkins-section__toggle--here{color:#16a34a;border-color:#16a34a40}.checkins-list{flex-direction:column;gap:.5rem;display:flex}.checkins-list--here{margin-top:.5rem}.checkin-row{border-radius:var(--radius);background:var(--bg-secondary);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.checkin-row__name{flex:1;font-size:.95rem;font-weight:600}.checkin-row__time{color:var(--text-muted);font-size:.78rem}.checkin-row__eta{color:#b45309;font-size:.78rem;font-weight:600}.checkins-all-good{text-align:center;color:#16a34a;padding:1.5rem 0;font-size:.95rem;font-weight:600}.checkins-empty{text-align:center;color:var(--text-muted);padding:2.5rem 0}.checkins-error{color:var(--danger);font-size:.9rem}.assessment-score{margin-bottom:1.5rem}.assessment-score__label{color:var(--text-primary);margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.assessment-score__prompt{color:var(--text-secondary);margin-bottom:.75rem;font-size:.875rem;line-height:1.4}.assessment-score__optional{color:var(--text-muted);font-size:.8125rem;font-weight:400}.assessment-score__options{flex-direction:column;gap:.5rem;display:flex}.assessment-score__options--grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.assessment-score__options--chips{flex-flow:wrap;gap:.5rem}.assessment-score__options--level-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.assessment-score__btn{background:var(--bg-card);border:1.5px solid var(--bg-secondary);border-radius:var(--border-radius);text-align:left;cursor:pointer;flex-direction:column;gap:.125rem;min-height:44px;padding:.625rem .875rem;transition:border-color .15s,background .15s;display:flex}.assessment-score__btn:active{background:var(--bg-secondary)}.assessment-score__btn--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-card))}.assessment-score__btn-label{color:var(--text-primary);font-size:.875rem;font-weight:600}.assessment-score__btn-desc{color:var(--text-secondary);font-size:.8125rem;line-height:1.3}.assessment-score__chip{background:var(--bg-card);border:1.5px solid var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:999px;min-height:36px;padding:.375rem .875rem;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s}.assessment-score__chip--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, var(--bg-card));color:var(--accent)}.assessment-score__skip-btn{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;padding:.25rem 0;font-size:.8125rem;text-decoration:underline}.assessment-form{padding-bottom:1.5rem}.assessment-form__step-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.25rem;font-size:.8125rem;font-weight:600}.assessment-form__derived-level{background:var(--bg-card);border:1.5px solid var(--bg-secondary);border-radius:var(--border-radius);text-align:center;margin-bottom:1.5rem;padding:1rem}.assessment-form__derived-level-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8125rem}.assessment-form__derived-level-value{color:var(--accent);font-size:2rem;font-weight:700;line-height:1.2}.assessment-form__derived-level-hint{color:var(--text-muted);margin-top:.375rem;font-size:.8125rem}.assessment-form__nav{gap:.75rem;margin-top:1.5rem;display:flex}.assessment-form__nav .button{flex:1}.assessment-form__priority{margin-bottom:1.25rem}.assessment-form__priority-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;display:flex}.assessment-form__priority-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.assessment-form__priority-hint{color:var(--text-muted);margin-top:.375rem;padding-left:1.625rem;font-size:.8125rem;line-height:1.4}.assessment-list{padding-bottom:2rem}.assessment-list__progress{margin-bottom:1.25rem}.assessment-list__progress-count{color:var(--text-secondary);margin-bottom:.375rem;font-size:.875rem;display:block}.assessment-list__progress-bar{background:var(--bg-secondary);border-radius:999px;height:6px;overflow:hidden}.assessment-list__progress-fill{height:100%;width:var(--progress-fill,0%);background:var(--accent);border-radius:999px;transition:width .3s}.assessment-list__loading,.assessment-list__empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9375rem}.assessment-list__items{flex-direction:column;gap:.5rem;display:flex}.assessment-list__item{background:var(--bg-card);border:1.5px solid var(--bg-secondary);border-radius:var(--border-radius);text-align:left;cursor:pointer;align-items:center;gap:.75rem;width:100%;min-height:56px;padding:.75rem 1rem;transition:border-color .15s;display:flex}.assessment-list__item--done{opacity:.7}.assessment-list__item-icon{flex-shrink:0}.assessment-list__icon--done{color:#38a800}.assessment-list__icon--pending{color:var(--text-muted)}.assessment-list__item-info{flex-direction:column;flex:1;gap:.125rem;display:flex}.assessment-list__item-name{color:var(--text-primary);font-size:.9375rem;font-weight:500}.assessment-list__item-meta{color:var(--text-secondary);font-size:.8125rem}.assessment-list__item-draft{color:var(--accent)}.assessment-list__item-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.25rem}.assessment-season-card{background:color-mix(in srgb, #fce107 12%, var(--bg-card));border-radius:var(--border-radius);border:1.5px solid #fce10780;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.assessment-season-card__title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-size:.875rem;font-weight:700}.assessment-season-card__body{color:var(--text-primary);font-size:.9375rem}.assessment-error{background:color-mix(in srgb, var(--accent) 10%, var(--bg-card));border:1.5px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--border-radius);color:var(--text-primary);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.sidebar-nav-item__badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 .3rem;font-size:.6875rem;font-weight:700;display:inline-flex}.admin-surveys__filters{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.admin-surveys__toolbar{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.admin-surveys__count{color:var(--text-secondary);font-size:.875rem}.admin-surveys__table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--border-radius);border:1px solid var(--bg-secondary);overflow-x:auto}.admin-surveys__table{border-collapse:collapse;width:100%;font-size:.8125rem}.admin-surveys__table th{background:var(--bg-secondary);color:var(--text-secondary);text-align:left;white-space:nowrap;padding:.5rem .75rem;font-weight:600}.admin-surveys__table td{border-bottom:1px solid var(--bg-secondary);color:var(--text-primary);vertical-align:middle;padding:.5rem .75rem}.admin-surveys__table tr:last-child td{border-bottom:none}.admin-surveys__row{cursor:pointer}.admin-surveys__row:hover td{background:var(--bg-secondary)}.admin-surveys__row--priority td:first-child{border-left:3px solid var(--accent)}.admin-surveys__row-chevron{color:var(--text-muted);text-align:right;white-space:nowrap;width:1rem;font-size:1.1rem}.admin-surveys__modal-flag{color:var(--accent)}.admin-surveys__detail-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .375rem;font-size:.75rem;font-weight:700}.admin-surveys__detail-section{border:1px solid var(--bg-secondary);border-radius:var(--border-radius);overflow:hidden}.admin-surveys__detail-row{border-bottom:1px solid var(--bg-secondary);justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem .75rem;font-size:.875rem;display:flex}.admin-surveys__detail-row:last-child{border-bottom:none}.admin-surveys__detail-key{color:var(--text-secondary);flex-shrink:0}.admin-surveys__detail-value{color:var(--text-primary);text-align:right;font-weight:500}.admin-surveys__detail-notes{color:var(--text-primary);white-space:pre-wrap;background:var(--bg-secondary);border-radius:var(--border-radius);margin:0;padding:.625rem .75rem;font-size:.875rem}.bottom-tab-bar{height:var(--bottom-bar-total);padding-bottom:env(safe-area-inset-bottom,0);background:var(--bg-card);border-top:1px solid var(--bg-secondary);z-index:900;align-items:flex-start;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-tab{min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:.65rem;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.bottom-tab--active{color:var(--accent)}.bottom-tab--dimmed{opacity:.4;pointer-events:none}.bottom-tab__icon-wrap{display:inline-flex;position:relative}.bottom-tab__badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 .2rem;font-size:.55rem;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-6px}.bottom-sheet-overlay{z-index:950;background:#00000073;position:fixed;inset:0}.bottom-sheet{background:var(--bg-card);z-index:960;padding-bottom:calc(var(--bottom-bar-height) + env(safe-area-inset-bottom,0));border-radius:12px 12px 0 0;max-height:80dvh;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%)}.bottom-sheet--open{transform:translateY(0)}.bottom-sheet__handle{background:var(--bg-secondary);border-radius:2px;width:36px;height:4px;margin:12px auto 8px}.bottom-sheet__identity{border-bottom:1px solid var(--bg-secondary);padding:.75rem 1.25rem .875rem}.bottom-sheet__identity-user{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.bottom-sheet__identity-user strong{color:var(--text-primary);font-weight:600}.bottom-sheet__identity-coach-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bottom-sheet__identity-coach{color:var(--text-primary);font-size:.9rem;font-weight:500}.bottom-sheet__identity-coach em{color:var(--text-muted);font-weight:400}.bottom-sheet__change-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-size:.78rem;transition:background .15s}.bottom-sheet__change-btn:hover{background:#bf2c3714}.bottom-sheet__nav{padding:.5rem 0}.bottom-sheet__nav-item{width:100%;min-height:48px;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.875rem;padding:.875rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.bottom-sheet__nav-item:hover{background:var(--bg-secondary)}.bottom-sheet__nav-item--active{color:var(--accent);background:#bf2c370f;font-weight:600}.bottom-sheet__nav-item--dimmed{opacity:.4;pointer-events:none}.bottom-sheet__nav-item--danger{color:var(--danger)}.bottom-sheet__nav-item--danger:hover{background:#ef444414}.bottom-sheet__nav-item--install{color:var(--text-secondary)}.bottom-sheet__install-text{flex-direction:column;gap:.1rem;display:flex}.bottom-sheet__install-sub{color:var(--text-muted);font-size:.72rem;font-weight:400}.bottom-sheet__divider{background:var(--bg-secondary);height:1px;margin:.5rem 0}.bottom-sheet__install-hint{color:var(--text-muted);padding:.375rem 1.25rem .5rem calc(2.125rem + 18px);font-size:.78rem;line-height:1.4}@media (width<=767px) and (height>=650px){.bottom-tab-bar{display:flex}.map-page{bottom:var(--bottom-bar-total)}.map-filter-panel{padding-bottom:0}body:not(.swipe-page) .step-nav{bottom:var(--bottom-bar-total);padding-bottom:var(--spacing)}body:not(.swipe-page) .step-nav-spacer{height:calc(4rem + 2 * var(--spacing))}body{padding-bottom:var(--bottom-bar-total)}body.swipe-page{padding-bottom:0}.update-banner{bottom:calc(var(--bottom-bar-total) + .75rem)}.sidebar-panel,.sidebar-overlay,.sidebar-safe-area-fill{display:none!important}}@media (width>=768px),(height<=649px){.bottom-tab-bar,.bottom-sheet-overlay,.bottom-sheet{display:none}}.student-detail{flex-direction:column;gap:1rem;display:flex}.student-detail__header{padding:1rem}.student-detail__identity{flex-direction:column;gap:.5rem;display:flex}.student-detail__name-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.student-detail__name{margin:0;font-size:1.25rem;font-weight:700}.student-detail__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.student-detail__waiver-row{align-items:center;gap:.75rem;display:flex}.student-detail__level-badge{font-size:.9rem}.student-detail__notes{color:var(--text-secondary);margin:.25rem 0 0;font-size:.9rem}.student-detail__appearance{flex-wrap:wrap;gap:.75rem;display:flex}.student-detail__gear{color:var(--text-muted);font-size:.8rem}.student-detail__top-row{flex-direction:column;gap:1rem;display:flex}@media (width>=768px){.student-detail__top-row{flex-direction:row;align-items:flex-start}.student-detail__top-row>.student-detail__section{flex:1}}.student-detail__section{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--bg-secondary);padding:1rem}.student-detail__section--full{width:100%}.student-detail__section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.9rem;font-weight:600;display:flex}.student-detail__group-cards{flex-direction:column;gap:.5rem;display:flex}.student-detail__group-card{align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.student-detail__group-info{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.student-detail__group-program{font-size:.9rem;font-weight:600}.student-detail__group-num{font-size:.9rem}.student-detail__group-coach{color:var(--text-muted);margin-left:auto;font-size:.85rem}.student-detail__past-seasons{margin-top:.5rem}.student-detail__past-seasons summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.25rem 0}.student-detail__past-row{color:var(--text-muted);padding:.2rem 0;font-size:.8rem}.student-detail__att-stats{gap:1.5rem;margin-bottom:.75rem;display:flex}.student-detail__att-stat{flex-direction:column;align-items:center;gap:.2rem;display:flex}.student-detail__att-num{font-size:1.5rem;font-weight:700;line-height:1}.student-detail__att-num--present{color:var(--success)}.student-detail__att-num--absent{color:var(--danger)}.student-detail__att-list{flex-direction:column;gap:.25rem;max-height:260px;margin-top:.5rem;display:flex;overflow-y:auto}.student-detail__att-row{align-items:center;gap:.5rem;min-height:32px;display:flex}.student-detail__att-date{color:var(--text-muted);min-width:90px;font-size:.8rem}.student-detail__att-coach{text-align:right;margin-left:auto}.student-detail__table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.student-detail__table{border-collapse:collapse;width:100%;font-size:.85rem}.student-detail__table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--bg-secondary);white-space:nowrap;padding:.4rem .5rem;font-weight:600}.student-detail__table td{border-bottom:1px solid var(--bg-secondary);vertical-align:middle;padding:.5rem}.student-detail__table tr:last-child td{border-bottom:none}.student-detail__level-change{align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.student-detail__assessments{flex-direction:column;gap:.5rem;display:flex}.student-detail__assessment-card{flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.student-detail__assessment-header{justify-content:space-between;align-items:center;display:flex}.student-detail__assessment-body{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.student-detail__friend-link{color:var(--accent);text-decoration:none}.student-detail__friend-link:hover{text-decoration:underline}.student-table-row--clickable{cursor:pointer}.student-table-row--clickable:hover{background:var(--bg-card-hover)}.student-lookup-name-with-arrow{align-items:center;gap:.25rem;display:inline-flex}.student-lookup-row-arrow{color:var(--text-muted);flex-shrink:0}.admin-home-card--action{cursor:default}.admin-home-card--action .admin-home-card-body{flex-direction:column;gap:.5rem;display:flex}.admin-file-input{display:none}.admin-upload-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.admin-upload-row .button:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.admin-upload-row--selects{margin-top:.5rem;margin-bottom:.25rem}.admin-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:.3rem .5rem;font-size:.82rem}.admin-select:disabled{opacity:.5;cursor:not-allowed}.admin-hub__section-desc{color:var(--text-muted);margin:-.5rem 0 .75rem;font-size:.85rem}.admin-data-result{color:var(--success);margin-top:.25rem;font-size:.82rem}.admin-data-result--preview{color:var(--warning)}.admin-data-result--warning{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-radius:6px;align-items:flex-start;gap:.4rem;margin-top:.5rem;padding:.5rem .65rem;font-size:.82rem;line-height:1.4;display:flex}.admin-import-no-changes{margin-top:.25rem;font-style:italic}.admin-import-changes{margin:.4rem 0 0;padding-left:1.25rem;list-style:outside}.admin-import-changes li{margin-bottom:.1rem}.admin-import-changes__more{margin-left:-1.25rem;font-style:italic;list-style:none}.admin-dry-run-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.82rem;display:flex}.admin-data-errors{color:var(--warning)}.admin-data-error{color:var(--danger);margin-top:.25rem;font-size:.82rem}.group-detail__coach-banner{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.group-detail__coach-name{flex:1;font-size:1rem;font-weight:600}.group-detail__list{flex-direction:column;gap:.25rem;display:flex}.group-detail__student-row{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);align-items:center;gap:.5rem;min-height:52px;padding:.6rem .75rem;display:flex}.group-detail__student-info{cursor:pointer;flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.group-detail__student-name{font-size:.95rem;font-weight:500}.admin-groups__filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.admin-groups__filter-row .form-field__select{flex:1 1 0;min-width:0}@media (width>=600px){.admin-groups__filter-row .form-field__select{flex:none;width:auto}}.admin-groups__search{flex:100%;align-items:center;gap:.375rem;min-width:0;display:flex}@media (width>=600px){.admin-groups__search{flex:auto;min-width:140px;margin-left:auto}}.admin-groups__search .form-field__input{flex:1;min-width:0;padding:.25rem .5rem;font-size:.875rem}.admin-groups__columns-wrap{-webkit-overflow-scrolling:touch;padding-bottom:1rem;overflow-x:auto}.admin-groups__columns{align-items:flex-start;gap:.75rem;min-width:min-content;display:flex}.admin-groups__column{background:var(--bg-secondary);border-radius:var(--border-radius);flex-shrink:0;width:280px;overflow:hidden}.admin-groups__col-header{background:var(--bg-card);border-bottom:1px solid var(--bg-secondary);align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.admin-groups__col-header--link{cursor:pointer}.admin-groups__col-header--link:hover{background:var(--bg-card-hover)}.admin-groups__col-title{flex:1;font-size:.95rem;font-weight:700}.admin-groups__col-coach{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:120px;overflow:hidden}.admin-groups__col-loading{justify-content:center;padding:1rem;display:flex}.admin-groups__col-students{flex-direction:column;display:flex}.admin-groups__student-row{border-bottom:1px solid var(--bg-secondary);background:var(--bg-card);align-items:center;gap:.5rem;min-height:44px;padding:.6rem .75rem;display:flex}.admin-groups__student-row:last-child{border-bottom:none}.admin-groups__student-info{cursor:pointer;flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.admin-groups__student-info:hover .admin-groups__student-name{text-decoration:underline}.admin-groups__student-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.admin-groups__cross-day-warn{text-transform:none;border-radius:var(--border-radius);margin-bottom:.5rem;padding:.5rem .75rem;font-size:.82rem;font-weight:500;display:block}.form-field__static{color:var(--text-secondary);padding:.5rem 0;font-size:.9rem}.admin-groups__list{flex-direction:column;gap:.5rem;display:flex}.group-student-card{background:var(--bg-card);border-radius:var(--border-radius);border:1px solid var(--bg-secondary);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.group-student-card__info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.group-student-card__name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.group-student-card__name--clickable{cursor:pointer;align-items:center;gap:.25rem;display:inline-flex}.group-student-card__name--clickable:hover{color:var(--accent)}.group-student-card__meta{color:var(--text-muted);font-size:.82rem}.group-student-card__badges{flex-shrink:0;gap:.35rem;display:flex}.admin-coaches{flex-direction:column;gap:1.5rem;display:flex}.admin-coaches__add-form{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.admin-coaches__add-form h3{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.admin-coaches__form-row{flex-wrap:wrap;gap:.5rem;display:flex}.admin-coaches__form-row input{flex:1;min-width:140px}.admin-coaches__list{flex-direction:column;gap:.5rem;display:flex}.admin-coaches__item{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.admin-coaches__item--inactive{opacity:.55}.admin-coaches__item--clickable{cursor:pointer}.admin-coaches__item--clickable:hover{border-color:var(--color-primary)}.admin-coaches__item-info{flex:1;min-width:0}.admin-coaches__item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.admin-coaches__item-id{color:var(--text-muted);font-family:monospace;font-size:.8rem}.admin-coaches__item-actions{flex-shrink:0;gap:.4rem;display:flex}.admin-coaches__status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.admin-coaches__status-badge--active{background:var(--color-success-bg,#dcfce7);color:var(--color-success,#16a34a)}.admin-coaches__status-badge--inactive{background:var(--surface-muted,#f1f5f9);color:var(--text-muted)}.admin-coaches__filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-coaches__search{align-items:center;gap:.375rem;width:100%;display:flex}.admin-coaches__search .form-field__input{flex:1;min-width:0;padding:.25rem .5rem;font-size:.875rem}.admin-coaches__count{color:var(--text-muted);margin-left:auto;font-size:.85rem}.admin-coach-detail__profile{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius-lg);flex-direction:column;gap:.5rem;padding:1.25rem 1rem 1rem;display:flex}.admin-coach-detail__profile-name{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.admin-coach-detail__profile-id{color:var(--text-muted);letter-spacing:.02em;font-family:monospace;font-size:.78rem}.admin-coach-detail__profile-row{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.admin-coach-detail__groups-section{flex-direction:column;gap:1rem;display:flex}.admin-coach-detail__section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:.4rem;margin:0 0 .25rem;font-size:.8rem;font-weight:700;display:flex}.admin-coach-detail__season-block{flex-direction:column;gap:.75rem;display:flex}.admin-coach-detail__season-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--bg-secondary);margin-bottom:.25rem;padding:.2rem 0;font-size:.75rem;font-weight:600}.admin-coach-detail__day-section{flex-direction:column;gap:.35rem;display:flex}.admin-coach-detail__day-pill{letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:9999px;align-items:center;width:fit-content;margin-bottom:.15rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-coach-detail__group-list{flex-direction:column;gap:.35rem;display:flex}.admin-coach-detail__group-row{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;text-align:left;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:border-color .15s;display:flex}.admin-coach-detail__group-row:hover{border-color:var(--accent)}.admin-coach-detail__group-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.admin-coach-detail__group-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.admin-coach-detail__group-count{color:var(--text-muted);font-size:.8rem}.admin-coach-detail__group-program-badge{letter-spacing:.04em;background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;flex-shrink:0;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.admin-coach-detail__arrow{color:var(--text-muted);flex-shrink:0}.admin-programs__sort-input{max-width:110px}.admin-programs__checkbox-row{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.admin-programs__edit-body{flex-direction:column;flex:1;gap:.75rem;display:flex}.admin-programs__edit-checkbox{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.admin-programs__hint{text-align:center;margin-top:.5rem}.admin-programs__field-group{background:var(--bg-secondary);border-radius:var(--border-radius);flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.admin-programs__field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:700}.admin-programs__day-toggles{flex-wrap:wrap;gap:.3rem;display:flex}.admin-programs__day-toggle{all:unset;box-sizing:border-box;border:1.5px solid var(--bg-muted);background:var(--bg-primary);min-width:2.4rem;height:1.8rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.admin-programs__day-toggle:hover{border-color:var(--accent);color:var(--accent)}.admin-programs__day-toggle--active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.admin-programs__day-toggle--active:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text)}.admin-programs__enrollment-toggles{flex-wrap:wrap;gap:.3rem;display:flex}.admin-programs__enrollment-toggle{all:unset;box-sizing:border-box;border:1.5px solid var(--bg-muted);background:var(--bg-primary);min-width:2.4rem;height:1.8rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.admin-programs__enrollment-toggle:hover{border-color:var(--accent);color:var(--accent)}.admin-programs__enrollment-toggle--active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.admin-programs__enrollment-toggle--active:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text)}.cover-claim{background:var(--bg-secondary);min-height:100dvh;padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0);flex-direction:column;display:flex}.cover-claim__inner{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:480px;margin:0 auto;padding:1.5rem 1rem 2rem;display:flex}.cover-claim__brand{text-align:center;margin-bottom:2rem}.cover-claim__brand-name{color:var(--accent);letter-spacing:.02em;margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.cover-claim__brand-sub{color:var(--text-secondary);margin:0;font-size:.8125rem}.cover-claim__card{background:var(--bg-card);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 2px 12px #00000014}.cover-claim__card-header{background:var(--accent);padding:1.25rem 1.5rem}.cover-claim__title{color:#fff;margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.cover-claim__subtitle{color:#ffffffd9;margin:0;font-size:.875rem}.cover-claim__card-body{padding:1.5rem}.cover-claim__details{border-radius:var(--border-radius);border:1px solid #00000014;flex-direction:column;gap:0;margin-bottom:1.5rem;display:flex;overflow:hidden}.cover-claim__detail-row{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.cover-claim__detail-row:last-child{border-bottom:none}.cover-claim__detail-row:nth-child(2n){background:var(--bg-secondary)}.cover-claim__label{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.8125rem}.cover-claim__value{color:var(--text-primary);text-align:right;font-size:.9375rem;font-weight:600}.cover-claim__detail-row--notes{flex-direction:column;align-items:flex-start;gap:.375rem}.cover-claim__detail-row--notes .cover-claim__value{text-align:left;color:var(--text-secondary);font-size:.875rem;font-weight:400}.cover-claim__loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1.5rem;font-size:.9375rem;display:flex}.cover-claim__error-icon{margin-bottom:.5rem;font-size:2.5rem}.cover-claim__error-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.cover-claim__error-message{color:var(--text-secondary);text-align:center;margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.cover-claim__card-body--centered{text-align:center}.cover-claim__name-section{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.cover-claim__name-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.admin-self-assessments{flex-direction:column;gap:1rem;display:flex}.admin-self-assessments__upload{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);padding:1rem 1.25rem}.admin-self-assessments__section-title{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;font-weight:600;display:flex}.admin-self-assessments__preview{border-top:1px solid var(--bg-secondary);margin-top:.75rem;padding-top:.75rem}.admin-self-assessments__columns{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.admin-self-assessments__column-row{align-items:center;gap:.5rem;display:flex}.admin-self-assessments__column-header{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:500;overflow:hidden}.admin-self-assessments__column-row .form-field__select{flex:1;min-width:150px}.admin-self-assessments__preview-table{margin-top:.75rem;overflow-x:auto}.admin-self-assessments__link-badge{cursor:pointer}.student-link-modal__input-row{align-items:center;display:flex;position:relative}.student-link-modal__search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.6rem}.student-link-modal__input{padding-left:2rem}.student-link-modal__spinner{border:2px solid var(--bg-secondary);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;position:absolute;right:.6rem}@keyframes spin{to{transform:rotate(360deg)}}.admin-self-assessments__search-results{flex-direction:column;gap:.25rem;max-height:240px;margin-top:.5rem;display:flex;overflow-y:auto}.admin-self-assessments__search-result{border:1px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-primary);cursor:pointer;text-align:left;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.82rem;transition:background-color .15s;display:flex}.admin-self-assessments__search-result:hover{background:var(--bg-card-hover)}.admin-self-assessments__friend-groups{flex-direction:column;gap:.75rem;display:flex}.admin-self-assessments__friend-card{padding:.75rem}.admin-self-assessments__friend-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.admin-self-assessments__friend-list{flex-direction:column;gap:.25rem;display:flex}.admin-self-assessments__friend-row{justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.82rem;display:flex}.admin-self-assessments__friend-name{flex:1}.admin-self-assessments__split-names{flex-direction:column;gap:.5rem;display:flex}.admin-self-assessments__split-row{align-items:center;gap:.5rem;display:flex}.admin-self-assessments__split-row .form-field__input{flex:1}.push-card{background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius-lg);align-items:flex-start;gap:.875rem;width:100%;margin-top:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex;box-shadow:0 2px 8px #00000014}.push-card__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.push-card__icon--accent{background:var(--accent);color:var(--accent-text)}.push-card__icon--success{color:#2e7d32;background:#e8f5e9}.push-card__icon--muted{background:var(--bg-secondary);color:var(--text-muted)}.push-card__content{flex:1;min-width:0}.push-card__title{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600;line-height:1.4}.push-card__desc{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.push-card__actions{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.modal--install{z-index:2000}.push-install-steps{margin:0 0 1rem;padding-left:1.25rem}.push-install-steps li{margin-bottom:.5rem;line-height:1.5}.push-install-video{object-fit:contain;border-radius:var(--border-radius);background:var(--bg-secondary);width:100%;max-height:40vh;margin-bottom:.75rem}.push-install-note{color:var(--text-muted);margin-top:.5rem;font-size:.85rem}@media (width<=375px){.push-card{gap:.75rem;padding:1rem}.push-card__icon{width:32px;height:32px}.push-card__title{font-size:.9rem}.push-card__desc{font-size:.8rem}}
