/* 
   SUMAENIMÁ HUB — MATERIAL YOU & GLASS (v1.6.0)
   Estética Pura Gemini/Android 16.
*/

:root {
    --sm-glass-blur: blur(24px);
}

/* ── Base & Typography ── */
html { scroll-behavior: smooth; }
body { 
    background: var(--md-sys-color-surface); 
    color: var(--md-sys-color-on-surface); 
    -webkit-font-smoothing: antialiased; 
    overflow-x: hidden;
    font-family: 'Lexend', sans-serif;
}

/* ── Custom Scrollbars (Soft Zinc) ── */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { 
    background: var(--md-sys-color-outline); 
    border-radius: 20px;
}
::-webkit-scrollbar-thumb:hover { background: var(--md-sys-color-primary); }

/* ── Global Utility Overrides (Semantic) ── */
*, ::before, ::after {
    border-color: var(--md-sys-color-outline);
}
.text-brand { color: var(--md-sys-color-primary); }
.text-success { color: var(--md-sys-color-primary); } /* Usando primary para sucesso por enquanto, ou adicionar token de sucesso */

/* ── Material Components (Over-rounded) ── */
md-outlined-text-field, md-outlined-select, md-slider {
    --md-sys-color-primary: var(--md-sys-color-primary);
    --md-sys-color-outline: var(--md-sys-color-outline);
    --md-outlined-text-field-container-shape: var(--sm-radius-inner);
    --md-outlined-select-container-shape: var(--sm-radius-inner);
    --md-sys-typescale-body-large-font: 'Lexend';
}

md-outlined-text-field[type="textarea"],
md-outlined-text-field[type="textarea"]::part(input),
md-outlined-text-field[type="textarea"]::part(textarea) {
    resize: none !important;
}

md-filled-button {
    --md-filled-button-container-shape: var(--sm-radius-pill);
    --md-sys-color-primary: var(--md-sys-color-primary);
    --md-sys-color-on-primary: var(--md-sys-color-on-primary);
}

md-dialog {
    --md-dialog-container-shape: var(--sm-radius-card);
    --md-sys-color-surface-container-high: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline);
}
 
/* ── Design System Utilities (M3) ── */
.md-surface-container {
    background: var(--md-sys-color-surface-container);
    border: 1px solid var(--md-sys-color-outline);
}
.sm-glass-overlay { background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); }
.rounded-card { border-radius: var(--sm-radius-card); }
.rounded-pill { border-radius: var(--sm-radius-pill); }

/* ── Sidebar & Layout (Glassmorphism M3) ── */
#sidebar {
    transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    background: var(--sm-glass-bg);
    backdrop-filter: var(--sm-glass-blur);
    border-right: 1px solid var(--md-sys-color-outline);
}
.sidebar-open { transform: translateX(0) !important; }

/* ── Mission Control Components (Futuristic MD3 FAB) ── */
#btn-iniciar {
    --md-fab-container-width: 112px !important;
    --md-fab-container-height: 112px !important;
    --md-fab-container-shape: 9999px !important; /* Círculo Perfeito */
    --md-fab-icon-size: 40px !important;
    
    /* Configurações do Host para evitar caixas pretas e bordas retangulares */
    background: transparent !important;
    border: none !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

/* Estado Idle (Pronto para Gravar - Breathing Aura) */
#btn-iniciar[variant="primary"] {
    --md-fab-container-color: var(--md-sys-color-primary) !important;
    --md-fab-icon-color: var(--md-sys-color-on-primary) !important;
    animation: m3-pulse-primary 3s infinite ease-in-out;
}
#btn-iniciar[variant="primary"]:hover {
    transform: scale(1.08);
    box-shadow: 0 0 30px rgba(168, 199, 250, 0.55) !important;
}

/* Estado Gravando (Ativo - Red Alert Glow) */
#btn-iniciar[variant="error"] {
    --md-fab-container-color: var(--md-sys-color-error) !important;
    --md-fab-icon-color: rgb(71, 0, 0) !important;
    transform: scale(1.05);
    animation: m3-pulse-recording 1.5s infinite ease-in-out;
}
#btn-iniciar[variant="error"]:hover {
    transform: scale(1.12);
    box-shadow: 0 0 35px rgba(248, 113, 113, 0.75) !important;
}

/* Estado Bloqueado/Processamento (Desativado) */
#btn-iniciar[variant="surface"] {
    --md-fab-container-color: var(--md-sys-color-surface-container-high) !important;
    --md-fab-icon-color: var(--md-sys-color-outline) !important;
    opacity: 0.65;
    transform: scale(0.95);
    animation: none !important;
    box-shadow: none !important;
}

/* Customização do Termômetro e Progresso MD3 */
md-linear-progress {
    --md-linear-progress-active-indicator-color: var(--md-sys-color-primary);
    --md-linear-progress-track-color: rgba(255, 255, 255, 0.05);
    --md-linear-progress-track-shape: 4px;
    height: 6px !important;
}

/* Animações de Pulsação */
@keyframes m3-pulse-primary {
    0%, 100% { box-shadow: 0 0 15px rgba(168, 199, 250, 0.2); }
    50% { box-shadow: 0 0 30px rgba(168, 199, 250, 0.45); }
}

@keyframes m3-pulse-recording {
    0%, 100% { box-shadow: 0 0 18px rgba(248, 113, 113, 0.35); }
    50% { box-shadow: 0 0 38px rgba(248, 113, 113, 0.85); }
}

/* ── Live Transcript (Neural Flow) ── */
#live-transcript-container {
    scrollbar-width: none;
}
#live-transcript-container::-webkit-scrollbar { display: none; }

.commit-glow {
    animation: neural-commit 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes neural-commit {
    0%   { color: var(--md-sys-color-primary); text-shadow: 0 0 15px rgba(168, 199, 250, 0.5); transform: translateY(0); }
    50%  { color: var(--md-sys-color-primary-container); transform: translateY(-1px); }
    100% { color: var(--md-sys-color-on-surface); transform: translateY(0); }
}

#live-cursor {
    animation: blink 1.2s infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* ── Button Customizations (High Legibility & State Clarity) ── */
md-filled-button {
    --md-filled-button-container-shape: var(--sm-radius-pill);
    --md-sys-color-primary: var(--md-sys-color-primary);
    --md-sys-color-on-primary: var(--md-sys-color-on-primary);
    font-weight: 600;
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease !important;
}
md-filled-button[variant="success"] {
    --md-filled-button-container-color: var(--md-sys-color-success) !important;
    --md-filled-button-label-text-color: var(--md-sys-color-on-success) !important;
}
md-filled-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(168, 199, 250, 0.2) !important;
}
md-filled-button[variant="success"]:hover {
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25) !important;
}
md-filled-button:active {
    transform: translateY(0);
}

md-outlined-button {
    --md-outlined-button-container-shape: var(--sm-radius-pill);
    --md-outlined-button-label-text-color: var(--md-sys-color-primary);
    --md-outlined-button-outline-color: var(--md-sys-color-outline);
    --md-outlined-button-hover-label-text-color: #ffffff;
    --md-outlined-button-hover-outline-color: var(--md-sys-color-primary);
    --md-outlined-button-focus-label-text-color: #ffffff;
    --md-outlined-button-focus-outline-color: var(--md-sys-color-primary);
    font-weight: 600;
    transition: all 0.2s ease !important;
}
md-outlined-button:hover {
    background: rgba(168, 199, 250, 0.08) !important;
}

md-text-button {
    --md-text-button-label-text-color: var(--md-sys-color-on-surface-variant);
    --md-text-button-hover-label-text-color: var(--md-sys-color-primary);
    --md-text-button-hover-state-layer-color: rgba(168, 199, 250, 0.08);
    font-weight: 600;
    transition: all 0.2s ease !important;
}
md-text-button[disabled] {
    opacity: 0.4;
}

/* Align full-width menu text buttons to the left */
md-text-button.w-full::part(button) {
    justify-content: flex-start;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* ── Whisper Slider & Components ── */
md-slider {
    width: 100% !important;
    --md-slider-active-track-color: var(--md-sys-color-primary);
    --md-slider-inactive-track-color: var(--md-sys-color-outline);
    --md-slider-handle-color: var(--md-sys-color-primary);
    --md-slider-hover-handle-color: var(--md-sys-color-primary);
    --md-slider-focus-handle-color: var(--md-sys-color-primary);
    margin-top: 0;
    margin-bottom: 0;
}

/* ── Terminal Híbrido (Glass Pill) ── */
#visual-terminal {
    background: transparent;
    color: var(--md-sys-color-primary);
    backdrop-filter: blur(12px);
    border-radius: 0;
    border: none;
    outline: none !important;
    box-shadow: none !important;
}

/* ── Project Item Design ── */
.project-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
    border-radius: var(--sm-radius-inner);
    color: var(--md-sys-color-on-surface);
    border: 1px solid transparent;
}
.project-item:hover {
    background: rgba(168, 199, 250, 0.08);
    color: #ffffff;
}
.project-item.active {
    background: rgba(168, 199, 250, 0.15);
    border-color: rgba(168, 199, 250, 0.3);
    color: var(--md-sys-color-primary);
}
.proj-name {
    flex: 1;
    font-size: 0.85rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}
.btn-del {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: transparent;
    border: none;
    color: var(--md-sys-color-error);
    cursor: pointer;
    opacity: 0.55;
    transition: all 0.2s ease;
}
.btn-del:hover {
    background: var(--md-sys-color-error-hover-bg);
    color: var(--md-sys-color-error);
    opacity: 1;
}

/* ── Visibility Utilities ── */
.recording-mode #section-cockpit {
    box-shadow: 0 0 80px rgba(248, 113, 113, 0.05) !important;
}

/* ── Feedback Animations ── */
.animate-shake {
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}

.recording-mode #section-config {
    opacity: 0.4;
    pointer-events: none;
    filter: blur(2px);
}

/* ── Perfect Cockpit Badge Alignment & Styling (v2.0.7) ── */
#connection-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#connection-badge span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

#connection-badge-emoji {
    font-size: 14px !important;
    margin-right: 4px !important;
}

#connection-badge-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

/* ── Material Chips (M3 Standard) ── */
md-filter-chip {
    --md-filter-chip-selected-container-color: rgba(168, 199, 250, 0.15) !important;
    --md-filter-chip-selected-label-text-color: var(--md-sys-color-primary) !important;
    --md-filter-chip-selected-leading-icon-color: var(--md-sys-color-primary) !important;
    --md-filter-chip-unselected-label-text-color: var(--md-sys-color-on-surface) !important;
    --md-filter-chip-unselected-border-color: var(--md-sys-color-outline) !important;
    --md-filter-chip-hover-state-layer-color: rgba(168, 199, 250, 0.08) !important;
    --md-filter-chip-container-shape: var(--sm-radius-inner) !important;
    --md-filter-chip-label-text-font: 'Lexend' !important;
}

md-assist-chip {
    --md-assist-chip-container-color: var(--md-sys-color-surface-container) !important;
    --md-assist-chip-label-text-color: var(--md-sys-color-on-surface) !important;
    --md-assist-chip-icon-color: var(--md-sys-color-primary) !important;
    --md-assist-chip-outline-color: var(--md-sys-color-outline) !important;
    --md-assist-chip-container-shape: var(--sm-radius-inner) !important;
    --md-assist-chip-label-text-font: 'Lexend' !important;
}

/* ── Material Switch (M3 Standard) ── */
md-switch {
    --md-switch-selected-handle-color: var(--md-sys-color-on-primary) !important;
    --md-switch-selected-track-color: var(--md-sys-color-primary) !important;
    --md-switch-unselected-handle-color: var(--md-sys-color-outline) !important;
    --md-switch-unselected-track-color: var(--md-sys-color-surface-container-high) !important;
    --md-switch-selected-hover-handle-color: var(--md-sys-color-on-primary) !important;
    --md-switch-selected-hover-track-color: var(--md-sys-color-primary) !important;
    --md-switch-unselected-hover-handle-color: var(--md-sys-color-primary) !important;
    --md-switch-unselected-hover-track-color: var(--md-sys-color-surface-container-high) !important;
}

/* ── Outlined Components Explicit Overrides ── */
md-outlined-text-field {
    --md-outlined-text-field-outline-color: var(--md-sys-color-outline) !important;
    --md-outlined-text-field-focus-outline-color: var(--md-sys-color-primary) !important;
    --md-outlined-text-field-hover-outline-color: rgba(255, 255, 255, 0.15) !important;
    --md-outlined-text-field-input-text-color: var(--md-sys-color-on-surface) !important;
    --md-outlined-text-field-label-text-color: var(--md-sys-color-on-surface-variant) !important;
}

md-outlined-select {
    --md-outlined-select-outline-color: var(--md-sys-color-outline) !important;
    --md-outlined-select-focus-outline-color: var(--md-sys-color-primary) !important;
    --md-outlined-select-hover-outline-color: rgba(255, 255, 255, 0.15) !important;
    --md-outlined-select-text-color: var(--md-sys-color-on-surface) !important;
}
