/* ==========================================================================
   TATAME.APP - Sistema de 7 Paletas de Cores
   Todas as combinações de texto/fundo e texto/botão passam de 4,5:1 (WCAG AA).
   --theme-on-primary: cor do texto sobre a cor primária (botões)
   --theme-primary-text: cor primária usada como texto (links, botões contornados)
   --theme-navbar-invert: 1 quando a barra do menu é escura (inverte o ícone do menu no celular)
   ========================================================================== */

/* 1. Claro (light): institucional padrão, azul-marinho e branco */
:root,
html[data-theme="light"] {
    --theme-bg: #f8fafc;
    --theme-surface: #ffffff;
    --theme-surface-muted: #f1f5f9;
    --theme-surface-hover: #e2e8f0;
    --theme-text: #1e293b;
    --theme-text-muted: #64748b;
    --theme-primary: #0d1b2a;
    --theme-primary-rgb: 13, 27, 42;
    --theme-primary-hover: #1b263b;
    --theme-primary-text: #0d1b2a;
    --theme-on-primary: #ffffff;
    --theme-navbar-bg: #ffffff;
    --theme-navbar-text: #334155;
    --theme-navbar-hover: #f1f5f9;
    --theme-navbar-border: #e2e8f0;
    --theme-navbar-invert: 0;
    --theme-border: #e2e8f0;
    --theme-table-bg: #ffffff;
    --theme-table-hover: #f1f5f9;
    --theme-input-bg: #ffffff;
    --theme-input-text: #1e293b;
    --theme-card-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

/* 2. Dourado (dourado): cores da marca, barra azul-marinho e botões dourados */
html[data-theme="dourado"] {
    --theme-bg: #faf6ea;
    --theme-surface: #ffffff;
    --theme-surface-muted: #f6f0dc;
    --theme-surface-hover: #efe6c8;
    --theme-text: #1f2937;
    --theme-text-muted: #5c5646;
    --theme-primary: #f7b731;
    --theme-primary-rgb: 247, 183, 49;
    --theme-primary-hover: #e5a51d;
    --theme-primary-text: #8a5a00;
    --theme-on-primary: #0d1b2a;
    --theme-navbar-bg: #0d1b2a;
    --theme-navbar-text: #f8fafc;
    --theme-navbar-hover: rgba(255, 255, 255, 0.08);
    --theme-navbar-border: #0d1b2a;
    --theme-navbar-invert: 1;
    --theme-border: #ece3c8;
    --theme-table-bg: #ffffff;
    --theme-table-hover: #fbf7ea;
    --theme-input-bg: #ffffff;
    --theme-input-text: #1f2937;
    --theme-card-shadow: 0 4px 15px rgba(13, 27, 42, 0.06);
}

/* 3. Tatame (tatame): palha da esteira com a borda verde-escura */
html[data-theme="tatame"] {
    --theme-bg: #eeeadb;
    --theme-surface: #fbfaf4;
    --theme-surface-muted: #f3f0e3;
    --theme-surface-hover: #e6e1cc;
    --theme-text: #1f2a22;
    --theme-text-muted: #5a6152;
    --theme-primary: #3f6b4a;
    --theme-primary-rgb: 63, 107, 74;
    --theme-primary-hover: #335a3d;
    --theme-primary-text: #3f6b4a;
    --theme-on-primary: #ffffff;
    --theme-navbar-bg: #1f2a22;
    --theme-navbar-text: #f1efe4;
    --theme-navbar-hover: rgba(255, 255, 255, 0.08);
    --theme-navbar-border: #1f2a22;
    --theme-navbar-invert: 1;
    --theme-border: #dcd6bf;
    --theme-table-bg: #fbfaf4;
    --theme-table-hover: #f3f0e3;
    --theme-input-bg: #fffef9;
    --theme-input-text: #1f2a22;
    --theme-card-shadow: 0 4px 15px rgba(31, 42, 34, 0.07);
}

/* 4. Judogi azul (judogi): o azul do judogi de competição */
html[data-theme="judogi"] {
    --theme-bg: #f3f5fa;
    --theme-surface: #ffffff;
    --theme-surface-muted: #eaeef7;
    --theme-surface-hover: #dbe1ee;
    --theme-text: #0f1b3d;
    --theme-text-muted: #4f5b76;
    --theme-primary: #1e3a8a;
    --theme-primary-rgb: 30, 58, 138;
    --theme-primary-hover: #172e6e;
    --theme-primary-text: #1e3a8a;
    --theme-on-primary: #ffffff;
    --theme-navbar-bg: #0b2a6b;
    --theme-navbar-text: #f8fafc;
    --theme-navbar-hover: rgba(255, 255, 255, 0.1);
    --theme-navbar-border: #0b2a6b;
    --theme-navbar-invert: 1;
    --theme-border: #dbe1ee;
    --theme-table-bg: #ffffff;
    --theme-table-hover: #f3f5fa;
    --theme-input-bg: #ffffff;
    --theme-input-text: #0f1b3d;
    --theme-card-shadow: 0 4px 15px rgba(15, 27, 61, 0.07);
}

/* 5. Grafite (grafite): escuro suave em cinza, com o dourado da marca */
html[data-theme="grafite"] {
    color-scheme: dark;
    --theme-bg: #1c1f24;
    --theme-surface: #262a31;
    --theme-surface-muted: #2e333b;
    --theme-surface-hover: #363c46;
    --theme-text: #e8eaed;
    --theme-text-muted: #a2a9b4;
    --theme-primary: #f7b731;
    --theme-primary-rgb: 247, 183, 49;
    --theme-primary-hover: #ffc54d;
    --theme-primary-text: #f7b731;
    --theme-on-primary: #1c1f24;
    --theme-navbar-bg: #15181c;
    --theme-navbar-text: #e8eaed;
    --theme-navbar-hover: rgba(255, 255, 255, 0.07);
    --theme-navbar-border: #2a2f36;
    --theme-navbar-invert: 1;
    --theme-border: #343a43;
    --theme-table-bg: #262a31;
    --theme-table-hover: #2e333b;
    --theme-input-bg: #20242a;
    --theme-input-text: #e8eaed;
    --theme-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* 6. Faixa preta (faixapreta): preto neutro com o vermelho da ponteira */
html[data-theme="faixapreta"] {
    color-scheme: dark;
    --theme-bg: #0f0f10;
    --theme-surface: #1a1a1c;
    --theme-surface-muted: #232326;
    --theme-surface-hover: #2c2c30;
    --theme-text: #f2f2f2;
    --theme-text-muted: #a3a3a8;
    --theme-primary: #ff6b6b;
    --theme-primary-rgb: 255, 107, 107;
    --theme-primary-hover: #ff8585;
    --theme-primary-text: #ff6b6b;
    --theme-on-primary: #0f0f10;
    --theme-navbar-bg: #000000;
    --theme-navbar-text: #f2f2f2;
    --theme-navbar-hover: rgba(255, 255, 255, 0.08);
    --theme-navbar-border: #222225;
    --theme-navbar-invert: 1;
    --theme-border: #2a2a2e;
    --theme-table-bg: #1a1a1c;
    --theme-table-hover: #232326;
    --theme-input-bg: #141416;
    --theme-input-text: #f2f2f2;
    --theme-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
}

/* 7. Alto contraste (contraste): preto e branco puros, para baixa visão ou uso sob sol */
html[data-theme="contraste"] {
    --theme-bg: #ffffff;
    --theme-surface: #ffffff;
    --theme-surface-muted: #f2f2f2;
    --theme-surface-hover: #e6e6e6;
    --theme-text: #000000;
    --theme-text-muted: #333333;
    --theme-primary: #000000;
    --theme-primary-rgb: 0, 0, 0;
    --theme-primary-hover: #333333;
    --theme-primary-text: #000000;
    --theme-on-primary: #ffffff;
    --theme-navbar-bg: #000000;
    --theme-navbar-text: #ffffff;
    --theme-navbar-hover: rgba(255, 255, 255, 0.15);
    --theme-navbar-border: #000000;
    --theme-navbar-invert: 1;
    --theme-border: #000000;
    --theme-table-bg: #ffffff;
    --theme-table-hover: #f2f2f2;
    --theme-input-bg: #ffffff;
    --theme-input-text: #000000;
    --theme-card-shadow: none;
}

html[data-theme="contraste"] hr {
    opacity: 1 !important;
}

html[data-theme="contraste"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand) {
    text-decoration: underline;
}

/* ==========================================================================
   Aplicação Global dos Temas
   ========================================================================== */
body {
    background-color: var(--theme-bg) !important;
    color: var(--theme-text) !important;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* Navbar (o <nav> também tem .bg-white, por isso o seletor mais específico) */
.navbar,
.navbar.bg-white {
    background-color: var(--theme-navbar-bg) !important;
    border-bottom: 1px solid var(--theme-navbar-border) !important;
    transition: background-color 0.25s ease;
}

.navbar .nav-link,
.navbar-brand,
.navbar-text,
.navbar svg {
    color: var(--theme-navbar-text) !important;
}

.navbar .nav-link:hover,
.navbar .nav-item.show > .nav-link {
    background-color: var(--theme-navbar-hover) !important;
    color: var(--theme-navbar-text) !important;
}

.navbar .nav-link .text-primary,
.navbar .nav-link .text-secondary {
    color: inherit !important;
}

/* Botão "Tema" e botões "Trocar" / "Alternar" dentro da barra */
.navbar .nav-link.bg-light-subtle {
    background-color: transparent !important;
    border-color: var(--theme-navbar-hover) !important;
}

.navbar .btn-outline-primary,
.navbar .btn-outline-secondary {
    background-color: transparent !important;
    color: var(--theme-navbar-text) !important;
    border-color: currentColor !important;
}

.navbar .btn-outline-primary:hover,
.navbar .btn-outline-secondary:hover {
    background-color: var(--theme-navbar-hover) !important;
    color: var(--theme-navbar-text) !important;
}

.navbar-toggler {
    border-color: var(--theme-navbar-hover) !important;
}

.navbar-toggler-icon {
    filter: invert(var(--theme-navbar-invert));
}

/* Amostras do seletor de paletas: barra do menu | fundo | botão */
.theme-swatch {
    width: 30px;
    height: 14px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    flex: none;
}

.dropdown-item.theme-option.active {
    font-weight: 600;
}
/* Superfícies, Cards e Cabeçalhos (Padrão PeixeaJato) */
.card,
.card[style*="background"],
.section-block,
.modal-content,
.offcanvas,
.list-group-item,
.dropdown-menu {
    background: var(--theme-surface) !important;
    background-color: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
    box-shadow: var(--theme-card-shadow);
}

/* Cabeçalhos de Cards */
.card-header,
.card-header.bg-white,
.card-header.bg-light,
.card-header[style*="background"] {
    background: var(--theme-surface) !important;
    background-color: var(--theme-surface) !important;
    border-bottom: 1px solid var(--theme-border) !important;
    color: var(--theme-text) !important;
}

.card-header.border-0 {
    border-bottom: 0 !important;
}

.card-header .text-dark,
.card-header .card-title,
.card-header h1, .card-header h2, .card-header h3,
.card-header h4, .card-header h5, .card-header h6,
.card-header span:not(.badge),
.card .card-title,
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6 {
    color: var(--theme-text) !important;
}

.card-body {
    background-color: transparent !important;
    color: var(--theme-text) !important;
}

.card-footer {
    background-color: var(--theme-surface) !important;
    border-top: 1px solid var(--theme-border) !important;
    color: var(--theme-text-muted) !important;
}

.card-header-gradient {
    background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-hover) 100%) !important;
    color: var(--theme-on-primary) !important;
    border-bottom: 0;
}
.card-header-gradient .card-title,
.card-header-gradient h4,
.card-header-gradient h5 {
    color: var(--theme-on-primary) !important;
}
.card-header-gradient .opacity-75 {
    color: var(--theme-on-primary) !important;
    opacity: 0.8;
}

.panel-hover,
.card.panel-hover,
.card.panel-hover[style*="background"] {
    background: var(--theme-surface-muted, var(--theme-surface)) !important;
    background-color: var(--theme-surface-muted, var(--theme-surface)) !important;
    border: 1px solid var(--theme-border) !important;
    color: var(--theme-text) !important;
}

.panel-hover:hover {
    border-color: var(--theme-primary) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.dropdown-item {
    color: var(--theme-text) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--theme-table-hover) !important;
}

/* Textos e Utilitários de Tema (Estilo PeixeaJato) */
.text-muted,
.text-secondary {
    color: var(--theme-text-muted) !important;
}

.text-dark {
    color: var(--theme-text) !important;
}

.bg-white {
    background-color: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

.bg-light {
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
}

.border {
    border-color: var(--theme-border) !important;
}

/* Tons suaves (bg-*-subtle, text-*-emphasis, border-*-subtle).
   Essas classes só existem a partir do Bootstrap 5.3; o projeto usa a 5.1, então são definidas aqui. */
.bg-success-subtle { background-color: #dcfce7 !important; }
.text-success-emphasis { color: #166534 !important; }
.border-success-subtle { border-color: #86efac !important; }

.bg-warning-subtle { background-color: #fef3c7 !important; }
.text-warning-emphasis { color: #92400e !important; }
.border-warning-subtle { border-color: #fcd34d !important; }

.bg-info-subtle { background-color: #e0f2fe !important; }
.text-info-emphasis { color: #075985 !important; }
.border-info-subtle { border-color: #7dd3fc !important; }

.bg-danger-subtle { background-color: #fee2e2 !important; }
.text-danger-emphasis { color: #991b1b !important; }
.border-danger-subtle { border-color: #fca5a5 !important; }

.bg-primary-subtle { background-color: rgba(var(--theme-primary-rgb), 0.1) !important; }
.text-primary-emphasis { color: var(--theme-primary-text) !important; }
.border-primary-subtle { border-color: rgba(var(--theme-primary-rgb), 0.35) !important; }

.bg-secondary-subtle { background-color: var(--theme-surface-muted) !important; }
.text-secondary-emphasis { color: var(--theme-text) !important; }
.border-secondary-subtle { border-color: var(--theme-border) !important; }

/* Badges e tons suaves nos temas escuros (Grafite e Faixa preta) */
html[data-theme="grafite"] .bg-warning-subtle, html[data-theme="faixapreta"] .bg-warning-subtle { background-color: rgba(245, 158, 11, 0.22) !important; }
html[data-theme="grafite"] .text-warning-emphasis, html[data-theme="faixapreta"] .text-warning-emphasis { color: #fbbf24 !important; }
html[data-theme="grafite"] .border-warning-subtle, html[data-theme="faixapreta"] .border-warning-subtle { border-color: rgba(245, 158, 11, 0.45) !important; }

html[data-theme="grafite"] .bg-info-subtle, html[data-theme="faixapreta"] .bg-info-subtle { background-color: rgba(14, 165, 233, 0.22) !important; }
html[data-theme="grafite"] .text-info-emphasis, html[data-theme="faixapreta"] .text-info-emphasis { color: #38bdf8 !important; }
html[data-theme="grafite"] .border-info-subtle, html[data-theme="faixapreta"] .border-info-subtle { border-color: rgba(14, 165, 233, 0.45) !important; }

html[data-theme="grafite"] .bg-success-subtle, html[data-theme="faixapreta"] .bg-success-subtle { background-color: rgba(34, 197, 94, 0.22) !important; }
html[data-theme="grafite"] .text-success-emphasis, html[data-theme="faixapreta"] .text-success-emphasis { color: #4ade80 !important; }
html[data-theme="grafite"] .border-success-subtle, html[data-theme="faixapreta"] .border-success-subtle { border-color: rgba(34, 197, 94, 0.45) !important; }

html[data-theme="grafite"] .bg-danger-subtle, html[data-theme="faixapreta"] .bg-danger-subtle { background-color: rgba(239, 68, 68, 0.22) !important; }
html[data-theme="grafite"] .text-danger-emphasis, html[data-theme="faixapreta"] .text-danger-emphasis { color: #f87171 !important; }
html[data-theme="grafite"] .border-danger-subtle, html[data-theme="faixapreta"] .border-danger-subtle { border-color: rgba(239, 68, 68, 0.45) !important; }

html[data-theme="grafite"] .bg-primary-subtle, html[data-theme="faixapreta"] .bg-primary-subtle { background-color: rgba(var(--theme-primary-rgb), 0.18) !important; }
html[data-theme="grafite"] .text-primary-emphasis, html[data-theme="faixapreta"] .text-primary-emphasis { color: var(--theme-primary-text) !important; }
html[data-theme="grafite"] .border-primary-subtle, html[data-theme="faixapreta"] .border-primary-subtle { border-color: rgba(var(--theme-primary-rgb), 0.45) !important; }

html[data-theme="grafite"] .bg-secondary-subtle, html[data-theme="faixapreta"] .bg-secondary-subtle { background-color: rgba(148, 163, 184, 0.2) !important; }
html[data-theme="grafite"] .text-secondary-emphasis, html[data-theme="faixapreta"] .text-secondary-emphasis { color: #e2e8f0 !important; }
html[data-theme="grafite"] .border-secondary-subtle, html[data-theme="faixapreta"] .border-secondary-subtle { border-color: rgba(148, 163, 184, 0.35) !important; }

html[data-theme="grafite"] .badge.bg-light,
html[data-theme="faixapreta"] .badge.bg-light {
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
}

/* Botões Primários */
.btn-primary {
    background-color: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
    color: var(--theme-on-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--theme-primary-hover) !important;
    border-color: var(--theme-primary-hover) !important;
    color: var(--theme-on-primary) !important;
}

.btn-outline-primary {
    color: var(--theme-primary-text) !important;
    border-color: var(--theme-primary-text) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
    color: var(--theme-on-primary) !important;
}

/* Tabelas e Cabeçalhos de Relatório (Report Tables) */
.table {
    --bs-table-bg: var(--theme-surface);
    --bs-table-color: var(--theme-text);
    border-color: var(--theme-border) !important;
    color: var(--theme-text) !important;
}

.table th,
.table td,
.report-table th,
.report-table td {
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
}

.table thead th,
.report-table thead th,
thead th {
    background: var(--theme-surface-muted) !important;
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-bottom: 2px solid var(--theme-border) !important;
}

.table tbody td,
.report-table tbody td {
    background-color: transparent !important;
    color: var(--theme-text) !important;
    border-bottom: 1px solid var(--theme-border) !important;
}

.table-hover tbody tr:hover,
.report-table tbody tr:hover {
    background-color: var(--theme-table-hover) !important;
}

/* Card Premium (Usado em Relatórios) */
.card-premium,
.card-premium[style*="background"] {
    background: var(--theme-surface) !important;
    background-color: var(--theme-surface) !important;
    border: 1px solid var(--theme-border) !important;
    color: var(--theme-text) !important;
    box-shadow: var(--theme-card-shadow) !important;
}

.card-premium h1, .card-premium h2, .card-premium h3,
.card-premium h4, .card-premium h5, .card-premium h6,
.card-premium label, .card-premium .form-label {
    color: var(--theme-text) !important;
}

.athlete-card {
    background: var(--theme-surface) !important;
    border: 1px solid var(--theme-border) !important;
    color: var(--theme-text) !important;
}
.athlete-name {
    color: var(--theme-text) !important;
    border-bottom: 2px solid var(--theme-border) !important;
}
.info-label {
    color: var(--theme-text-muted) !important;
}
.info-value {
    color: var(--theme-text) !important;
}
.section-title {
    color: var(--theme-text) !important;
}
.photo-container {
    background: var(--theme-surface-muted) !important;
    border: 1px solid var(--theme-border) !important;
}

/* Formulários, Labels e Combos */
label,
.form-label {
    color: var(--theme-text) !important;
}

.form-control,
.form-select {
    background-color: var(--theme-input-bg) !important;
    color: var(--theme-input-text) !important;
    border: 1px solid var(--theme-border) !important;
}

.form-select option {
    background-color: var(--theme-input-bg) !important;
    color: var(--theme-input-text) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--theme-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--theme-primary-rgb), 0.25) !important;
}

/* Botão Secundário / Outline */
.btn-outline-secondary {
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
    background-color: transparent !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-primary) !important;
}

/* Breadcrumbs */
.breadcrumb,
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb a {
    color: var(--theme-text-muted) !important;
}

.breadcrumb-item.active {
    color: var(--theme-text) !important;
}

.breadcrumb-item a:hover,
.breadcrumb a:hover {
    color: var(--theme-primary-text) !important;
}

/* Barra de Progresso */
.progress {
    background-color: var(--theme-surface-muted) !important;
}

/* Badges e Destaques */
.badge.bg-light {
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
}

hr {
    border-color: var(--theme-border) !important;
    opacity: 0.25;
}

/* Accordions (Estilo PeixeaJato) */
.accordion-item {
    background-color: var(--theme-surface) !important;
    border-color: var(--theme-border) !important;
}

.accordion-button {
    background-color: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

.accordion-button:not(.collapsed) {
    background-color: var(--theme-surface-muted) !important;
    color: var(--theme-primary-text) !important;
}

.accordion-body {
    background-color: var(--theme-bg) !important;
    color: var(--theme-text) !important;
}


/* ==========================================================================
   Portal do Aluno - Quick Actions (Design Compacto em Linha Única)
   ========================================================================== */
.aluno-quick-actions-bar {
    display: flex;
    align-items: stretch;
    gap: 8px;
    width: 100%;
}

.aluno-quick-action {
    flex: 1 1 0;
    min-width: 0;
    background-color: var(--theme-surface, #ffffff);
    border: 1px solid var(--theme-border, #e2e8f0);
    border-radius: 10px;
    padding: 8px 4px 6px 4px;
    text-decoration: none !important;
    color: var(--theme-text, #1e293b) !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 60px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.aluno-quick-action:hover, 
.aluno-quick-action:active {
    transform: translateY(-2px);
    border-color: var(--theme-primary, #0d1b2a) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    color: var(--theme-primary-text, #0d1b2a) !important;
}

.aluno-quick-action .icon-box {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: transform 0.15s ease;
}

.aluno-quick-action:hover .icon-box {
    transform: scale(1.1);
}

.aluno-quick-action .action-label {
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.1;
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 576px) {
    .aluno-quick-actions-bar {
        gap: 6px;
    }
    .aluno-quick-action {
        padding: 6px 2px 5px 2px;
        min-height: 56px;
        border-radius: 8px;
    }
    .aluno-quick-action .icon-box {
        width: 26px;
        height: 26px;
        font-size: 0.825rem;
        margin-bottom: 3px;
    }
    .aluno-quick-action .action-label {
        font-size: 0.68rem;
    }
}


