:root {
    --primary-color: #3b82f6;
    --secondary-color: #1e293b;
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --bg-light: #f1f5f9;
    --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --border-radius: 12px;
}

* { box-sizing: border-box; }
body { background-color: var(--bg-light); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Inter', sans-serif; margin: 0; min-height: 100vh; }
.container { padding-left: 0.75rem; padding-right: 0.75rem; }
@media (min-width: 576px) { .container { padding-left: 12px; padding-right: 12px; } }
@media (min-width: 768px) { .container { padding-left: 15px; padding-right: 15px; } }

/* Sidebar */
.sidebar { background: var(--secondary-color); min-height: 100vh; color: white; padding: 20px; }
.sidebar h4 { color: white; text-decoration: none; font-weight: bold; }
.sidebar .nav-link { color: #94a3b8; padding: 10px; border-radius: 8px; margin-bottom: 5px; display: block; text-decoration: none; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { background: rgba(255,255,255,0.1); color: white; }

/* Cards e Tabelas */
.stat-card { background: white; border-radius: var(--border-radius); box-shadow: var(--card-shadow); padding: 20px; border: none; }
.custom-table-card { background: white; border-radius: var(--border-radius); box-shadow: var(--card-shadow); border: none; overflow: hidden; }

/* NPS Buttons (Para responder.php) - responsivo */
.nps-btn-group { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; }
.nps-label { width: 40px; height: 40px; border: 2px solid #e2e8f0; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-weight: bold; transition: 0.2s; font-size: 0.9rem; }
@media (min-width: 576px) { .nps-label { width: 45px; height: 45px; } }
input[type="radio"]:checked + .nps-label { background: var(--primary-color); color: white; border-color: var(--primary-color); }
input[type="radio"] { display: none; }

/* Página de resposta (responder.php) */
.nps-container { max-width: 640px; margin: 1rem auto; padding: 0 0.75rem; }
@media (min-width: 576px) { .nps-container { margin: 2rem auto; padding: 0 1rem; } }
.nps-container .stat-card { border: 1px solid rgba(0,0,0,0.06); }

/* Navbar responsiva */
.navbar .container { flex-wrap: wrap; gap: 0.5rem; }
.navbar-brand { font-size: 0.95rem; word-break: break-word; }
@media (min-width: 768px) { .navbar-brand { font-size: 1.1rem; } }
.navbar .btn { white-space: nowrap; }

/* Tabelas em mobile */
.table-responsive { -webkit-overflow-scrolling: touch; }
@media (max-width: 767px) {
    .table td, .table th { padding: 0.5rem; font-size: 0.875rem; }
    .btn-group .btn { padding: 0.25rem 0.4rem; }
}

/* Cards e grid responsivos */
@media (max-width: 767px) {
    .stat-card { padding: 1rem; }
    .card-body { padding: 1rem; }
}