body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0;background:linear-gradient(135deg,#25d366,#128c7e);color:#333;min-height:100vh}.App{padding:2rem;max-width:1200px;margin:0 auto}h1{color:#fff;font-size:2.5rem;margin-bottom:1.5rem;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2)}.table-container{max-width:100%;overflow-x:auto;margin:2rem 0;box-shadow:0 4px 6px #0000001a;border-radius:12px;background-color:#fff}.sessions-table{width:100%;border-collapse:collapse;background-color:#fff}.table-header{background-color:#128c7e;color:#fff;font-weight:600;text-align:left;padding:1rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;border-bottom:2px solid #0d6e5f;position:sticky;top:0}.table-cell{padding:1rem;border-bottom:1px solid #e9ecef;color:#495057;font-size:.9rem}.table-row{transition:background-color .2s ease}.table-row:hover{background-color:#f8f9fa}button{padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.8rem;display:flex;align-items:center;gap:.5rem}button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-new-session{background-color:#25d366;color:#fff;margin-bottom:1rem;font-weight:600}.btn-new-session:hover{background-color:#128c7e}button[onclick*=start]{background-color:#25d366;color:#fff}button[onclick*=stop]{background-color:#dc3545;color:#fff}.loading-text{color:#fff;font-size:1rem;padding:2rem;text-align:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:100%;position:relative;scale:.9}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.form-group input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.error-message{color:#dc3545;margin-bottom:1rem}.btn-primary{background-color:#25d366;color:#fff}.btn-primary:hover{background-color:#128c7e}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover{background-color:#5a6268}.qr-container{text-align:center}.qr-image{max-width:100%;height:auto;margin-bottom:1rem}.qr-instruction{font-size:.9rem;color:#666}@media (max-width: 768px){.table-container{border-radius:0;box-shadow:none}.table-header{padding:.75rem;font-size:.8rem}.table-cell{padding:.75rem;font-size:.85rem}button{padding:.4rem .8rem;font-size:.75rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:100%;position:relative;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333;transition:color .2s ease}.modal-close:hover{color:#000}.modal-content h2{display:flex;align-items:center;gap:.5rem;color:#128c7e;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.qr-container{text-align:center;padding:1rem}.qr-icon{margin-bottom:1rem}.qr-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 4px #0000001a}.qr-instruction{font-size:.9rem;color:#666;margin-top:1rem}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.loader-content{background-color:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 4px 6px #0000001a}.loader-spinner{border:4px solid #f3f3f3;border-top:4px solid #25d366;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-content p{margin-top:1rem;font-size:1rem;color:#333}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn-primary{background-color:#25d366;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.btn-primary:disabled{background-color:#a5d6a7;cursor:not-allowed;transform:none;box-shadow:none}.btn-cancel{background-color:#f8f9fa;color:#333;padding:.75rem 1.5rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.btn-cancel:hover{background-color:#e9ecef;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-cancel:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.login-container{max-width:400px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center}.login-container h2{color:#128c7e;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.form-group label{font-weight:600;color:#333}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{border-color:#25d366;outline:none}.error-message{color:#dc3545;margin-bottom:1rem;font-size:.9rem}.btn-primary{background-color:#25d366;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;justify-content:center}.btn-primary:hover{background-color:#128c7e;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.logout-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#dbd5d5;transition:color .2s ease}.logout-button:hover{color:#dc3545}
