* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --primary-color: #6366f1;
            --primary-dark: #4f46e5;
            --secondary-color: #10b981;
            --danger-color: #ef4444;
            --warning-color: #f59e0b;
            --surface-color: #ffffff;
            --surface-secondary: #f8fafc;
            --surface-tertiary: #e2e8f0;
            --text-primary: #1e293b;
            --text-secondary: #64748b;
            --text-muted: #94a3b8;
            --border-color: #e2e8f0;
            --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
            --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
            --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);
            --gradient-danger: linear-gradient(135deg, #29ebd9 0%, #219b6f 100%);
        }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
            min-height: 100vh;
            color: var(--text-primary);
            overflow-x: hidden;
        }

        .app-container {
            display: flex;
            height: 100vh;
            position: relative;
        }

        .left-panel {
            flex: 1;
            min-width: 300px;
            background: var(--surface-color);
            border-right: 1px solid var(--border-color);
            padding: 2rem;
            display: flex;
            flex-direction: column;
            transition: none; 
        }

        .right-panel {
            flex: 1.8;
            min-width: 300px;
            background: var(--surface-secondary);
            padding: 1rem 1rem 1rem 1rem;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
            transition: none; 
        }

        .resizer {
            width: 8px;
            background: var(--border-color);
            cursor: col-resize;
            position: relative;
            transition: background-color 0.15s ease; 
            z-index: 10;
            flex-shrink: 0;
        }

        .resizer:hover {
            background: #ebf0f7;
        }

        .resizer:active {
            background: #ebf0f7;
        }

        .resizer::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 3px;
            height: 30px;
            background: var(--text-muted);
            border-radius: 2px;
            opacity: 0.5;
            pointer-events: none;
        }

        .header {
            text-align: center;
            margin-bottom: -20rem;
        }

        .header h1 {
            font-size: 1.875rem;
            font-weight: 700;
            /* background: var(--gradient-primary); */
            background: var(--gradient-success);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
        }

        .header p {
            color: var(--text-secondary);
            font-size: 0.875rem;
        }

        .recording-section {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
        }

        .record-button {
            width: 180px;
            height: 180px;
            border-radius: 50%;
            border: none;
            cursor: pointer;
            font-size: 1rem;
            font-weight: 600;
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            position: relative;
            box-shadow: var(--shadow-lg);
        }

        .record-button.start {
            background: var(--gradient-success);
            color: white;
        }

        .record-button.start:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 10px 10px -5px rgb(0 0 0 / 0.04);
        }

        .record-button.stop {
            color: white;
            animation: pulse 2s infinite;
        }
.record-button.stop .fa-stop{margin:20px 0px -30px 0px; position:relative; display:block;}
.record-button.stop .record-np{float:left; margin:25px 0px 0px 0px;}
        .record-button.stop::before {
            content: '';
            position: absolute;
            background: var(--gradient-danger);
            border-radius: 50%;
            z-index: -1;
            animation: ripple 2s infinite;
            height: 180px;
            width: 180px;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

        @keyframes ripple {
            0% { transform: scale(1); opacity: 1; }
            100% { transform: scale(1.2); opacity: 0; }
        }

        .mic-icon {
            font-size: 3rem;
            z-index: 123;
        }

        .record-time,.record-np {
            font-size: 1.125rem;
            font-weight: 500;
            z-index: 123;
        }

        .status-card {
            width: 100%;
            max-width: 400px;
            padding: 1.5rem;
            border-radius: 1rem;
            /* border: 1px solid var(--border-color); */
            text-align: center;
            font-size: 1rem;
            font-weight: 500;
            transition: all 0.3s ease;
            margin-top: 3rem;
        }

        .status-card.ready {
            background: #f0fdf4;
            color: #166534;
            /* border-color: #bbf7d0; */
        }

        .status-card.recording {
            background: #fef2f2;
            color: #dc2626;
            border-color: #fecaca;
            margin-top: 45px;
        }

        .status-card.processing {
            background: #fffbeb;
            color: #d97706;
            border-color: #fed7aa;
        }

        .sessions-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.0rem;
        }

        .sessions-header h2 {
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--text-primary);
        }

        .session-selector {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .session-select,#type_analiz {
            padding: 0.5rem 1rem;
            border: 1px solid var(--border-color);
            border-radius: 0.5rem;
            background: var(--surface-color);
            color: var(--text-primary);
            font-size: 0.875rem;
            cursor: pointer;
            transition: all 0.2s ease;
            appearance: none;
        }

        .session-select:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgb(151 151 151 / 10%);
        }

        .ai-section {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            height: 100%;
        }

        .ai-card {
            background: var(--surface-color);
            border-radius: 1rem;
            border: 1px solid var(--border-color);
            overflow: hidden;
            box-shadow: var(--shadow-sm);
            transition: all 0.3s ease;
            padding: 0rem 0rem 1rem 0rem;
        }

        .ai-card:hover {
            box-shadow: var(--shadow-md);
        }

        .ai-card-header {
            padding: 1rem 1.5rem 1rem 1.5rem;
            background: #ebf0f7;
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .ai-card-header i {
            color: #000000;
            font-size: 1.125rem;
        }

        .ai-card-header h3 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-primary);
            margin: 0;
            width: 100%;
        }

        .ai-card-content {
            padding: 1rem 1.0rem 1rem 1.5rem;
            min-height: 100px;
            overflow-y: auto;
            height: max-content;
            max-height: max-content;
        }

        .audio-chunks {
            flex: 1;
            min-height: 200px;
            display: none;
        }

        .chunks-list {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            overflow-y: auto;
            padding-bottom: 5rem;
            padding-top: 0rem;
            overflow-x: hidden;
        }

        .chunk-item {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem;
            background: #ebf0f7;
            /* border: 1px solid var(--border-color); */
            border-radius: 0.75rem;
            transition: all 0.2s ease;
        }

        .chunk-item:hover {
        /*background-color:#f9fcff;*/
        }

        .chunk-play {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: none;
            color: white;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
            background: var(--gradient-success);
        }
.chunk-play .fa-play:before {
    content: "\f04b";
    font-size: 16px;
    margin: -1px 0px 0px 3px;
}
        .chunk-play:hover {
            transform: scale(1.1);
            background: var(--gradient-danger);
        }

        .chunk-info {
            flex: 1;
        }

        .chunk-name {
            font-weight: 500;
            color: var(--text-primary);
            font-size: 0.875rem;
        }

        .chunk-meta {
            color: var(--text-muted);
            font-size: 0.75rem;
            margin-top: 0.25rem;
        }

        .transcription-text {
            min-height: 200px;
        }

        .text-content {
            margin: -0.5rem -.5rem 0.5rem -.5rem;
            font-size: 0.875rem;
            line-height: 1.6;
            color: var(--text-secondary);
            max-height: 250px;
            white-space: pre-wrap;
        }

        .text-content.empty {
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-muted);
            font-style: italic;
            margin: 0rem 0rem -0.5rem -0.5rem;
        }

        .summary-section {
            min-height: 150px;
        }

        .summary-content {
            font-size: 0.875rem;
            line-height: 1.6;
            color: var(--text-secondary);
            overflow-y: auto;
            max-height: 555px;
            min-height: 40px;
        }

        .keywords {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            margin-top: 1rem;
            margin-bottom: 0rem;
            float: left;
            clear: both;
            border-top: 1px solid #e2e8f0;
            padding-top: 1rem;
        }

        .keyword-tag {
            background: var(--gradient-success);
            color: white;
            padding: 0.10rem 0.75rem 0.35rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 500;
        }

        .loading-spinner {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 2px solid #0eb07b;
            border-radius: 50%;
            border-top-color: #e91e63;
            animation: spin 1s ease-in-out infinite;
            margin: 0px 0px 0px 21px;
            min-width: 20px;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        .hidden-inputs {
            display: none;
        }

        @media (max-width: 768px) {
            .app-container {
                flex-direction: column;
            }

            .resizer {
                width: 100%;
                height: 8px;
                cursor: row-resize;
            }

            .resizer::after {
                width: 30px;
                height: 3px;
            }

            .left-panel,
            .right-panel {
                min-width: unset;
                height: 50vh;
            }

            .left-panel {
                padding: 1rem;
            }

            .right-panel {
                padding: 1rem;
            }

            .record-button {
                width: 140px;
                height: 140px;
            }

            .mic-icon {
                font-size: 2.5rem;
            }

            .sessions-header {
                flex-direction: column;
                gap: 1rem;
                align-items: stretch;
            }
        }

        @media (max-width: 480px) {
            .header h1 {
                font-size: 1.5rem;
            }

            .record-button {
                width: 120px;
                height: 120px;
            }

            .mic-icon {
                font-size: 2rem;
            }

            .ai-card-content {
                padding: 1rem;
            }
        }


.chunk-transcribe {
    background: #ffffff;
    color: black;
    border: none;
    border-radius: 4px;
    padding: 8px 10px;
    cursor: pointer;
    font-size: 21px;
    transition: background-color 0.2s;
}

.chunk-transcribe:hover {
    background: #0ba875;
color:#FFF;
}

.chunk-transcribe:disabled {
    background: #bdc3c7;
    cursor: not-allowed;
}

::-webkit-scrollbar {
    width: 6px; 
    height: 6px; 
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #d4dbe4, #f8fafc);
    border-radius: 3px;
    transition: background 0.3s;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #09a372, #d4dbe4);
}
* {
    scrollbar-width: thin;
    scrollbar-color: #7f8fa6 transparent;
}
#nero_sum{color: #000000;border-top:2px dotted #c5d6ec;border-bottom:2px dotted #c5d6ec;font-weight:bold;font-size:17px;padding:10px 0 10px 0;margin: -10px 0px 10px 0px;}
#nero_sum p{margin:0px 0px 10px 0px;}
#analit{font-size:15px;}
#analit .br {
  display: block;
  height: 8px; 
}

#analit .first-br {
  height: 16px; 
}













.record-button.listening::before {
    opacity: 1;
    border-color: #10b981;
    box-shadow: 
        0 0 20px rgba(16, 185, 129, 0.6),
        0 0 40px rgba(16, 185, 129, 0.4),
        0 0 60px rgba(16, 185, 129, 0.2),
        inset 0 0 10px rgba(16, 185, 129, 0.3);
    animation: listeningPulse 2s ease-in-out infinite;
}


.record-button.speaking::before {
    opacity: 1;
    box-shadow: 
        0 0 25px rgba(6, 182, 212, 0.6),
        0 0 50px rgba(6, 182, 212, 0.4),
        0 0 80px rgba(6, 182, 212, 0.2),
        inset 0 0 15px rgba(6, 182, 212, 0.3);
    animation: speakingIntensity 0.8s ease-in-out infinite alternate;
    overflow:auto; 
}
.mic-level-indicator {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 140px;
    height: 6px;
    background: rgba(5, 150, 105, 0.2);
    border: 1px solid rgba(16, 185, 129, 0.3);
    border-radius: 3px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(10px);
}

.record-button.listening .mic-level-indicator {
    opacity: 1;
    border-color: rgba(16, 185, 129, 0.5);
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
}

.record-button.speaking .mic-level-indicator {
    opacity: 1;
    border-color: rgba(6, 182, 212, 0.5);
    box-shadow: 0 0 10px rgba(6, 182, 212, 0.3);
}

.mic-level-bar {
    height: 100%;
    border-radius: 2px;
    width: 0%;
    transition: width 0.1s ease;
    position: relative;
    overflow: hidden;
}

.record-button.listening .mic-level-bar {
    background: linear-gradient(
        90deg, 
        #059669 0%,
        #10b981 50%,
        #34d399 100%
    );
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.5);
}

.record-button.speaking .mic-level-bar {
    background: linear-gradient(
        90deg, 
        #0891b2 0%,
        #06b6d4 50%,
        #22d3ee 100%
    );
    box-shadow: 0 0 15px rgba(6, 182, 212, 0.5);
}

.mic-level-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.6),
        transparent
    );
    animation: scan 1.5s infinite;
}
@keyframes orbitRotate {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}




#nero_sum a {color: #7288f7;}
#nero_sum a:hover {color: #B079F3;}
#nero_sum ol, #nero_sum ul {margin-left: 15px;padding: 1.0rem .5rem 1.0rem .5rem;color: #666;}
#nero_sum li {margin-bottom: 0.5rem;}
#nero_sum strong, #nero_sum b {color: #0aa674;}
#nero_sum ol li {} 
#nero_sum ul li {/* color: #ff9800; */}
#nero_sum li input{display:none;}
#nero_sum ul li strong,#nero_sum ul li b{color: #F9BD70;}
#nero_sum ol li strong,#nero_sum ol li b{color: #0aa674;}
#nero_sum ol li p strong,#nero_sum ul li p strong{color: #e91e63;}
#nero_sum i, #nero_sum em {color: #0aa674;font-size: 16px;margin: 0px 6px 0px 0px;}
#nero_sum h1,#nero_sum h1 strong{color: #9EC8FF;line-height:2.2rem;font-size: 20px;} 
#nero_sum h1{margin: 1rem 0;}
#nero_sum h2 ,#nero_sum h2 strong{color: #FFD700;font-size: 20px;}
#nero_sum h2{margin: 1.5rem 0;}
#nero_sum h3,#nero_sum h3 strong{color: #00FF58;font-size: 20px;}
#nero_sum h3{margin: 1rem 0;}
#nero_sum h4,#nero_sum h4 strong{color: #B633FF;font-size: 20px;}
#nero_sum h4{margin: .5rem 0;}
#nero_sum h5,#nero_sum h5 strong{color: #B600FF;font-size: 20px;}
#nero_sum h5{margin: .3rem 0;}
#nero_sum h6,#nero_sum h6 strong{color: #F29595;font-size: 20px;}
#nero_sum h6{margin: .1rem 0;}
#nero_sum li p{display: contents;}
#nero_sum p i,#nero_sum li i{float:left;clear:both;margin: 6px 10px 0px 0px;}






.tagcloud-wrapper {
    display: block;
    margin: 0px 10px 0px 0px;
    float: left;
}
#keywordsList {
    display: none;
}

#keywordsList {
    display: none;
}
#analit strong{color:#000;font-size: 17px;}
#download{float:right; display:block;}
#download svg{width:20px; height:20px; margin:-3px 0px -3px 0px; fill:#a7afba;}
#download:hover svg{fill:#000; cursor:pointer}




.user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 4px;
  background-color: #ebf0f7;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0px;
  margin: 0 -5px 0px 0px;
  z-index: 1;
  min-width: 30px;
  min-height: 30px;
  color: #000;
  }
.user-avatar:hover{cursor:pointer;}
#glmn {
  position: absolute;
  width: 185px;
  height: 85px;
  background-color: #c7e9e1;
  margin: 0px 0px 0px 0px;
  right: 9px;
  top: 51px;
  border-radius: 8px;
  padding: 15px 20px 15px 20px;
  color: #000;
  display: none;
  font-size: 14px;
}

#glmn a{float:left;width:100%;color: #005a3d;text-decoration:none;margin:0px 0px 10px 0px;}
#glmn a:hover{text-decoration:underline;}
#glmn a.exit{text-align: right;
    color: #fff;
    font-size: 13px;
    margin: 8px -9px -24px 5px;
    width: auto;
    float: right;
    background-color: #000;
    border-radius: 4px;
    padding: 0px 5px 3px 5px;}




#anlz{font-weight:100;color: #f7f7f7;margin: -9px -9px -8px 8px;background-color:#0aa573;padding: 4px 8px 5px 8px;border-radius: 8px;font-weight: 600;}
#anlz:hover{cursor:pointer; background-color:#018f61; color:#FFF;}
#type_analiz {
    appearance: none;
    max-width: 212px;
    cursor: pointer;
    margin: -5px -10px -5px 0px;
}
#retryBtn{background: #f39c12;padding: 5px 10px;border-radius: 3px;cursor: pointer;border-radius: 8px; margin: -9px -9px -8px 8px;}
#retryBtn:hover{cursor:pointer; background-color:#d78604; color:#FFF;}