*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-box{background:#fff;padding:40px;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:30px}.login-icon{font-size:60px;margin-bottom:15px}.login-header h1{color:#333;font-size:28px;margin-bottom:8px}.login-header p{color:#666;font-size:14px}.login-form{display:flex;flex-direction:column;gap:15px}.app-container{min-height:100vh;padding:20px}.header{background:#fff;padding:20px 30px;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 20px}.header-title{display:flex;align-items:center;gap:12px}.header-icon{font-size:36px}.header h1{color:#333;font-size:24px;font-weight:700}.content{max-width:1200px;margin:0 auto}.card{background:#fff;padding:30px;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:20px}.card-title{color:#333;font-size:22px;font-weight:700;margin-bottom:25px;display:flex;align-items:center;gap:10px}.qr-card{text-align:center}.status-ready{padding:60px 20px;text-align:center}.status-icon{font-size:80px;margin-bottom:15px}.status-message{font-size:24px;font-weight:600;color:#10b981;margin-bottom:8px}.status-subtitle{color:#666;font-size:16px}.qr-container{display:flex;flex-direction:column;align-items:center;gap:20px}.qr-instruction{font-size:20px;font-weight:600;color:#667eea}.qr-wrapper{display:flex;justify-content:center}.qr-image{max-width:300px;width:100%;border:4px solid #667eea;border-radius:12px;padding:15px;background:#fff;box-shadow:0 8px 30px #00000026}.qr-help{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:15px;max-width:400px}.qr-help p{font-size:14px;color:#374151;line-height:1.6}.qr-help-title{font-weight:600}.status-loading{padding:60px 20px;text-align:center}.spinner{display:inline-block;width:60px;height:60px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:18px;color:#666}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:20px}@media(max-width:768px){.cards-grid{grid-template-columns:1fr}}.form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.input-field{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;transition:all .2s}.input-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.textarea{resize:vertical;font-family:inherit}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-logout{background:#ef4444;color:#fff}.btn-logout:hover{background:#dc2626}.response{border:2px solid}.response.success{background:#f0fdf4;border-color:#10b981}.response.error{background:#fef2f2;border-color:#ef4444}.response-title{font-size:20px;font-weight:700;margin-bottom:15px;display:flex;align-items:center;gap:8px}.response.success .response-title{color:#047857}.response.error .response-title{color:#b91c1c}.response-content{font-size:13px;overflow-x:auto;padding:15px;border-radius:8px;font-family:Courier New,monospace}.response.success .response-content{background:#d1fae5;color:#065f46}.response.error .response-content{background:#fee2e2;color:#991b1b}@media(max-width:768px){.header{flex-direction:column;gap:15px}.header h1{font-size:20px}.card{padding:20px}.card-title{font-size:18px}}
