:root{--bg-primary: #ffffff;--bg-secondary: #f0f0f0;--bg-muted: #a0a0a0;--bg-card: #ffffff;--bg-card-hover: #f8f8f8;--text-primary: #545454;--text-secondary: #888888;--text-muted: #888888;--accent: #bf2c37;--accent-hover: #a32630;--accent-light: #d85b66;--accent-text: #ffffff;--primary: #fce107;--primary-hover: #fde739;--primary-text: #000000;--secondary: #424245;--secondary-hover: #747479;--secondary-text: #ffffff;--success: #4ade80;--warning: #fbbf24;--danger: #010101;--border-radius: 8px;--border-radius-lg: 12px;--spacing: 1rem;--max-width: 480px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html{background:var(--bg-primary);overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;height:100%;overflow:hidden}html.swipe-page{background:var(--bg-secondary);overflow:hidden;overscroll-behavior:none}body{margin:0;padding:var(--spacing);font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);height:100%;overflow-y:auto;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}body.status-screen-page{background:var(--bg-secondary)}.container{max-width:var(--max-width);margin:0 auto}.container>header{padding-top:calc(.5rem + env(safe-area-inset-top,0))}header{text-align:center;margin-bottom:1.5rem}.page-header-wrapper{position:relative;padding-top:env(safe-area-inset-top,0)}.download-button{position:absolute;top:calc(.75rem + env(safe-area-inset-top,0));right:var(--spacing);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:#0000000d;color:var(--text-primary);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026;z-index:10}.download-button:hover{background-color:#0000001a;transform:scale(1.05)}.download-button:active{transform:scale(.95)}.add-menu-container{position:absolute;top:calc(.75rem + env(safe-area-inset-top,0));right:var(--spacing);z-index:100}.add-menu-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:#0000000d;color:var(--text-primary);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.add-menu-button:hover{background-color:#0000001a;transform:scale(1.05)}.add-menu-button:active{transform:scale(.95)}.add-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-card);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden}.add-menu-dropdown button{width:100%;padding:.875rem 1rem;font-size:.9rem;font-weight:500;text-align:left;background:var(--bg-card);color:var(--text-primary);border:none;cursor:pointer;transition:background .2s ease;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)}header h1{font-size:1.75rem;font-weight:700;margin:0;letter-spacing:-.5px;text-transform:uppercase;color:var(--accent)}.group-selector{display:flex;gap:var(--spacing);margin-bottom:1.5rem}.group-btn{flex:1;padding:2rem 1rem;font-size:1.5rem;font-weight:700;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;transition:all .2s ease}.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{display:block;font-size:.8rem;font-weight:500;letter-spacing:0;text-transform:none;margin-top:.5rem;opacity:.7}.history-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--bg-secondary)}.history-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .2s}.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{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:var(--border-radius);color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .2s}.admin-link:hover{background:#ffc10733;border-color:#ffc10780;transform:translateY(-1px)}.admin-link svg{flex-shrink:0}.reset-section{margin-top:2rem;padding-top:var(--spacing);padding-bottom:calc(var(--spacing) + env(safe-area-inset-bottom,0));border-top:1px solid var(--bg-secondary)}.reset-btn{width:100%;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:var(--danger);color:var(--bg-primary)}.button{padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:80px;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.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{background:transparent;border:1px solid currentColor;color:var(--text-primary)}.button--outline:hover:not(.button--disabled){background:var(--bg-card-hover)}.button--outline-danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.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{padding:2rem 1rem;font-size:1.5rem;font-weight:700;letter-spacing:1px;border-radius:var(--border-radius-lg)}.button--compact{padding:.5rem .6rem;font-size:.75rem;min-width:unset}.button--tiny{padding:.35rem .5rem;font-size:.7rem;min-width:unset}.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{padding:.5rem .75rem;font-size:1.25rem;line-height:1;color:var(--text-muted);background:transparent;border:none;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.button--clear:hover:not(.button--disabled){background:#dc26261a;color:var(--danger)}.button--clear:active:not(.button--disabled){background:var(--danger);color:var(--accent-text)}.button--clear.button--disabled{opacity:.3;background:transparent}.button--clear.button--disabled:hover{background:transparent;color:var(--text-muted)}.button--list-item{display:block;width:100%;padding:.75rem;text-align:left;background:var(--bg-secondary);border:none;margin-bottom:.5rem;min-width:unset}.button--list-item:hover:not(.button--disabled){background:var(--bg-card-hover)}@media(max-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);padding:1rem 1.25rem;border:1px solid var(--bg-secondary);transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.card:hover{background:var(--bg-card-hover)}.card__header{margin-bottom:.75rem}.card__title{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.card__body{flex:1}.card__main{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing);width:100%}.card__info{flex:1;min-width:0}.card__info h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.card__metadata{display:flex;gap:.75rem;margin-top:.25rem}.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{font-size:.85rem;margin-top:.35rem}.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{margin-top:.75rem;width:100%}.card__actions{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;min-width:110px}.card__actions .scan-btn,.card__actions .remove-btn{width:100%;text-align:center}.card__notes{width:100%}.card__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bg-secondary)}.card--horizontal{display:flex;justify-content:space-between;align-items:center}.card--vertical{display:flex;flex-direction:column;gap:.75rem}.card--with-notes{flex-direction:column;gap:.75rem}.card--student{display:flex;justify-content:space-between;align-items:flex-start}.card--attendance{box-shadow:0 1px 3px #0000001a}.card--history{box-shadow:0 2px 8px #00000014}.card--history:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.card--workflow{text-decoration:none;color:var(--text-primary);border-left:4px solid transparent}.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{background:#fce10714;border:2px solid var(--primary);border-left:4px solid var(--primary)}.card--coach:hover{background:#fce1071f}.card--transfer{border-left:3px solid var(--warning)}.card--manual{border-left:3px solid var(--accent-light)}.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%,rgba(252,225,7,.08) 100%);animation:pulse-border 2s ease-in-out infinite}.badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.badge--flaik{background:var(--bg-secondary);color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.badge--flaik.badge--assigned{background:#4ade8026;color:var(--success)}.badge--flaik-large{display:inline-flex;align-items:center;gap:.35rem;font-size:1rem;font-weight:700;padding:.35rem .65rem}.badge--flaik svg{flex-shrink:0;width:16px;height:16px}.badge--signout{border:none;cursor:pointer;transition:opacity .2s;padding:.35rem .65rem;font-size:.85rem;font-weight:700}.badge--signout:active{opacity:.7}.badge--transfer{background:var(--warning);color:#000;font-size:.7rem;padding:.2rem .4rem;margin-top:.5rem}.badge--manual{background:var(--accent-light);color:#fff;font-size:.7rem;padding:.2rem .4rem;margin-top:.5rem}.badge--coach{background:var(--primary);color:var(--primary-text);font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.25rem .65rem;vertical-align:middle}.badge--status{border:1px solid;margin-right:.5rem}.badge--red{background:#dc2626;color:#fff}.badge--yellow{background:#ca8a04;color:#fff}.badge--green{background:#16a34a;color:#fff}.badge--success{background:#16a34a26;color:#16a34a;border-color:#16a34a}.badge--warning{background:#fbbf2426;color:#d97706;border-color:#d97706}.badge--error{background:#dc262626;color:#dc2626;border-color:#dc2626}.badge--overridden{border:2px dashed #ffffff}.badge--compact{padding:.25rem .55rem;font-size:.7rem}.badge--large{padding:.75rem 1.5rem;font-size:1rem}@media(max-width:375px){.badge--signout{font-size:.75rem;padding:.25rem .55rem}}.student-list{display:flex;flex-direction:column;gap:.75rem}.coach-badge-inline{display:inline-block;padding:.25rem .65rem;background:var(--primary);color:var(--primary-text);font-size:.7rem;font-weight:700;border-radius:4px;letter-spacing:.5px;vertical-align:middle}.scan-btn{padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text);background:var(--accent);border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:80px}.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{display:flex;align-items:flex-start;gap:1rem;background:var(--bg-secondary);padding:1rem 1.25rem;border-radius:var(--border-radius);margin-bottom:var(--spacing);border-left:4px solid var(--primary)}.instruction-icon{font-size:2rem;line-height:1;flex-shrink:0}.instruction-content{flex:1}.instruction-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem;line-height:1.3}.instruction-text{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.status-screen{position:fixed;inset:0;height:100vh;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;padding:1rem;overflow:hidden}.status-screen-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:500px;max-height:100%;overflow-y:auto}.status-screen-hero{text-align:center;margin-bottom:2rem}.status-screen-icon{font-size:4rem;line-height:1;color:var(--success);margin-bottom:1rem;animation:statusPulse .6s ease-out}@keyframes statusPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.status-screen-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.5px}.status-screen-card{background:var(--bg-card);border:1px solid #ddd;border-radius:var(--border-radius-lg);padding:1.5rem;margin-bottom:2rem;width:100%;box-shadow:0 2px 8px #00000014}.status-screen-card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.status-screen-steps{list-style:none;padding:0;margin:0}.status-screen-steps li{padding:.875rem 0;border-bottom:1px solid var(--bg-secondary);color:var(--text-secondary);line-height:1.5;font-size:.95rem}.status-screen-steps li:last-child{border-bottom:none}.status-screen-steps strong{color:var(--text-primary);font-weight:600}.status-screen-info{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;font-size:.95rem}.status-screen-badge{background:var(--accent);color:var(--accent-text);padding:.4rem .875rem;border-radius:var(--border-radius);font-weight:700;letter-spacing:.5px;font-size:.9rem}.status-screen-separator{color:var(--text-muted)}.status-screen-coach{color:var(--text-primary);font-weight:600}.status-screen-actions{display:flex;flex-direction:column;gap:.75rem;width:100%}.status-screen-btn{text-align:center;padding:1rem 1.5rem;font-size:1rem;text-decoration:none;border-radius:var(--border-radius);font-weight:600;transition:all .2s;cursor:pointer;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{background:transparent;color:var(--text-primary);border:2px solid #ccc}.status-screen-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:767px){.status-screen-hero{margin-bottom:1.25rem}.status-screen-icon{font-size:3rem;margin-bottom:.75rem}.status-screen-title{font-size:1.5rem}.status-screen-card{padding:1.25rem;margin-bottom:1.25rem}.status-screen-info{margin-bottom:1.25rem}.status-screen-btn{padding:.875rem 1.25rem}}.assignment-warning-banner{display:flex;align-items:flex-start;gap:1rem;background:#ef44441a;padding:1rem 1.25rem;border-radius:var(--border-radius);margin-top:var(--spacing);border-left:4px solid #dc2626}.assignment-warning-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.assignment-warning-content{flex:1}.assignment-warning-title{font-size:.95rem;font-weight:600;color:#dc2626;margin-bottom:.35rem;line-height:1.3}.assignment-warning-text{font-size:.85rem;color:#991b1b;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{position:relative;margin:1rem 0}.student-search-input{width:100%;padding:.75rem 2.5rem;font-size:1rem;border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-card);color:var(--text-primary);transition:border-color .2s,background .2s}.student-search-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.student-search-input:disabled{opacity:.6;cursor:not-allowed}.student-search .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);opacity:.5;pointer-events:none;color:var(--text-muted)}.student-search .search-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.5;color:var(--text-muted);padding:.25rem;line-height:1;transition:opacity .2s}.student-search .search-clear-btn:hover{opacity:1}.search-results-info{padding:.5rem 1rem;font-size:.875rem;color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:1rem}.load-more-section{text-align:center;padding:2rem 1rem;border-top:1px solid var(--border-color);margin-top:1rem}.load-more-info{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.load-more-btn{background:var(--primary);color:var(--primary-text);border:none;padding:.75rem 2rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026;background:var(--primary-hover)}.toast{position:fixed;top:calc(2rem + env(safe-area-inset-top,0));left:50%;transform:translate(-50%) translateY(-120%);background:var(--bg-card);color:var(--text-primary);padding:1rem 1.5rem;border-radius:var(--border-radius-lg);box-shadow:0 8px 24px #0003;display:flex;align-items:center;gap:.75rem;z-index:10000;max-width:calc(var(--max-width) - 2rem);transition:transform .3s ease-in-out;font-weight:500}.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;line-height:1;font-weight:700}.toast-message{font-size:.95rem;line-height:1.4}.flaik-counter{background:var(--bg-secondary);border-radius:var(--border-radius);padding:.75rem 1rem;margin:0 0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.flaik-counter__label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.flaik-counter__value{font-size:1.5rem;font-weight:600;color:var(--accent);line-height:1}.modal{position:fixed;inset:0;display:none;z-index:1000}.modal--open{display:flex}.modal__overlay{position:absolute;inset:0;background:#000000e6}.modal__content{position:relative;background:var(--bg-card);padding:1.5rem;border-radius:var(--border-radius-lg);width:100%;max-width:400px;border:1px solid var(--bg-secondary);z-index:1;margin:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal__title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary);flex:1}.modal__body{margin-bottom:1rem}.modal__footer{display:flex;gap:.75rem}.modal--center{display:flex;align-items:center;justify-content:center;padding:var(--spacing)}.modal--fullscreen{padding:0;flex-direction:column}.modal--fullscreen .modal__overlay{background:var(--bg-primary);position:static}.modal--fullscreen .modal__content{max-width:100%;width:100%;height:100%;border-radius:0;border:none;padding:0;display:flex;flex-direction:column;margin:0}.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{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);margin-bottom:0}.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{margin:0 0 1rem;color:var(--text-secondary);line-height:1.5}.modal--confirm .modal__body p:last-child{margin-bottom:0}.modal--confirm .confirm-warning{margin:0;padding:.75rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:var(--border-radius);color:var(--text-secondary);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}#manual-scanner-container{width:100%;max-width:400px;margin:0 auto}.coach-search{margin-bottom:1rem}.coach-selector{display:flex;flex-direction:column;gap:.75rem}.coach-btn{padding:1.25rem;text-align:left;background:var(--bg-secondary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.coach-btn:hover{border-color:var(--accent);background:var(--bg-card-hover)}.coach-btn .coach-name{display:block;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.coach-btn .coach-groups{display:block;font-size:.75rem;font-weight:400;color:var(--text-muted)}.coach-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.current-coach{font-size:.9rem;color:var(--text-secondary);font-weight:500}.change-coach-btn{padding:.35rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-muted);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.change-coach-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.roster-actions{display:flex;gap:.75rem;margin-bottom:var(--spacing)}.roster-actions button{flex:1;padding:.75rem;font-size:.85rem;font-weight:600;background:var(--bg-secondary);color:var(--accent);border:1px dashed var(--accent);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.roster-actions button:hover{background:var(--accent);color:var(--accent-text);border-style:solid}.transfer-list{flex:1;overflow-y:auto;margin-bottom:1rem;min-height:100px}.transfer-student-btn .name{display:block;font-weight:600;color:var(--text-primary)}.transfer-student-btn .info{display:block;font-size:.75rem;font-weight:400;color:var(--text-muted)}.customer-id-row{display:flex;gap:.5rem}.customer-id-row input{flex:1}.scan-id-btn{white-space:nowrap}.scanner-inline{margin-top:1rem;text-align:center}.scanner-inline #manual-scanner-container{margin-bottom:.5rem}body.swipe-page{padding:0;padding-top:env(safe-area-inset-top,0);background:var(--bg-secondary);overflow:hidden}@media(orientation:landscape)and (max-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(max-height:700px){.swipe-card,.coach-reminder-content{padding:.75rem!important}.coach-reminder-title{font-size:1.1rem!important;margin-bottom:.5rem!important}.coach-reminder-body{font-size:.8rem!important}.coach-reminder-note{margin:0 0 .4rem!important;font-size:.75rem!important}.coach-reminder-flow{padding:.5rem .5rem .5rem 1.5rem!important;margin:.4rem 0!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{padding:.5rem!important;margin-top:.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{font-size:1rem!important;margin:.3rem 0!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{font-size:.95rem!important;margin-bottom:.25rem!important}.student-qr-card-level{font-size:.75rem!important;margin-bottom:.6rem!important}.flaik-qr-card-ref{font-size:1rem!important;margin-bottom:.6rem!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{font-size:.7rem!important;margin-top:.6rem!important}.student-qr-note{padding:.5rem!important;margin-top:.6rem!important;font-size:.7rem!important}.swipe-card-badges{margin-top:.5rem!important}}@media(max-width:375px){.swipe-card{max-width:100%!important;padding:.75rem!important}.swipe-card .student-name{font-size:1.1rem!important;line-height:1.3!important;margin-bottom:.35rem!important}.swipe-card .student-level-text{display:block!important;font-size:.85rem!important;margin-top:.25rem!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{font-size:.9rem!important;margin:.25rem 0 0!important}.swipe-card .flaik-ref{font-size:.95rem!important;margin-top:.35rem!important;padding:.65rem!important}.scan-reminder-box{padding:.4rem .6rem!important;margin:.35rem 0!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{padding:.65rem!important;margin-top:1rem!important}.coach-reminder-instructions-title{font-size:.9rem!important;margin-bottom:.4rem!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{display:flex;flex-direction:column;min-height:100vh;width:100%}.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);margin:.5rem 0;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px}.student-counter{font-size:.85rem;color:var(--text-muted);font-weight:500}.swipe-card-badges{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;align-items:center;pointer-events:none;z-index:15}.student-counter-badge{font-size:.75rem;font-weight:600;color:var(--text-primary);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.4rem .85rem;border-radius:16px;white-space:nowrap;box-shadow:0 2px 12px #00000026;border:1px solid rgba(0,0,0,.05)}.hidden-student-badge{font-size:.7rem;color:var(--text-muted);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.35rem .75rem;border-radius:12px;white-space:nowrap;box-shadow:0 2px 12px #0000001f;border:1px solid rgba(0,0,0,.05)}.swipe-card-area{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing);touch-action:pan-x;background:var(--bg-primary);position:relative;padding-bottom:var(--spacing)}.swipe-card-area:before,.swipe-card-area:after{display:none}.swipe-card{background:var(--bg-card);border-radius:var(--border-radius-lg);padding:1rem 1.5rem;text-align:center;width:100%;max-width:350px;border:1px solid var(--bg-secondary);position:relative;z-index:10;box-shadow:0 8px 25px #00000014}.swipe-arrow-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:transparent;border:none;font-size:3.5rem;font-weight:200;color:var(--text-muted);opacity:.5;transition:all .3s ease;padding:1rem .5rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.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:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:.7;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.swipe-card.swipe-out-left{animation:swipeOutLeft .2s ease-out forwards}.swipe-card.swipe-out-right{animation:swipeOutRight .2s ease-out forwards}.swipe-card.enter-from-left{animation:enterFromLeft .25s ease-out forwards}.swipe-card.enter-from-right{animation:enterFromRight .25s ease-out forwards}@keyframes swipeOutLeft{to{transform:translate(-120%) rotate(-15deg);opacity:0}}@keyframes swipeOutRight{to{transform:translate(120%) rotate(15deg);opacity:0}}@keyframes enterFromLeft{0%{transform:translate(-100%) rotate(-10deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes enterFromRight{0%{transform:translate(100%) rotate(10deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}.swipe-card .student-name{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.swipe-card .barcode-container{margin:1rem 0;background:#fff;padding:1.5rem;border-radius:var(--border-radius)}.swipe-card .barcode-container svg{max-width:100%;height:auto}.swipe-card .customer-id{font-family:SF Mono,Monaco,monospace;font-size:1.1rem;color:var(--text-muted);margin:.5rem 0 0;font-weight:500}.swipe-card .flaik-ref{font-size:1.1rem;margin:.75rem 0 0;padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius);border-left:3px solid var(--accent)}.swipe-card .flaik-ref.assigned strong{color:var(--success)}.swipe-card .flaik-ref.unassigned{border-left-color:#f59e0b;background:#f59e0b1a}.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{font-size:.9rem;margin:1rem 0 0;padding:.75rem 1rem;background:#fbbf2426;border-radius:var(--border-radius);color:var(--warning);font-weight:500}.swipe-card .student-note.hidden{display:none}.swipe-card .no-flaik-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;margin:1.5rem 0;background:var(--bg-secondary);border-radius:var(--border-radius);border:2px dashed var(--text-muted)}.swipe-card .no-flaik-message svg{color:var(--text-muted);margin-bottom:1rem;opacity:.5}.swipe-card .no-flaik-message p{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.swipe-card .no-flaik-message span{font-size:.9rem;color:var(--text-muted);margin:0}.coach-reminder-content{text-align:center;padding:2rem 1rem}.coach-flaik-assigned{margin:1rem 0;padding:.875rem 1rem;background:#4ade8026;border:1px solid var(--success);border-radius:var(--border-radius)}.coach-flaik-assigned p{margin:0;font-size:.95rem;color:#15803d}.coach-flaik-assigned strong{color:#16a34a;font-family:SF Mono,Monaco,monospace}.coach-reminder-title{margin-bottom:1.5rem}.coach-reminder-body{font-size:1rem;line-height:1.5;text-align:left}.coach-reminder-primary{margin-bottom:1rem;font-weight:600}.coach-reminder-flow{background:var(--bg-secondary);padding:.75rem 1rem .75rem 2.5rem;border-radius:8px;margin:.75rem 0;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-weight:600;font-size:.95rem}.coach-reminder-note{margin:0 0 .5rem;font-size:.9rem;color:var(--text-muted)}.coach-reminder-instructions{background:var(--bg-secondary);padding:.875rem;border-radius:8px;margin-top:1.25rem}.coach-reminder-instructions-title{font-weight:600;margin-top:0;margin-bottom:.5rem}.coach-reminder-list{padding-left:1.25rem;margin-bottom:0;font-size:.9rem}.coach-reminder-list li{margin-bottom:.35rem}.coach-reminder-list li:last-child{margin-bottom:0}.coach-reminder-continue{margin-top:1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);text-align:center}.coach-reminder-feature-hint{background:#fce10726;border:1px solid var(--primary);border-radius:var(--border-radius);padding:.75rem;margin-top:1rem;font-size:.85rem;text-align:left}.coach-reminder-feature-hint strong{color:var(--primary)}.qr-mode-toggle-btn{position:fixed;top:var(--spacing);right:var(--spacing);z-index:1000;background:var(--bg-card);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;box-shadow:0 2px 8px #00000026;color:var(--text-secondary)}.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{position:absolute;top:-4px;right:-4px;background:#bf2c37;color:#fff;font-size:.6rem;padding:.15rem .35rem;border-radius:8px;font-weight:700}.flaik-qr-card{background:#d32f2f;border-radius:var(--border-radius-lg);padding:.5rem;box-shadow:0 8px 25px #00000026}.flaik-qr-card-inner{background:#212121;border-radius:calc(var(--border-radius-lg) - 4px);padding:1.5rem 1rem;text-align:center}.flaik-qr-card-title{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.flaik-qr-card-ref{color:#fff;font-family:SF Mono,Monaco,monospace;font-size:1.3rem;font-weight:700;margin:0 0 1rem;letter-spacing:1px}.flaik-qr-container{background:#fff;padding:1rem;border-radius:var(--border-radius);display:inline-block}.flaik-qr-container svg{display:block;width:220px;height:220px}.flaik-qr-help-text{color:#fff;opacity:.7;font-size:.85rem;margin:1rem 0 0}.flaik-qr-placeholder{background:#ffffff1a;padding:2rem;border-radius:var(--border-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px}.flaik-qr-placeholder-icon{font-size:3rem;margin-bottom:1rem}.flaik-qr-placeholder-text{color:#fff;font-size:1.1rem;font-weight:600;margin:0;opacity:.9}.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);padding:1.5rem 1rem;text-align:center}.student-qr-card-title{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0 0 .25rem;letter-spacing:.5px}.student-qr-card-level{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem;font-weight:500}.student-qr-container{background:var(--bg-card);padding:1rem;border-radius:var(--border-radius);display:inline-block}.student-qr-container svg{display:block;width:220px;height:220px}.student-qr-help-text{color:var(--text-secondary);font-size:.85rem;margin:1rem 0 0;font-weight:500}.student-qr-note{background:var(--bg-secondary);color:var(--text-primary);padding:.75rem;border-radius:var(--border-radius);margin-top:1rem;font-size:.85rem;line-height:1.4}.student-level-text{font-size:.8em;font-weight:400;color:var(--text-secondary)}.scan-reminder-box{background:var(--bg-secondary);padding:.65rem .875rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem;line-height:1.4}.scan-reminder-text{margin:0;font-weight:600}@media(min-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(min-width:1024px){.swipe-card{max-width:500px;padding:3rem 2.5rem}.swipe-card .barcode-container svg{max-height:120px}}.attendance-summary{display:flex;justify-content:space-around;background:var(--bg-secondary);padding:1rem;border-radius:var(--border-radius);margin-bottom:var(--spacing);font-weight:600;font-size:.9rem}.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{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:1rem;background:var(--bg-secondary);border-radius:var(--border-radius);transition:background .2s}.filter-toggle:hover{background:var(--bg-card-hover)}.filter-toggle input[type=checkbox]{display:none}.toggle-label{font-size:.95rem;font-weight:500;color:var(--text-primary);flex:1}.hidden-count{margin-left:.5rem;font-size:.85rem;color:var(--text-muted);font-weight:400}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px;background:var(--bg-card);border-radius:14px;border:2px solid var(--bg-card);transition:all .3s ease;flex-shrink:0}.toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--text-muted);border-radius:50%;transition:all .3s ease;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{transform:translate(20px);background:var(--accent-text)}.attendance-list{display:flex;flex-direction:column;gap:.75rem}.attendance-info{margin-bottom:.75rem}.attendance-name-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.attendance-info h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flaik-badge-compact{display:inline-flex;align-items:center;gap:.35rem;font-size:1rem;font-weight:700;padding:.35rem .65rem;background:#4ade8026;color:var(--success);border-radius:4px;font-family:SF Mono,Monaco,monospace;white-space:nowrap}@media(max-width:375px){.flaik-badge-compact{font-size:.75rem;padding:.25rem .55rem}.flaik-badge-compact svg{display:none}}.flaik-badge-compact svg{flex-shrink:0;width:16px;height:16px}.flaik-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .6rem;background:var(--bg-secondary);border-radius:4px;color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.flaik-badge.assigned{background:#4ade8026;color:var(--success)}.attendance-badges-row{margin-top:.35rem}.signout-badge{border:none;padding:.35rem .65rem;border-radius:4px;font-size:.85rem;font-weight:700;cursor:pointer;transition:opacity .2s}.signout-badge:active{opacity:.7}.signout-badge.red{background:#dc2626;color:#fff}.signout-badge.yellow{background:#ca8a04;color:#fff}.signout-badge.green{background:#16a34a;color:#fff}.signout-badge.overridden{border:2px dashed #ffffff}@media(max-width:375px){.signout-badge{font-size:.75rem;padding:.25rem .55rem}}.signout-badge-container{position:relative}.signout-details{position:absolute;top:calc(100% + 10px);right:0;width:280px;padding:1rem;background:var(--bg-card, white);border:1px solid var(--bg-secondary, #f0f0f0);border-radius:var(--border-radius, 8px);font-size:.9rem;line-height:1.5;color:var(--text-primary);box-shadow:0 8px 24px #00000026;z-index:100;text-align:left}.signout-details:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:9px;border-style:solid;border-color:transparent transparent var(--bg-secondary, #f0f0f0) transparent}.signout-details:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:8px;border-style:solid;border-color:transparent transparent var(--bg-card, white) transparent}.signout-details .signout-rule{margin:0 0 .5rem;color:var(--text-primary);line-height:1.4}.signout-details .signout-age{margin:.5rem 0 0;color:var(--text-secondary);font-size:.8rem}.signout-waiver-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.waiver-toggle-btn{border:none;padding:.4rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;background:var(--secondary);color:var(--secondary-text)}.waiver-toggle-btn:active{background:var(--secondary-hover)}.attendance-options{display:flex;gap:.5rem}.attendance-option{flex:1;cursor:pointer}.attendance-option input{display:none}.attendance-option .option-label{display:block;width:100%;padding:.65rem .5rem;text-align:center;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);border:2px solid var(--bg-secondary);background:var(--bg-secondary);color:var(--text-muted);transition:all .2s ease}.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{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--bg-secondary)}.signout-instructions input{width:100%;padding:.75rem;font-size:.9rem;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:.75rem;transition:border-color .2s}.signout-instructions input:focus{outline:none;border-color:var(--accent)}.quick-options{display:flex;gap:.5rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.quick-options-rows{display:flex;flex-direction:column;gap:.5rem}.quick-options-row{display:flex;gap:.4rem;align-items:center;overflow-x:auto;flex-wrap:nowrap}.quick-options-row .row-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;min-width:60px}.quick-options-row .placeholder-text{font-size:.75rem;color:var(--text-muted);font-style:italic;padding:.5rem 0}.quick-option-btn{padding:.5rem .6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;white-space:nowrap}.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{background:#dc2626;color:#fff}.quick-option-btn.parent-required:hover{background:#b91c1c;color:#fff}.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{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;transition:background .2s;min-height:48px}.instruction-display:hover{background:var(--bg-card-hover)}.instruction-display .instruction-text{font-size:.9rem;color:var(--text-primary);flex:1}.instruction-display .instruction-placeholder{font-size:.9rem;color:var(--text-muted);font-style:italic;flex:1}.instruction-display .edit-icon{flex-shrink:0;color:var(--text-secondary)}.editing-actions{margin-top:.75rem;display:flex;gap:.5rem;align-items:stretch}.editing-actions .reset-btn{padding:.65rem .75rem;width:48px;flex:0 0 48px;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--bg-secondary);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.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{flex:1;padding:.65rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--border-radius);cursor:pointer;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{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.95rem}.form-field__label--required:after{content:" *";color:#dc2626;font-weight:600}.form-field__required{color:#dc2626;font-weight:600}.form-field__hint{display:block;font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.form-field__error{display:block;font-size:.85rem;color:#dc2626;margin-top:.25rem;font-weight:500}.form-field__input,.form-field__textarea,.form-field__select{width:100%;padding:.75rem;border:2px solid var(--bg-secondary);border-radius:var(--border-radius);font-family:inherit;font-size:.95rem;line-height:1.5;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,background .2s}.form-field__input:focus,.form-field__textarea:focus,.form-field__select:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.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{font-family:SF Mono,Monaco,monospace;text-transform:uppercase}.form-field__input--search{padding-left:2.5rem}.form-field__input-wrapper{position:relative}.form-field__input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.form-field__input-wrapper .form-field__input{padding-left:2.5rem}.form-field__button-group{display:flex;gap:.75rem}.form-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.form-section__title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.form-section__description{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.form-toggle{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-toggle__input{position:absolute;opacity:0;pointer-events:none}.form-toggle__switch{position:relative;width:44px;height:24px;background:var(--bg-secondary);border-radius:12px;transition:background .2s}.form-toggle__input:checked+.form-toggle__switch{background:var(--accent)}.form-toggle__slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.form-toggle__input:checked+.form-toggle__switch .form-toggle__slider{transform:translate(20px)}.form-toggle__label{font-size:.95rem;font-weight:500;color:var(--text-primary)}.form-options{display:flex;flex-direction:column;gap:.5rem}.form-options--horizontal{flex-direction:row;flex-wrap:wrap;gap:.75rem}.form-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-option__input{cursor:pointer}.form-option__label{cursor:pointer;font-size:.95rem;color:var(--text-primary)}.workflow-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:var(--spacing)}.workflow-step{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border-radius:var(--border-radius);text-decoration:none;color:var(--text-primary);transition:all .2s ease;border-left:4px solid transparent}.workflow-step:hover{background:var(--bg-card-hover);border-left-color:var(--accent)}.step-number{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:2px solid var(--accent);border-radius:50%;font-size:1.1rem;font-weight:700;color:var(--accent);flex-shrink:0}.step-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.step-title{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.step-desc{font-size:.85rem;color:var(--text-muted)}.step-progress{font-size:.8rem;font-weight:600;color:var(--warning);font-family:SF Mono,Monaco,monospace}.step-progress.complete{color:var(--success)}.step-arrow{font-size:1.25rem;color:var(--text-muted);transition:transform .2s ease}.workflow-step:hover .step-arrow{transform:translate(4px);color:var(--accent)}.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%,rgba(252,225,7,.08) 100%);animation:pulse-border 2s ease-in-out infinite}@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}}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;padding:1rem 0}.step-indicator.compact{padding:.5rem 0}.step-dot{width:12px;height:12px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--text-muted);transition:all .2s ease}.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{width:3rem;height:2px;background:var(--bg-muted);transition:background .2s ease}.step-line.completed{background:var(--accent)}.step-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.25rem}.home-button{position:absolute;top:calc(env(safe-area-inset-top,0) + .5rem);left:0;z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:#0000000d;border-radius:50%;color:var(--text-primary);font-size:1.5rem;text-decoration:none;transition:background-color .2s}.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);display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.admin-actions{flex-direction:row}}.admin-actions-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);transition:all .2s ease;border:none;cursor:pointer}.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);margin-left:auto;margin-right:auto;display:flex;gap:.75rem;margin-top:2rem;margin-bottom:2rem;padding:var(--spacing) 0;border-top:1px solid var(--bg-secondary)}.step-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);transition:all .2s ease;border:none;cursor:pointer}.step-nav-spacer{display:none}@media(max-width:767px){.step-nav-spacer{display:block;height:calc(4rem + var(--spacing) + env(safe-area-inset-bottom))}}.submit-reminder-banner{background:var(--bg-secondary);padding:.75rem .875rem;border-radius:var(--border-radius);margin-bottom:1.25rem;border-left:3px solid var(--primary);font-size:.85rem;line-height:1.4}.submit-summary{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.submit-summary h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.submit-date{margin:0 0 1rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.95rem}.submit-date strong{color:var(--text-primary)}.summary-note{margin:0;color:var(--text-muted);font-size:.9rem;text-align:center}.lesson-fields-section{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.lesson-fields-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.submit-section{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.step-nav-btn.submit-attendance-btn{width:100%;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s;background:var(--accent);color:var(--accent-text)}.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{padding:.75rem;margin-bottom:1.5rem;background:#dc26261a;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.9rem;font-weight:500}.error-banner{position:fixed;top:0;left:0;right:0;z-index:9999;padding:1rem;background:#dc2626;color:#fff;font-weight:600;font-size:1rem;text-align:center;box-shadow:0 4px 12px #0000004d;animation:slideDown .3s ease-out}.error-banner-content{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.75rem}.error-banner-icon{flex-shrink:0}.error-banner-close{position:absolute;top:50%;right:1rem;transform:translateY(-50%);background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.error-banner+.container{padding-top:4rem}.backup-mode-banner{position:fixed;top:0;left:0;right:0;z-index:9998;padding:1rem;background:#f59e0b;color:#78350f;font-weight:600;font-size:1rem;text-align:center;box-shadow:0 4px 12px #0000004d;animation:slideDown .3s ease-out}.backup-mode-banner-content{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.75rem}.backup-mode-banner-icon{flex-shrink:0}.backup-mode-banner-text-container{display:flex;flex-direction:column;gap:.25rem;flex:1}.backup-mode-banner-text{display:block}.backup-mode-banner-expiry{display:block;font-size:.85rem;opacity:.9;font-weight:500}.backup-mode-banner-disable{background:#78350f33;border:1px solid #78350f;color:#78350f;padding:.5rem 1rem;border-radius:4px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-left:1rem}.backup-mode-banner-disable:hover{background:#78350f4d;transform:translateY(-1px)}body:has(.backup-mode-banner){padding-top:7rem}@media(min-width:768px){body:has(.backup-mode-banner){padding-top:5rem}}.error-message{padding:.75rem;margin-bottom:1.5rem;background:#dc26261a;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.9rem;font-weight:500}@media print{:root{--bg-primary: white;--text-primary: black}body{background:#fff;padding:0;color:#000}.back-link,.reset-section,.swipe-header,.step-indicator,.step-nav,.step-label,.home-button{display:none!important}.swipe-card{background:#fff;border:1px solid #ccc;box-shadow:none}.swipe-card .student-name{color:#000}}@media(max-width:767px){.step-nav{position:fixed;bottom:0;left:0;right:0;max-width:none;background:var(--bg-secondary);padding:var(--spacing) var(--spacing) calc(var(--spacing) + env(safe-area-inset-bottom));margin:0;border-top:1px solid var(--bg-secondary);z-index:100}}@media(min-width:768px){.swipe-container .step-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);max-width:var(--max-width);background:var(--bg-secondary);padding:var(--spacing);margin:0;border-top:1px solid var(--bg-secondary);z-index:100;box-shadow:0 -4px 12px #00000014}}.coach-reminder-card{background:linear-gradient(135deg,#fbbf241a,#fbbf240d);border-left:4px solid var(--warning);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{margin:.5rem 0;font-size:.9rem;line-height:1.5;color:var(--text-primary)}.coach-reminder-card .reminder-text p:first-child{font-weight:600}.absent-btn{padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);background:transparent;border:1px solid var(--text-muted);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:80px}.absent-btn:hover{background:#0000000d;border-color:var(--danger)}.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{padding:.5rem .75rem;font-size:1.25rem;line-height:1;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.clear-attendance-btn:hover{background:#dc26261a;color:var(--danger)}.clear-attendance-btn:active{background:var(--danger);color:var(--accent-text)}.clear-attendance-btn:disabled{opacity:.3;cursor:not-allowed;background:transparent}.clear-attendance-btn:disabled:hover{background:transparent;color:var(--text-muted)}.student-note-container{cursor:pointer;display:flex;align-items:center;width:100%}.student-note-container .student-note{width:100%;padding:.6rem 0;font-size:.85rem;color:var(--text-secondary)}.student-note-container .student-note.placeholder{color:var(--text-muted);font-style:italic;font-weight:400}.student-note-input{width:100%;padding:.6rem 0;font-size:.85rem;background-color:transparent;border:none;border-radius:0;border-bottom:2px solid transparent;transition:border-color .2s;outline:none}.student-note-input:focus{outline:none;border-bottom-color:var(--accent)}.student-note-input::placeholder{color:var(--text-muted)}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:2rem 1rem}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;font-weight:700;color:var(--accent);margin:0 0 .5rem}.login-header h2{font-size:1.25rem;font-weight:500;color:var(--text-primary);margin:0}.login-form{width:100%;max-width:360px;background:var(--bg-card);padding:2rem;border-radius:var(--border-radius-lg);box-shadow:0 2px 8px #0000001a}.login-error{background:#fee;border:1px solid var(--accent);color:var(--accent);padding:.75rem;border-radius:var(--border-radius);margin-bottom:1rem;font-size:.9rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input{width:100%;padding:.75rem;font-size:1rem;border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--accent)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-btn{width:100%;padding:.875rem;font-size:1rem;font-weight:600;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .2s}.login-btn:hover:not(:disabled){background:var(--accent-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:2rem;text-align:center}.login-footer p{color:var(--text-muted);font-size:.9rem;margin:0}.auth-info{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.logout-btn-inline{padding:.4rem .8rem;font-size:.85rem;background:var(--secondary);color:var(--secondary-text);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .2s}.logout-btn-inline:hover{background:var(--secondary-hover)}.stale-data-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:var(--border-radius);padding:1rem;margin-bottom:1.5rem;text-align:center}.stale-data-warning strong{display:block;color:#856404;font-size:1rem;margin-bottom:.5rem}.stale-data-warning p{color:#856404;margin:0 0 .75rem;font-size:.9rem}.refresh-btn{background:var(--accent);color:var(--accent-text);border:none;padding:.6rem 1.2rem;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:background .2s}.refresh-btn:hover:not(:disabled){background:var(--accent-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.history-filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px #0000001a;box-sizing:border-box;overflow:hidden}@media(min-width:768px){.history-filters{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;padding:1.25rem}}.history-filters label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;color:var(--text-primary);width:100%;max-width:100%;font-size:.9rem;box-sizing:border-box}@media(min-width:768px){.history-filters label{width:auto;min-width:150px}}.history-filters select{padding:.65rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;cursor:pointer;min-height:44px;width:100%;font-family:inherit}@media(min-width:768px){.history-filters select{padding:.5rem .75rem;font-size:.95rem;min-height:auto;width:auto}}.history-filters select:focus{outline:none;border-color:var(--accent)}.history-filters .date-input{padding:.65rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;cursor:pointer;min-height:44px;width:100%;max-width:100%;font-family:inherit;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media(min-width:768px){.history-filters .date-input{padding:.5rem .75rem;font-size:.95rem;min-height:auto;width:auto}}.history-filters .date-input:focus{outline:none;border-color:var(--accent)}.history-filters .clear-date-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:44px;width:100%}@media(min-width:768px){.history-filters .clear-date-btn{padding:.5rem 1rem;font-size:.85rem;min-height:auto;width:auto}}.history-filters .clear-date-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.history-filters .clear-date-btn:active{transform:scale(.98)}.history-filters .clear-date-btn svg{flex-shrink:0}.history-count{font-size:.9rem;color:var(--text-muted)}.history-count-footer{text-align:center;padding:1rem;margin-bottom:1rem;font-size:.95rem;color:var(--text-muted)}.history-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.history-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s,transform .2s}.history-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.history-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.history-header:hover{background:var(--bg-secondary)}.history-header-main{flex:1}.history-header h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.history-header h3 .coach-name{font-weight:400;color:var(--text-muted);font-size:.95rem}.lesson-metadata{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0;font-size:.85rem}.metadata-item{padding:.25rem .5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted)}.history-header .summary{font-size:.9rem;color:var(--text-muted)}.expand-icon{transition:transform .2s;color:var(--text-muted);flex-shrink:0;margin-left:1rem}.expand-icon.expanded{transform:rotate(180deg)}.history-details{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-color)}.detail-section,.detail-section:first-child{margin-top:1rem}.detail-section strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.95rem}.detail-section p{margin:0;color:var(--text-secondary);line-height:1.5}.detail-section .no-notes{color:var(--text-muted);font-style:italic}.student-list{list-style:none;padding:0;margin:0}.student-list li{padding:.75rem;margin-bottom:.5rem;background:var(--bg-secondary);border-radius:var(--border-radius);border-left:3px solid var(--border-color)}.student-list li:last-child{margin-bottom:0}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-right:.5rem}.status-badge.full{background:#16a34a26;color:#16a34a;border:1px solid #16a34a}.status-badge.half{background:#fbbf2426;color:#d97706;border:1px solid #d97706}.status-badge.absent{background:#dc262626;color:#dc2626;border:1px solid #dc2626}.student-name{font-weight:500;color:var(--text-primary)}.student-source{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;background:#fce1071a;border:1px solid rgba(252,225,7,.3);border-radius:4px;font-size:.8rem;color:var(--text-muted);font-style:italic}.flaik-ref{display:inline-block;margin-left:.5rem;padding:.25rem .5rem;background:var(--bg-primary);border-radius:4px;font-size:.85rem;color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.sign-out-instructions{margin-top:.5rem;padding:.5rem;background:#3b82f61a;border-left:2px solid #3b82f6;border-radius:4px;font-size:.9rem;color:var(--text-secondary)}.submission-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-muted);padding-top:.75rem;border-top:1px solid var(--border-color)}.delete-section{padding-top:.75rem;border-top:1px solid var(--border-color)}.delete-lesson-btn{width:100%;padding:.75rem;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s}.delete-lesson-btn:hover{background:var(--accent-hover)}.delete-lesson-btn:active{transform:scale(.98)}.bottom-nav{display:flex;justify-content:center;padding-top:1rem;border-top:1px solid var(--border-color)}.nav-link{color:var(--accent);text-decoration:none;font-weight:500;padding:.5rem 1rem;transition:all .2s}.nav-link:hover{text-decoration:underline}.admin-export-container{max-width:100%;padding-left:0;padding-right:0}@media(min-width:768px){.admin-export-container{max-width:1400px;padding-left:1rem;padding-right:1rem}}@media(min-width:1200px){.admin-export-container{max-width:1600px}}.admin-export-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius)}.export-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.checkbox-filter{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--text-primary);cursor:pointer;padding:.5rem 0;-webkit-user-select:none;user-select:none}.checkbox-filter input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.export-actions{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.admin-export-controls label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.admin-export-controls select,.admin-export-controls .date-input,.admin-export-controls input[type=text],.admin-export-controls input[type=date]{padding:.65rem .75rem;border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;line-height:1.5;min-height:44px;cursor:text;transition:border-color .2s,background .2s;font-family:inherit;box-sizing:border-box;max-width:100%}.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{outline:none;border-color:var(--accent);background:var(--bg-primary)}.clear-date-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.clear-date-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.clear-date-btn svg{flex-shrink:0}@media(min-width:768px){.admin-export-controls{padding:1.5rem;flex-direction:row;justify-content:space-between;align-items:flex-end;gap: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{display:flex;flex-direction:column;gap:1.5rem}@media(min-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{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--bg-secondary)}.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{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.preview-table-container{overflow-x:auto;margin-bottom:1rem;max-width:100%}.preview-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;min-width:700px}.preview-table th,.preview-table td{padding:.75rem;text-align:left;border:1px solid var(--border-color)}.preview-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);white-space:nowrap;position:sticky;top:0;z-index:10}.preview-table td{color:var(--text-secondary);background:var(--bg-primary)}.preview-table td[rowspan]{background:var(--bg-secondary);font-weight:500;color:var(--text-primary);border-right:3px solid var(--accent)}.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{padding:1rem!important;background:var(--bg-card-hover)!important;font-size:.85rem;color:var(--text-secondary)}.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);font-weight:600;margin-right:.5rem}.preview-note{text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}@media(max-width:767px){.preview-table-container{display:none}.missing-reports-mobile{display:flex;flex-direction:column;gap:1rem}}@media(min-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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.missing-report-card__coach{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0}.missing-report-card__day{display:inline-block;padding:.25rem .6rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.missing-report-card__body{display:flex;flex-direction:column;gap:.5rem}.missing-report-card__field{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem}.missing-report-card__label{color:var(--text-muted);font-weight:500;flex-shrink:0;margin-right:.75rem}.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-weight:600;font-size:1rem}.missing-report-card__overdue--warning{color:var(--accent)}.missing-report-card__overdue--normal{color:var(--text-muted)}@media(min-width:768px){.admin-export-preview{padding:2rem}.preview-table{font-size:1rem}.preview-table th,.preview-table td{padding:1rem}}.weekend-summary{padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--border-radius);font-size:.9rem;color:var(--text-primary);font-weight:500;margin-top:.5rem}.overdue-warning{color:var(--accent);font-weight:600}.overdue-normal{color:var(--text-muted)}.admin-home-container{max-width:var(--max-width)}@media(min-width:768px){.admin-home-container{max-width:900px}}@media(min-width:1024px){.admin-home-container{max-width:1200px}}@media(min-width:1440px){.admin-home-container{max-width:1400px}}.admin-home-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}@media(min-width:600px){.admin-home-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.admin-home-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(min-width:1024px){.admin-home-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.admin-home-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);text-decoration:none;color:var(--text-primary);transition:all .2s ease;cursor:pointer}.admin-home-card:hover{background:var(--bg-card-hover);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.admin-home-card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--bg-secondary);border-radius:50%;margin-bottom:1rem;color:var(--accent-text)}.admin-home-card-icon svg{color:var(--accent)}.admin-home-card h2{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.admin-home-card p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.admin-section{margin-bottom:2rem}.admin-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.status-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem}.status-active{background:#fef3c7;color:#78350f;border:2px solid #f59e0b}.status-inactive{background:#d1fae5;color:#065f46;border:2px solid #10b981}.help-text{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.help-list{margin:1rem 0;padding-left:1.5rem}.help-list li{margin-bottom:.5rem;color:var(--text-secondary)}.warning-text{color:#d97706;font-weight:500}.qr-duration-selector{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.qr-duration-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;flex:1;min-width:200px}.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]{width:20px;height:20px;cursor:pointer}.qr-duration-option span{font-size:.95rem;color:var(--text-primary);font-weight:500}.qr-code-container{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}@media(min-width:768px){.qr-code-container{grid-template-columns:repeat(2,1fr)}}.qr-code-container-two{grid-template-columns:1fr}@media(min-width:768px){.qr-code-container-two{grid-template-columns:repeat(2,1fr)}}.qr-code-card{display:flex;flex-direction:column;align-items:center;padding:2rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius-lg)}.qr-code-card-permanent{border-color:#f59e0b;background:#f59e0b0d}.qr-code-card h3{margin:0 0 1.5rem;font-size:1.1rem;color:var(--text-primary)}.qr-warning-text{font-size:.85rem;color:#d97706;font-weight:600;text-align:center;margin:1rem 0 0;padding:0 .5rem}.qr-code-wrapper{padding:1rem;background:#fff;border-radius:var(--border-radius);margin-bottom:1rem}.url-text{font-size:.8rem;color:var(--text-secondary);word-break:break-all;text-align:center;margin:0;padding:0 .5rem}.backup-status-active,.backup-status-inactive{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:var(--border-radius-lg);margin-bottom:1rem}.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{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.backup-status-expiry{font-size:.9rem;color:var(--text-secondary)}.backup-mode-controls{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.backup-mode-duration{display:flex;flex-direction:column;gap:.75rem}.duration-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.duration-option:hover{background:var(--bg-card-hover);border-color:var(--accent)}.duration-option input[type=radio]{width:20px;height:20px;cursor:pointer}.duration-option span{font-size:.95rem;color:var(--text-primary);font-weight:500}.backup-mode-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-warning{background:#f59e0b;color:#78350f;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.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);padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.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{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.success-icon{width:64px;height:64px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin-bottom:1rem}.success-message h2{color:var(--text-primary);margin:0 0 1rem}.status-text{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem}.redirect-text{font-size:.9rem;color:var(--text-secondary);font-style:italic}.error-icon{width:64px;height:64px;background:#dc2626;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin-bottom:1rem}.student-lookup-controls{margin-bottom:1.5rem}.student-lookup-search-row{position:relative;margin-bottom:1rem}.student-lookup-search-row .form-field__input{padding-right:2.5rem}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;color:var(--text-muted);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.clear-search-btn:hover{background:#0000000d;color:var(--text-primary)}.filters-section{margin-bottom:1rem}.filters-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filters-toggle:hover{background:var(--bg-secondary)}.filters-toggle svg:first-child{flex-shrink:0}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .35rem;background:var(--accent);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600;margin-left:auto}.toggle-arrow{flex-shrink:0;transition:transform .2s ease}.toggle-arrow.expanded{transform:rotate(180deg)}.clear-filters-container{display:flex;justify-content:flex-end;border-top:1px solid var(--border-color)}.clear-filters-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:var(--bg-secondary);border-color:var(--accent)}.clear-filters-btn svg{flex-shrink:0}.filter-row{display:flex;flex-direction:column;gap:1rem;padding:1rem;margin-top:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius)}@media(min-width:640px){.filter-row{flex-direction:row;flex-wrap:wrap}}.filter-row label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);font-size:.95rem}.filter-row select{padding:.5rem .75rem;border:2px solid var(--bg-secondary);border-radius:var(--border-radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:border-color .2s,background .2s}.filter-row select:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.student-lookup-summary{text-align:center;margin-top:1rem;padding:.5rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.9rem;color:var(--text-secondary)}.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{overflow-x:auto;margin-bottom:0}.student-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem;min-width:600px}.student-table th,.student-table td{padding:.5rem;text-align:left;border:1px solid var(--border-color);white-space:nowrap}.student-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);white-space:nowrap;position:sticky;top:0;z-index:10}.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{font-weight:500;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis}.day-cell,.program-cell,.group-cell,.level-cell{text-align:center}.coach-cell{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis}@media(min-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{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing)}.session-warning-modal{background:var(--bg-card);padding:2rem;border-radius:var(--border-radius-lg);max-width:400px;width:100%;margin:1rem;box-shadow:0 4px 20px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.session-warning-modal h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);text-align:center}.session-warning-modal p{margin:0 0 1rem;text-align:center;color:var(--text-secondary);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);font-size:.875rem;margin-bottom:1.5rem;font-weight:500}.session-warning-modal .btn-group{display:flex;gap:.75rem}.session-warning-modal .btn-group button{flex:1;padding:.875rem 1rem;font-size:.95rem;font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.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);padding:1rem;text-align:center;margin-bottom:1rem;border-radius:var(--border-radius);font-weight:500;font-size:.95rem;box-shadow:0 2px 8px #bf2c3733}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.admin-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary);padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--border-color);white-space:nowrap;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:1rem .75rem;border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-primary)}.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{background:#fce10708!important;border-bottom:2px solid var(--border-color);padding:1.5rem!important}.admin-table tbody tr[data-detail-row]:hover td{background:#fce10708!important;cursor:default}.admin-table .admin-table{margin-top:.5rem;font-size:.85rem;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.admin-table .admin-table th{padding:.65rem .75rem;font-size:.8rem;background:#00000005}.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(min-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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.attendance-summary-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}.attendance-summary-filters .form-field{margin-bottom:0}.attendance-detail-loading{text-align:center;color:var(--text-muted);padding:1rem}.attendance-detail-header{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.attendance-expand-icon{width:40px;text-align:center}.attendance-expand-icon svg{transition:transform .2s ease}.attendance-card-footer-expanded{border-top:1px solid var(--border-color);padding-top:1rem;margin-top:1rem;background:#fce10708}.stat-value-large{font-size:2rem}.stat-label-small{font-size:.875rem;margin-bottom:.5rem}.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(max-width:767px){.u-hidden-mobile{display:none}}@media(min-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}
