:root {
    --bg-color: #0c0f14;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --accent-color: #25D366;
    --accent-glow: rgba(37, 211, 102, 0.1);
    --text-primary: #f0f2f5;
    --text-secondary: #8696a0;
    --bubble-sent: #005c4b;
    --bubble-received: #202c33;
    --sidebar-width: 350px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background-color: var(--bg-color); color: var(--text-primary); height: 100vh; display: flex; overflow: hidden; }

sidebar { width: var(--sidebar-width); background: var(--glass-bg); backdrop-filter: blur(20px); border-right: 1px solid var(--glass-border); display: flex; flex-direction: column; padding: 24px; z-index: 10; }
h1 { font-family: 'Outfit', sans-serif; font-size: 1.5rem; margin-bottom: 24px; background: linear-gradient(135deg, #25D366, #128C7E); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.drop-zone { border: 2px dashed var(--glass-border); border-radius: 16px; padding: 30px 10px; text-align: center; cursor: pointer; margin-bottom: 20px; transition: 0.3s; }
.drop-zone:hover { border-color: var(--accent-color); background: var(--accent-glow); }

.range-panel { background: rgba(255,255,255,0.03); border-radius: 12px; padding: 20px; margin-top: 20px; border: 1px solid var(--glass-border); }
.range-panel h3 { font-size: 0.9rem; margin-bottom: 15px; color: var(--accent-color); }
.input-group { margin-bottom: 12px; }
.input-group label { display: block; font-size: 0.75rem; color: var(--text-secondary); margin-bottom: 4px; }
.input-group input { width: 100%; background: #000; border: 1px solid var(--glass-border); color: #fff; padding: 8px; border-radius: 6px; }

.btn { display: block; width: 100%; padding: 12px; border-radius: 10px; border: none; font-weight: 600; cursor: pointer; transition: 0.2s; text-align: center; text-decoration: none; }
.btn-primary { background: var(--accent-color); color: #000; }
.btn-secondary { background: rgba(255,255,255,0.1); color: #fff; margin-top: 10px; }
.btn:active { transform: scale(0.98); }

.library-panel { margin-top: 30px; flex: 1; overflow-y: auto; border-top: 1px solid var(--glass-border); padding-top: 20px; }
.library-title { font-size: 0.8rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; }
.library-item { background: rgba(255,255,255,0.03); border-radius: 8px; padding: 10px; margin-bottom: 8px; cursor: pointer; transition: 0.2s; border: 1px solid transparent; }
.library-item:hover { background: rgba(255,255,255,0.08); border-color: var(--glass-border); }
.library-item h4 { font-size: 0.85rem; margin-bottom: 4px; color: #fff; }
.library-item p { font-size: 0.7rem; color: var(--text-secondary); }

.progress-container { display: none; margin-top: 20px; padding: 15px; background: rgba(0,0,0,0.3); border-radius: 12px; }
.progress-bar { height: 6px; background: var(--glass-border); border-radius: 3px; overflow: hidden; margin-bottom: 10px; }
.progress-fill { height: 100%; background: var(--accent-color); width: 0%; transition: width 0.3s; }
.status-step { font-size: 0.75rem; color: var(--text-secondary); display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.status-step.active { color: #fff; font-weight: 600; }
.status-step.done { color: var(--accent-color); }
.status-step i { font-style: normal; }

.chat-view { flex: 1; display: flex; flex-direction: column; background: #0b141a; position: relative; }
.messages { flex: 1; padding: 20px 5%; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; }

.msg { max-width: 70%; padding: 8px 12px; border-radius: 8px; font-size: 0.9rem; position: relative; cursor: pointer; transition: background 0.2s; }
.msg:hover { filter: brightness(1.2); }
.msg.selected { border: 2px solid var(--accent-color); box-shadow: 0 0 10px var(--accent-color); }
.msg.sent { background: var(--bubble-sent); align-self: flex-end; }
.msg.received { background: var(--bubble-received); align-self: flex-start; }
.msg-id { position: absolute; left: -40px; top: 0; font-size: 0.7rem; color: var(--text-secondary); width: 30px; text-align: right; }
.msg.sent .msg-id { left: auto; right: -40px; text-align: left; }
.msg-meta { font-size: 0.65rem; color: rgba(255,255,255,0.5); text-align: right; margin-top: 4px; }
.msg-img { max-width: 100%; border-radius: 4px; margin: 5px 0; }

.loader { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--accent-color); z-index: 100; text-align: center; }
