    * { box-sizing: border-box; margin: 0; padding: 0; }
    body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; background: #f5f5f5; }
    .container { max-width: 1200px; margin: 0 auto; padding: 20px; }
    .card { background: white; border-radius: 10px; padding: 20px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
    .btn { background: #007bff; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; margin: 5px; }
    .btn:hover { background: #0056b3; }
    .btn-success { background: #28a745; }
    .btn-danger { background: #dc3545; }
    .btn:disabled { background: #6c757d; cursor: not-allowed; }
    .status { padding: 15px; border-radius: 5px; margin: 10px 0; }
    .status-connected { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
    .status-disconnected { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
    .status-scanning { background: #fff3cd; color: #856404; border: 1px solid #ffeaa7; }
    .status-connecting { background: #cce5ff; color: #004085; border: 1px solid #b8daff; }
    .log-entry { padding: 10px; border-left: 4px solid #007bff; margin: 5px 0; background: #f8f9fa; }
    .hidden { display: none; }
    input, select { width: 100%; padding: 10px; margin: 5px 0; border: 1px solid #ddd; border-radius: 5px; }
    .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    
    /* Группы кнопок */
    .button-group {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 15px 0;
    }
    
    .button-group .btn {
        flex: 1;
        min-width: 120px;
    }
    
    /* Анимация сканирования */
    .scan-animation {
        height: 4px;
        background: linear-gradient(90deg, #007bff, #28a745, #007bff);
        background-size: 200% 100%;
        border-radius: 2px;
        margin: 15px 0;
        display: none;
    }
    
    .scan-animation.active {
        display: block;
        animation: scan 1.5s ease-in-out infinite;
    }
    
    @keyframes scan {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    
    /* Индикатор статуса Bluetooth */
    .bluetooth-indicator {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 20px;
        font-size: 14px;
        margin: 5px 0;
    }
    
    .bluetooth-connected {
        background: #d4edda;
        color: #155724;
    }
    
    .bluetooth-disconnected {
        background: #f8d7da;
        color: #721c24;
    }
    
    .bluetooth-connecting {
        background: #fff3cd;
        color: #856404;
    }
    
    /* Стили для логов Bluetooth */
    .log-entry.info {
        border-left-color: #17a2b8;
        background: #e3f2fd;
    }
    
    .log-entry.success {
        border-left-color: #28a745;
        background: #d4edda;
    }
    
    .log-entry.error {
        border-left-color: #dc3545;
        background: #f8d7da;
    }
    
    /* Адаптивность */
    @media (max-width: 768px) { 
        .grid { grid-template-columns: 1fr; }
        .button-group { flex-direction: column; }
        .button-group .btn { width: 100%; }
    }
