.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.modern-header{position:fixed;top:0;left:0;right:0;padding:1rem 0;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.1);z-index:1000}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo-text{font-size:1.5rem;font-weight:700;color:#333;cursor:pointer}.nav-links{display:flex;gap:2rem}.nav-links a{text-decoration:none;color:#4b5563;font-weight:500;transition:color .3s ease}.nav-links a:hover{color:#3b82f6}.enhanced-hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);overflow:hidden;padding-top:80px}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0}.floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}.shape-1{width:300px;height:300px;top:-150px;right:-150px}.shape-2{width:200px;height:200px;bottom:100px;left:-100px}.shape-3{width:150px;height:150px;bottom:-75px;right:20%}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:2}.hero-content{color:#fff}.hero-badge{display:inline-block;background:rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-main-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1rem}.brand-highlight{color:#fbbf24;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hero-tagline{font-size:1.5rem;margin-bottom:1.5rem;opacity:.9}.accent-text{color:#fbbf24;font-weight:600}.hero-description{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.hero-stats{display:flex;gap:2rem;margin-top:2rem}.stat{text-align:center}.stat-number{font-size:2rem;font-weight:700;color:#fbbf24}.stat-label{font-size:.9rem;opacity:.8}.hero-visual{display:flex;justify-content:center;align-items:center}.main-visual-card{background:white;border-radius:20px;padding:1.5rem;box-shadow:0 20px 40px #0000001a;min-width:300px}.card-header{display:flex;justify-content:flex-start;margin-bottom:1rem}.card-dots{display:flex;gap:.5rem}.card-dots span{width:12px;height:12px;border-radius:50%;background:#e5e7eb}.card-dots span:first-child{background:#ef4444}.card-dots span:nth-child(2){background:#f59e0b}.card-dots span:last-child{background:#10b981}.feature-showcase{display:flex;flex-direction:column;gap:1rem}.showcase-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;transition:all .3s ease}.showcase-item.primary{background:#eff6ff;border-left:4px solid #3b82f6}.showcase-item.secondary{background:#f0fdf4;border-left:4px solid #10b981}.showcase-item.tertiary{background:#fffbeb;border-left:4px solid #f59e0b}.showcase-icon{font-size:1.5rem}.showcase-title{font-weight:600;color:#1f2937}.showcase-subtitle{font-size:.9rem;color:#6b7280}.features-grid-section{padding:6rem 0;background:#f8fafc}.section-header.centered{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#1f2937}.gradient-text{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card.enhanced{background:white;padding:2rem;border-radius:16px;box-shadow:0 4px 6px #0000000d;transition:all .3s ease;border:1px solid #e5e7eb}.feature-card.enhanced:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.feature-icon-wrapper{width:60px;height:60px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.feature-icon{font-size:1.5rem}.feature-card h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1f2937}.feature-card p{color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.feature-benefits{list-style:none;padding:0}.feature-benefits li{color:#4b5563;position:relative;padding:.25rem 0 .25rem 1.5rem}.feature-benefits li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.benefits-section{padding:6rem 0;background:white}.benefits-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.benefits-text h2{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#1f2937}.strike-text{text-decoration:line-through;color:#ef4444}.benefits-list{display:flex;flex-direction:column;gap:1.5rem}.benefit-item{display:flex;gap:1rem;align-items:flex-start}.benefit-icon{font-size:1.5rem;flex-shrink:0}.benefit-content h4{font-weight:600;margin-bottom:.5rem;color:#1f2937}.benefit-content p{color:#6b7280;line-height:1.6}.comparison-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 10px 25px #0000001a;border:1px solid #e5e7eb;display:flex;gap:2rem;align-items:center}.comparison-side{flex:1}.comparison-side h4{font-weight:600;margin-bottom:1rem;text-align:center}.old-way h4{color:#ef4444}.new-way h4{color:#10b981}.pain-point,.benefit-point{padding:.75rem;margin:.5rem 0;border-radius:8px;text-align:center;font-weight:500}.pain-point{background:#fef2f2;color:#dc2626}.benefit-point{background:#f0fdf4;color:#059669}.comparison-vs{background:#3b82f6;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.mission-section-enhanced{padding:6rem 0;background:#f8fafc}.mission-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.mission-card.enhanced{background:white;padding:2rem;border-radius:16px;text-align:center;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}.mission-card.enhanced:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.mission-icon{font-size:3rem;margin-bottom:1rem}.mission-card h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1f2937}.mission-card p{color:#6b7280;line-height:1.6}.final-cta{padding:4rem 0;background:linear-gradient(135deg,#1f2937,#374151);color:#fff;text-align:center}.cta-content-enhanced h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content-enhanced p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta-features{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.cta-features span{background:rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modern-footer{background:#111827;color:#fff;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:2rem}.footer-brand h3{font-size:1.5rem;margin-bottom:1rem;color:#3b82f6}.footer-brand p{color:#9ca3af;line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{font-weight:600;margin-bottom:1rem;color:#fff}.footer-column a{display:block;color:#9ca3af;text-decoration:none;margin-bottom:.5rem;transition:color .3s ease;cursor:pointer}.footer-column a:hover{color:#3b82f6}.footer-bottom{border-top:1px solid #374151;padding-top:2rem;text-align:center;color:#9ca3af}@media (max-width: 768px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-main-title{font-size:2.5rem}.benefits-content{grid-template-columns:1fr}.comparison-card{flex-direction:column}.footer-content,.footer-links{grid-template-columns:1fr}.nav-links{display:none}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.App{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block;text-align:center;transition:all .3s ease}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary:hover{background:#5a6268}@media print{body *{visibility:hidden}.print-section,.print-section *{visibility:visible}.print-section{position:absolute;left:0;top:0;width:100%}.no-print{display:none!important}}.qr-management{padding:20px}.id-card,.qr-code{border:1px solid #ccc;margin:10px;padding:15px}.scanner-home-container{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px;display:flex;flex-direction:column}.scanner-home-header{text-align:center;color:#fff;margin-bottom:40px}.scanner-home-header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.scanner-home-header p{font-size:1.2rem;opacity:.9;margin-bottom:15px}.scanner-info{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.school-badge,.access-time{background:rgba(255,255,255,.2);padding:8px 16px;border-radius:20px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scanner-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-bottom:40px;max-width:1200px;margin-left:auto;margin-right:auto}.scanner-option-card{background:white;border-radius:20px;padding:30px;box-shadow:0 10px 30px #0003;cursor:pointer;transition:all .3s ease;border:3px solid transparent;display:flex;flex-direction:column;height:100%}.scanner-option-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000004d;border-color:#007bff}.scanner-icon{font-size:4rem;text-align:center;margin-bottom:20px}.scanner-option-card h3{text-align:center;font-size:1.5rem;margin-bottom:10px;color:#333}.scanner-option-card>p{text-align:center;color:#666;margin-bottom:20px;font-size:1.1rem}.feature-list{flex:1;margin-bottom:25px}.feature-list ul{list-style:none;padding:0;margin:0}.feature-list li{padding:8px 0;color:#555;font-size:.95rem;border-bottom:1px solid #f0f0f0}.feature-list li:last-child{border-bottom:none}.feature-list li:hover{color:#007bff;background:#f8f9ff;padding-left:10px;transition:all .2s ease}.action-button{text-align:center;margin-top:auto}.action-button .btn-primary{width:100%;padding:12px;font-size:1.1rem}.scanner-features{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;padding:30px;margin-bottom:30px;max-width:1200px;margin-left:auto;margin-right:auto}.scanner-features h3{text-align:center;color:#fff;margin-bottom:25px;font-size:1.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.feature-item{display:flex;align-items:center;background:rgba(255,255,255,.9);padding:15px;border-radius:10px;gap:15px}.feature-icon{font-size:2rem;flex-shrink:0}.feature-text strong{display:block;color:#333;margin-bottom:5px}.feature-text p{color:#666;font-size:.9rem;margin:0}.scanner-footer{text-align:center;margin-top:auto;padding-top:30px}.scanner-footer .btn-secondary{margin-bottom:20px}.scanner-notes{color:#fffc;font-size:.9rem}.scanner-notes p{margin:5px 0}@media (max-width: 768px){.scanner-home-container{padding:15px}.scanner-options{grid-template-columns:1fr;gap:20px}.scanner-option-card{padding:20px}.scanner-home-header h1{font-size:2rem}.features-grid{grid-template-columns:1fr}.scanner-info{flex-direction:column;align-items:center;gap:10px}}@media (max-width: 480px){.scanner-option-card{min-width:unset}.scanner-home-header h1{font-size:1.8rem}.scanner-icon{font-size:3rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;color:#333}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.loading-container p{margin-top:1rem;color:#666}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.login-card{background:white;padding:2rem;border-radius:12px;box-shadow:0 10px 30px #0003;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{color:#333;margin-bottom:.5rem}.login-header p{color:#666}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e1e5e9;border-radius:6px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.login-btn{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background .3s}.login-btn:hover:not(:disabled){background:#5a6fd8}.login-btn:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;border:1px solid #fcc;margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.data-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.data-table th{background:#f8f9fa;font-weight:600}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.dashboard-card{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.dashboard-card h3{font-size:2rem;margin-bottom:.5rem;color:#333}.dashboard-card p{color:#666}.id-card{width:300px;border:2px solid #007bff;border-radius:8px;overflow:hidden}.id-card-body{padding:1rem;display:grid;grid-template-columns:100px 1fr;gap:1rem;align-items:center}.student-photo{width:100px;height:120px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;border:1px solid #ddd}.qr-code{width:80px;height:80px}.student-info p{margin:.25rem 0}.teacher-header{background:#28a745!important}.teacher-photo-id{width:80px;height:100px;border:1px solid #ddd;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.teacher-photo-id img{width:100%;height:100%;object-fit:cover}.teacher-info-horizontal{font-size:11px;line-height:1.3}.teacher-info-horizontal p{margin:2px 0;display:flex;justify-content:space-between}.teacher-info-horizontal strong{color:#333}.id-card-horizontal{width:400px;border:2px solid #007bff;border-radius:12px;overflow:hidden;background:white;box-shadow:0 4px 6px #0000001a;margin:0 auto}.id-card-header{background:#007bff;color:#fff;padding:12px;display:flex;align-items:center;gap:12px}.school-logo{width:40px;height:40px;background:white;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.school-info-header h4{margin:0;font-size:14px}.school-info-header p{margin:0;font-size:10px;opacity:.9}.id-card-body-horizontal{padding:15px;display:grid;grid-template-columns:80px 1fr 80px;gap:12px;align-items:start}.student-photo-id{width:80px;height:100px;border:1px solid #ddd;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.student-photo-id img{width:100%;height:100%;object-fit:cover}.photo-placeholder-id{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f8f9fa;color:#666;font-size:10px;text-align:center}.student-info-horizontal{font-size:11px;line-height:1.3}.student-info-horizontal p{margin:2px 0;display:flex;justify-content:space-between}.student-info-horizontal strong{color:#333}.qr-section{text-align:center}.qr-code-id{width:70px;height:70px;border:1px solid #ddd;border-radius:4px;overflow:hidden;margin:0 auto 5px}.qr-code-id img{width:100%;height:100%}.school-id-display{font-size:9px;color:#666}.id-card-footer{background:#f8f9fa;padding:6px;text-align:center;font-size:9px;color:#666;border-top:1px solid #dee2e6}.modal-content.large{max-width:600px}.school-id-badge{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.school-id-info{background:#f8f9fa;padding:12px;border-radius:6px;margin-bottom:1rem;border-left:4px solid #007bff}.school-id-info p{margin:0;font-weight:500}.school-id-info small{color:#666}.photo-upload-container{display:flex;align-items:center;gap:1rem}.photo-preview{width:100px;height:120px;border:2px dashed #ddd;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f8f9fa;color:#666}.photo-input{flex:1}.coming-soon{text-align:center;padding:3rem;color:#666}.coming-soon h2{margin-bottom:1rem;color:#333}.scanner-container{text-align:center;padding:2rem}.scanner-video{width:100%;max-width:400px;border:2px solid #007bff;border-radius:8px}.scanner-result{margin-top:1rem;padding:1rem;border-radius:6px;background:#f8f9fa}.spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message{padding:12px;border-radius:6px;margin-bottom:1rem;text-align:center}.success-message{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.modal-content{margin:1rem;width:auto}.photo-upload-container{flex-direction:column;align-items:flex-start}.photo-preview{align-self:center}.id-card-horizontal{width:100%;max-width:350px}.id-card-body-horizontal{grid-template-columns:70px 1fr 70px;gap:8px;padding:10px}.student-photo-id{width:70px;height:90px}.qr-code-id{width:60px;height:60px}}@media print{.no-print{display:none!important}.id-card{border:none;box-shadow:none}.id-card-horizontal{border:2px solid #000!important;box-shadow:none!important;margin:0!important}}.dashboard-container{min-height:100vh;background:#f8f9fa}.dashboard-header{background:white;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;border-bottom:1px solid #dee2e6}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.school-info h1{margin:0;color:#333;font-size:1.5rem}.school-info p{margin:0;color:#666;font-size:.9rem}.user-actions{display:flex;align-items:center;gap:1rem}.logout-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.dashboard-nav{background:white;padding:0 2rem;border-bottom:1px solid #dee2e6;display:flex;overflow-x:auto}.nav-btn{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .3s}.nav-btn:hover{background:#f8f9fa}.nav-btn.active{border-bottom-color:#007bff;color:#007bff;background:#f8f9fa}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-stats-row{display:flex;justify-content:flex-start;align-items:center;gap:20px;margin:20px 0;padding:20px;background:white;border-radius:12px;box-shadow:0 2px 10px #0000001a}.stat-card-row{display:flex;align-items:center;gap:15px;padding:8px;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef;flex:none;min-height:40px;transition:all .3s ease}.stat-card-row:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.stat-icon{font-size:1rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:white;border-radius:50%;box-shadow:0 2px 5px #0000001a}.stat-content{flex:1}.stat-number{font-size:.9rem;font-weight:700;color:#333;margin-bottom:5px}.stat-label{font-size:.45rem;color:#666;font-weight:500}@media (max-width: 768px){.dashboard-stats-row{flex-direction:column;gap:15px}.stat-card-row{width:100%}}.quick-actions{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.action-btn{background:#f8f9fa;border:1px solid #dee2e6;padding:1rem;border-radius:6px;cursor:pointer;transition:all .3s}.action-btn:hover{background:#007bff;color:#fff;border-color:#007bff}.management-container{background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.management-header h2{margin:0;color:#333}.filters-container{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:.8rem;margin-bottom:.25rem;color:#666}.search-input{min-width:250px}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;background:white}.data-table th{background:#f8f9fa;font-weight:600;padding:12px;text-align:left;border-bottom:2px solid #dee2e6}.data-table td{padding:12px;border-bottom:1px solid #dee2e6}.data-table tr:hover{background:#f8f9fa}.action-buttons-small{display:flex;gap:.5rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-edit,.btn-delete,.btn-info{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;white-space:nowrap}.btn-primary{background:#007bff;color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-edit{background:#ffc107;color:#000}.btn-delete{background:#dc3545;color:#fff}.btn-info{background:#17a2b8;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem}.pagination-btn{padding:8px 16px;border:1px solid #dee2e6;background:white;cursor:pointer;border-radius:4px}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:3rem;color:#666}.empty-state p{margin:0;font-size:1.1rem}.loading-spinner{text-align:center;padding:3rem}.id-card-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}.id-card{border:2px solid #007bff;border-radius:12px;overflow:hidden;background:white;box-shadow:0 4px 6px #0000001a}.id-card-header{background:#007bff;color:#fff;padding:1rem;text-align:center}.id-card-header h4{margin:0 0 .5rem;font-size:1.2rem}.id-card-body{padding:1.5rem;display:grid;grid-template-columns:100px 1fr 80px;gap:1rem;align-items:start}.student-photo{width:100px;height:120px;background:#f8f9fa;border:1px solid #dee2e6;display:flex;align-items:center;justify-content:center;border-radius:4px}.student-info{font-size:.9rem}.student-info p{margin:.5rem 0}.qr-code-container{text-align:center}.qr-code{width:80px;height:80px;border:1px solid #dee2e6;border-radius:4px}.id-card-footer{background:#f8f9fa;padding:.5rem;text-align:center;font-size:.8rem;color:#666}.teacher-id-card .id-card-header{background:#28a745}.qr-standalone{text-align:center;padding:1rem;border:1px solid #dee2e6;border-radius:8px}.qr-large{width:200px;height:200px;margin:1rem 0}.download-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.scanner-page{padding:2rem;max-width:800px;margin:0 auto}.scanner-header{text-align:center;margin-bottom:2rem}.scanner-container{position:relative;margin-bottom:2rem}.scanner-video{width:100%;max-width:500px;border:2px solid #007bff;border-radius:8px;display:block;margin:0 auto}.scanner-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:1rem 2rem;border-radius:8px;font-weight:700;text-align:center}.scanner-result.success{background:rgba(40,167,69,.9)}.scanner-result.error{background:rgba(220,53,69,.9)}.scanner-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.scanner-instructions{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #007bff}.scanner-instructions h4{margin-top:0}.scanner-instructions ul{margin:0;padding-left:1.5rem}.scanner-instructions li{margin-bottom:.5rem}.scanner-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem}.auth-container{background:white;padding:2rem;border-radius:12px;box-shadow:0 10px 30px #0003;text-align:center;max-width:400px;width:100%}.auth-container h2{margin-bottom:.5rem;color:#333}.auth-container p{color:#666;margin-bottom:2rem}.attendance-tabs{display:flex;gap:0;margin:2rem 0;border-bottom:1px solid #dee2e6}.tab-btn{background:none;border:none;padding:1rem 2rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s}.tab-btn.active{border-bottom-color:#007bff;color:#007bff;background:#f8f9fa}.tab-btn:hover{background:#f8f9fa}.class-selection{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.modal-content.large{max-width:800px}@media (max-width: 768px){.dashboard-nav{padding:0 1rem}.nav-btn{padding:.75rem 1rem;font-size:.9rem}.dashboard-main{padding:1rem}.management-header{flex-direction:column;align-items:stretch}.action-buttons{grid-template-columns:1fr}.filters-container{flex-direction:column}.search-input{min-width:auto}.id-card-container{grid-template-columns:1fr}.id-card-body{grid-template-columns:80px 1fr}.qr-code-container{grid-column:1 / -1;text-align:center;margin-top:1rem}.download-actions,.scanner-controls,.attendance-tabs{flex-direction:column}.tab-btn{text-align:left}}@media print{.no-print,.dashboard-nav,.management-header .action-buttons,.filters-container,.scanner-controls{display:none!important}.id-card{border:2px solid #000!important;box-shadow:none!important;margin:0!important}.management-container{box-shadow:none!important;padding:0!important}.data-table{box-shadow:none!important}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}
