/* Arquivo: assets/css/lab-letsdaw-theme.css 
   Tema: Industrial Dark (Clean Buttons + Alinhamento Corrigido)
*/

@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;700&family=JetBrains+Mono:wght@400;700&display=swap');

:root {
    --bg-color: #0a0a0a;
    --text-main: #e0e0e0;
    --text-muted: #999999;
    --plasma-purple: #9d4edd;
    --data-green: #00ff41;
    --alert-yellow: #FFD700;
    --glass-bg: rgba(25, 25, 25, 0.85);
    --panel-border: #333;
    --input-bg: #111;
}

/* --- Base & Background --- */
body {
    background-color: var(--bg-color) !important;
    color: var(--text-main) !important;
    font-family: 'JetBrains Mono', monospace !important;
    background-image: radial-gradient(circle at 50% 50%, #151515 0%, #000000 100%);
    font-size: 14px;
}

body::after {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: -1;
}

/* --- Tipografia --- */
h1, h2, h3, h4, .header-subtitle, .welcome-message, .mixbuster-header h3 {
    font-family: 'Chakra Petch', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff !important;
}

a { color: var(--text-main); text-decoration: none; transition: 0.3s; }
a:hover { color: var(--plasma-purple); }

/* --- Containers --- */
.container, .session-container, .aux-master-panel, .upload-area {
    background: var(--glass-bg) !important;
    /* border: 1px solid var(--panel-border) !important; */
    border-radius: 4px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    margin-bottom: 20px;
}

/* --- CORREÇÃO DE ALINHAMENTO DO BASIC CONTROLS --- */
.basic-controls {
    background: #2a2a2a !important;
    border: none !important;
    border-radius: 4px !important;
    margin-bottom: 20px;
    
    /* Flexbox para alinhar tudo em uma linha */
    display: flex !important;
    flex-wrap: wrap !important; /* Permite quebrar linha se a tela for pequena */
    align-items: center !important; /* Centraliza verticalmente */
    justify-content: space-between !important; /* Espalha os itens */
    gap: 15px !important;
    padding: 15px 20px !important;
}

/* Agrupamentos internos para não separar play de stop, etc */
.transport-group, .settings-group {
    display: flex;
    align-items: center;
    gap: 5px;
}

.settings-group {
    flex-shrink: 0;               /* Impede que os botões de settings sejam esmagados */
    margin-left: auto !important; /* Empurra para a direita se houver espaço sobrando */
    gap: 8px !important;
}

/* Ajuste específico para o Pre-Roll ficar alinhado */
.pre-roll-control {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important; /* Remove margens antigas */
}

.pre-roll-control label {
    margin: 0 !important;
    font-size: 10px !important;
    text-transform: uppercase;
}

/* --- Header --- */
.user-info-bar {
    background: #111 !important;
    border-bottom: 1px solid #333 !important;
    color: var(--text-main) !important;
}

.balance-bubble {
    font-family: 'JetBrains Mono', monospace !important;
}

/* --- BOTÕES (Estilo Original Limpo) --- */
button, .button, .buttonload {
    clip-path: none !important;
    border-radius: 4px !important; 
    background-color: #222 !important; 
    border: 1px solid #444 !important;
    color: #e0e0e0 !important;
    font-family: 'Chakra Petch', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    padding: 12px 8px !important; 
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: none !important;
    height: 22px !important; /* Força altura igual para alinhamento */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
}

button:hover, .button:hover, .buttonload:hover {
    background-color: #333 !important;
    border-color: var(--plasma-purple) !important;
    color: #fff !important;
}

button:disabled, .button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border-color: #333 !important;
}

button img, .button img {
    filter: invert(1); 
    vertical-align: middle;
}

/* --- Inputs e Selects --- */
input[type="text"], input[type="number"], input[type="file"], select {
    background-color: var(--input-bg) !important;
    border: 1px solid #333 !important;
    border-radius: 4px !important;
    color: #fff !important;
    font-family: 'JetBrains Mono', monospace !important;
    padding: 0 10px !important;
    height: 36px !important; /* Altura igual aos botões */
    box-sizing: border-box;
}

input:focus, select:focus {
    outline: none;
    border-color: var(--plasma-purple) !important;
    background-color: #1a1a1a !important;
}


/* --- Upload Area --- */
.custom-file-upload {
    border: 1px solid #444 !important;
    background: #111 !important;
    color: var(--text-muted) !important;
    border-radius: 4px !important;
    font-family: 'Chakra Petch', sans-serif !important;
}
.custom-file-upload:hover {
    border-color: var(--text-main) !important;
    color: var(--text-main) !important;
}

/* --- Displays --- */
.time-display {
    background: #000 !important;
    color: var(--data-green) !important;
    border: 1px solid #333 !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 1rem !important;
    border-radius: 4px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    min-width: 95px !important; 
    letter-spacing: 0px !important; /* Menos preenchimento interno */
}

.rms-meters {
    max-width: 150px !important;  
    flex-grow: 0 !important;      /* Impede que cresça demais */
    margin-left: 5px !important;
}

.meter-display-group {
    background: rgba(0,0,0,0.5) !important;
    border: 1px solid #333 !important;
    border-radius: 4px !important;
}

.sub-meter-value {
    color: var(--data-green) !important;
    font-family: 'JetBrains Mono', monospace !important;
}

.knob-group {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid #222 !important;
    border-radius: 4px !important;
}

.site-footer {
    background: #00000000 !important;
    color: #555 !important;
}

/* Modais */
.channel-edit-modal { background-color: rgba(0, 0, 0, 0.8) !important; }
.modal-content, .modal-content-large, .modal-content-small {
    background: #151515 !important;
    border: 1px solid #444 !important;
    color: var(--text-main) !important;
    border-radius: 6px !important;
}
.modal-header {
    background: #222 !important;
    border-bottom: 1px solid #333 !important;
    border-radius: 6px 6px 0 0 !important;
}
.close-button { color: #888 !important; }
.close-button:hover { color: #fff !important; }

/* --- BACKGROUND CUBES (ANIMAÇÃO 3D) --- */
.bg-cube-wrapper {
    /* Garante que fique atrás de tudo */
    z-index: 0 !important; 
    pointer-events: none;
}

.bg-cube {
    width: var(--bg-cube-size, 50px);
    height: var(--bg-cube-size, 50px);
    position: relative;
    transform-style: preserve-3d;
    will-change: transform;
}

.bg-cube-rotator {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

/* Faces do Cubo */
.cube-face {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(15, 15, 15, 0.1); /* Bem sutil */
    border: 1px solid rgba(157, 78, 221, 0.2); /* Roxo fraco */
    box-shadow: 0 0 15px rgba(157, 78, 221, 0.05);
    opacity: 0.5;
    filter: blur(0.2);
}

/* Posicionamento das faces para formar o 3D */
.cube-face.front  { transform: rotateY(0deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }
.cube-face.back   { transform: rotateY(180deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }
.cube-face.right  { transform: rotateY(90deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }
.cube-face.left   { transform: rotateY(-90deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }
.cube-face.top    { transform: rotateX(90deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }
.cube-face.bottom { transform: rotateX(-90deg) translateZ(calc(var(--bg-cube-size, 50px) / 2)); }

/* Animações */
@keyframes anim-rotate1 {
    0% { transform: rotate3d(1, 1, 1, 0deg); }
    100% { transform: rotate3d(1, 1, 1, 360deg); }
}
@keyframes anim-rotate2 {
    0% { transform: rotate3d(1, -1, 0, 0deg); }
    100% { transform: rotate3d(1, -1, 0, -360deg); }
}
@keyframes anim-float {
    0%, 100% { transform: translateY(0) rotateZ(0deg); }
    50% { transform: translateY(-20px) rotateZ(5deg); }
}

.anim-rotate1 { animation: anim-rotate1 linear infinite; }
.anim-rotate2 { animation: anim-rotate2 linear infinite; }
.anim-float { animation: anim-float ease-in-out infinite; }


/* Estilos do Modal de Upgrade (Se não estiverem no CSS global) */
    #cube-upgrade-modal-static {
        background: rgba(0,0,0,0.95);
        display: none; /* Controlado via JS */
        position: fixed; top: 0; left: 0; width: 100%; height: 100%;
        z-index: 9999;
        align-items: center; justify-content: center;
        backdrop-filter: blur(5px);
    }
    .upgrade-modal-content {
        background: #111;
        border: 1px solid var(--alert-yellow);
        padding: 40px;
        text-align: center;
        max-width: 500px;
        box-shadow: 0 0 30px rgba(255, 215, 0, 0.2);
    }
    .upgrade-modal-title {
        color: var(--alert-yellow);
        font-family: 'Chakra Petch', sans-serif;
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    .upgrade-modal-text { color: #ccc; font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; margin-bottom: 10px; }
    .upgrade-modal-text2 { color: #888; font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; margin-bottom: 30px; }
    .upgrade-modal-btn {
        display: inline-block;
        padding: 15px 30px;
        border: 1px solid var(--alert-yellow);
        color: var(--alert-yellow);
        text-decoration: none;
        font-family: 'Chakra Petch';
        transition: all 0.3s ease;
    }
    .upgrade-modal-btn:hover { background: rgba(255, 215, 0, 0.1); box-shadow: 0 0 15px var(--alert-yellow); }