@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Syne:wght@600;700;800&display=swap";:root{--bg-deep:#0f1419;--bg:#161c24;--bg-elevated:#1e2630;--bg-hover:#263040;--border:#2c3848;--text:#e8eef4;--text-muted:#8b9aab;--accent:#4a9b7a;--accent-soft:#4a9b7a2e;--accent-strong:#3d8668;--bubble-self:#243d34;--bubble-other:#243040;--danger:#c45c4a;--highlight:#e8c45a59;--radius:14px;--font-display:"Syne", sans-serif;--font-body:"Figtree", sans-serif;--sidebar-w:280px;--panel-w:360px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text);-webkit-font-smoothing:antialiased}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 10% -10%,#4a9b7a1f,#0000 50%),radial-gradient(60% 40% at 90% 110%,#2a5a8c1a,#0000 45%),repeating-linear-gradient(0deg,#0000,#0000 3px,#ffffff03 3px 4px);position:fixed;inset:0}#root{z-index:1;position:relative}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.app{grid-template-columns:var(--sidebar-w) 1fr;max-width:1400px;height:100%;margin:0 auto;display:grid}@media (width>=801px){.mobile-menu{display:none}}@media (width<=800px){.app{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{z-index:20;width:100%;display:flex;position:fixed;inset:0}}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#161c24eb;flex-direction:column;gap:1rem;height:100%;min-height:0;padding:1.25rem 1rem;display:flex;overflow:hidden}.brand{font-family:var(--font-display);letter-spacing:-.03em;padding:.25rem .5rem;font-size:1.35rem;font-weight:800;line-height:1.15}.brand span{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem;font-size:.7rem;font-weight:600;display:block}.conv-list{flex-direction:column;flex:auto;gap:.35rem;min-height:12rem;display:flex;overflow-y:auto}.conv-item-wrap{align-items:stretch;gap:.35rem;display:flex}.conv-item-wrap.nested{border-left:2px solid #4a9b7a40;margin-left:.85rem;padding-left:.55rem}.conv-item-wrap .conv-item{flex:1;min-width:0}.conv-compare{letter-spacing:.02em;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;flex:none;align-self:stretch;padding:0 .55rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.conv-compare:hover{color:var(--text);background:var(--bg-hover)}.conv-compare.on{color:var(--accent);background:var(--accent-soft);border-color:#4a9b7a73}.conv-item{text-align:left;border-radius:10px;padding:.75rem .85rem;transition:background .15s}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--accent-soft);outline:1px solid #4a9b7a59}.conv-item.secondary-active{background:#2a6f972e;outline:1px solid #2a6f9766}.conv-item.active.secondary-active{outline:1px solid #4a9b7a59}.conv-item strong{margin-bottom:.15rem;font-weight:600;display:block}.conv-item small{color:var(--text-muted);font-size:.8rem}.chat-prep-wrap{border-top:1px solid var(--border);flex-shrink:0;padding-top:.5rem}.chat-prep-wrap.expanded{flex-direction:column;flex:none;min-height:0;display:flex}.chat-prep-toggle{width:100%;color:var(--text-muted);border-radius:10px;justify-content:center;align-items:center;padding:.55rem;transition:background .15s,color .15s;display:flex}.chat-prep-toggle:hover,.chat-prep-toggle.open{background:var(--bg-hover);color:var(--text)}.chat-prep{flex-direction:column;flex:none;gap:.5rem;padding-top:.65rem;display:flex}.chat-prep-title{font-family:var(--font-display);padding:0 .35rem;font-size:.95rem;font-weight:700}.chat-prep-hint{color:var(--text-muted);margin:0;padding:0 .35rem;font-size:.75rem;line-height:1.35}.dropzone{border:1px dashed var(--border);background:var(--bg);min-height:4.5rem;color:var(--text-muted);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.75rem;font-size:.85rem;transition:border-color .15s,background .15s,color .15s;display:flex;position:relative}.dropzone.dragging,.dropzone:hover{background:var(--accent-soft);color:var(--text);border-color:#4a9b7a8c}.dropzone small{opacity:.8;font-size:.7rem}.dropzone-input{opacity:0;cursor:pointer;position:absolute;inset:0}.prep-files{flex-direction:column;gap:.2rem;max-height:6rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.prep-files li{background:var(--bg-elevated);border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .35rem;font-size:.75rem;display:flex}.prep-files li span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.prep-file-remove{width:1.4rem;height:1.4rem;color:var(--text-muted);border-radius:4px;font-size:1rem;line-height:1}.prep-file-remove:hover{color:var(--danger);background:#c45c4a26}.prep-field{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.prep-field .text-input{padding:.45rem .6rem;font-size:.85rem}.prep-overwrite{color:var(--text-muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.prep-result{color:var(--accent);margin:0;font-size:.75rem;line-height:1.4}.main{background:#0f14198c;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.toolbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#161c24d9;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.toolbar h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 auto 0 0;font-size:1.1rem;font-weight:700}.view-as{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.view-as select{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:8px;max-width:12rem;padding:.35rem .55rem}.view-as select:focus{outline:1px solid #4a9b7a80}.panel-toggle{width:2.25rem;height:2.25rem;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.panel-toggle:hover{color:var(--text);background:var(--bg-hover)}.panel-toggle.active{color:var(--text);background:var(--accent-soft)}.side-panel-tabs{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.2rem;padding:.55rem .55rem .55rem .65rem;display:flex}.side-tab{color:var(--text-muted);border-radius:8px;padding:.4rem .65rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.side-tab:hover{color:var(--text);background:var(--bg-hover)}.side-tab.active{color:var(--text);background:var(--accent-soft)}.side-panel-close{width:1.85rem;height:1.85rem;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;margin-left:auto;font-size:1.25rem;line-height:1;display:inline-flex}.side-panel-close:hover{color:var(--text);background:var(--bg-hover)}.tab-btn{color:var(--text-muted);border-radius:8px;padding:.4rem .75rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.tab-btn:hover{color:var(--text);background:var(--bg-hover)}.tab-btn.active{color:var(--text);background:var(--accent-soft)}.content-row{flex:1;min-height:0;display:flex;overflow:hidden}.chat-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.dual-chat{flex-direction:column;flex:1;min-height:0;display:flex}.dual-chat-toolbar{border-bottom:1px solid var(--border);background:#0000001f;flex-shrink:0;align-items:center;gap:.75rem;padding:.45rem .85rem;display:flex}.dual-chat-headers{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr 1fr;gap:0;display:grid}.dual-chat-header{color:var(--text-muted);border-right:1px solid var(--border);padding:.45rem .85rem;font-size:.8rem;font-weight:600}.dual-chat-header:last-child{border-right:none}.dual-chat-split{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.dual-chat-pane{border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}.dual-chat-pane:last-child{border-right:none}.dual-linked{flex:1;min-height:0}.dual-day-sep{grid-column:1/-1}.dual-pair-row{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.dual-pair-cell{border-right:1px solid #ffffff0a;min-width:0;padding:0 .15rem}.dual-pair-cell:last-child{border-right:none}.dual-gap{background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#ffffff05 6px 12px);border:1px dashed #ffffff0f;border-radius:10px;min-height:100%;margin:.35rem .5rem}.stats-source-block+.stats-source-block{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.25rem}.stats-source-title{color:var(--text);margin:0 0 1rem;font-size:1rem;font-weight:650}@media (width<=900px){.dual-chat-headers,.dual-chat-split,.dual-pair-row{grid-template-columns:1fr}.dual-chat-header:first-child,.dual-chat-pane:first-child,.dual-pair-cell:first-child{border-bottom:1px solid var(--border)}}.load-progress{color:var(--text-muted);background:var(--accent-soft);border-bottom:1px solid var(--border);flex-shrink:0;padding:.4rem 1rem;font-size:.8rem}.side-panel{width:var(--panel-w);border-left:1px solid var(--border);background:#161c24f2;flex-direction:column;display:flex;overflow:hidden}@media (width<=1000px){.side-panel{z-index:10;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #0006}}.panel-header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:1rem;display:flex}.panel-header-slim{justify-content:flex-end;padding:.55rem 1rem}.panel-header h2{font-size:1rem;font-family:var(--font-display);flex:1;margin:0}.search-count{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.search-truncated{color:var(--text-muted);margin:0 0 .75rem;font-size:.8rem}.search-history{margin-bottom:1rem}.search-history-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.75rem;font-weight:600}.search-history-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.search-history-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.25rem;display:flex}.search-history-term{text-align:left;border-radius:8px;flex:1;align-items:center;gap:.5rem;min-width:0;padding:.45rem .55rem;display:flex}.search-history-term:hover{background:var(--bg-hover)}.search-history-query{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.search-history-count{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem}.search-history-remove{width:1.75rem;height:1.75rem;color:var(--text-muted);border-radius:6px;flex-shrink:0;margin-right:.2rem;font-size:1.1rem;line-height:1}.search-history-remove:hover{color:var(--danger);background:#c45c4a26}.panel-body{flex:1;padding:1rem;overflow-y:auto}.search-input,.text-input{border:1px solid var(--border);background:var(--bg);border-radius:10px;outline:none;width:100%;padding:.65rem .85rem;transition:border-color .15s}.search-input:focus,.text-input:focus{border-color:var(--accent)}.chat-with-timeline{flex:1;min-height:0;display:flex;position:relative}.chat-scroll{flex:1;padding:1rem 4.5rem 2rem 1.25rem;overflow-y:auto}.chat-timeline{z-index:2;pointer-events:none;width:3.75rem;position:absolute;top:.75rem;bottom:1.5rem;right:.35rem}.chat-timeline-rail{background:linear-gradient(#0000,#8b9aab59 8% 92%,#0000);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;right:.55rem}.chat-timeline-mark{pointer-events:auto;width:100%;min-height:1.25rem;color:var(--text-muted);opacity:.55;justify-content:flex-end;align-items:center;gap:.35rem;padding:.35rem 0;transition:opacity .15s,color .15s;display:flex;position:absolute;right:0;transform:translateY(-50%)}.chat-timeline-mark:not(.labeled){opacity:.4}.chat-timeline-mark:hover,.chat-timeline-mark.active{opacity:1;color:var(--text);z-index:3}.chat-timeline-mark.active{color:var(--accent)}.chat-timeline-dot{background:var(--border);border:1.5px solid var(--bg-elevated);border-radius:50%;flex-shrink:0;order:2;width:7px;height:7px;margin-right:.3rem;transition:background .15s,transform .15s}.chat-timeline-mark:not(.labeled) .chat-timeline-dot{opacity:.85;width:5px;height:5px}.chat-timeline-mark:hover .chat-timeline-dot,.chat-timeline-mark.active .chat-timeline-dot{background:var(--accent);opacity:1;transform:scale(1.15)}.chat-timeline-label{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;background:#161c24d9;border-radius:4px;order:1;padding:.1rem .3rem;font-size:.65rem;font-weight:600}.chat-timeline-mark:hover .chat-timeline-label,.chat-timeline-mark.active .chat-timeline-label{background:var(--accent-soft)}.chat-timeline-mark:not(.labeled):hover:after,.chat-timeline-mark:not(.labeled).active:after{content:attr(title);font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid var(--border);color:var(--text);pointer-events:none;z-index:4;background:#161c24f2;border-radius:4px;padding:.15rem .35rem;font-size:.65rem;font-weight:600;position:absolute;right:1.15rem}.day-sep{justify-content:center;margin:1.25rem 0 .75rem;display:flex}.day-sep span{color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;font-size:.75rem;font-weight:600}.msg{flex-direction:column;align-items:flex-start;max-width:min(640px,92%);margin-bottom:.45rem;scroll-margin:80px;display:flex}.msg.self{align-items:flex-end;margin-left:auto}.msg.highlight .bubble{box-shadow:0 0 0 2px var(--highlight);animation:1.2s pulse-hl}@keyframes pulse-hl{0%{box-shadow:0 0 0 4px var(--highlight)}to{box-shadow:0 0 0 2px #0000}}.bubble{background:var(--bubble-other);white-space:pre-wrap;word-break:break-word;border-radius:16px 16px 16px 4px;padding:.65rem .9rem;line-height:1.45;position:relative}.msg.self .bubble{background:var(--bubble-self);border-radius:16px 16px 4px}.bubble.unsent{color:var(--text-muted);font-style:italic}.msg-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:.2rem;padding:0 .25rem;font-size:.7rem;display:flex}.media-badge{color:var(--accent);margin-top:.35rem;font-size:.75rem;font-weight:500;display:inline-block}.reactions{gap:.25rem;margin-top:.25rem;font-size:.85rem;display:flex}.tag-chips{flex-wrap:wrap;gap:.25rem;margin-top:.35rem;display:flex}.tag-chip{color:#fff;border-radius:6px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.fav-btn{color:var(--text-muted);opacity:.5;border-radius:4px;justify-content:center;align-items:center;padding:.12rem;transition:opacity .15s,color .15s,background .15s;display:inline-flex}.msg:hover .fav-btn,.fav-btn.on{opacity:1}.fav-btn.on{color:#e53935}.fav-btn:hover{opacity:1;background:var(--bg-hover)}.msg-actions{opacity:0;transition:opacity .15s}.msg:hover .msg-actions{opacity:1}.icon-btn{color:var(--text-muted);border-radius:6px;padding:.2rem .4rem;font-size:.7rem}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.hit-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;margin-bottom:.75rem;padding:.85rem;transition:border-color .15s}.hit-card:hover{border-color:var(--accent)}.hit-card .snippet{margin:.4rem 0;font-size:.9rem}.hit-card mark{background:var(--highlight);color:inherit;border-radius:2px;padding:0 .1rem}.context-preview{border-top:1px solid var(--border);color:var(--text-muted);max-height:120px;margin-top:.5rem;padding-top:.5rem;font-size:.75rem;overflow:hidden}.context-line{white-space:nowrap;text-overflow:ellipsis;padding:.1rem 0;overflow:hidden}.context-line.focus{color:var(--text);font-weight:600}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:.85rem}.stat-card .label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.stat-card .value{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.chart-block{margin-bottom:1.5rem}.chart-block-head{flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:.75rem;display:flex}.chart-block-head h3{margin:0}.chart-block h3{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem;font-weight:600}.filter-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);align-items:center;gap:.45rem;margin-top:.55rem;font-size:.8rem;display:inline-flex}.filter-toggle input{accent-color:var(--danger);cursor:pointer;width:.95rem;height:.95rem}.filter-toggle.danger-toggle{color:var(--danger);font-weight:600}.chart-block-head .filter-toggle{margin-top:0}.word-cloud{flex-wrap:wrap;gap:.4rem;display:flex}.word-pill{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.25rem .55rem;font-size:.8rem}.tag-form{gap:.5rem;margin-bottom:1rem;display:flex}.tag-form input[type=color]{cursor:pointer;background:0 0;border:none;width:42px;height:42px;padding:0}.btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:10px;padding:.55rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s}.btn:hover{background:var(--accent-strong)}.btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}.btn.ghost:hover{background:var(--bg-hover)}.btn.danger{color:var(--danger);background:0 0;border:1px solid #0000}.btn.danger:hover{border-color:var(--danger)}.tag-row{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:.55rem .65rem;display:flex}.tag-row .swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}.tag-row .name{flex:1;font-size:.9rem;font-weight:500}.tag-picker{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.tag-picker label{cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.4rem;display:flex}.tag-picker label:hover{background:var(--bg-hover)}.empty{color:var(--text-muted);text-align:center;padding:3rem 1rem}.empty h2{font-family:var(--font-display);color:var(--text);margin-bottom:.5rem}.loading{text-align:center;color:var(--text-muted);padding:2rem}.error{color:var(--danger);padding:1rem}.chat-pane[data-theme=messenger]{--chat-bg:#f0f2f5;--chat-text:#050505;--chat-text-muted:#65676b;--chat-bubble-self:#0084ff;--chat-bubble-self-text:#fff;--chat-bubble-other:#e4e6eb;--chat-bubble-other-text:#050505;--chat-day-bg:#ffffffd9;--chat-day-border:transparent;--chat-day-text:#65676b;--chat-meta:#65676b;--chat-media:#0084ff;--chat-radius-self:18px 18px 4px 18px;--chat-radius-other:18px 18px 18px 4px;--chat-timeline-dot:#bcc0c4;--chat-timeline-label-bg:#f0f2f5f2;--chat-highlight:#0084ff59;background:var(--chat-bg);color:var(--chat-text)}.chat-pane[data-theme=whatsapp]{--chat-bg:#efeae2;--chat-text:#111b21;--chat-text-muted:#667781;--chat-bubble-self:#d9fdd3;--chat-bubble-self-text:#111b21;--chat-bubble-other:#fff;--chat-bubble-other-text:#111b21;--chat-day-bg:#e1f2fa;--chat-day-border:transparent;--chat-day-text:#54656f;--chat-meta:#667781;--chat-media:#027eb5;--chat-radius-self:8px 0 8px 8px;--chat-radius-other:0 8px 8px 8px;--chat-timeline-dot:#adb5bd;--chat-timeline-label-bg:#efeae2f2;--chat-highlight:#25d36666;color:var(--chat-text);background:linear-gradient(#efeae2eb,#efeae2eb),repeating-linear-gradient(-12deg,#0000,#0000 11px,#00000004 11px 12px),radial-gradient(at 20% 30%,#00000008,#0000 50%),#efeae2}.chat-pane[data-theme=messenger] .chat-scroll,.chat-pane[data-theme=whatsapp] .chat-scroll{background:0 0}.chat-pane[data-theme=messenger] .day-sep span,.chat-pane[data-theme=whatsapp] .day-sep span{background:var(--chat-day-bg);border-color:var(--chat-day-border);color:var(--chat-day-text);font-weight:500;box-shadow:0 1px 2px #00000014}.chat-pane[data-theme=messenger] .bubble{border-radius:var(--chat-radius-other);background:var(--chat-bubble-other);color:var(--chat-bubble-other-text);box-shadow:none}.chat-pane[data-theme=messenger] .msg.self .bubble{border-radius:var(--chat-radius-self);background:var(--chat-bubble-self);color:var(--chat-bubble-self-text)}.chat-pane[data-theme=whatsapp] .bubble{border-radius:var(--chat-radius-other);background:var(--chat-bubble-other);color:var(--chat-bubble-other-text);padding:.45rem .65rem .5rem;box-shadow:0 1px .5px #0b141a21}.chat-pane[data-theme=whatsapp] .msg.self .bubble{border-radius:var(--chat-radius-self);background:var(--chat-bubble-self);color:var(--chat-bubble-self-text)}.chat-pane[data-theme=messenger] .msg-meta,.chat-pane[data-theme=whatsapp] .msg-meta{color:var(--chat-meta)}.chat-pane[data-theme=messenger] .media-badge,.chat-pane[data-theme=whatsapp] .media-badge{color:var(--chat-media)}.chat-pane[data-theme=messenger] .msg.self .media-badge{color:#ffffffe6}.chat-pane[data-theme=messenger] .msg.self .media-badge a{color:inherit}.chat-pane[data-theme=messenger] .bubble.unsent,.chat-pane[data-theme=whatsapp] .bubble.unsent{color:var(--chat-text-muted)}.chat-pane[data-theme=messenger] .msg.self .bubble.unsent{color:#ffffffbf}.chat-pane[data-theme=messenger] .msg.highlight .bubble,.chat-pane[data-theme=whatsapp] .msg.highlight .bubble{box-shadow:0 0 0 2px var(--chat-highlight)}.chat-pane[data-theme=messenger] .icon-btn:hover,.chat-pane[data-theme=whatsapp] .icon-btn:hover{color:var(--chat-text);background:#0000000f}.chat-pane[data-theme=messenger] .chat-timeline-rail,.chat-pane[data-theme=whatsapp] .chat-timeline-rail{background:linear-gradient(#0000,#0000001f 8% 92%,#0000)}.chat-pane[data-theme=messenger] .chat-timeline-mark,.chat-pane[data-theme=whatsapp] .chat-timeline-mark{color:var(--chat-text-muted)}.chat-pane[data-theme=messenger] .chat-timeline-mark:hover,.chat-pane[data-theme=messenger] .chat-timeline-mark.active,.chat-pane[data-theme=whatsapp] .chat-timeline-mark:hover,.chat-pane[data-theme=whatsapp] .chat-timeline-mark.active{color:var(--chat-text)}.chat-pane[data-theme=messenger] .chat-timeline-mark.active{color:#0084ff}.chat-pane[data-theme=whatsapp] .chat-timeline-mark.active{color:#00a884}.chat-pane[data-theme=messenger] .chat-timeline-dot,.chat-pane[data-theme=whatsapp] .chat-timeline-dot{background:var(--chat-timeline-dot);border-color:var(--chat-bg)}.chat-pane[data-theme=messenger] .chat-timeline-mark:hover .chat-timeline-dot,.chat-pane[data-theme=messenger] .chat-timeline-mark.active .chat-timeline-dot{background:#0084ff}.chat-pane[data-theme=whatsapp] .chat-timeline-mark:hover .chat-timeline-dot,.chat-pane[data-theme=whatsapp] .chat-timeline-mark.active .chat-timeline-dot{background:#00a884}.chat-pane[data-theme=messenger] .chat-timeline-label,.chat-pane[data-theme=whatsapp] .chat-timeline-label{background:var(--chat-timeline-label-bg);color:var(--chat-text)}.chat-pane[data-theme=messenger] .chat-timeline-mark:hover .chat-timeline-label,.chat-pane[data-theme=messenger] .chat-timeline-mark.active .chat-timeline-label{background:#0084ff1f}.chat-pane[data-theme=whatsapp] .chat-timeline-mark:hover .chat-timeline-label,.chat-pane[data-theme=whatsapp] .chat-timeline-mark.active .chat-timeline-label{background:#00a88426}.chat-pane[data-theme=messenger] .chat-timeline-mark:not(.labeled):hover:after,.chat-pane[data-theme=messenger] .chat-timeline-mark:not(.labeled).active:after,.chat-pane[data-theme=whatsapp] .chat-timeline-mark:not(.labeled):hover:after,.chat-pane[data-theme=whatsapp] .chat-timeline-mark:not(.labeled).active:after{background:var(--chat-timeline-label-bg);color:var(--chat-text);border-color:#00000014}.chat-pane[data-theme=messenger] .load-progress,.chat-pane[data-theme=whatsapp] .load-progress{color:var(--chat-text-muted);background:#0000000a;border-bottom-color:#00000014}.chat-pane[data-theme=messenger] .loading,.chat-pane[data-theme=whatsapp] .loading,.chat-pane[data-theme=messenger] .empty,.chat-pane[data-theme=whatsapp] .empty{color:var(--chat-text-muted)}.login-page{place-items:center;min-height:100%;padding:2rem 1rem;display:grid}.login-card{border-radius:var(--radius);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e2630eb;flex-direction:column;gap:.9rem;width:min(100%,380px);padding:2rem 1.75rem;display:flex;box-shadow:0 24px 48px #00000059}.login-brand{padding:0}.login-lead{color:var(--text-muted);margin:0;font-size:.9rem}.login-error{padding:.5rem 0;font-size:.875rem}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-field span{color:var(--text-muted);font-size:.8rem;font-weight:600}.login-field input,.admin-create input,.admin-edit input{border:1px solid var(--border);background:var(--bg-deep);border-radius:10px;outline:none;padding:.65rem .75rem}.login-field input:focus,.admin-create input:focus,.admin-edit input:focus{border-color:#4a9b7a8c}.login-submit{width:100%;margin-top:.35rem;padding:.7rem}.user-bar{flex-wrap:wrap;align-items:center;gap:.4rem;padding:0 .5rem;display:flex}.user-bar-name{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.8rem;overflow:hidden}.user-bar .btn{padding:.35rem .6rem;font-size:.75rem}.admin-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c10b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-panel{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;gap:1.1rem;width:min(100%,560px);max-height:min(90vh,720px);padding:1.25rem 1.35rem 1.5rem;display:flex;overflow:auto}.admin-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-header h2{font-family:var(--font-display);margin:0;font-size:1.25rem}.admin-create,.admin-list{flex-direction:column;gap:.65rem;display:flex}.admin-create h3,.admin-list h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.85rem}.admin-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}@media (width<=520px){.admin-row{grid-template-columns:1fr}}.admin-row label,.admin-edit label:not(.admin-check){color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.admin-check{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.admin-folders{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:.35rem;padding:.65rem .75rem;display:flex}.admin-folders>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.admin-hint{color:var(--text-muted);margin:0;font-size:.85rem}.admin-user{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:.35rem;padding:.75rem .85rem;display:flex}.admin-user-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-user-head strong{font-weight:600}.admin-user-actions{gap:.35rem;margin-left:auto;display:flex}.admin-user-actions .btn{padding:.3rem .55rem;font-size:.75rem}.admin-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.admin-user small{color:var(--text-muted);font-size:.8rem}.admin-edit{border-top:1px solid var(--border);flex-direction:column;gap:.55rem;margin-top:.5rem;padding-top:.65rem;display:flex}.admin-edit-actions{gap:.5rem;display:flex}
