/* ====================================
   SIGE ANGOSCHOOL - TEMA GLOBAL
   Sistema Integrado de Gestão Escolar
   ==================================== */

/* ====================================
   VARIÁVEIS CSS
   ==================================== */
:root {
    /* Cores Primárias (Liquid Glass - suavizadas) */
    --sige-green: linear-gradient(135deg, #3d9e78, #2d8a65);
    --sige-blue: linear-gradient(135deg, #29707D, #1b6e7a);
    --sige-purple: linear-gradient(135deg, #8878b8, #7666a8);
    --sige-orange: linear-gradient(135deg, #c99a50, #b38040);
    --sige-cyan: linear-gradient(135deg, #3aa5b8, #2d8fa0);
    --sige-indigo: linear-gradient(135deg, #6d70b5, #5c569e);
    --sige-pink: linear-gradient(135deg, #b86f96, #a55580);
    --sige-red: linear-gradient(135deg, #d46a6a, #c25454);
    --sige-teal: linear-gradient(135deg, #2da89a, #258a7e);
    --sige-amber: linear-gradient(135deg, #c99a50, #b38040);
    --sige-emerald: linear-gradient(135deg, #3d9e78, #2d8a65);
    --sige-rose: linear-gradient(135deg, #c96274, #b44d62);
    --sige-violet: linear-gradient(135deg, #8878b8, #7666a8);
    --sige-sky: linear-gradient(135deg, #4a9dc0, #3888ab);
    --sige-lime: linear-gradient(135deg, #7aad3c, #628f30);
    --sige-gray: linear-gradient(135deg, #6b7280, #4b5563);

    /* Cores Sólidas (Liquid Glass - suavizadas) */
    --color-green: #3d9e78;
    --color-blue: #29707D;
    --color-purple: #8878b8;
    --color-orange: #c99a50;
    --color-cyan: #3aa5b8;
    --color-indigo: #6d70b5;
    --color-pink: #b86f96;
    --color-red: #d46a6a;
    --color-teal: #2da89a;

    /* Sombras */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

    /* Bordas */
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;

    /* Transições */
    --transition-fast: all 0.15s ease;
    --transition-normal: all 0.2s ease;
    --transition-slow: all 0.3s ease;
}

/* ====================================
   PAGE HEADERS
   ==================================== */
.sige-header {
    text-align: center;
    padding: 20px;
    border-radius: var(--radius-lg);
    color: white;
    margin-bottom: 20px;
}

.sige-header .header-icon,
.sige-header .sige-header-icon,
.sige-header-icon {
    font-size: 2.5rem;
    margin-bottom: 8px;
}

.sige-header .header-title,
.sige-header .sige-header-title,
.sige-header-title {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}

.sige-header .header-subtitle,
.sige-header .sige-header-subtitle,
.sige-header-subtitle {
    font-size: 0.9rem;
    opacity: 0.9;
    margin: 5px 0 0 0;
}

/* Header Colors - UNIFIED with system theme (Blue Primary) + Glass */
.sige-header,
.sige-header.green, .sige-header-green,
.sige-header.blue, .sige-header-blue,
.sige-header.purple, .sige-header-purple,
.sige-header.orange, .sige-header-orange,
.sige-header.cyan, .sige-header-cyan,
.sige-header.indigo, .sige-header-indigo,
.sige-header.pink, .sige-header-pink,
.sige-header.teal, .sige-header-teal,
.sige-header.amber, .sige-header-amber,
.sige-header.emerald, .sige-header-emerald,
.sige-header.violet, .sige-header-violet,
.sige-header.sky, .sige-header-sky,
.sige-header.lime, .sige-header-lime,
.sige-header.gray, .sige-header-gray,
.sige-header.rose, .sige-header-rose {
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.92) 0%, rgba(20, 85, 96, 0.95) 50%, rgba(14, 77, 86, 0.97) 100%);
    border: 1px solid rgba(90, 187, 196, 0.18);
    box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

/* Special case: Error/Danger header keeps red */
.sige-header.red, .sige-header-red { background: var(--sige-red); }

/* ====================================
   STATS CONTAINER
   ==================================== */
.sige-stats {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.sige-stats.left {
    justify-content: flex-start;
}

.sige-stats.center {
    justify-content: center;
}

.sige-stat {
    border-radius: var(--radius-md);
    padding: 10px 18px;
    text-align: center;
    color: white;
    min-width: 80px;
}

.sige-stat.green, .sige-stat-green { background: var(--glass-stat-green); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.blue, .sige-stat-blue { background: var(--glass-stat-blue); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.purple, .sige-stat-purple { background: var(--glass-stat-purple); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.orange, .sige-stat-orange { background: var(--glass-stat-orange); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.pink, .sige-stat-pink { background: var(--glass-stat-pink); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.cyan, .sige-stat-cyan { background: var(--glass-stat-cyan); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.red, .sige-stat-red { background: var(--glass-stat-red); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.teal, .sige-stat-teal { background: var(--glass-stat-teal); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.indigo, .sige-stat-indigo { background: var(--glass-stat-indigo); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.amber, .sige-stat-amber { background: var(--glass-stat-amber); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.sige-stat.gray, .sige-stat-gray { background: var(--glass-stat-gray); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }

.sige-stat-label {
    display: block;
    font-size: 0.7rem;
    opacity: 0.85;
    text-transform: uppercase;
}

.sige-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
}

/* ====================================
   LIST CARDS
   ==================================== */
/* .list-card e .turma-card são aliases de .sige-card — consolidados aqui */
.sige-card,
.list-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-lg);
    padding: 15px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: var(--transition-normal);
    border-left: 4px solid #29707D;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle);
}

.sige-card:hover,
.list-card:hover {
    background: var(--glass-bg-strong);
    box-shadow: var(--glass-shadow-hover);
    transform: translateX(3px);
}

.sige-card.green, .sige-card-green, .list-card.green { border-left-color: var(--color-green); }
.sige-card.blue, .sige-card-blue, .list-card.blue { border-left-color: var(--color-blue); }
.sige-card.purple, .sige-card-purple, .list-card.purple { border-left-color: var(--color-purple); }
.sige-card.orange, .sige-card-orange, .list-card.orange { border-left-color: var(--color-orange); }
.sige-card.cyan, .sige-card-cyan, .list-card.cyan { border-left-color: var(--color-cyan); }
.sige-card.indigo, .sige-card-indigo, .list-card.indigo { border-left-color: var(--color-indigo); }
.sige-card.pink, .sige-card-pink, .list-card.pink { border-left-color: var(--color-pink); }
.sige-card.teal, .sige-card-teal, .list-card.teal { border-left-color: var(--color-teal); }
.sige-card.red, .sige-card-red, .list-card.red { border-left-color: var(--color-red); }
.sige-card.amber, .sige-card-amber, .list-card.amber { border-left-color: #c99a50; }
.sige-card.gray, .sige-card-gray, .list-card.gray { border-left-color: #6b7280; }

/* .card-order é alias de .sige-card-order */
.sige-card-order,
.card-order {
    background: #e5e7eb;
    color: #4b5563;
    font-size: 0.75rem;
    font-weight: 700;
    width: 30px;
    height: 30px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* .card-photo é alias de .sige-card-photo */
.sige-card-photo,
.card-photo {
    width: 55px;
    height: 55px;
    border-radius: var(--radius-full);
    object-fit: cover;
    border: 2px solid rgba(41, 112, 125, 0.6);
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(41, 112, 125, 0.15);
}

.sige-card-photo.green, .card-photo.green { border-color: var(--color-green); }
.sige-card-photo.blue, .card-photo.blue { border-color: var(--color-blue); }
.sige-card-photo.purple, .card-photo.purple { border-color: var(--color-purple); }
.sige-card-photo.orange, .card-photo.orange { border-color: var(--color-orange); }
.sige-card-photo.cyan, .card-photo.cyan { border-color: var(--color-cyan); }
.sige-card-photo.indigo, .card-photo.indigo { border-color: var(--color-indigo); }
.sige-card-photo.teal, .card-photo.teal { border-color: var(--color-teal); }
.sige-card-photo.pink, .card-photo.pink { border-color: var(--color-pink); }
.sige-card-photo.red, .card-photo.red { border-color: var(--color-red); }

/* ====================================
   PHOTO WITH INITIALS FALLBACK
   ==================================== */
.photo-container,
.sige-photo-container {
    position: relative;
    flex-shrink: 0;
}

.photo-initials,
.sige-photo-initials {
    display: none;
    width: 55px;
    height: 55px;
    border-radius: var(--radius-full);
    background: var(--sige-blue);
    border: 2px solid rgba(41, 112, 125, 0.6);
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 800;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.photo-container.show-initials img,
.sige-photo-container.show-initials img {
    display: none !important;
}

.photo-container.show-initials .photo-initials,
.sige-photo-container.show-initials .sige-photo-initials,
.photo-container.show-initials .sige-photo-initials,
.sige-photo-container.show-initials .photo-initials {
    display: flex;
}

/* Tamanhos de iniciais */
.photo-initials.lg,
.sige-photo-initials.lg {
    width: 70px;
    height: 70px;
    font-size: 1.5rem;
}

.photo-initials.xl,
.sige-photo-initials.xl {
    width: 90px;
    height: 90px;
    font-size: 2rem;
}

.photo-initials.xxl,
.sige-photo-initials.xxl {
    width: 110px;
    height: 140px;
    border-radius: var(--radius-lg);
    font-size: 2.5rem;
    letter-spacing: 2px;
}

/* Cores das iniciais */
.photo-initials.green { background: var(--sige-green); border-color: var(--color-green); }
.photo-initials.purple { background: var(--sige-purple); border-color: var(--color-purple); }
.photo-initials.orange { background: var(--sige-orange); border-color: var(--color-orange); }
.photo-initials.cyan { background: var(--sige-cyan); border-color: var(--color-cyan); }
.photo-initials.indigo { background: var(--sige-indigo); border-color: var(--color-indigo); }
.photo-initials.pink { background: var(--sige-pink); border-color: var(--color-pink); }
.photo-initials.teal { background: var(--sige-teal); border-color: var(--color-teal); }

/* Dark mode */
[data-theme="dark"] .photo-initials,
[data-theme="dark"] .sige-photo-initials {
    border-color: #334155;
}

/* Photo container sizes */
.photo-container,
.sige-photo-container {
    width: 55px;
    height: 55px;
    flex-shrink: 0;
    display: inline-block;
}

.photo-container-sm { width: 40px !important; height: 40px !important; }
.photo-container-md { width: 55px !important; height: 55px !important; }
.photo-container-lg { width: 70px !important; height: 70px !important; }
.photo-container-xl { width: 90px !important; height: 90px !important; }
.photo-container-xxl { width: 110px !important; height: 140px !important; }

/* Photo img inside container */
.photo-container img,
.photo-container .photo,
.sige-photo-container img,
.sige-photo-container .photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 9999px !important;
    border: 2px solid rgba(41, 112, 125, 0.6) !important;
    display: block !important;
    box-shadow: 0 2px 8px rgba(41, 112, 125, 0.15) !important;
}

.photo-container-xxl img,
.photo-container-xxl .photo {
    border-radius: 12px !important;
}

/* Photo container initials match size */
.photo-container-sm .photo-initials { width: 40px !important; height: 40px !important; font-size: 0.9rem; }
.photo-container-lg .photo-initials { width: 70px !important; height: 70px !important; font-size: 1.5rem; }
.photo-container-xl .photo-initials { width: 90px !important; height: 90px !important; font-size: 2rem; }
.photo-container-xxl .photo-initials { width: 110px !important; height: 140px !important; font-size: 2.5rem; border-radius: 12px !important; }

/* .card-info, .card-name, .card-badges, .card-actions são aliases */
.sige-card-info,
.card-info {
    flex: 1;
    min-width: 0;
}

.sige-card-name,
.card-name {
    font-weight: 600;
    font-size: 1rem;
    color: #1f2937;
    margin: 0 0 6px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sige-card-name a,
.card-name a {
    color: #1f2937;
    text-decoration: none;
}

.sige-card-name a:hover,
.card-name a:hover {
    color: #29707D;
}

.sige-card-badges,
.card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sige-card-actions,
.card-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.sige-card-loading {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-blue);
    border-radius: var(--radius-lg);
    z-index: 5;
}

/* ====================================
   CONTRACT CARDS
   ==================================== */
.contrato-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: box-shadow 0.25s, transform 0.2s;
}
.contrato-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

/* Header */
.contrato-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border-bottom: 1px solid #f1f5f9;
    background: linear-gradient(135deg, rgba(248,250,252,0.8), rgba(241,245,249,0.5));
}
.contrato-card-num {
    min-width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}
.contrato-card-title {
    flex: 1;
    min-width: 0;
}
.contrato-card-link {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
    text-decoration: none;
    display: block;
    margin-bottom: 6px;
}
.contrato-card-link:hover {
    color: #2563eb;
}
.contrato-card-link i {
    margin-right: 6px;
    opacity: 0.7;
}
.contrato-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.contrato-tag {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    transition: filter 0.15s;
}
.contrato-tag:hover { filter: brightness(0.92); }
.contrato-tag-green { background: #dcfce7; color: #15803d; }
.contrato-tag-gray { background: #f1f5f9; color: #64748b; }
.contrato-tag-red { background: #fee2e2; color: #dc2626; }
.contrato-tag-blue { background: #dbeafe; color: #2563eb; }
.contrato-tag-purple { background: #f3e8ff; color: #7c3aed; }

/* Save status */
.contrato-card-status {
    flex-shrink: 0;
    min-width: 100px;
    text-align: right;
}
.contrato-saving {
    font-size: 0.8rem;
    color: #f59e0b;
    font-weight: 500;
}
.contrato-saving i { margin-right: 4px; }
.contrato-save-ok {
    font-size: 0.8rem;
    color: #16a34a;
    font-weight: 600;
}
.contrato-save-ok i { margin-right: 4px; }
.contrato-save-error {
    font-size: 0.75rem;
    color: #dc2626;
    font-weight: 500;
}
.contrato-save-error i { margin-right: 4px; }

/* Body / Form */
.contrato-card-body {
    padding: 16px 20px 20px;
}
.contrato-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
.contrato-form-row:last-child {
    margin-bottom: 0;
}
.contrato-field-md {
    flex: 1 1 180px;
    min-width: 160px;
}
.contrato-field-sm {
    flex: 0 0 auto;
}
.contrato-field-half {
    flex: 1 1 240px;
    min-width: 200px;
}
.contrato-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    padding: 8px 14px;
    border-radius: 10px;
    background: #f0fdf4;
    border: 1.5px solid #bbf7d0;
    transition: all 0.2s;
    white-space: nowrap;
}
.contrato-checkbox:hover {
    background: #dcfce7;
    border-color: #86efac;
}
.contrato-checkbox input[type="checkbox"] {
    accent-color: #16a34a;
    width: 16px;
    height: 16px;
}

@media (max-width: 768px) {
    .contrato-card-header {
        flex-wrap: wrap;
        gap: 10px;
    }
    .contrato-card-status {
        width: 100%;
        text-align: left;
    }
    .contrato-form-row {
        flex-direction: column;
    }
    .contrato-field-md,
    .contrato-field-half {
        flex: 1 1 100%;
    }
}

/* Dark mode */
[data-theme="dark"] .contrato-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border-color: #334155 !important;
}
[data-theme="dark"] .contrato-card-header {
    background: linear-gradient(135deg, rgba(30,41,59,0.8), rgba(15,23,42,0.5)) !important;
    border-bottom-color: #334155 !important;
}
[data-theme="dark"] .contrato-card-link {
    color: #f1f5f9 !important;
}
[data-theme="dark"] .contrato-card-link:hover {
    color: #60a5fa !important;
}
[data-theme="dark"] .contrato-tag-green { background: rgba(22,163,74,0.2) !important; color: #4ade80 !important; }
[data-theme="dark"] .contrato-tag-gray { background: rgba(100,116,139,0.2) !important; color: #94a3b8 !important; }
[data-theme="dark"] .contrato-tag-red { background: rgba(220,38,38,0.2) !important; color: #f87171 !important; }
[data-theme="dark"] .contrato-tag-blue { background: rgba(37,99,235,0.2) !important; color: #60a5fa !important; }
[data-theme="dark"] .contrato-tag-purple { background: rgba(124,58,237,0.2) !important; color: #a78bfa !important; }
[data-theme="dark"] .contrato-checkbox {
    background: rgba(22,163,74,0.1) !important;
    border-color: rgba(22,163,74,0.3) !important;
    color: #86efac !important;
}
[data-theme="dark"] .contrato-checkbox:hover {
    background: rgba(22,163,74,0.2) !important;
}

/* ====================================
   BADGES
   ==================================== */
.sige-badge {
    font-size: 0.7rem;
    padding: 3px 10px;
    border-radius: var(--radius-lg);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: var(--glass-inset-subtle);
}

.sige-badge i { font-size: 0.65rem; }

.sige-badge.blue, .sige-badge-blue { background: #d5eef0; color: #0e4d56; }
.sige-badge.green, .sige-badge-green { background: #dff0e8; color: #2d8a65; }
.sige-badge.orange, .sige-badge-orange { background: #f5ecd6; color: #8f6930; }
.sige-badge.purple, .sige-badge-purple { background: #eceaf4; color: #5c569e; }
.sige-badge.pink, .sige-badge-pink { background: #f2e5ed; color: #8f4d70; }
.sige-badge.red, .sige-badge-red { background: #f5e0e0; color: #b54e4e; }
.sige-badge.gray, .sige-badge-gray { background: #f3f4f6; color: #4b5563; }
.sige-badge.cyan, .sige-badge-cyan { background: #dff0f4; color: #2d8fa0; }
.sige-badge.teal, .sige-badge-teal { background: #dff0ed; color: #258a7e; }
.sige-badge.indigo, .sige-badge-indigo { background: #e8e8f2; color: #5c569e; }
.sige-badge.amber, .sige-badge-amber { background: #f5ecd6; color: #966b35; }

/* ====================================
   ACTION BUTTONS (Icon Buttons)
   .btn-action é alias de .sige-btn
   ==================================== */
.sige-btn,
.sige-btn-action,
.btn-action {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    transition: var(--transition-normal);
    text-decoration: none;
    color: inherit;
}

.sige-btn:hover,
.sige-btn-action:hover,
.btn-action:hover {
    transform: scale(1.05);
}

/* Tamanho compacto para tabelas */
.sige-btn.sm, .btn-action.sm {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 14px;
}

/* Variantes de cor — .btn-edit/.btn-delete/etc. são aliases */
.sige-btn.edit, .sige-btn-edit, .btn-edit { background: rgba(213, 238, 240, 0.8); color: #0e4d56; border: 1px solid rgba(41, 112, 125, 0.12); }
.sige-btn.edit:hover, .sige-btn-edit:hover, .btn-edit:hover { background: #0e4d56; color: white; }

.sige-btn.delete, .sige-btn-delete, .btn-delete { background: rgba(245, 224, 224, 0.8); color: #b54e4e; border: 1px solid rgba(212, 106, 106, 0.12); }
.sige-btn.delete:hover, .sige-btn-delete:hover, .btn-delete:hover { background: #c25454; color: white; }

.sige-btn.print, .sige-btn-print, .btn-print { background: rgba(223, 240, 232, 0.8); color: #2d8a65; border: 1px solid rgba(61, 158, 120, 0.12); }
.sige-btn.print:hover, .sige-btn-print:hover, .btn-print:hover { background: #2d8a65; color: white; }

.sige-btn.check, .sige-btn-check, .btn-check { background: rgba(223, 240, 232, 0.8); color: #2d8a65; border: 1px solid rgba(61, 158, 120, 0.12); }
.sige-btn.check:hover, .sige-btn-check:hover, .btn-check:hover { background: #2d8a65; color: white; }

.sige-btn.transfer, .sige-btn-transfer, .btn-transfer { background: rgba(236, 234, 244, 0.8); color: #5c569e; border: 1px solid rgba(109, 112, 181, 0.12); }
.sige-btn.transfer:hover, .sige-btn-transfer:hover, .btn-transfer:hover { background: #5c569e; color: white; }

.sige-btn.view, .sige-btn-view, .btn-view { background: rgba(245, 236, 214, 0.8); color: #8f6930; border: 1px solid rgba(201, 154, 80, 0.12); }
.sige-btn.view:hover, .sige-btn-view:hover, .btn-view:hover { background: #966b35; color: white; }

.sige-btn.info, .sige-btn-info, .btn-info { background: rgba(223, 240, 244, 0.8); color: #2d8fa0; border: 1px solid rgba(58, 165, 184, 0.12); }
.sige-btn.info:hover, .sige-btn-info:hover, .btn-info:hover { background: #2d8fa0; color: white; }

/* Botão download (de processos) */
.sige-btn.download, .btn-download { background: rgba(209, 250, 229, 0.8); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.12); }
.sige-btn.download:hover, .btn-download:hover { background: #10b981; color: white; }

/* Add button — maior (45px) */
.sige-btn.add,
.btn-add {
    width: 45px;
    height: 45px;
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.92) 0%, rgba(20, 85, 96, 0.96) 100%);
    color: white;
    border: 1px solid rgba(90, 187, 196, 0.20);
    box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sige-btn.add:hover,
.btn-add:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(41, 112, 125, 0.4);
    color: white;
}

/* ====================================
   TEXT ACTION BUTTONS (with labels)
   ==================================== */
.sige-action-buttons,
.action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Base de botões com texto e cor
   .sige-btn-save = .sige-btn-green (consolidados)
   .sige-btn-stats = .sige-btn-green (consolidados)
   .sige-btn-report = .sige-btn-purple (consolidados) */
button.sige-btn-action,
.sige-btn-action[class*="sige-btn-blue"],
.sige-btn-action[class*="sige-btn-orange"],
.sige-btn-action[class*="sige-btn-purple"],
.sige-btn-action[class*="sige-btn-green"],
.sige-btn-action[class*="sige-btn-save"],
.sige-btn-blue,
.sige-btn-orange,
.sige-btn-purple,
.sige-btn-green,
.sige-btn-save,
.sige-btn-report,
.sige-btn-stats,
.sige-btn-red {
    width: auto !important;
    height: auto !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition-normal);
    text-decoration: none;
    color: white !important;
}

/* Cores — aliases consolidados */
.sige-btn-blue,
.sige-btn-action.sige-btn-blue {
    background: linear-gradient(135deg, #29707D, #1b6e7a) !important;
}

.sige-btn-orange,
.sige-btn-action.sige-btn-orange {
    background: linear-gradient(135deg, #c99a50, #b38040) !important;
}

/* .sige-btn-report é alias de .sige-btn-purple */
.sige-btn-purple,
.sige-btn-action.sige-btn-purple,
.sige-btn-report {
    background: linear-gradient(135deg, #8878b8, #7666a8) !important;
}

/* .sige-btn-save e .sige-btn-stats são aliases de .sige-btn-green */
.sige-btn-green,
.sige-btn-action.sige-btn-green,
.sige-btn-save,
.sige-btn-action.sige-btn-save,
.sige-btn-stats {
    background: linear-gradient(135deg, #3d9e78, #2d8a65) !important;
}

.sige-btn-red {
    background: linear-gradient(135deg, #d46a6a, #c25454) !important;
}

/* Hover unificado para todos */
button.sige-btn-action:hover,
.sige-btn-blue:hover,
.sige-btn-orange:hover,
.sige-btn-purple:hover,
.sige-btn-green:hover,
.sige-btn-save:hover,
.sige-btn-report:hover,
.sige-btn-stats:hover,
.sige-btn-red:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

/* ====================================
   EMPTY STATE
   ==================================== */
.sige-empty {
    text-align: center;
    padding: 60px 20px;
    color: #64748b;
    background: var(--glass-bg-subtle);
    border: 1px dashed var(--glass-border-teal);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-inset-subtle);
}

.sige-empty i {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
    display: block;
}

.sige-empty h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.sige-empty p {
    font-size: 0.9rem;
    margin: 0;
}

/* ====================================
   LOADING STATE
   ==================================== */
.sige-loading {
    text-align: center;
    padding: 40px 20px;
    color: #29707D;
}

.sige-loading i {
    font-size: 2rem;
    margin-bottom: 12px;
}

/* ====================================
   SEARCH BOX
   ==================================== */
.sige-search-box {
    background: #f8fafc;
    border-radius: var(--radius-lg);
    padding: 20px;
    margin-bottom: 20px;
}

.sige-search-hint {
    font-size: 0.85rem;
    color: #64748b;
    margin-top: 8px;
}

/* ====================================
   TOOLBAR - Search, Stats & Actions
   ==================================== */
.sige-toolbar {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 16px;
    background: var(--glass-bg);
    border-radius: var(--radius-lg);
    margin-bottom: 20px;
    flex-wrap: wrap;
    border: 1px solid var(--glass-border-teal);
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle);
}

.sige-toolbar-search {
    flex: 1;
    min-width: 200px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--glass-bg-strong);
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-md);
    padding: 8px 14px;
    transition: var(--transition-normal);
}

.sige-toolbar-search:focus-within {
    border-color: var(--color-blue);
    box-shadow: 0 0 0 3px rgba(41, 112, 125, 0.15);
}

.sige-toolbar-search i {
    color: #94a3b8;
    font-size: 0.9rem;
}

.sige-search-input {
    border: none;
    outline: none;
    background: transparent;
    flex: 1;
    font-size: 0.9rem;
    color: #334155;
}

.sige-search-input::placeholder {
    color: #94a3b8;
}

.sige-toolbar-stats {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sige-mini-stat {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--glass-bg-strong);
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-md);
    padding: 8px 14px;
    font-size: 0.85rem;
    color: #475569;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle);
}

.sige-mini-stat i {
    color: var(--color-blue);
    font-size: 0.9rem;
}

.sige-mini-stat span {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-blue);
}

.sige-mini-stat small {
    color: #64748b;
    font-size: 0.75rem;
}

.sige-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 768px) {
    .sige-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 12px;
    }

    .sige-toolbar-search {
        width: 100%;
        min-width: 100%;
        order: 1;
    }

    .sige-toolbar-stats {
        width: 100%;
        justify-content: center;
        order: 2;
    }

    .sige-toolbar-actions {
        width: 100%;
        justify-content: center;
        order: 3;
    }

    .sige-toolbar-actions button,
    .sige-toolbar-actions .btn,
    .sige-toolbar-actions a {
        width: 100%;
        justify-content: center;
    }

    .sige-mini-stat {
        flex: 1;
        justify-content: center;
        min-width: 0;
    }
}

/* Extra small devices (phones in portrait) */
@media (max-width: 480px) {
    .sige-toolbar {
        gap: 10px;
        padding: 10px;
    }

    .sige-toolbar-search {
        padding: 10px 12px;
    }

    .sige-search-input {
        font-size: 0.85rem;
    }

    .sige-mini-stat {
        padding: 8px 12px;
        font-size: 0.8rem;
    }

    .sige-mini-stat span {
        font-size: 1rem;
    }

    .sige-mini-stat small {
        font-size: 0.7rem;
    }
}

/* ====================================
   TAB NAVIGATION
   ==================================== */
.sige-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.sige-tab {
    padding: 10px 20px;
    border: 2px solid var(--glass-border-teal);
    border-radius: var(--radius-md);
    background: var(--glass-bg);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-normal);
    box-shadow: var(--glass-inset-subtle);
}

.sige-tab:hover {
    background: var(--glass-bg-strong);
    border-color: rgba(41, 112, 125, 0.3);
}

.sige-tab.active {
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.92) 0%, rgba(20, 85, 96, 0.95) 100%);
    border-color: rgba(90, 187, 196, 0.25);
    color: white;
    box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sige-tab i {
    margin-right: 6px;
}

.sige-tab-badge {
    background: #d46a6a;
    color: white;
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 8px;
}

.sige-tab.active .sige-tab-badge {
    background: white;
    color: #29707D;
}

/* Tab Panels */
.sige-tab-panel {
    display: none;
    animation: fadeIn 0.3s ease;
}

.sige-tab-panel.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Form Section Headers */
.sige-form-section {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5e7eb;
}

.sige-form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.sige-form-section-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sige-form-section-title i {
    color: #29707D;
}

/* Required Field Indicator */
.sige-required-indicator {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 15px;
    background: #f8fafc;
    border-radius: var(--radius-md);
    margin-bottom: 20px;
    font-size: 0.8rem;
    color: #64748b;
    border: 1px solid #e5e7eb;
}

.sige-required-indicator span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.sige-required-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.sige-required-dot.required {
    background: #d46a6a;
}

.sige-required-dot.optional {
    background: #3d9e78;
}

/* Field Labels with Required Indicator */
.sige-field-required label::after {
    content: " *";
    color: #d46a6a;
    font-weight: 600;
}

.sige-field-optional label::after {
    content: " (opcional)";
    color: #3d9e78;
    font-size: 0.75rem;
    font-weight: 400;
}

/* Tab Navigation on Mobile */
@media (max-width: 768px) {
    .sige-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 5px;
        -webkit-overflow-scrolling: touch;
    }

    .sige-tab {
        flex-shrink: 0;
        padding: 8px 14px;
        font-size: 0.85rem;
    }

    .sige-tab span.tab-text-full {
        display: none;
    }

    .sige-tab span.tab-text-short {
        display: inline;
    }
}

@media (min-width: 769px) {
    .sige-tab span.tab-text-short {
        display: none;
    }
}

/* ====================================
   CARDS GRID
   ==================================== */
.sige-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 15px;
}

/* ====================================
   TURMA CARD (GRID LAYOUT)
   ==================================== */
/* .sige-turma-card e .turma-card herdam de .sige-card com cor purple */
.sige-turma-card,
.turma-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-lg);
    padding: 15px;
    transition: var(--transition-normal);
    border-left: 4px solid var(--color-purple);
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle);
}

.sige-turma-card:hover,
.turma-card:hover {
    background: var(--glass-bg-strong);
    box-shadow: var(--glass-shadow-hover);
    transform: translateX(3px);
}

.sige-turma-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.sige-turma-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
}

.sige-turma-stats {
    display: flex;
    gap: 15px;
    margin-bottom: 12px;
}

.sige-turma-stat {
    text-align: center;
}

.sige-turma-stat-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: #29707D;
}

.sige-turma-stat-label {
    font-size: 0.7rem;
    color: #6b7280;
    text-transform: uppercase;
}

/* ====================================
   FORM SELECT IN CARDS
   ==================================== */
.sige-card-select {
    padding: 8px 12px;
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    min-width: 100px;
    background: var(--glass-bg-subtle);
    backdrop-filter: var(--glass-true-blur);
    -webkit-backdrop-filter: var(--glass-true-blur);
    box-shadow: var(--glass-inset-subtle);
    transition: var(--transition-normal);
}

.sige-card-select:focus {
    outline: none;
    border-color: #29707D;
    box-shadow: 0 0 0 2px rgba(41, 112, 125, 0.2), var(--glass-inset-subtle);
    background: rgba(255, 255, 255, 0.70);
}

.sige-card-select option {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    padding: 8px 12px;
    font-weight: 500;
    border-bottom: 1px solid rgba(41, 112, 125, 0.06);
}

.sige-card-select option:hover,
.sige-card-select option:checked {
    background: rgba(41, 112, 125, 0.12);
}

/* ====================================
   INFO BOX
   ==================================== */
.sige-info-box {
    background: rgba(240, 249, 255, 0.8);
    border: 1px solid rgba(186, 230, 253, 0.7);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #0369a1;
    font-size: 0.9rem;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle);
}

.sige-info-box.warning {
    background: rgba(254, 243, 199, 0.8);
    border-color: rgba(252, 211, 77, 0.7);
    color: #92400e;
}

.sige-info-box.success {
    background: rgba(209, 250, 229, 0.8);
    border-color: rgba(110, 231, 183, 0.7);
    color: #257555;
}

.sige-info-box.error {
    background: rgba(254, 226, 226, 0.8);
    border-color: rgba(252, 165, 165, 0.7);
    color: #a84545;
}

/* ====================================
   DATA TABLE (COMPACT)
   ==================================== */
.sige-table {
    width: 100%;
    border-collapse: collapse;
}

.sige-table th,
.sige-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
}

.sige-table th {
    background: var(--glass-bg);
    font-weight: 600;
    color: #374151;
    font-size: 0.85rem;
    text-transform: uppercase;
    border-bottom: 1px solid var(--glass-border-teal);
}

.sige-table tr:hover {
    background: var(--glass-bg-teal);
}

/* ====================================
   RESPONSIVE
   ==================================== */
@media (max-width: 768px) {
    .sige-card,
    .list-card {
        flex-wrap: wrap;
    }

    .sige-card-info,
    .card-info {
        flex: 1 1 calc(100% - 100px);
    }

    .sige-card-actions,
    .card-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 10px;
    }

    .sige-stats {
        display: none;
    }

    .sige-grid,
    .sige-grid-cards {
        grid-template-columns: 1fr;
    }

    .sige-header {
        padding: 15px;
    }

    .sige-header .header-icon {
        font-size: 2rem;
    }

    .sige-header .header-title {
        font-size: 1.2rem;
    }

    .sige-card-panel {
        border-radius: 10px;
    }
}

/* ====================================
   CLASSES BASE REUTILIZÁVEIS
   Card Panel, Icon Circle, Grid Cards
   ==================================== */

/* Card com Header + Body (substitui data-card, info-card, notas-classe-card, form-section, etc.) */
.sige-card-panel {
    background: var(--glass-bg, white);
    border: 1px solid var(--glass-border-teal, #e2e8f0);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--glass-shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.04));
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.sige-card-panel:hover {
    box-shadow: var(--glass-shadow-hover, 0 4px 16px rgba(0, 0, 0, 0.08));
    transform: translateY(-1px);
}

.sige-card-panel-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    border-bottom: 1px solid var(--glass-border-teal, #e2e8f0);
    font-weight: 700;
    font-size: 0.95rem;
    color: #1e293b;
}

.sige-card-panel-header.header-primary {
    background: linear-gradient(135deg, #29707D, #0e4d56);
    color: white;
    border-bottom-color: transparent;
}

.sige-card-panel-header.header-warning {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
    border-bottom-color: transparent;
}

.sige-card-panel-body {
    padding: 16px 18px;
}

.sige-card-panel-body.compact {
    padding: 4px 0;
}

/* Ícone circular reutilizável (substitui stat-icon, card-icon, etc.) */
.sige-icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    font-size: 0.9rem;
}

.sige-icon-circle.sm {
    width: 32px;
    height: 32px;
}

.sige-icon-circle.md {
    width: 40px;
    height: 40px;
    font-size: 1rem;
}

.sige-icon-circle.lg {
    width: 50px;
    height: 50px;
    font-size: 1.3rem;
}

/* Ícone quadrado (usado em headers de card-panel) */
.sige-icon-square {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
}

.sige-icon-square.md {
    width: 36px;
    height: 36px;
}

.sige-icon-square.primary {
    background: linear-gradient(135deg, #29707D, #0e4d56);
    color: white;
}

.sige-icon-square.green {
    background: linear-gradient(135deg, #3d9e78, #2d8a65);
    color: white;
}

.sige-icon-square.purple {
    background: linear-gradient(135deg, #8878b8, #7666a8);
    color: white;
}

.sige-icon-square.orange {
    background: linear-gradient(135deg, #c99a50, #b38040);
    color: white;
}

/* Cores de fundo suave para ícones */
.sige-icon-circle.bg-blue,
.sige-icon-square.bg-blue {
    background: linear-gradient(135deg, #d5eef0, #bfdbfe);
    color: #0e4d56;
}

.sige-icon-circle.bg-green,
.sige-icon-square.bg-green {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    color: #059669;
}

.sige-icon-circle.bg-purple,
.sige-icon-square.bg-purple {
    background: linear-gradient(135deg, #ede9fe, #ddd6fe);
    color: #7c3aed;
}

.sige-icon-circle.bg-orange,
.sige-icon-square.bg-orange {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #b45309;
}

.sige-icon-circle.bg-red,
.sige-icon-square.bg-red {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    color: #dc2626;
}

/* Grid de cards reutilizável */
.sige-grid-cards {
    display: grid;
    gap: 16px;
}

.sige-grid-cards.cols-auto-sm {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.sige-grid-cards.cols-auto-md {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.sige-grid-cards.cols-auto-lg {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}

.sige-grid-cards.cols-auto-xl {
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
}

.sige-grid-cards.cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.sige-grid-cards.cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.sige-grid-cards.cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 768px) {
    .sige-grid-cards.cols-3,
    .sige-grid-cards.cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .sige-grid-cards {
        grid-template-columns: 1fr !important;
    }
}

/* Card-panel row (linha de dados dentro de card-panel-body) */
.sige-card-panel-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
}

.sige-card-panel-row:last-child {
    border-bottom: none;
}

/* Dark Mode - Classes Base */
[data-theme="dark"] .sige-card-panel {
    background: var(--glass-bg, #1e293b);
    border-color: var(--glass-border-teal, #334155);
}

[data-theme="dark"] .sige-card-panel:hover {
    box-shadow: var(--glass-shadow-hover, 0 4px 16px rgba(0, 0, 0, 0.3));
}

[data-theme="dark"] .sige-card-panel-header {
    background: linear-gradient(135deg, #1e293b, #0f172a);
    border-color: var(--glass-border-teal, #334155);
    color: #f1f5f9;
}

[data-theme="dark"] .sige-card-panel-body {
    color: #e2e8f0;
}

[data-theme="dark"] .sige-card-panel-row {
    border-color: #334155;
}

/* ====================================
   ZEBRA STRIPING / ALTERNATING COLORS
   ==================================== */

/* Explicit zebra classes with background + border */
.sige-card.sige-card-blue {
    border-left-color: var(--color-blue);
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.sige-card.sige-card-teal {
    border-left-color: var(--color-green);
    background: linear-gradient(135deg, #f9fefb 0%, #f3faf5 100%);
}

/* Alternative color pairs */
.sige-card.sige-card-white {
    border-left-color: var(--color-blue);
    background: #ffffff;
}

.sige-card.sige-card-gray-light {
    border-left-color: var(--color-indigo);
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

/* Blue/Slate pair */
.sige-card.sige-card-blue-soft {
    border-left-color: var(--color-blue);
    background: linear-gradient(135deg, #f0f7f8 0%, #e0f2fe 100%);
}

.sige-card.sige-card-slate-soft {
    border-left-color: var(--color-indigo);
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

/* Green pair for variety */
.sige-card.sige-card-green-soft {
    border-left-color: var(--color-green);
    background: linear-gradient(135deg, #ecfdf5 0%, #dff0e8 100%);
}

/* Purple pair */
.sige-card.sige-card-purple-soft {
    border-left-color: var(--color-purple);
    background: linear-gradient(135deg, #f5f3ff 0%, #eceaf4 100%);
}

/* Orange pair */
.sige-card.sige-card-orange-soft {
    border-left-color: var(--color-orange);
    background: linear-gradient(135deg, #fffbeb 0%, #f5ecd6 100%);
}

/* Hover effects for zebra cards */
.sige-card.sige-card-blue:hover,
.sige-card.sige-card-teal:hover,
.sige-card.sige-card-blue-soft:hover,
.sige-card.sige-card-slate-soft:hover,
.sige-card.sige-card-green-soft:hover,
.sige-card.sige-card-purple-soft:hover,
.sige-card.sige-card-orange-soft:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow-md);
}

/* ====================================
   UTILITIES
   ==================================== */
.sige-mt-1 { margin-top: 0.25rem; }
.sige-mt-2 { margin-top: 0.5rem; }
.sige-mt-3 { margin-top: 0.75rem; }
.sige-mt-4 { margin-top: 1rem; }
.sige-mb-1 { margin-bottom: 0.25rem; }
.sige-mb-2 { margin-bottom: 0.5rem; }
.sige-mb-3 { margin-bottom: 0.75rem; }
.sige-mb-4 { margin-bottom: 1rem; }

.sige-text-center { text-align: center; }
.sige-text-right { text-align: right; }
.sige-text-left { text-align: left; }

.sige-flex { display: flex; }
.sige-flex-wrap { flex-wrap: wrap; }
.sige-items-center { align-items: center; }
.sige-justify-between { justify-content: space-between; }
.sige-justify-end { justify-content: flex-end; }
.sige-gap-2 { gap: 0.5rem; }
.sige-gap-3 { gap: 0.75rem; }
.sige-gap-4 { gap: 1rem; }

/* ====================================
   MODAL MODERNO
   ==================================== */
.sige-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: var(--glass-true-blur-overlay);
    -webkit-backdrop-filter: var(--glass-true-blur-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.sige-modal-overlay.hidden {
    display: none;
}

.sige-modal {
    background: var(--glass-bg-strong);
    border-radius: var(--radius-xl);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow-lg), var(--glass-inset);
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: modalSlideIn 0.3s ease;
}

/* Tamanhos: xs(30%) sm(40%) md(50%) lg(60%) xl(70%) xxl(85%) full(95%) */
.sige-modal.sige-modal-xs  { width: 30% !important; max-width: 30% !important; min-width: 280px !important; }
.sige-modal.sige-modal-sm  { width: 40% !important; max-width: 40% !important; min-width: 300px !important; }
.sige-modal.sige-modal-md  { width: 50% !important; max-width: 50% !important; min-width: 400px !important; }
.sige-modal.sige-modal-lg  { width: 60% !important; max-width: 60% !important; min-width: 500px !important; }
.sige-modal.sige-modal-xl  { width: 70% !important; max-width: 70% !important; min-width: 600px !important; }
.sige-modal.sige-modal-xxl { width: 85% !important; max-width: 85% !important; min-width: 800px !important; }
.sige-modal.sige-modal-full{ width: 95% !important; max-width: 95% !important; }

/* ====================================
   FIELDSET & CHECKBOX GRID
   ==================================== */
.sige-fieldset {
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-md);
    padding: 15px;
    background: var(--glass-bg);
    box-shadow: var(--glass-inset-subtle);
}

.sige-fieldset legend {
    font-weight: 600;
    font-size: 0.9rem;
    color: #374151;
    padding: 0 8px;
}

.sige-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.sige-checkbox-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border-teal);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.2s ease;
}

.sige-checkbox-item:hover {
    border-color: var(--sige-purple);
    background: #faf5ff;
}

.sige-checkbox-item input[type="checkbox"] {
    accent-color: var(--sige-purple);
}

.sige-checkbox-item input[type="checkbox"]:checked + span {
    color: var(--sige-purple);
    font-weight: 500;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes modalSlideOut {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }
}

/* Modal Header */
.sige-modal-header {
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    flex-shrink: 0;
}

/* Modal Header Colors - UNIFIED with system theme (Blue Primary) + Glass */
.sige-modal-header,
.sige-modal-header-green,
.sige-modal-header-blue,
.sige-modal-header-purple,
.sige-modal-header-orange,
.sige-modal-header-teal,
.sige-modal-header-indigo {
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.94) 0%, rgba(20, 85, 96, 0.96) 50%, rgba(14, 77, 86, 0.98) 100%);
    border-bottom: 1px solid rgba(90, 187, 196, 0.15);
}

/* Special case: Error/Danger modal keeps red */
.sige-modal-header-red { background: var(--sige-red); }

.sige-modal-header-content {
    display: flex;
    align-items: center;
    gap: 15px;
}

.sige-modal-icon {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(90, 187, 196, 0.20);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.sige-modal-title-group {
    display: flex;
    flex-direction: column;
}

.sige-modal-title {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.sige-modal-subtitle {
    font-size: 0.85rem;
    font-weight: 500;
    opacity: 0.95;
    margin: 4px 0 0 0;
}

.sige-modal-close {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(90, 187, 196, 0.18);
    background: rgba(255, 255, 255, 0.10);
    border-radius: var(--radius-full);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-normal);
    font-size: 1rem;
}

.sige-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(90, 187, 196, 0.30);
    transform: rotate(90deg);
}

/* Modal Body */
.sige-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

/* Form Elements */
.sige-form-group {
    margin-bottom: 10px;
}

.sige-form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 4px;
    letter-spacing: 0.3px;
}

.sige-form-label i {
    color: var(--color-blue);
    margin-right: 6px;
    font-size: 0.8rem;
}

.sige-form-input,
.sige-form-select,
.sige-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid var(--input-border);
    border-radius: var(--input-radius);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--input-text);
    background: var(--input-bg);
    transition: var(--input-transition);
    box-shadow: var(--glass-inset-subtle);
}

.sige-form-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}

.sige-form-select option {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    color: var(--layout-content-text, #111827);
    padding: 8px 12px;
    font-weight: 500;
    border-bottom: 1px solid rgba(41, 112, 125, 0.06);
    transition: background 0.15s ease;
}

.sige-form-select option:hover,
.sige-form-select option:checked {
    background: rgba(41, 112, 125, 0.12);
}

.sige-form-input:focus,
.sige-form-select:focus,
.sige-form-textarea:focus {
    outline: none;
    border-color: var(--input-border-focus);
    background: var(--input-bg-focus);
    box-shadow: 0 0 0 var(--input-ring-size) var(--input-ring), var(--glass-inset-subtle);
}

.sige-form-input::placeholder {
    color: var(--input-placeholder);
    font-weight: 400;
}

.sige-form-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 12px;
    margin-bottom: 10px;
}

.sige-form-col-1  { grid-column: span 1; }
.sige-form-col-2  { grid-column: span 2; }
.sige-form-col-3  { grid-column: span 3; }
.sige-form-col-4  { grid-column: span 4; }
.sige-form-col-5  { grid-column: span 5; }
.sige-form-col-6  { grid-column: span 6; }
.sige-form-col-7  { grid-column: span 7; }
.sige-form-col-8  { grid-column: span 8; }
.sige-form-col-9  { grid-column: span 9; }
.sige-form-col-10 { grid-column: span 10; }
.sige-form-col-11 { grid-column: span 11; }
.sige-form-col-12 { grid-column: span 12; }

.sige-form-row .sige-form-group {
    margin-bottom: 0;
}

/* Modal Footer */
.sige-modal-footer {
    padding: 16px 24px;
    background: var(--glass-bg-subtle);
    border-top: 1px solid var(--glass-border-teal);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-shrink: 0;
}

/* Modal Footer with Tab Navigation */
.sige-modal-footer.sige-footer-with-nav {
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.sige-tab-nav-footer {
    flex: 1;
}

.sige-tab-nav-footer:last-child {
    text-align: right;
}

.sige-modal-footer-actions {
    display: flex;
    gap: 10px;
}

/* Navigation Button */
.sige-btn-nav {
    padding: 10px 18px;
    border: 2px solid #29707D;
    border-radius: var(--radius-md, 8px);
    background: white;
    color: #29707D;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.sige-btn-nav:hover {
    background: #29707D;
    color: white;
}

.sige-btn-nav:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Botao Cancelar - Estilo Danger (Vermelho) + Glass */
.sige-btn-cancel,
button.sige-btn-cancel,
.sige-btn-primary.sige-btn-cancel {
    padding: 12px 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--radius-md) !important;
    background: linear-gradient(135deg, rgba(212, 106, 106, 0.92) 0%, rgba(220, 38, 38, 0.96) 100%) !important;
    color: white !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-normal);
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sige-btn-cancel:hover,
button.sige-btn-cancel:hover,
.sige-btn-primary.sige-btn-cancel:hover {
    background: linear-gradient(135deg, #c25454 0%, #a84545 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(212, 106, 106, 0.4) !important;
}

/* Botao Salvar/Submit - Estilo Success (Verde) + Glass */
.sige-btn-submit,
button.sige-btn-submit,
.sige-btn-primary.sige-btn-submit {
    padding: 12px 26px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--radius-md) !important;
    background: linear-gradient(135deg, rgba(61, 158, 120, 0.92) 0%, rgba(5, 150, 105, 0.96) 100%) !important;
    color: white !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-normal);
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sige-btn-submit:hover,
button.sige-btn-submit:hover,
.sige-btn-primary.sige-btn-submit:hover {
    background: linear-gradient(135deg, #2d8a65 0%, #257555 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(61, 158, 120, 0.4) !important;
}

.sige-btn-submit i,
.sige-btn-cancel i {
    font-size: 0.9rem;
}

/* Responsive Modal */
@media (max-width: 768px) {
    .sige-modal-overlay {
        position: fixed;
        align-items: flex-start;
        overflow-y: auto;
        padding: 20px 5%;
    }

    .sige-modal,
    .sige-modal[class*="sige-modal-"] {
        width: 90% !important;
        max-width: 90% !important;
        min-width: auto !important;
        max-height: none !important;
        overflow: visible !important;
        border-radius: 16px !important;
    }

    .sige-modal-header {
        padding: 12px 14px;
        border-radius: 16px 16px 0 0;
    }

    .sige-modal-header-content {
        gap: 10px;
    }

    .sige-modal-icon {
        width: 34px;
        height: 34px;
        font-size: 1rem;
    }

    .sige-modal-title {
        font-size: 0.95rem;
    }

    .sige-modal-subtitle {
        font-size: 0.72rem;
    }

    .sige-modal-close {
        width: 28px;
        height: 28px;
        font-size: 0.8rem;
    }

    .sige-modal-body {
        padding: 14px;
        max-height: none;
        overflow: visible;
    }

    .sige-modal-footer {
        padding: 10px 14px;
        gap: 8px;
        flex-direction: row;
        justify-content: flex-end;
        border-radius: 0 0 16px 16px;
    }

    .sige-modal-footer-actions {
        gap: 8px;
    }

    .sige-btn-cancel,
    .sige-btn-submit {
        padding: 8px 14px !important;
        font-size: 0.75rem !important;
        gap: 5px;
    }

    .sige-btn-submit i,
    .sige-btn-cancel i {
        font-size: 0.7rem;
    }

    .sige-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .sige-form-col-1, .sige-form-col-2, .sige-form-col-3,
    .sige-form-col-4, .sige-form-col-5, .sige-form-col-6,
    .sige-form-col-7, .sige-form-col-8, .sige-form-col-9,
    .sige-form-col-10, .sige-form-col-11, .sige-form-col-12 {
        grid-column: span 1;
    }

    .sige-form-row .sige-form-group {
        margin-bottom: 10px;
    }

    .sige-modal-footer.sige-footer-with-nav {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .sige-modal-footer.sige-footer-with-nav .sige-tab-nav-footer {
        order: 2;
        flex: 0 0 50%;
    }

    .sige-modal-footer.sige-footer-with-nav .sige-modal-footer-actions {
        order: 1;
        flex: 0 0 100%;
        justify-content: center;
        margin-bottom: 10px;
    }

    .sige-btn-cancel,
    .sige-btn-submit {
        width: 100%;
        justify-content: center;
    }

    .sige-modal-footer.sige-footer-with-nav .sige-btn-cancel,
    .sige-modal-footer.sige-footer-with-nav .sige-btn-submit {
        width: auto;
    }
}

/* ====================================
   TOAST NOTIFICATIONS (Mensagens)
   ==================================== */
.sige-toast {
    position: fixed;
    top: 24px;
    right: 24px;
    min-width: 320px;
    max-width: 420px;
    background: var(--glass-bg-strong);
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow-lg), var(--glass-inset);
    display: none;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    z-index: 9998;
    animation: toastSlideIn 0.4s cubic-bezier(0.21, 1.02, 0.73, 1);
    overflow: hidden;
}

.sige-toast.alert-message_active {
    display: flex !important;
}

@keyframes toastSlideIn {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes toastSlideOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100px);
    }
}

/* Toast Icon */
.sige-toast-icon {
    position: relative;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.sige-toast-icon-circle {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #3d9e78, #2d8a65);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.2rem;
    animation: iconPop 0.5s cubic-bezier(0.21, 1.02, 0.73, 1) 0.2s both;
}

.sige-toast-icon-circle.sige-toast-icon-error {
    background: linear-gradient(135deg, #d46a6a, #c25454);
}

@keyframes iconPop {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}

.sige-toast-icon-ring {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 48px;
    border: 3px solid #3d9e78;
    border-radius: 50%;
    animation: ringPulse 1.5s ease-out infinite;
    opacity: 0;
}

.sige-toast-icon-ring.sige-toast-ring-error {
    border-color: #d46a6a;
}

@keyframes ringPulse {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

/* Toast Content */
.sige-toast-content {
    flex: 1;
    min-width: 0;
}

.sige-toast-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 4px 0;
}

.sige-toast-success .sige-toast-title {
    color: #2d8a65;
}

.sige-toast-error .sige-toast-title {
    color: #c25454;
}

.sige-toast-message {
    font-size: 0.9rem;
    font-weight: 500;
    color: #4b5563;
    margin: 0;
    line-height: 1.4;
}

/* Toast Close Button */
.sige-toast-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border: none;
    background: #f3f4f6;
    border-radius: 50%;
    color: #6b7280;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-normal);
    font-size: 0.8rem;
}

.sige-toast-close:hover {
    background: #e5e7eb;
    color: #374151;
}

/* Toast Progress Bar */
.sige-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 100%;
    background: rgba(0, 0, 0, 0.05);
}

.sige-toast-progress::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    animation: progressShrink 5s linear forwards;
}

.sige-toast-progress-success::after {
    background: linear-gradient(90deg, #3d9e78, #2d8a65);
}

.sige-toast-progress-error::after {
    background: linear-gradient(90deg, #d46a6a, #c25454);
}

@keyframes progressShrink {
    from { width: 100%; }
    to { width: 0%; }
}

/* ====================================
   CONFIRMATION DIALOG (Pergunta)
   ==================================== */
.sige-confirm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: var(--glass-true-blur-overlay);
    -webkit-backdrop-filter: var(--glass-true-blur-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.sige-confirm-overlay.hidden {
    display: none;
}

.sige-confirm-dialog {
    background: var(--glass-bg-strong);
    border-radius: var(--radius-xl);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow-lg), var(--glass-inset);
    width: 100%;
    max-width: 400px;
    overflow: hidden;
    animation: confirmBounce 0.4s cubic-bezier(0.21, 1.02, 0.73, 1);
}

@keyframes confirmBounce {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(-20px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes confirmSlideOut {
    0% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
    100% {
        opacity: 0;
        transform: scale(0.9) translateY(-10px);
    }
}

.sige-confirm-header {
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.94) 0%, rgba(20, 85, 96, 0.96) 50%, rgba(14, 77, 86, 0.98) 100%);
    padding: 30px;
    display: flex;
    justify-content: center;
    border-bottom: 1px solid rgba(90, 187, 196, 0.15);
}

.sige-confirm-icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(90, 187, 196, 0.20);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: iconBounce 0.6s ease 0.2s both;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 4px 16px rgba(0, 0, 0, 0.1);
}

.sige-confirm-icon i {
    color: white;
    font-size: 2.5rem;
    animation: questionMark 1s ease infinite;
}

@keyframes iconBounce {
    0% { transform: scale(0); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes questionMark {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}

.sige-confirm-body {
    padding: 28px 24px;
    text-align: center;
}

.sige-confirm-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: #1f2937;
    margin: 0 0 12px 0;
}

.sige-confirm-message {
    font-size: 1rem;
    font-weight: 500;
    color: #4b5563;
    margin: 0;
    line-height: 1.5;
}

.sige-confirm-footer {
    padding: 0 24px 24px;
    display: flex;
    gap: 12px;
    justify-content: center;
}

.sige-confirm-btn {
    flex: 1;
    max-width: 160px;
    padding: 14px 20px;
    border: none;
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--transition-normal);
}

.sige-confirm-btn-cancel {
    background: var(--glass-bg);
    color: #4b5563;
    border: 2px solid var(--glass-border-teal);
    box-shadow: var(--glass-inset-subtle);
}

.sige-confirm-btn-cancel:hover {
    background: var(--glass-bg-strong);
    border-color: rgba(41, 112, 125, 0.2);
}

.sige-confirm-btn-yes {
    background: linear-gradient(135deg, rgba(41, 112, 125, 0.92) 0%, rgba(20, 85, 96, 0.96) 100%);
    color: white;
    border: 1px solid rgba(90, 187, 196, 0.18);
    box-shadow: 0 4px 12px rgba(41, 112, 125, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sige-confirm-btn-yes:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(41, 112, 125, 0.5);
}

.sige-confirm-btn i {
    font-size: 0.9rem;
}

/* Responsive Toast */
@media (max-width: 768px) {
    .sige-toast {
        left: 16px;
        right: 16px;
        min-width: auto;
        max-width: none;
    }

    .sige-confirm-dialog {
        max-width: 90%;
    }

    .sige-confirm-footer {
        flex-direction: column;
    }

    .sige-confirm-btn {
        max-width: 100%;
    }
}

/* ====================================
   LOADER / JANELA DE ESPERA MODERNA
   ==================================== */
.sige-loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(30, 41, 59, 0.95) 100%);
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    animation: loaderFadeIn 0.3s ease;
}

.sige-loader-overlay[style*="display: block"],
.sige-loader-overlay[style*="display:block"] {
    display: flex !important;
}

@keyframes loaderFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.sige-loader-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

/* Animação dos círculos */
.sige-loader-animation {
    position: relative;
    width: 120px;
    height: 120px;
}

.sige-loader-circle {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #29707D;
    animation: loaderSpin 1.5s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite;
}

.sige-loader-circle-2 {
    width: 85%;
    height: 85%;
    top: 7.5%;
    left: 7.5%;
    border-top-color: #3d9e78;
    animation-duration: 2s;
    animation-direction: reverse;
}

.sige-loader-circle-3 {
    width: 70%;
    height: 70%;
    top: 15%;
    left: 15%;
    border-top-color: #8878b8;
    animation-duration: 1s;
}

@keyframes loaderSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Ícone central */
.sige-loader-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #29707D, #3d9e78);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: loaderPulse 1.5s ease-in-out infinite;
    box-shadow: 0 0 30px rgba(41, 112, 125, 0.5);
}

.sige-loader-icon i {
    color: white;
    font-size: 1.4rem;
}

@keyframes loaderPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        box-shadow: 0 0 30px rgba(41, 112, 125, 0.5);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.1);
        box-shadow: 0 0 50px rgba(41, 112, 125, 0.8);
    }
}

/* Texto */
.sige-loader-text {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sige-loader-message {
    color: white;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}

/* Pontos animados */
.sige-loader-dots {
    display: flex;
    gap: 4px;
    padding-left: 2px;
}

.sige-loader-dots span {
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
    animation: loaderDots 1.4s ease-in-out infinite;
}

.sige-loader-dots span:nth-child(1) { animation-delay: 0s; }
.sige-loader-dots span:nth-child(2) { animation-delay: 0.2s; }
.sige-loader-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes loaderDots {
    0%, 80%, 100% {
        opacity: 0.3;
        transform: scale(0.8);
    }
    40% {
        opacity: 1;
        transform: scale(1.2);
    }
}

/* Barra de progresso */
.sige-loader-progress {
    width: 200px;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    overflow: hidden;
}

.sige-loader-progress-bar {
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, #29707D, #3d9e78, #8878b8);
    border-radius: 2px;
    animation: loaderProgress 1.5s ease-in-out infinite;
}

@keyframes loaderProgress {
    0% {
        transform: translateX(-100%);
        width: 40%;
    }
    50% {
        width: 60%;
    }
    100% {
        transform: translateX(350%);
        width: 40%;
    }
}

/* ====================================
   BACKWARD COMPATIBILITY
   Keep old class names working
   ==================================== */
.page-header { text-align: center; padding: 20px; border-radius: 12px; color: white; margin-bottom: 20px; }
.page-header .header-icon { font-size: 2.5rem; margin-bottom: 8px; }
.page-header .header-title { font-size: 1.5rem; font-weight: 700; letter-spacing: 1px; margin: 0; text-transform: uppercase; }
.page-header .header-subtitle { font-size: 0.9rem; opacity: 0.9; margin: 5px 0 0 0; }
/* Legacy Header Colors - UNIFIED with system theme (Blue Primary) + Glass */
.header-green,
.header-blue,
.header-purple,
.header-orange,
.header-cyan,
.header-indigo,
.header-pink,
.header-teal { background: linear-gradient(135deg, rgba(41, 112, 125, 0.92) 0%, rgba(20, 85, 96, 0.95) 50%, rgba(14, 77, 86, 0.97) 100%); border: 1px solid rgba(90, 187, 196, 0.18); box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.08); }

/* Special case: Error/Danger header keeps red */
.header-red { background: var(--sige-red); }

.stats-container { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }
.stat-item { border-radius: 10px; padding: 10px 18px; text-align: center; color: white; min-width: 80px; }
.stat-item.green { background: var(--glass-stat-green); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.blue { background: var(--glass-stat-blue); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.purple { background: var(--glass-stat-purple); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.orange { background: var(--glass-stat-orange); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.pink { background: var(--glass-stat-pink); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.cyan { background: var(--glass-stat-cyan); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.red { background: var(--glass-stat-red); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.teal { background: var(--glass-stat-teal); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-item.indigo { background: var(--glass-stat-indigo); border: 1px solid rgba(255,255,255,0.15); box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12), inset 0 -1px 0 rgba(0,0,0,0.06); }
.stat-label { display: block; font-size: 0.7rem; opacity: 0.85; text-transform: uppercase; }
.stat-value { font-size: 1.5rem; font-weight: 700; }

/* .list-card, .card-order, .card-photo, .card-info, .card-name, .card-badges, .card-actions
   → consolidados com .sige-card-* no topo do ficheiro */

.badge { font-size: 0.7rem; padding: 3px 10px; border-radius: 12px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid rgba(0,0,0,0.04); box-shadow: var(--glass-inset-subtle); }
.badge i { font-size: 0.65rem; }
.badge-blue { background: #d5eef0; color: #0e4d56; }
.badge-green { background: #dff0e8; color: #2d8a65; }
.badge-orange { background: #f5ecd6; color: #966b35; }
.badge-purple { background: #e0e7ff; color: #504898; }
.badge-pink { background: #f2e5ed; color: #8f4d70; }
.badge-red { background: #f5e0e0; color: #c25454; }
.badge-gray { background: #f3f4f6; color: #4b5563; }
.badge-cyan { background: #dff0f4; color: #2d8fa0; }
.badge-teal { background: #ccfbf1; color: #258a7e; }
.badge-indigo { background: #e0e7ff; color: #5c569e; }
.badge-amber { background: #f5ecd6; color: #b38040; }

/* .btn-action, .btn-edit, .btn-delete, .btn-print, .btn-check, .btn-transfer, .btn-view, .btn-add
   → consolidados com .sige-btn na secção ACTION BUTTONS */

.empty-state { text-align: center; padding: 60px 20px; color: #64748b; background: var(--glass-bg-subtle); border: 1px dashed var(--glass-border-teal); border-radius: 12px; box-shadow: var(--glass-inset-subtle); }
.empty-state i { font-size: 48px; margin-bottom: 16px; opacity: 0.5; display: block; }
.empty-state h3 { font-size: 1.1rem; font-weight: 600; margin: 0 0 8px 0; }
.empty-state p { font-size: 0.9rem; margin: 0; }

.loading-state { text-align: center; padding: 40px 20px; color: #29707D; }
.loading-state i { font-size: 2rem; margin-bottom: 12px; }

.search-box { background: #f8fafc; border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.search-hint { font-size: 0.85rem; color: #64748b; margin-top: 8px; }

.tab-nav { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.tab-btn { padding: 10px 20px; border: 2px solid var(--glass-border-teal); border-radius: 10px; background: var(--glass-bg); font-weight: 500; cursor: pointer; transition: all 0.2s ease; box-shadow: var(--glass-inset-subtle); }
.tab-btn:hover { background: var(--glass-bg-strong); border-color: rgba(41,112,125,0.3); }
.tab-btn.active { background: linear-gradient(135deg, rgba(41,112,125,0.92), rgba(20,85,96,0.95)); border-color: rgba(90,187,196,0.25); color: white; box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.12); }

.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 15px; }

/* .turma-card → consolidado com .sige-turma-card no topo */
.turma-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.turma-name { font-size: 1.1rem; font-weight: 700; color: #1f2937; }
.turma-stats { display: flex; gap: 15px; margin-bottom: 12px; }
.turma-stat { text-align: center; }
.turma-stat-value { font-size: 1.25rem; font-weight: 700; color: #29707D; }
.turma-stat-label { font-size: 0.7rem; color: #6b7280; text-transform: uppercase; }

.card-select { padding: 8px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 0.85rem; min-width: 100px; background: white; }
.card-select:focus { outline: none; border-color: #29707D; box-shadow: 0 0 0 2px rgba(41, 112, 125, 0.2); }

/* Responsive de .list-card/.card-* → consolidado na secção RESPONSIVE principal */
@media (max-width: 768px) {
    .stats-container { justify-content: center; }
    .cards-grid { grid-template-columns: 1fr; }
    .page-header { padding: 15px; }
    .page-header .header-icon { font-size: 2rem; }
    .page-header .header-title { font-size: 1.2rem; }
}

/* ====================================
   SIGE BUTTONS (Primary & Secondary)
   ==================================== */
.sige-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--sige-blue);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition-normal);
    text-decoration: none;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.sige-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(41, 112, 125, 0.4);
}

.sige-btn-primary:active {
    transform: translateY(0);
}

.sige-btn-primary i {
    font-size: 0.9rem;
}

.sige-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    background: white;
    color: var(--color-blue);
    border: 2px solid var(--color-blue);
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-normal);
    text-decoration: none;
}

.sige-btn-secondary:hover {
    background: var(--color-blue);
    color: white;
}

.sige-btn-secondary i {
    font-size: 0.85rem;
}

@media (max-width: 768px) {
    .sige-btn-primary {
        padding: 8px 12px;
        font-size: 0.75rem;
        gap: 5px;
    }
    .sige-btn-primary i {
        font-size: 0.7rem;
    }
    .sige-btn-secondary {
        padding: 7px 12px;
        font-size: 0.75rem;
        gap: 5px;
    }
    .sige-btn-secondary i {
        font-size: 0.7rem;
    }
}

/* ====================================
   SIGE CHECKBOX TOGGLE
   ==================================== */
.sige-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

.sige-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.sige-checkbox-toggle {
    position: relative;
    width: 48px;
    height: 26px;
    background: #d1d5db;
    border-radius: 26px;
    transition: var(--transition-normal);
    flex-shrink: 0;
}

.sige-checkbox-toggle::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    transition: var(--transition-normal);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.sige-checkbox:checked + .sige-checkbox-toggle {
    background: var(--sige-blue);
}

.sige-checkbox:checked + .sige-checkbox-toggle::after {
    transform: translateX(22px);
}

.sige-checkbox:focus + .sige-checkbox-toggle {
    box-shadow: 0 0 0 3px rgba(41, 112, 125, 0.2);
}

.sige-checkbox-text {
    font-size: 0.95rem;
    font-weight: 500;
    color: #374151;
}

/* ====================================
   SIGE SEARCHABLE SELECT DROPDOWN
   ==================================== */
.sige-searchable-dropdown {
    position: fixed;
    z-index: 99999;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border: 1px solid rgba(200, 200, 200, 0.45);
    border-radius: var(--radius-lg);
    box-shadow:
        0 12px 40px rgba(41, 112, 125, 0.2),
        0 4px 12px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    max-height: 280px;
    overflow-y: auto;
    scrollbar-width: thin;
    overscroll-behavior: contain;
}

.sige-searchable-item {
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid rgba(41, 112, 125, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: var(--transition-fast);
}

.sige-searchable-item:last-child {
    border-bottom: none;
}

.sige-searchable-item:hover,
.sige-searchable-item.focused {
    background: rgba(41, 112, 125, 0.10);
}

.sige-searchable-item.selected {
    background: rgba(41, 112, 125, 0.14);
}

.sige-searchable-item-content {
    flex: 1;
    min-width: 0;
}

.sige-searchable-item-img {
    width: 28px;
    height: 28px;
    max-width: 28px;
    max-height: 28px;
    border-radius: 6px;
    object-fit: contain;
    flex-shrink: 0;
    border: 1px solid rgba(41, 112, 125, 0.12);
    background: rgba(255, 255, 255, 0.6);
}

.sige-searchable-item-img-fallback {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    flex-shrink: 0;
    background: rgba(41, 112, 125, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(41, 112, 125, 0.5);
    font-size: 0.7rem;
    border: 1px solid rgba(41, 112, 125, 0.10);
}

[data-theme="dark"] .sige-searchable-item-img {
    border-color: rgba(90, 187, 196, 0.15);
    background: rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .sige-searchable-item-img-fallback {
    background: rgba(90, 187, 196, 0.08);
    border-color: rgba(90, 187, 196, 0.12);
    color: rgba(90, 187, 196, 0.5);
}

.sige-searchable-item-name {
    font-weight: 600;
    font-size: 0.9rem;
    color: #1e3a40;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sige-searchable-secondary {
    font-size: 0.78rem;
    color: rgba(41, 112, 125, 0.65);
    margin-top: 2px;
}

.sige-searchable-badge {
    font-size: 0.7rem;
    padding: 3px 10px;
    border-radius: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.sige-searchable-check {
    color: var(--color-blue);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.sige-searchable-empty {
    padding: 24px;
    text-align: center;
    color: rgba(41, 112, 125, 0.45);
    font-size: 0.85rem;
}

.sige-searchable-empty i {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 8px;
    opacity: 0.5;
}

.sige-searchable-container {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: var(--input-radius);
    transition: var(--input-transition);
}

.sige-searchable-input {
    padding-right: 35px !important;
    cursor: pointer;
}

.sige-searchable-arrow {
    position: absolute;
    right: 12px;
    color: var(--input-icon);
    font-size: 12px;
    pointer-events: none;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s ease;
}

.sige-searchable-container:hover .sige-searchable-arrow {
    color: var(--input-icon-focus);
}

.sige-auto-searchable:has(.sige-searchable-dropdown:not(.hidden)) .sige-searchable-arrow {
    transform: rotate(180deg);
    color: var(--input-icon-focus);
}

.sige-searchable-selected {
    border-color: var(--input-border-selected) !important;
    background: var(--input-bg-selected) !important;
}

.sige-searchable-readonly {
    cursor: not-allowed !important;
    background: rgba(41, 112, 125, 0.04) !important;
    opacity: 0.7;
}

/* Estado de erro para campos required vazios */
.sige-searchable-invalid {
    border-color: #ef4444 !important;
    background: rgba(239, 68, 68, 0.06) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}
.sige-searchable-invalid:focus {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25) !important;
}

/* Dark Mode for new components */
[data-theme="dark"] .sige-btn-secondary {
    background: var(--corFundoCard);
    border-color: var(--color-blue);
}

[data-theme="dark"] .sige-checkbox-toggle {
    background: #4b5563;
}

[data-theme="dark"] .sige-checkbox-text {
    color: var(--corTexto);
}

[data-theme="dark"] .sige-searchable-dropdown {
    background: rgba(30, 41, 59, 0.6) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-color: rgba(90, 187, 196, 0.15) !important;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.35),
        0 4px 12px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .sige-searchable-item {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .sige-searchable-item:hover,
[data-theme="dark"] .sige-searchable-item.focused {
    background: rgba(90, 187, 196, 0.12) !important;
}

[data-theme="dark"] .sige-searchable-item.selected {
    background: rgba(90, 187, 196, 0.18) !important;
}

[data-theme="dark"] .sige-searchable-item-name {
    color: var(--corTexto);
}

[data-theme="dark"] .sige-searchable-secondary {
    color: var(--corTextoSecundario);
}

[data-theme="dark"] .sige-searchable-empty {
    color: var(--corTextoTerciario);
}

[data-theme="dark"] .sige-searchable-selected {
    background: var(--input-bg-selected) !important;
    border-color: var(--input-border-selected) !important;
}

[data-theme="dark"] .sige-searchable-readonly {
    background: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .sige-searchable-invalid {
    border-color: #f87171 !important;
    background: rgba(239, 68, 68, 0.1) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2) !important;
}

/* Fallback para browsers sem backdrop-filter */
@supports not (backdrop-filter: blur(1px)) {
    .sige-searchable-dropdown {
        background: rgba(255, 255, 255, 0.92);
    }
    [data-theme="dark"] .sige-searchable-dropdown {
        background: rgba(30, 41, 59, 0.95) !important;
    }
}

/* ====================================
   DARK MODE - SUPORTE COMPLETO
   ==================================== */

/* Cards */
[data-theme="dark"] .sige-card,
[data-theme="dark"] .list-card {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    color: #e2e8f0 !important;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-card:hover,
[data-theme="dark"] .list-card:hover {
    background: var(--glass-bg-strong) !important;
    box-shadow: var(--glass-shadow-hover) !important;
}

[data-theme="dark"] .sige-card-name,
[data-theme="dark"] .card-name,
[data-theme="dark"] .sige-card-name a,
[data-theme="dark"] .card-name a {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .sige-card-name a:hover,
[data-theme="dark"] .card-name a:hover {
    color: #4a9da6 !important;
}

[data-theme="dark"] .sige-card-order,
[data-theme="dark"] .card-order {
    background: #334155 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .sige-card-info,
[data-theme="dark"] .card-info {
    color: #e2e8f0 !important;
}

/* Cards Zebra - Dark Mode */
[data-theme="dark"] .sige-card.sige-card-blue,
[data-theme="dark"] .sige-card.sige-card-white {
    background: linear-gradient(135deg, #1e293b 0%, #0e3d45 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-teal,
[data-theme="dark"] .sige-card.sige-card-gray-light {
    background: linear-gradient(135deg, #1e293b 0%, #1e3a3f 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-blue-soft {
    background: linear-gradient(135deg, #172554 0%, #082e35 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-slate-soft {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-green-soft {
    background: linear-gradient(135deg, #14532d 0%, #166534 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-purple-soft {
    background: linear-gradient(135deg, #3b0764 0%, #581c87 100%) !important;
}

[data-theme="dark"] .sige-card.sige-card-orange-soft {
    background: linear-gradient(135deg, #78350f 0%, #92400e 100%) !important;
}

/* Badges - Dark Mode */
[data-theme="dark"] .sige-badge,
[data-theme="dark"] .badge {
    opacity: 0.95;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

[data-theme="dark"] .sige-badge-blue,
[data-theme="dark"] .badge-blue {
    background: rgba(41, 112, 125, 0.25) !important;
    color: #7abcc2 !important;
}

[data-theme="dark"] .sige-badge-green,
[data-theme="dark"] .badge-green {
    background: rgba(61, 158, 120, 0.25) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .sige-badge-orange,
[data-theme="dark"] .badge-orange,
[data-theme="dark"] .sige-badge-amber,
[data-theme="dark"] .badge-amber {
    background: rgba(201, 154, 80, 0.25) !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .sige-badge-purple,
[data-theme="dark"] .badge-purple {
    background: rgba(136, 120, 184, 0.25) !important;
    color: #c4b5fd !important;
}

[data-theme="dark"] .sige-badge-pink,
[data-theme="dark"] .badge-pink {
    background: rgba(184, 111, 150, 0.25) !important;
    color: #f9a8d4 !important;
}

[data-theme="dark"] .sige-badge-red,
[data-theme="dark"] .badge-red {
    background: rgba(212, 106, 106, 0.25) !important;
    color: #fca5a5 !important;
}

[data-theme="dark"] .sige-badge-gray,
[data-theme="dark"] .badge-gray {
    background: rgba(107, 114, 128, 0.3) !important;
    color: #d1d5db !important;
}

[data-theme="dark"] .sige-badge-cyan,
[data-theme="dark"] .badge-cyan {
    background: rgba(6, 182, 212, 0.25) !important;
    color: #67e8f9 !important;
}

[data-theme="dark"] .sige-badge-teal,
[data-theme="dark"] .badge-teal {
    background: rgba(20, 184, 166, 0.25) !important;
    color: #5eead4 !important;
}

[data-theme="dark"] .sige-badge-indigo,
[data-theme="dark"] .badge-indigo {
    background: rgba(109, 112, 181, 0.25) !important;
    color: #a5b4fc !important;
}

/* Action Buttons - Dark Mode (inclui aliases .btn-edit, .btn-delete, etc.) */
[data-theme="dark"] .sige-btn-action.sige-btn-edit,
[data-theme="dark"] .btn-action.btn-edit,
[data-theme="dark"] .sige-btn.edit,
[data-theme="dark"] .sige-btn-edit,
[data-theme="dark"] .btn-edit {
    background: rgba(41, 112, 125, 0.2) !important;
    color: #7abcc2 !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-edit:hover,
[data-theme="dark"] .btn-action.btn-edit:hover,
[data-theme="dark"] .sige-btn.edit:hover,
[data-theme="dark"] .sige-btn-edit:hover,
[data-theme="dark"] .btn-edit:hover {
    background: #29707D !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-delete,
[data-theme="dark"] .btn-action.btn-delete,
[data-theme="dark"] .sige-btn.delete,
[data-theme="dark"] .sige-btn-delete,
[data-theme="dark"] .btn-delete {
    background: rgba(212, 106, 106, 0.2) !important;
    color: #fca5a5 !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-delete:hover,
[data-theme="dark"] .btn-action.btn-delete:hover,
[data-theme="dark"] .sige-btn.delete:hover,
[data-theme="dark"] .sige-btn-delete:hover,
[data-theme="dark"] .btn-delete:hover {
    background: #d46a6a !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-print,
[data-theme="dark"] .sige-btn-action.sige-btn-check,
[data-theme="dark"] .btn-action.btn-print,
[data-theme="dark"] .btn-action.btn-check,
[data-theme="dark"] .btn-print,
[data-theme="dark"] .btn-check {
    background: rgba(61, 158, 120, 0.2) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-print:hover,
[data-theme="dark"] .sige-btn-action.sige-btn-check:hover,
[data-theme="dark"] .btn-action.btn-print:hover,
[data-theme="dark"] .btn-action.btn-check:hover,
[data-theme="dark"] .btn-print:hover,
[data-theme="dark"] .btn-check:hover {
    background: #3d9e78 !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-view,
[data-theme="dark"] .btn-action.btn-view,
[data-theme="dark"] .btn-view {
    background: rgba(201, 154, 80, 0.2) !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-view:hover,
[data-theme="dark"] .btn-action.btn-view:hover,
[data-theme="dark"] .btn-view:hover {
    background: #c99a50 !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-info,
[data-theme="dark"] .btn-action.btn-info,
[data-theme="dark"] .btn-info {
    background: rgba(6, 182, 212, 0.2) !important;
    color: #67e8f9 !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-info:hover,
[data-theme="dark"] .btn-action.btn-info:hover,
[data-theme="dark"] .btn-info:hover {
    background: #3aa5b8 !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-transfer,
[data-theme="dark"] .btn-action.btn-transfer,
[data-theme="dark"] .btn-transfer {
    background: rgba(109, 112, 181, 0.2) !important;
    color: #a5b4fc !important;
}

[data-theme="dark"] .sige-btn-action.sige-btn-transfer:hover,
[data-theme="dark"] .btn-action.btn-transfer:hover,
[data-theme="dark"] .btn-transfer:hover {
    background: #6d70b5 !important;
    color: white !important;
}

/* Toolbar - Dark Mode */
[data-theme="dark"] .sige-toolbar {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-toolbar-search {
    background: var(--glass-bg-strong) !important;
    border-color: var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-toolbar-search:focus-within {
    border-color: #4a9da6 !important;
    box-shadow: 0 0 0 3px rgba(90, 187, 196, 0.2) !important;
}

[data-theme="dark"] .sige-toolbar-search i {
    color: #64748b !important;
}

[data-theme="dark"] .sige-search-input {
    color: #f1f5f9 !important;
    background: transparent !important;
}

[data-theme="dark"] .sige-search-input::placeholder {
    color: #64748b !important;
}

[data-theme="dark"] .sige-mini-stat {
    background: var(--glass-bg-strong) !important;
    border-color: var(--glass-border-teal) !important;
    color: #94a3b8 !important;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-mini-stat span {
    color: #4a9da6 !important;
}

[data-theme="dark"] .sige-mini-stat small {
    color: #64748b !important;
}

/* Empty State - Dark Mode */
[data-theme="dark"] .sige-empty,
[data-theme="dark"] .empty-state {
    color: #94a3b8 !important;
    background: var(--glass-bg-subtle) !important;
    border-color: var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-empty i,
[data-theme="dark"] .empty-state i {
    color: #64748b !important;
}

[data-theme="dark"] .sige-empty h3,
[data-theme="dark"] .empty-state h3 {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sige-empty p,
[data-theme="dark"] .empty-state p {
    color: #94a3b8 !important;
}

/* Modal - Dark Mode */
[data-theme="dark"] .sige-modal-overlay {
    background: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: var(--glass-true-blur-overlay) !important;
    -webkit-backdrop-filter: var(--glass-true-blur-overlay) !important;
}

[data-theme="dark"] .sige-modal {
    background: var(--glass-bg-strong) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow-lg), var(--glass-inset) !important;
}

[data-theme="dark"] .sige-modal-body {
    background: var(--glass-bg-strong) !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sige-modal-footer {
    background: var(--glass-bg-subtle) !important;
    border-color: var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-btn-nav {
    background: #1e293b;
    border-color: #29707D;
    color: #4a9da6;
}

[data-theme="dark"] .sige-btn-nav:hover {
    background: #29707D;
    color: white;
}

[data-theme="dark"] .sige-form-label {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sige-form-label i {
    color: #4a9da6 !important;
}

[data-theme="dark"] .sige-form-input,
[data-theme="dark"] .sige-form-select,
[data-theme="dark"] .sige-form-textarea {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--input-text) !important;
    box-shadow: var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}

[data-theme="dark"] .sige-form-select option,
[data-theme="dark"] .sige-card-select option {
    background: rgba(30, 41, 59, 0.75) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    color: #f1f5f9 !important;
    border-bottom: 1px solid rgba(90, 187, 196, 0.08) !important;
}

[data-theme="dark"] .sige-form-select option:hover,
[data-theme="dark"] .sige-form-select option:checked,
[data-theme="dark"] .sige-card-select option:hover,
[data-theme="dark"] .sige-card-select option:checked {
    background: rgba(90, 187, 196, 0.15) !important;
}

[data-theme="dark"] .sige-card-select {
    background: var(--glass-bg-subtle) !important;
    border-color: var(--glass-border-teal) !important;
    color: #f1f5f9 !important;
    backdrop-filter: var(--glass-true-blur) !important;
    -webkit-backdrop-filter: var(--glass-true-blur) !important;
}

[data-theme="dark"] .sige-card-select:focus {
    background: rgba(30, 41, 59, 0.80) !important;
    border-color: #4a9da6 !important;
    box-shadow: 0 0 0 2px rgba(90, 187, 196, 0.2), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-form-input:focus,
[data-theme="dark"] .sige-form-select:focus,
[data-theme="dark"] .sige-form-textarea:focus {
    background: var(--input-bg-focus) !important;
    border-color: var(--input-border-focus) !important;
    box-shadow: 0 0 0 var(--input-ring-size) var(--input-ring), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-form-input::placeholder {
    color: var(--input-placeholder) !important;
}

[data-theme="dark"] .sige-btn-cancel {
    background: linear-gradient(135deg, #c25454 0%, #a84545 100%) !important;
    color: white !important;
}

[data-theme="dark"] .sige-btn-cancel:hover {
    background: linear-gradient(135deg, #a84545 0%, #991b1b 100%) !important;
    box-shadow: 0 6px 16px rgba(212, 106, 106, 0.5) !important;
}

[data-theme="dark"] .sige-btn-submit {
    background: linear-gradient(135deg, #2d8a65 0%, #257555 100%) !important;
}

[data-theme="dark"] .sige-btn-submit:hover {
    background: linear-gradient(135deg, #257555 0%, #065f46 100%) !important;
    box-shadow: 0 6px 16px rgba(61, 158, 120, 0.5) !important;
}

/* Form Sections - Dark Mode */
[data-theme="dark"] .sige-form-section {
    border-color: #334155 !important;
}

[data-theme="dark"] .sige-form-section-title {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sige-form-section-title i {
    color: #4a9da6 !important;
}

/* Required Indicator - Dark Mode */
[data-theme="dark"] .sige-required-indicator {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

/* Tab Panels - Dark Mode */
[data-theme="dark"] .sige-tab-panel {
    color: #e2e8f0 !important;
}

/* Field Labels - Dark Mode */
[data-theme="dark"] .sige-field-required label::after {
    color: #f87171 !important;
}

[data-theme="dark"] .sige-field-optional label::after {
    color: #5eb896 !important;
}

/* Toast - Dark Mode */
[data-theme="dark"] .sige-toast {
    background: var(--glass-bg-strong) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow-lg), var(--glass-inset) !important;
}

[data-theme="dark"] .sige-toast-title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .sige-toast-message {
    color: #94a3b8 !important;
}

[data-theme="dark"] .sige-toast-close {
    background: #334155 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .sige-toast-close:hover {
    background: #475569 !important;
    color: #e2e8f0 !important;
}

/* Confirm Dialog - Dark Mode */
[data-theme="dark"] .sige-confirm-dialog {
    background: var(--glass-bg-strong) !important;
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow-lg), var(--glass-inset) !important;
}

[data-theme="dark"] .sige-confirm-body {
    background: var(--glass-bg-strong) !important;
}

[data-theme="dark"] .sige-confirm-title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .sige-confirm-message {
    color: #94a3b8 !important;
}

[data-theme="dark"] .sige-confirm-btn-cancel {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    color: #e2e8f0 !important;
    box-shadow: var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-confirm-btn-cancel:hover {
    background: var(--glass-bg-strong) !important;
}

/* Search Box - Dark Mode */
[data-theme="dark"] .sige-search-box,
[data-theme="dark"] .search-box {
    background: var(--glass-bg) !important;
    border: 1px solid var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-search-hint,
[data-theme="dark"] .search-hint {
    color: #64748b !important;
}

/* Tabs - Dark Mode */
[data-theme="dark"] .sige-tab,
[data-theme="dark"] .tab-btn {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    color: #e2e8f0 !important;
    box-shadow: var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-tab:hover,
[data-theme="dark"] .tab-btn:hover {
    background: var(--glass-bg-strong) !important;
    border-color: rgba(90, 187, 196, 0.3) !important;
}

[data-theme="dark"] .sige-tab.active,
[data-theme="dark"] .tab-btn.active {
    background: linear-gradient(135deg, rgba(10, 61, 69, 0.88), rgba(8, 46, 53, 0.92)) !important;
    border-color: rgba(90, 187, 196, 0.3) !important;
    color: white !important;
    box-shadow: var(--glass-shadow-sm), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* Table - Dark Mode */
[data-theme="dark"] .sige-table {
    background: var(--glass-bg) !important;
}

[data-theme="dark"] .sige-table th {
    background: var(--glass-bg-strong) !important;
    color: #e2e8f0 !important;
    border-color: var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-table td {
    color: #e2e8f0 !important;
    border-color: var(--glass-border-teal) !important;
}

[data-theme="dark"] .sige-table tr:hover {
    background: var(--glass-bg-teal) !important;
}

/* Card Select - Dark Mode */
[data-theme="dark"] .sige-card-select,
[data-theme="dark"] .card-select {
    background: #0f172a !important;
    border-color: #475569 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sige-card-select:focus,
[data-theme="dark"] .card-select:focus {
    border-color: #4a9da6 !important;
    box-shadow: 0 0 0 2px rgba(90, 187, 196, 0.2) !important;
}

/* Info Box - Dark Mode */
[data-theme="dark"] .sige-info-box {
    background: rgba(14, 165, 233, 0.1) !important;
    border-color: rgba(14, 165, 233, 0.3) !important;
    color: #7dd3fc !important;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-info-box.warning {
    background: rgba(201, 154, 80, 0.1) !important;
    border-color: rgba(201, 154, 80, 0.3) !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .sige-info-box.success {
    background: rgba(61, 158, 120, 0.1) !important;
    border-color: rgba(61, 158, 120, 0.3) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .sige-info-box.error {
    background: rgba(212, 106, 106, 0.1) !important;
    border-color: rgba(212, 106, 106, 0.3) !important;
    color: #fca5a5 !important;
}

/* Turma Card - Dark Mode */
[data-theme="dark"] .sige-turma-card,
[data-theme="dark"] .turma-card {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    box-shadow: var(--glass-shadow-sm), var(--glass-inset-subtle) !important;
}

[data-theme="dark"] .sige-turma-card:hover,
[data-theme="dark"] .turma-card:hover {
    background: var(--glass-bg-strong) !important;
    box-shadow: var(--glass-shadow-hover) !important;
}

[data-theme="dark"] .sige-turma-name,
[data-theme="dark"] .turma-name {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .sige-turma-stat-value,
[data-theme="dark"] .turma-stat-value {
    color: #4a9da6 !important;
}

[data-theme="dark"] .sige-turma-stat-label,
[data-theme="dark"] .turma-stat-label {
    color: #94a3b8 !important;
}

/* Stats - Dark Mode */
[data-theme="dark"] .sige-stat,
[data-theme="dark"] .stat-item {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Header - Dark Mode (glass gradient darker) */
[data-theme="dark"] .sige-header,
[data-theme="dark"] .page-header {
    background: linear-gradient(135deg, rgba(10, 61, 69, 0.90) 0%, rgba(8, 50, 58, 0.93) 50%, rgba(7, 40, 47, 0.95) 100%) !important;
    border-color: rgba(90, 187, 196, 0.12) !important;
    box-shadow: var(--glass-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
}

/* Grid - Dark Mode */
[data-theme="dark"] .sige-grid,
[data-theme="dark"] .cards-grid {
    gap: 15px;
}

/* Loading State - Dark Mode */
[data-theme="dark"] .sige-loading,
[data-theme="dark"] .loading-state {
    color: #4a9da6 !important;
}

/* ====================================
   MENU LATERAL - ICONES (LIMPO)
   ==================================== */

/* Icones do menu - estado base */
#menuList li a i,
#menuList li button i,
#menuList i.corIconesAside,
#menuList i.fa {
    display: inline-block !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

/* Icones do menu - hover */
#menuList li a:hover i,
#menuList li button:hover i {
    color: #8ed4db !important;
    transform: scale(1.08) !important;
}

/* Dark mode */
[data-theme="dark"] #menuList li a:hover i,
[data-theme="dark"] #menuList li button:hover i {
    color: #8ed4db !important;
}

/* ==========================================
   HEADER SEARCH WRAPPER - Super Acesso Pesquisa
   (overrides para searchable select no header)
   ========================================== */
.header-search-wrapper.sige-form-group {
    margin: 0;
    width: 280px;
    max-width: 50vw;
}

.header-search-wrapper .sige-searchable-container {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    transition: all 0.25s ease;
}

.header-search-wrapper .sige-searchable-container:hover,
.header-search-wrapper .sige-searchable-container:focus-within {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.35);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}

.header-search-wrapper .sige-form-input.sige-searchable-input {
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 6px 14px 6px 32px;
    letter-spacing: 0.01em;
    box-shadow: none;
}

.header-search-wrapper .sige-form-input.sige-searchable-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
    font-weight: 400;
}

.header-search-wrapper .sige-form-input.sige-searchable-input:focus::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.header-search-wrapper .sige-form-input.sige-searchable-input:focus {
    box-shadow: none;
    border: none;
}

.header-search-wrapper .sige-form-input.sige-searchable-selected {
    background: transparent !important;
    border: none !important;
}

/* Trocar chevron por search icon e reposicionar a esquerda */
.header-search-wrapper .sige-searchable-arrow {
    right: auto;
    left: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    pointer-events: none;
    transition: color 0.2s ease;
}

.header-search-wrapper .sige-searchable-arrow.fa-chevron-down::before {
    content: "\f002"; /* fa-search */
}

.header-search-wrapper .sige-searchable-container:focus-within .sige-searchable-arrow {
    color: rgba(255, 255, 255, 0.95);
    transform: none; /* Nao rodar o icone search */
}

/* Dropdown com glass morphism */
.header-search-wrapper .sige-searchable-dropdown {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border-radius: 12px;
    box-shadow:
        0 12px 40px rgba(41, 112, 125, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    max-height: 360px;
    z-index: 100;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.header-search-wrapper .sige-searchable-item {
    font-size: 0.84rem;
    color: #1e3a40;
    border-bottom-color: rgba(41, 112, 125, 0.06);
}

.header-search-wrapper .sige-searchable-item:hover,
.header-search-wrapper .sige-searchable-item.focused {
    background: rgba(41, 112, 125, 0.10);
    color: #0a3d45;
}

/* Header Search Wrapper - Dark Mode */
[data-theme="dark"] .header-search-wrapper .sige-searchable-container {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .header-search-wrapper .sige-searchable-container:hover,
[data-theme="dark"] .header-search-wrapper .sige-searchable-container:focus-within {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .header-search-wrapper .sige-searchable-dropdown {
    background: rgba(30, 41, 59, 0.6);
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border-color: rgba(90, 187, 196, 0.15);
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.35),
        0 4px 12px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .header-search-wrapper .sige-searchable-item {
    color: #cbd5e1;
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .header-search-wrapper .sige-searchable-item:hover,
[data-theme="dark"] .header-search-wrapper .sige-searchable-item.focused {
    background: rgba(90, 187, 196, 0.12);
    color: #7abcc2;
}

[data-theme="dark"] .header-search-wrapper .sige-form-input.sige-searchable-selected {
    background: transparent !important;
    border: none !important;
}

/* ==========================================
   ANO LECTIVO - Selector no Sidebar
   ========================================== */
.ano-lectivo-wrapper {
    width: 100%;
    padding: 16px 16px 8px;
}

.ano-lectivo-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    transition: all 0.25s ease;
    cursor: pointer;
}

.ano-lectivo-card:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.18);
}

.ano-lectivo-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #29707D, #1b6e7a);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(41, 112, 125, 0.35);
}

.ano-lectivo-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.ano-lectivo-label {
    font-size: 0.68rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
}

.ano-lectivo-card {
    position: relative;
}

.ano-lectivo-select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
    border: none;
    outline: none;
}

.ano-lectivo-ano {
    color: #4ade80;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    pointer-events: none;
}

.ano-lectivo-chevron {
    color: rgba(255, 255, 255, 0.45);
    font-size: 10px;
    margin-left: 2px;
    pointer-events: none;
    transition: color 0.2s ease;
}

.ano-lectivo-card:hover .ano-lectivo-chevron {
    color: rgba(255, 255, 255, 0.7);
}

.ano-lectivo-select option {
    background: var(--layout-content-bg, #ffffff);
    color: var(--layout-content-text, #1e293b);
    font-size: 1.2rem;
    font-weight: 600;
    padding: 10px;
    text-align: center;
}

/* Ano Lectivo - Dark Mode */
[data-theme="dark"] .ano-lectivo-card {
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ano-lectivo-card:hover {
    background: rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .ano-lectivo-icon {
    background: linear-gradient(135deg, #0a3d45, #082e35);
    box-shadow: 0 4px 12px rgba(41, 112, 125, 0.3);
}

[data-theme="dark"] .ano-lectivo-select option {
    background: var(--layout-content-bg, #1e293b);
    color: var(--layout-content-text, #e2e8f0);
}

/* Ano Lectivo - Responsivo */
@media (max-width: 768px) {
    .ano-lectivo-wrapper {
        padding: 12px 12px 6px;
    }

    .ano-lectivo-card {
        padding: 8px 12px;
        gap: 10px;
        border-radius: 12px;
    }

    .ano-lectivo-icon {
        width: 34px;
        height: 34px;
        font-size: 13px;
        border-radius: 8px;
    }

    .ano-lectivo-ano {
        font-size: 1.05rem;
    }

    .ano-lectivo-label {
        font-size: 0.62rem;
    }
}

/* Header Search Wrapper - Responsivo */
@media (max-width: 768px) {
    .header-search-wrapper.sige-form-group {
        width: 160px;
        max-width: 40vw;
    }

    .header-search-wrapper .sige-searchable-container {
        border-radius: 10px;
    }

    .header-search-wrapper .sige-form-input.sige-searchable-input {
        font-size: 0.78rem;
        padding: 5px 10px 5px 28px;
    }

    .header-search-wrapper .sige-searchable-arrow {
        font-size: 12px;
        left: 8px;
    }

    .header-search-wrapper .sige-searchable-dropdown {
        border-radius: 10px;
        max-height: 280px;
    }

    .header-search-wrapper .sige-searchable-item {
        padding: 8px 10px;
        font-size: 0.78rem;
    }
}

/* =====================================================
   DARK MODE GLOBAL - Cobertura para todas as paginas
   Cobre padroes comuns usados em style.css locais
   ===================================================== */

/* --- Filters Section (usado em quase todas as paginas) --- */
[data-theme="dark"] .filters-section,
[data-theme="dark"] .sige-filters-section {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

/* --- Cards genericos (student, agent, teacher, staff, history, honor, divisao, etc.) --- */
[data-theme="dark"] .student-card,
[data-theme="dark"] .agent-card,
[data-theme="dark"] .teacher-card,
[data-theme="dark"] .staff-card,
[data-theme="dark"] .history-card,
[data-theme="dark"] .honor-card,
[data-theme="dark"] .classmate-card,
[data-theme="dark"] .divisao-card,
[data-theme="dark"] .sige-student-card,
[data-theme="dark"] .student-result,
[data-theme="dark"] .log-card,
[data-theme="dark"] .name-card,
[data-theme="dark"] .grade-card,
[data-theme="dark"] .payment-card,
[data-theme="dark"] .profile-card,
[data-theme="dark"] .aula-card,
[data-theme="dark"] .tool-card {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

[data-theme="dark"] .student-card:hover,
[data-theme="dark"] .agent-card:hover,
[data-theme="dark"] .teacher-card:hover,
[data-theme="dark"] .staff-card:hover,
[data-theme="dark"] .history-card:hover,
[data-theme="dark"] .honor-card:hover,
[data-theme="dark"] .classmate-card:hover,
[data-theme="dark"] .divisao-card:hover,
[data-theme="dark"] .sige-student-card:hover,
[data-theme="dark"] .student-result:hover,
[data-theme="dark"] .log-card:hover,
[data-theme="dark"] .name-card:hover,
[data-theme="dark"] .grade-card:hover,
[data-theme="dark"] .aula-card:hover,
[data-theme="dark"] .tool-card:hover {
    background: #273548 !important;
}

/* --- Cards com super-mini-pauta-active --- */
[data-theme="dark"] .divisao-card.super-mini-pauta-active {
    background: rgba(61, 158, 120, 0.1) !important;
}

/* --- Stat cards e stat items --- */
[data-theme="dark"] .stat-card,
[data-theme="dark"] .sige-stat,
[data-theme="dark"] .stat-badge {
    color: #fff !important;
}

[data-theme="dark"] .stat-card {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
}

/* --- Titulos, subtitulos e textos dentro de cards --- */
[data-theme="dark"] .divisao-title,
[data-theme="dark"] .student-name,
[data-theme="dark"] .agent-name,
[data-theme="dark"] .teacher-name,
[data-theme="dark"] .honor-name,
[data-theme="dark"] .history-title,
[data-theme="dark"] .log-title,
[data-theme="dark"] .name-new,
[data-theme="dark"] .card-title,
[data-theme="dark"] .stat-value,
[data-theme="dark"] .grade-value,
[data-theme="dark"] .info-value,
[data-theme="dark"] .detail-value {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .divisao-subtitle,
[data-theme="dark"] .student-num,
[data-theme="dark"] .student-info,
[data-theme="dark"] .agent-info,
[data-theme="dark"] .teacher-info,
[data-theme="dark"] .honor-info,
[data-theme="dark"] .history-subtitle,
[data-theme="dark"] .log-subtitle,
[data-theme="dark"] .log-date,
[data-theme="dark"] .card-subtitle,
[data-theme="dark"] .stat-label,
[data-theme="dark"] .grade-label,
[data-theme="dark"] .info-label,
[data-theme="dark"] .detail-label,
[data-theme="dark"] .detail-item,
[data-theme="dark"] .name-before,
[data-theme="dark"] .name-after {
    color: #94a3b8 !important;
}

/* --- Badges --- */
[data-theme="dark"] .sige-badge,
[data-theme="dark"] .detail-badge {
    background: #334155 !important;
    color: #cbd5e1 !important;
}

/* --- Elementos de ordem/ranking --- */
[data-theme="dark"] .student-order,
[data-theme="dark"] .card-order,
[data-theme="dark"] .history-order,
[data-theme="dark"] .rank-normal {
    background: #334155 !important;
    color: #cbd5e1 !important;
}

/* --- Search boxes --- */
[data-theme="dark"] .search-box,
[data-theme="dark"] .search-box input {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

[data-theme="dark"] .search-box input::placeholder {
    color: #64748b !important;
}

/* --- Labels e textos de formularios --- */
[data-theme="dark"] .bulk-label,
[data-theme="dark"] .filter-label {
    color: #cbd5e1 !important;
}

/* --- Bulk buttons (gerenciadorTrimestres etc.) --- */
[data-theme="dark"] .bulk-btn {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .bulk-btn-I:hover,
[data-theme="dark"] .bulk-btn-I.active {
    background: #29707D !important;
    border-color: #29707D !important;
    color: #fff !important;
}

[data-theme="dark"] .bulk-btn-II:hover,
[data-theme="dark"] .bulk-btn-II.active {
    background: #3d9e78 !important;
    border-color: #3d9e78 !important;
    color: #fff !important;
}

[data-theme="dark"] .bulk-btn-III:hover,
[data-theme="dark"] .bulk-btn-III.active {
    background: #c99a50 !important;
    border-color: #c99a50 !important;
    color: #fff !important;
}

[data-theme="dark"] .bulk-btn-conselho:hover,
[data-theme="dark"] .bulk-btn-conselho.active {
    background: #8878b8 !important;
    border-color: #8878b8 !important;
    color: #fff !important;
}

[data-theme="dark"] .bulk-btn-todos:hover,
[data-theme="dark"] .bulk-btn-todos.active {
    background: #d46a6a !important;
    border-color: #d46a6a !important;
    color: #fff !important;
}

/* --- Toggle checkboxes --- */
[data-theme="dark"] .toggle-slider {
    background-color: #475569 !important;
}

[data-theme="dark"] .toggle-checkbox input:checked + .toggle-slider {
    background: linear-gradient(135deg, #8878b8, #7666a8) !important;
}

[data-theme="dark"] .toggle-checkbox.toggle-I input:checked + .toggle-slider {
    background: linear-gradient(135deg, #29707D, #1b6e7a) !important;
}

[data-theme="dark"] .toggle-checkbox.toggle-II input:checked + .toggle-slider {
    background: linear-gradient(135deg, #3d9e78, #2d8a65) !important;
}

[data-theme="dark"] .toggle-checkbox.toggle-III input:checked + .toggle-slider {
    background: linear-gradient(135deg, #c99a50, #b38040) !important;
}

[data-theme="dark"] .toggle-checkbox.toggle-conselho input:checked + .toggle-slider {
    background: linear-gradient(135deg, #8878b8, #7666a8) !important;
}

[data-theme="dark"] .toggle-checkbox.toggle-todos input:checked + .toggle-slider {
    background: linear-gradient(135deg, #d46a6a, #c25454) !important;
}

/* --- Trimestre toggle labels --- */
[data-theme="dark"] .trimestre-toggle label {
    color: #94a3b8 !important;
}

/* --- Super Mini Pauta buttons --- */
[data-theme="dark"] .super-mini-pauta-btn.inactive {
    background: #334155 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .super-mini-pauta-toggle {
    border-color: var(--ui-card-border) !important;
}

/* --- Grade boxes e items --- */
[data-theme="dark"] .grade-box,
[data-theme="dark"] .grade-item,
[data-theme="dark"] .grade-header {
    background: #273548 !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

/* --- Info cards e sections --- */
[data-theme="dark"] .info-card,
[data-theme="dark"] .info-card-header,
[data-theme="dark"] .comments-section,
[data-theme="dark"] .eval-form-section,
[data-theme="dark"] .indicators-legend,
[data-theme="dark"] .school-list,
[data-theme="dark"] .history-changes,
[data-theme="dark"] .academic-course {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

/* --- Tabelas --- */
[data-theme="dark"] .sige-table th {
    background: var(--ui-table-header-bg) !important;
    color: var(--layout-content-text) !important;
    border-color: var(--ui-card-border) !important;
}

[data-theme="dark"] .sige-table td {
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

[data-theme="dark"] .sige-table tbody tr:nth-child(odd) {
    background: var(--ui-table-row-odd) !important;
}

[data-theme="dark"] .sige-table tbody tr:nth-child(even) {
    background: var(--ui-table-row-even) !important;
}

[data-theme="dark"] .sige-table tbody tr:hover {
    background: #273548 !important;
}

/* --- Sige cards container --- */
[data-theme="dark"] .sige-card {
    background: var(--glass-bg) !important;
    border-color: var(--glass-border-teal) !important;
    color: var(--layout-content-text) !important;
}

/* --- Podium (quadro de honra) --- */
[data-theme="dark"] .podium-container {
    background: linear-gradient(135deg, #1e293b 0%, #273548 100%) !important;
}

[data-theme="dark"] .podium-card {
    background: var(--ui-card-bg) !important;
    color: var(--layout-content-text) !important;
}

/* --- Horarios - dia columns --- */
[data-theme="dark"] .dia-column {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
}

[data-theme="dark"] .dia-header {
    background: #273548 !important;
    color: #cbd5e1 !important;
}

/* --- Diff added/removed (historico) --- */
[data-theme="dark"] .diff-added {
    background: rgba(61, 158, 120, 0.15) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .diff-removed {
    background: rgba(212, 106, 106, 0.15) !important;
    color: #fca5a5 !important;
}

[data-theme="dark"] .name-before {
    background: rgba(212, 106, 106, 0.1) !important;
    border-color: rgba(212, 106, 106, 0.2) !important;
}

[data-theme="dark"] .name-after {
    background: rgba(61, 158, 120, 0.1) !important;
    border-color: rgba(61, 158, 120, 0.2) !important;
}

/* --- Modais locais --- */
[data-theme="dark"] .modal-evaluation,
[data-theme="dark"] .modal-admin-eval {
    background: var(--ui-card-bg) !important;
    color: var(--layout-content-text) !important;
}

/* --- Fotos/avatares com borda --- */
[data-theme="dark"] .student-photo,
[data-theme="dark"] .agent-photo,
[data-theme="dark"] .teacher-photo,
[data-theme="dark"] .classmate-photo {
    border-color: var(--ui-card-border) !important;
}

/* --- Selects dentro de cards (reconfirmados, relatorioDasTurmas) --- */
[data-theme="dark"] .turmaSeleccionar,
[data-theme="dark"] .sige-card-select {
    background: var(--ui-input-bg) !important;
    border-color: var(--ui-input-border) !important;
    color: var(--ui-input-text) !important;
}

/* --- Searchable dropdown --- */
[data-theme="dark"] .searchable-dropdown {
    background: var(--glass-bg-strong) !important;
    border-color: var(--glass-border-teal) !important;
    box-shadow: var(--glass-shadow-lg), var(--glass-inset) !important;
}

[data-theme="dark"] .searchable-item:hover,
[data-theme="dark"] .searchable-item.focused {
    background: rgba(41, 112, 125, 0.15) !important;
}

[data-theme="dark"] .searchable-item.selected {
    background: rgba(41, 112, 125, 0.2) !important;
}

/* --- Filter items (quadro honra etc.) --- */
[data-theme="dark"] .filter-item {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: var(--layout-content-text) !important;
}

[data-theme="dark"] .honor-select,
[data-theme="dark"] .honor-search {
    background: var(--ui-input-bg) !important;
    border-color: var(--ui-input-border) !important;
    color: var(--ui-input-text) !important;
}

/* --- Chat IA --- */
[data-theme="dark"] .sofia-chat.light {
    background: var(--ui-card-bg) !important;
    color: var(--layout-content-text) !important;
}

[data-theme="dark"] .sofia-chat.light .sofia-message.assistant .sofia-message-bubble {
    background: #273548 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .sofia-chat.light .sofia-input-wrapper {
    background: #273548 !important;
    border-color: var(--ui-card-border) !important;
}

[data-theme="dark"] .sofia-chat.light .sofia-suggestion {
    background: #273548 !important;
    border-color: var(--ui-card-border) !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .sofia-chat.light .sofia-header-btn {
    background: #273548 !important;
    color: #cbd5e1 !important;
}

/* --- Mensagens (chat) --- */
[data-theme="dark"] #message {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .submit-button {
    background-color: #0e7490 !important;
}

/* --- Empty state --- */
[data-theme="dark"] .sige-empty,
[data-theme="dark"] .empty-state {
    color: #94a3b8 !important;
}

/* --- Paginacao --- */
[data-theme="dark"] .pagination-btn,
[data-theme="dark"] .page-btn {
    background: var(--ui-card-bg) !important;
    border-color: var(--ui-card-border) !important;
    color: #cbd5e1 !important;
}

[data-theme="dark"] .pagination-btn:hover,
[data-theme="dark"] .page-btn:hover {
    background: #334155 !important;
}

/* --- Tool cards (ferramentasDoAdmin) --- */
[data-theme="dark"] .tool-card-body {
    color: #94a3b8 !important;
}

[data-theme="dark"] .tool-card-title {
    color: #f1f5f9 !important;
}

/* ====================================
   MOBILE: Prevenir auto-zoom em inputs
   iOS Safari faz zoom quando font-size < 16px
   ==================================== */
@media screen and (max-width: 1024px) {
    .sige-form-input,
    .sige-form-select,
    .sige-form-textarea,
    .sige-search-input,
    .sige-card-select,
    .glass-select-trigger,
    .header-search-wrapper .sige-searchable-input,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="search"],
    input[type="url"],
    input[type="date"],
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* ====================================
   SIGE SELECT DROPDOWN (JS create_select)
   ==================================== */
.sige-select-wrapper {
    position: relative;
}

/* Fix z-index quando dropdown esta aberto - eleva o wrapper acima de outros elementos */
.sige-select-wrapper:focus-within {
    z-index: 1001;
}

.sige-select-wrapper:has(.sige-select-dropdown:not(.hidden)) {
    z-index: 1001;
}

/* Fix: Elementos pai com transforms precisam de z-index alto quando contêm dropdown aberto */
.sige-card:has(.sige-select-dropdown:not(.hidden)),
.sige-card:focus-within,
.formularioNotas:has(.sige-select-dropdown:not(.hidden)),
.formularioNotas:focus-within {
    z-index: 100;
    position: relative;
    transform: none !important; /* Remove transform para evitar stacking context issues */
}

.sige-select-container {
    position: relative;
    display: flex;
    align-items: center;
}

.sige-select-search {
    cursor: pointer;
    padding-right: 35px !important;
}

.sige-select-search:not([readonly]) {
    cursor: text;
}

.sige-select-arrow {
    position: absolute;
    right: 12px;
    color: var(--text-secondary, #64748b);
    font-size: 12px;
    pointer-events: none;
    transition: transform 0.2s ease;
}

.sige-select-wrapper:has(.sige-select-dropdown:not(.hidden)) .sige-select-arrow {
    transform: rotate(180deg);
}

.sige-select-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;
    max-height: 250px;
    overflow-y: auto;
    background: var(--glass-bg-strong, rgba(255, 255, 255, 0.95));
    border: 1px solid var(--glass-border, rgba(148, 163, 184, 0.3));
    border-radius: var(--radius-md, 8px);
    box-shadow: var(--glass-shadow-lg, 0 10px 40px rgba(0, 0, 0, 0.15));
    margin-top: 4px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.sige-select-dropdown.hidden {
    display: none;
}

.sige-select-option {
    padding: 10px 14px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    font-size: 14px;
    color: var(--text-primary, #1e293b);
    border-bottom: 1px solid var(--glass-border-light, rgba(148, 163, 184, 0.1));
}

.sige-select-option:last-child {
    border-bottom: none;
}

.sige-select-option:hover,
.sige-select-option.highlighted,
.sige-select-option.focused {
    background: var(--accent-primary-light, rgba(59, 130, 246, 0.1));
}

.sige-select-option.selected {
    background: var(--accent-primary, #3b82f6);
    color: #ffffff;
}

.sige-select-option.selected:hover {
    background: var(--accent-primary-hover, #2563eb);
}

.sige-select-empty {
    padding: 12px 14px;
    text-align: center;
    color: var(--text-muted, #94a3b8);
    font-size: 13px;
    font-style: italic;
}

/* Dark theme para select dropdown */
[data-theme="dark"] .sige-select-dropdown {
    background: var(--ui-card-bg, #1e293b);
    border-color: var(--ui-card-border, #334155);
}

[data-theme="dark"] .sige-select-option {
    color: #e2e8f0;
    border-bottom-color: rgba(148, 163, 184, 0.1);
}

[data-theme="dark"] .sige-select-option:hover,
[data-theme="dark"] .sige-select-option.highlighted,
[data-theme="dark"] .sige-select-option.focused {
    background: rgba(59, 130, 246, 0.2);
}

[data-theme="dark"] .sige-select-option.selected {
    background: var(--accent-primary, #3b82f6);
    color: #ffffff;
}

[data-theme="dark"] .sige-select-empty {
    color: #64748b;
}

[data-theme="dark"] .sige-select-arrow {
    color: #94a3b8;
}
