*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #fafaf9;--color-text: #1c1917;--color-text-secondary: #57534e;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-border: #e7e5e4;--color-surface: #ffffff;--color-surface-alt: #f5f5f4;--color-accent: #dbeafe;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--max-width: 1080px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.dash{display:flex;min-height:100vh}.dash-sidebar{width:220px;background:var(--color-surface);border-right:1px solid var(--color-border);padding:1.25rem .75rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.dash-logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em;padding:0 .75rem;margin-bottom:1.5rem}.dash-nav{display:flex;flex-direction:column;gap:.2rem}.dash-nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:6px;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);transition:background .15s,color .15s}.dash-nav-item:hover{background:var(--color-surface-alt);color:var(--color-text)}.dash-nav-item.active{background:var(--color-accent);color:var(--color-primary)}.dash-sidebar-footer{margin-top:auto;border-top:1px solid var(--color-border);padding-top:.75rem}.dash-main{flex:1;margin-left:220px;padding:2rem;background:var(--color-bg);min-height:100vh}@media(max-width:768px){.dash-sidebar{width:60px;padding:1rem .5rem}.dash-logo{font-size:0;padding:0;margin-bottom:1rem;text-align:center}.dash-logo:first-letter{font-size:1.35rem}.dash-nav-item{justify-content:center;padding:.6rem;font-size:0;gap:0}.dash-nav-item svg{width:20px;height:20px}.dash-main{margin-left:60px;padding:1rem}}@media(max-width:480px){.dash{flex-direction:column}.dash-sidebar{position:fixed;inset:auto 0 0;width:100%;height:auto;flex-direction:row;align-items:center;justify-content:space-around;padding:.5rem .25rem;border-right:none;border-top:1px solid var(--color-border);background:var(--color-surface)}.dash-logo{display:none}.dash-nav{flex-direction:row;gap:0;flex:1;justify-content:space-around}.dash-nav-item{flex-direction:column;gap:.2rem;padding:.4rem .75rem;font-size:.65rem;text-align:center}.dash-nav-item svg{width:20px;height:20px}.dash-sidebar-footer{margin-top:0;border-top:none;padding-top:0;display:flex}.dash-sidebar-footer .dash-nav-item{flex-direction:column;gap:.2rem;font-size:.65rem}.dash-main{margin-left:0;padding:1rem 1rem 5rem;min-height:calc(100vh - 60px)}}.dash-page{max-width:960px}.dash-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;color:#fff}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.35rem}.stat-label{font-size:.8rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.dash-section{margin-bottom:2rem}.dash-section-title{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.chart-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.dash-table{width:100%;border-collapse:collapse;font-size:.88rem}.dash-table th{text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);padding:.75rem 1rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.dash-table td{padding:.7rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:top}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr:hover{background:var(--color-surface-alt)}.call-link{color:var(--color-primary);font-weight:500;white-space:nowrap}.call-link:hover{text-decoration:underline}.summary-cell{color:var(--color-text-secondary);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-cell{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:var(--color-text-secondary)}.back-link{display:inline-block;font-size:.88rem;color:var(--color-text-secondary);margin-bottom:1rem;transition:color .15s}.back-link:hover{color:var(--color-primary)}.detail-header{margin-bottom:1.25rem}.detail-header .dash-title{margin-bottom:.25rem}.detail-sid{font-family:SF Mono,Fira Code,monospace;font-size:.78rem;color:var(--color-text-secondary);word-break:break-all}.detail-meta{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.meta-item{display:flex;flex-direction:column;gap:.2rem}.meta-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.meta-value{font-size:.95rem;font-weight:500}.detail-summary{font-size:.95rem;line-height:1.6;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem}.transcript{display:flex;flex-direction:column;gap:.15rem}.transcript-msg{padding:.75rem 1rem;border-radius:10px}.transcript-msg--assistant{background:var(--color-accent)}.transcript-msg--user{background:var(--color-surface);border:1px solid var(--color-border)}.transcript-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.3rem}.transcript-role{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.transcript-msg--assistant .transcript-role{color:var(--color-primary)}.transcript-msg--user .transcript-role{color:var(--color-text)}.transcript-time{font-size:.72rem;color:var(--color-text-secondary)}.transcript-content{font-size:.9rem;line-height:1.55}.tags{display:flex;gap:.35rem;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.tag--inquiry{background:#1e3a5f;color:#7cb3f0}.tag--service_request{background:#1a3a2a;color:#6bc99a}.tag--price_inquiry{background:#3a2e1a;color:#d4a84b}.tag--appointment_booking{background:#1a2e3a;color:#5bbcd6}.tag--spam{background:#3a1a1a;color:#e07070}.tag--solicitation{background:#3a2a1a;color:#d49a5b}.tag--follow_up{background:#2a1a3a;color:#b080d0}.tag--complaint{background:#3a1a2a;color:#d06080}.tag--wrong_number{background:#2a2a2a;color:#999}.tag--hangup{background:#2a2a2a;color:#888}.tag--other{background:#2a2a2a;color:#999}.tag--positive{background:#1a3a2a;color:#6bc99a}.tag--neutral{background:#2a2a2a;color:#999}.tag--negative{background:#3a2a1a;color:#d49a5b}.tag--angry{background:#3a1a1a;color:#e07070}.tag--meeting{background:#1a2e3a;color:#5bbcd6}.audio-placeholder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;font-size:.88rem;color:var(--color-text-secondary);text-align:center}.call-cards{display:none}@media(max-width:768px){.stat-cards{grid-template-columns:repeat(2,1fr)}.detail-meta{flex-wrap:wrap;gap:1rem}.summary-cell{max-width:200px}.chart-container{padding:.75rem}}@media(max-width:480px){.dash-title{font-size:1.35rem;margin-bottom:1rem}.stat-cards{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat-card{padding:.85rem}.stat-label{font-size:.7rem}.stat-value{font-size:1.35rem}.table-wrap{display:none}.call-cards{display:flex;flex-direction:column;gap:.6rem}.call-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.4rem}.call-card-top{display:flex;justify-content:space-between;align-items:center}.call-card-caller{color:var(--color-primary);font-weight:500;font-size:.9rem}.call-card-duration{font-size:.8rem;color:var(--color-text-secondary)}.call-card-date{font-size:.78rem;color:var(--color-text-secondary)}.call-card-summary{font-size:.84rem;color:var(--color-text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-meta{flex-direction:column;gap:.6rem;padding:.85rem 1rem}.meta-item{flex-direction:row;justify-content:space-between;align-items:center}.detail-sid{font-size:.68rem}.detail-summary{padding:.85rem 1rem;font-size:.88rem}.transcript-msg{padding:.6rem .75rem}.transcript-content{font-size:.84rem}.audio-placeholder{padding:1rem;font-size:.84rem}.chart-container{padding:.5rem}}.dash-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.dash-page-header .dash-title{margin-bottom:0}.msg-filters{display:flex;gap:.4rem;flex-wrap:wrap}.msg-filter-btn{font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.msg-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.msg-filter-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.msg-empty{color:var(--color-text-secondary);font-size:.9rem;margin-top:1rem}.msg-status{display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.msg-status--new{background:#1e3a5f;color:#7cb3f0}.msg-status--reviewed{background:#1a3a2a;color:#6bc99a}.msg-status--added_to_kb{background:#2a1a3a;color:#b080d0}.msg-phone{font-size:.8rem;color:var(--color-text-secondary);margin-top:.1rem}.msg-time{font-size:.78rem;color:var(--color-text-secondary)}.msg-action-btn{font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;white-space:nowrap;transition:all .15s}.msg-action-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.msg-action-btn:disabled{opacity:.5;cursor:default}.msg-cards{display:none}@media(max-width:480px){.msg-cards{display:flex;flex-direction:column;gap:.6rem}.msg-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.4rem}.msg-card-top{display:flex;justify-content:space-between;align-items:center}.msg-card-caller{font-weight:500;font-size:.9rem;color:var(--color-text)}.msg-card-date{font-size:.78rem;color:var(--color-text-secondary)}.msg-card-question,.msg-card-message{font-size:.84rem;line-height:1.45;color:var(--color-text-secondary)}.msg-card-question strong{color:var(--color-text)}}.faq-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--color-border);padding-bottom:0}.faq-tab-btn{padding:8px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.9rem;cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s}.faq-tab-btn:hover{color:var(--color-text)}.faq-tab-btn--active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:500}.faq-cluster-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px;margin-bottom:16px}.faq-cluster-card--published{opacity:.75}.faq-cluster-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.faq-cluster-count{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.faq-cluster-badge{font-size:.75rem;padding:2px 8px;border-radius:4px;background:#1a3a2a;color:#6bc99a}.faq-cluster-questions{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px;background:#ffffff08;border-radius:6px;border-left:2px solid var(--color-border)}.faq-cluster-q{font-size:.87rem;color:var(--color-text-secondary);line-height:1.4}.faq-cluster-q:before{content:'"';opacity:.5}.faq-cluster-q:after{content:'"';opacity:.5}.faq-cluster-suggested{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.faq-label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.faq-cluster-suggested-q{font-size:.95rem;font-weight:500;color:var(--color-text);margin:0 0 10px}.faq-cluster-answer{width:100%;box-sizing:border-box;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.9rem;line-height:1.5;resize:vertical;font-family:inherit}.faq-cluster-answer:focus{outline:none;border-color:var(--color-accent)}.faq-cluster-answer-text{font-size:.9rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.faq-publish-btn{padding:8px 18px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity .15s}.faq-publish-btn:hover:not(:disabled){opacity:.85}.faq-publish-btn:disabled{opacity:.4;cursor:default}.faq-section-title{font-size:.9rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.faq-empty{text-align:center;padding:48px 24px;color:var(--color-text-secondary)}.faq-empty-hint{font-size:.87rem;max-width:420px;margin:8px auto 0;line-height:1.6}.settings-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.settings-section:last-of-type{border-bottom:none}.settings-label{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6b7280);flex:1}.settings-row{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.settings-row .settings-label{min-width:180px}.settings-input,.settings-textarea{padding:.5rem .75rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;font-size:.875rem;background:var(--color-bg, #fff);color:var(--color-text, #111827);font-family:inherit;width:100%}.settings-input:focus,.settings-textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 2px #2563eb26}.settings-textarea{resize:vertical;line-height:1.5}.settings-help{font-size:.8125rem;color:var(--color-text-secondary, #6b7280);margin-bottom:.75rem}.settings-actions{display:flex;align-items:center;gap:1rem;padding-top:1rem}.settings-btn{padding:.5rem 1.25rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;background:var(--color-primary, #2563eb);color:#fff}.settings-btn:hover:not(:disabled){opacity:.9}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn--secondary{background:var(--color-text-secondary, #6b7280)}.settings-status{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.load-more-btn{display:block;margin:1.5rem auto 0;padding:.5rem 1.5rem;border:1px solid var(--color-border, #d1d5db);border-radius:.375rem;background:var(--color-bg, #fff);color:var(--color-text, #111827);font-size:.875rem;cursor:pointer}.load-more-btn:hover:not(:disabled){background:var(--color-bg-hover, #f9fafb)}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}
