: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)}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--spacing);color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.back-link:hover{color:var(--accent-light)}.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}.status-bar{background:var(--bg-secondary);padding:1rem 1.25rem;border-radius:var(--border-radius);margin-bottom:var(--spacing);text-align:center;font-size:1rem;color:var(--text-secondary);border-left:3px solid var(--accent)}.status-bar strong{color:var(--accent);font-weight:600}.coach-status{font-size:.9rem;font-weight:500}.coach-status.scanned{color:var(--success)}.coach-status.not-scanned{color:var(--warning)}.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-section{margin-top:1.5rem}.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)}.student-list{display:flex;flex-direction:column;gap:.75rem}.student-card{background:var(--bg-card);border-radius:var(--border-radius);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease;border:1px solid var(--bg-secondary)}.student-card:hover{background:var(--bg-card-hover)}.student-card.coach-card{background:#fce10714;border:2px solid var(--primary);border-left:4px solid var(--primary)}.student-card.coach-card:hover{background:#fce1071f}.student-card.absent{background:var(--bg-card-hover)}.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}.student-info h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.student-metadata{display:flex;gap:.75rem;margin-top:.25rem}.student-info .age{color:var(--text-muted);font-size:.85rem}.student-level{color:var(--text-secondary);font-size:.9em;font-weight:400}.student-info .device-status{font-size:.85rem;margin-top:.35rem}.student-info .device-status.scanned{color:var(--success);font-weight:600}.student-info .device-status.pending{color:var(--text-muted)}.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}}.quick-ref{margin-bottom:var(--spacing)}.quick-ref-toggle{width:100%;padding:1rem 1.25rem;font-size:.9rem;font-weight:500;text-align:left;background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease}.quick-ref-toggle:hover{background:var(--bg-card-hover)}.quick-ref-content{background:var(--bg-secondary);border:1px solid var(--bg-secondary);border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius);padding:var(--spacing);display:none}.quick-ref-content.open{display:block}.quick-ref-list{list-style:none;padding:0;margin:0}.quick-ref-list li{padding:.6rem 0;border-bottom:1px solid var(--bg-secondary);display:flex;justify-content:space-between;color:var(--text-secondary)}.quick-ref-list li:last-child{border-bottom:none}.quick-ref-list .name{font-weight:500;color:var(--text-primary)}.quick-ref-list .device{font-family:SF Mono,Monaco,monospace;color:var(--accent);font-weight:600}.scanner-modal{position:fixed;inset:0;background:var(--bg-primary);display:none;flex-direction:column;z-index:1000}.scanner-modal.open{display:flex}.scanner-header{padding:var(--spacing);background:var(--bg-secondary);text-align:center;border-bottom:1px solid var(--bg-secondary)}.scanner-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.scanner-view{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}#scanner-container{width:100%;max-width:400px}.scanner-footer{padding:var(--spacing);padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));display:flex;gap:var(--spacing);background:var(--bg-secondary);border-top:1px solid var(--bg-secondary)}.scanner-footer button{flex:1;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:var(--border-radius);cursor:pointer}.scanner-footer .cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.scanner-footer .manual-btn{background:var(--accent);color:var(--accent-text)}.manual-modal{position:fixed;inset:0;background:#000000e6;display:none;align-items:center;justify-content:center;z-index:1001;padding:var(--spacing)}.manual-modal.open{display:flex}.manual-modal-content{background:var(--bg-card);padding:1.5rem;border-radius:var(--border-radius-lg);width:100%;max-width:400px;border:1px solid var(--bg-secondary)}.manual-modal-content h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.manual-modal-content input{width:100%;padding:1rem;font-size:1.25rem;font-family:SF Mono,Monaco,monospace;background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);margin-bottom:1rem;text-transform:uppercase;transition:border-color .2s}.manual-modal-content input:focus{outline:none;border-color:var(--accent)}.manual-modal-content .btn-group{display:flex;gap:.75rem}.manual-modal-content button{flex:1;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;border:none;border-radius:var(--border-radius);cursor:pointer}.manual-modal-content .save-btn{background:var(--accent);color:var(--accent-text)}.manual-modal-content .cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.confirm-dialog{position:fixed;inset:0;background:#000000e6;display:none;align-items:center;justify-content:center;z-index:1002;padding:var(--spacing)}.confirm-dialog.open{display:flex}.confirm-dialog-content{background:var(--bg-card);padding:1.5rem;border-radius:var(--border-radius-lg);width:100%;max-width:400px;text-align:center;border:1px solid var(--bg-secondary)}.confirm-dialog-content h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--danger)}.confirm-dialog-content p{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.5}.confirm-dialog-content .confirm-warning{margin:-.5rem 0 1.5rem;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}.confirm-dialog-content .btn-group{display:flex;gap:.75rem}.confirm-dialog-content button{flex:1;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;border:none;border-radius:var(--border-radius);cursor:pointer}.confirm-dialog-content .confirm-btn{background:var(--danger);color:#fff}.confirm-dialog-content .cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.empty-state-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;margin:2rem auto;max-width:500px}.empty-state-message svg{color:var(--text-muted);margin-bottom:1.5rem;opacity:.4}.empty-state-message h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.empty-state-message p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.empty-state-message .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--border-radius);transition:all .2s ease}.empty-state-message .btn.primary{background:var(--accent);color:var(--accent-text)}.empty-state-message .btn.primary:hover{background:var(--accent-hover)}.nav-section.hidden{display:none}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}.swipe-header .back-link{color:var(--accent)}.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 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:1rem 1rem 1rem 2rem;border-radius:8px;margin-top:1rem;font-size:1.1rem;font-weight:600}.coach-reminder-flow li{margin-bottom:.25rem}.coach-reminder-flow li:last-child{margin-bottom:0}.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}.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}}.student-card.with-notes{flex-direction:column;gap:.75rem}.student-card-main{display:flex;justify-content:space-between;align-items:center;width:100%}.student-notes{width:100%}.note-input{width:100%;padding:.6rem 0;font-size:.85rem;background-color:transparent;color:var(--text-primary);border:none;border-radius:0;border-bottom:2px solid transparent;transition:border-color .2s}.note-input:focus{outline:none;border-bottom-color:var(--accent)}.note-input::placeholder{color:var(--text-muted)}.undo-section{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 1rem;background:var(--bg-card);border-radius:var(--border-radius);border-left:3px solid var(--warning)}.undo-section.hidden{display:none}.undo-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-transform:uppercase;background:var(--bg-secondary);color:var(--warning);border:1px solid var(--warning);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.undo-btn:hover:not(:disabled){background:var(--warning);color:var(--accent-text)}.undo-btn:disabled{opacity:.4;cursor:not-allowed}.undo-icon{font-size:1rem}.undo-info{font-size:.85rem;color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.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-card{background:var(--bg-card);border-radius:var(--border-radius);padding:1rem 1.25rem;transition:all .2s ease;border:1px solid var(--bg-secondary);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.attendance-card:hover{background:var(--bg-card-hover)}.attendance-card.editing{border-color:var(--accent);box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.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)}.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-btn.primary{background:var(--primary);color:var(--primary-text)}.step-nav-btn.primary:hover{background:var(--primary-hover)}.step-nav-btn.secondary{background:var(--secondary);color:var(--secondary-text)}.step-nav-btn.secondary:hover{background:var(--secondary-hover)}.step-nav-btn.accent{background:var(--accent);color:var(--accent-text)}.step-nav-btn.accent:hover{background:var(--accent-hover)}.step-nav-btn.disabled{opacity:.5;cursor:not-allowed}.step-nav-spacer{display:none}@media(max-width:767px){.step-nav-spacer{display:block;height:calc(4rem + var(--spacing) + env(safe-area-inset-bottom))}}@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-search{margin-bottom:1rem}.coach-search input.lesson-input{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}.coach-search input.lesson-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.coach-search input.lesson-input::placeholder{color:var(--text-muted)}.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{font-size:.85rem;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}.student-card.transfer{border-left:3px solid var(--warning)}.student-card.manual{border-left:3px solid var(--accent-light)}.student-actions{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;min-width:110px}.student-actions .scan-btn,.student-actions .remove-btn{width:100%;text-align:center}.transfer-badge,.manual-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.2rem .4rem;border-radius:4px;margin-top:.5rem}.transfer-badge{background:var(--warning);color:#000}.manual-badge{background:var(--accent-light);color:#fff}.student-card .remove-btn{padding:.4rem .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.student-card .remove-btn:hover{background:var(--accent);color:#fff}.transfer-modal{position:fixed;inset:0;background:#000000e6;display:none;align-items:center;justify-content:center;z-index:1001;padding:var(--spacing)}.transfer-modal.open{display:flex}.transfer-modal-content{background:var(--bg-card);padding:1.5rem;border-radius:var(--border-radius-lg);width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column}.transfer-modal-content h3{margin:0 0 1rem;color:var(--text-primary)}.transfer-modal-content>input{width:100%;padding:.75rem;margin-bottom:1rem;background:var(--bg-secondary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-primary);font-size:1rem}.transfer-modal-content>input:focus{outline:none;border-color:var(--accent)}.transfer-list{flex:1;overflow-y:auto;margin-bottom:1rem;min-height:100px}.transfer-student-btn{width:100%;padding:.75rem;margin-bottom:.5rem;text-align:left;background:var(--bg-secondary);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .2s}.transfer-student-btn:hover{background:var(--bg-card-hover)}.transfer-student-btn .name{display:block;font-weight:600;color:var(--text-primary)}.transfer-student-btn .info{font-size:.8rem;color:var(--text-muted)}.transfer-modal-content .cancel-btn{width:100%;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-primary);border:none;border-radius:var(--border-radius);cursor:pointer}.manual-student-modal{position:fixed;inset:0;background:#000000e6;display:none;align-items:center;justify-content:center;z-index:1001;padding:var(--spacing)}.manual-student-modal.open{display:flex}.manual-student-modal-content{background:var(--bg-card);padding:1.5rem;border-radius:var(--border-radius-lg);width:100%;max-width:400px}.manual-student-modal-content h3{margin:0 0 1rem;color:var(--text-primary)}.manual-student-modal-content label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase}.manual-student-modal-content input{width:100%;padding:.75rem;margin-bottom:1rem;background:var(--bg-secondary);border:2px solid var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-primary);font-size:1rem}.manual-student-modal-content input:focus{outline:none;border-color:var(--accent)}.customer-id-row{display:flex;gap:.5rem;margin-bottom:1rem}.customer-id-row input{flex:1;margin-bottom:0}.scan-id-btn{padding:.75rem 1rem;background:var(--accent);color:var(--accent-text);border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;white-space:nowrap}.scan-id-btn:disabled{opacity:.5;cursor:not-allowed}.scanner-inline{margin-bottom:1rem;text-align:center}.scanner-inline #manual-scanner-container{margin-bottom:.5rem}.cancel-scan-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:none;border-radius:var(--border-radius);cursor:pointer;color:var(--text-primary)}.manual-student-modal-content .btn-group{display:flex;gap:.75rem;margin-top:.5rem}.manual-student-modal-content .btn-group button{flex:1;padding:1rem;font-size:.9rem;font-weight:600;text-transform:uppercase;border:none;border-radius:var(--border-radius);cursor:pointer}.manual-student-modal-content .save-btn{background:var(--accent);color:var(--accent-text)}.manual-student-modal-content .cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.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}.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)}.lesson-field{margin-bottom:1rem}.lesson-field:last-child{margin-bottom:0}.lesson-field label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.95rem}.lesson-field label .required-indicator{color:#dc2626;font-weight:600}.lesson-field input.lesson-input,.lesson-field textarea{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}.lesson-field textarea{resize:vertical}.lesson-field input.lesson-input:focus,.lesson-field textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.lesson-field input.lesson-input:disabled,.lesson-field textarea:disabled{opacity:.6;cursor:not-allowed}.lesson-field input.lesson-input::placeholder,.lesson-field textarea::placeholder{color:var(--text-muted)}.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}.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}.submit-section .error-message{padding:.75rem;background:#dc26261a;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.9rem;font-weight:500}.submit-section .success-message{padding:.75rem;background:#16a34a1a;border:1px solid #16a34a;border-radius:var(--border-radius);color:#16a34a;font-size:.9rem;font-weight:500}.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)}.load-more-section{display:flex;justify-content:center;margin-bottom:1.5rem}.load-more-btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;background:var(--bg-surface);color:var(--text-primary)}.load-more-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent)}.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:1rem;padding-right:1rem}@media(min-width:768px){.admin-export-container{max-width:1400px;padding-left:2rem;padding-right:2rem}}@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}.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{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;font-family:inherit;box-sizing:border-box;max-width:100%}.admin-export-controls select:focus,.admin-export-controls .date-input: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}}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s}.export-btn.primary{background:var(--accent);color:#fff}.export-btn.primary:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn svg{flex-shrink:0}.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:1.5rem}.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:1.5rem}.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-note{text-align:center;color:var(--text-muted);font-size:.9rem;font-style:italic}@media(max-width:767px){.admin-export-preview{display:none}}@media(min-width:768px){.admin-export-preview{padding:2rem}.preview-table{font-size:1rem}.preview-table th,.preview-table td{padding:1rem}}.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}.student-lookup-controls{margin-bottom:1.5rem}.student-lookup-search-row{position:relative;margin-bottom:1rem}.student-lookup-search-row input.lesson-input{width:100%;padding:.75rem 2.5rem .75rem .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}.student-lookup-search-row input.lesson-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.student-lookup-search-row input.lesson-input::placeholder{color:var(--text-muted)}.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}}.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}.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}.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)}
