*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}#app{min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;overflow:hidden}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;text-align:center}.header h1{font-size:2rem;margin-bottom:8px}.header p{opacity:.9;font-size:1rem}.content{padding:30px}.status-card{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:20px;border-left:4px solid #667eea}.status-card h3{margin-bottom:10px;color:#333}.connection-id{font-family:Courier New,monospace;background:#e9ecef;padding:8px 12px;border-radius:4px;font-size:.9rem;color:#495057}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-available{background:#d4edda;color:#155724}.status-paired{background:#d1ecf1;color:#0c5460}.connections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.connection-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:all .3s ease}.connection-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.connection-card h4{margin-bottom:10px;color:#333}.connection-info{margin-bottom:15px}.connection-info p{margin-bottom:5px;font-size:.9rem;color:#666}.pair-button{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.pair-button:hover{background:#5a6fd8}.pair-button:disabled{background:#6c757d;cursor:not-allowed}.messaging-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-top:20px}.messaging-section h3{margin-bottom:15px;color:#333}.message-input{display:flex;gap:10px;margin-bottom:20px}.message-input input{flex:1;padding:12px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem}.message-input button{background:#28a745;color:#fff;border:none;padding:12px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .3s ease}.message-input button:hover{background:#218838}.message-input button:disabled{background:#6c757d;cursor:not-allowed}.messages-container{max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:6px;padding:15px;background:#f8f9fa}.message{margin-bottom:10px;padding:10px;border-radius:6px;background:#fff;border-left:3px solid #667eea}.message.sent{border-left-color:#28a745;background:#f8fff9}.message.received{border-left-color:#ffc107;background:#fffbf0}.message-header{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.8rem;color:#666}.message-content{font-size:.95rem;color:#333}.unpair-button{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.unpair-button:hover{background:#c82333}.error-message{background:#f8d7da;color:#721c24;padding:10px;border-radius:6px;margin-bottom:15px;border:1px solid #f5c6cb}.success-message{background:#d4edda;color:#155724;padding:10px;border-radius:6px;margin-bottom:15px;border:1px solid #c3e6cb}.empty-state{text-align:center;padding:40px;color:#666}.empty-state h3{margin-bottom:10px;color:#333}.loading{text-align:center;padding:20px;color:#666}@media (max-width: 768px){.connections-grid{grid-template-columns:1fr}.message-input{flex-direction:column}.content{padding:20px}}
