:root{color-scheme:light;--bg:#f5f7fb;--bg-grid:rgba(12,57,130,.045);--panel:hsla(0,0%,100%,.94);--panel-solid:#fff;--ink:#10213f;--muted:#63718a;--line:rgba(23,66,132,.18);--brand:#1456b8;--brand-strong:#0b3477;--cyan:#2878d4;--indigo:#173f8a;--accent:#d4a72c;--danger:#c24136;--soft:rgba(20,86,184,.08);--shadow:0 14px 34px rgba(15,43,92,.08),0 2px 8px rgba(15,43,92,.04);--radius:10px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;padding:0}body{background:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px),linear-gradient(135deg,#fbfcff 0,#f3f6fb 54%,#f9f8f1 100%);background-size:34px 34px,34px 34px,auto;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.login-panel{background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid hsla(0,0%,100%,.74);border-radius:14px;box-shadow:var(--shadow);margin:0 auto;max-width:430px;padding:34px;position:relative;width:100%}.login-panel:before{background:linear-gradient(90deg,var(--cyan),var(--accent),var(--indigo));content:"";height:3px;inset:0 0 auto;position:absolute}.login-panel h1,.page-title h1{letter-spacing:0;margin:0 0 10px}.login-panel h1{font-size:34px;font-weight:800}.muted{color:var(--muted);line-height:1.55}.field{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.field label{color:#233047;font-size:14px;font-weight:750}.input,.select{background:hsla(0,0%,100%,.86);border:1px solid var(--line);border-radius:9px;color:var(--ink);min-height:46px;padding:11px 13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.input:focus,.select:focus{background:#fff;border-color:rgba(14,165,183,.72);box-shadow:0 0 0 4px rgba(14,165,183,.12);outline:none}.button{align-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-strong));border:1px solid hsla(0,0%,100%,.22);border-radius:9px;box-shadow:0 10px 24px rgba(15,139,141,.2);color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:10px 17px}.button:hover{box-shadow:0 14px 30px rgba(15,139,141,.26);transform:translateY(-1px)}.button.secondary{background:hsla(0,0%,100%,.74);border:1px solid var(--line);box-shadow:none;color:var(--ink)}.button.secondary:hover{background:#fff;border-color:rgba(14,165,183,.42)}.button.danger{background:linear-gradient(135deg,#dc4a3f,var(--danger));box-shadow:0 10px 22px rgba(194,65,54,.2)}.button:disabled{cursor:wait;opacity:.62;transform:none}.alert,.error,.success{border-radius:9px;margin:0 0 18px;padding:14px 16px}.alert{align-items:center;display:flex;gap:14px;justify-content:space-between}.error{background:hsla(0,86%,97%,.92);border:1px solid #f7b4ae;color:#b42318}.success{background:rgba(236,253,245,.94);border:1px solid #96dfbd;color:#067647}.warning{background:rgba(255,250,235,.94);border:1px solid #f7c56b;color:#93370d}.alert-close{align-items:center;background:hsla(0,0%,100%,.68);border:1px solid;border-radius:999px;color:inherit;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:900;height:28px;justify-content:center;line-height:1;opacity:.82;text-transform:uppercase;width:28px}.alert-close:hover{opacity:1;transform:translateY(-1px)}.loading-notice{align-items:center;background:hsla(0,0%,100%,.78);border:1px solid rgba(14,165,183,.24);border-radius:10px;color:var(--brand-strong);display:flex;font-weight:800;gap:10px;margin:0 0 18px;padding:12px 14px}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(15,23,42,.32);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:80}.confirm-dialog{background:linear-gradient(145deg,hsla(0,0%,100%,.96),rgba(248,251,255,.92)),#fff;border:1px solid rgba(112,132,162,.24);border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.28);color:var(--ink);display:grid;grid-gap:18px;gap:18px;max-width:520px;padding:26px;width:min(100%,520px)}.confirm-icon{align-items:center;background:rgba(194,65,54,.12);border:1px solid rgba(194,65,54,.22);border-radius:999px;color:var(--danger);display:inline-flex;font-size:20px;font-weight:950;height:42px;justify-content:center;width:42px}.confirm-dialog h3{font-size:24px;margin:0 0 8px}.confirm-dialog p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.detail-dialog{background:linear-gradient(145deg,hsla(0,0%,100%,.97),rgba(248,251,255,.93)),#fff;max-height:min(86vh,860px);max-width:980px;overflow:auto;padding:24px;width:min(100%,980px)}.detail-dialog,.preview-dialog{border:1px solid rgba(112,132,162,.24);border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.28);color:var(--ink);display:grid;grid-gap:18px;gap:18px}.preview-dialog{background:linear-gradient(145deg,hsla(0,0%,100%,.98),rgba(248,251,255,.94)),#fff;max-height:min(88vh,900px);max-width:1120px;overflow:hidden;padding:24px 24px 0;width:min(100%,1120px)}.preview-modal-table{border:1px solid rgba(112,132,162,.18);border-radius:12px;max-height:56vh}.sheet-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.sheet-tab{align-items:flex-start;background:rgba(241,245,249,.78);border:1px solid rgba(112,132,162,.22);border-radius:10px;color:var(--ink);display:grid;flex:0 0 auto;grid-gap:4px;gap:4px;min-width:150px;padding:10px 12px;text-align:left}.sheet-tab span{font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-tab small{color:var(--muted);font-size:12px;font-weight:800}.sheet-tab.active{background:rgba(14,165,183,.1);border-color:rgba(14,165,183,.5);box-shadow:0 0 0 3px rgba(14,165,183,.1)}.preview-actions{align-items:center;background:hsla(0,0%,100%,.9);border-top:1px solid rgba(112,132,162,.18);display:flex;gap:16px;justify-content:space-between;margin:0 -24px;padding:16px 24px;position:-webkit-sticky;position:sticky;bottom:0}.preview-buttons{display:flex;flex:0 0 auto;gap:10px}.preview-note-inline{color:var(--muted);font-size:13px;font-weight:750}.detail-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.eyebrow{color:var(--brand-strong);display:block;font-size:12px;font-weight:900;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}.detail-head h3{font-size:24px;margin:0 0 8px;overflow-wrap:anywhere}.detail-head p{color:var(--muted);margin:0;overflow-wrap:anywhere}.detail-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-section{background:rgba(241,245,249,.62);border:1px solid rgba(112,132,162,.18);border-radius:12px;overflow:hidden}.detail-section h4{background:hsla(0,0%,100%,.64);border-bottom:1px solid rgba(112,132,162,.14);font-size:14px;margin:0;padding:12px 14px}.detail-section pre{color:#172033;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;margin:0;max-height:360px;overflow:auto;padding:14px;white-space:pre-wrap;word-break:break-word}.spinner{animation:spin .8s linear infinite;border:3px solid rgba(14,165,183,.18);border-top:3px solid var(--cyan);border-radius:999px;display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.app-shell{display:grid;grid-template-columns:274px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#0b3477,#08295f 55%,#061f49);border-right:1px solid rgba(212,167,44,.38);color:#fff;display:flex;flex-direction:column;height:100vh;left:0;min-height:100vh;position:fixed;top:0;padding:24px 18px;width:274px;z-index:15}.brand{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.16);display:flex;gap:12px;margin-bottom:24px;padding-bottom:22px}.brand strong{display:block;font-size:16px;font-weight:850}.brand span{color:#c9d8ee;font-size:13px;display:block;margin-top:6px}.nav{display:grid;grid-gap:8px;gap:8px}.nav-button{background:transparent;border:1px solid transparent;border-radius:9px;color:#cbd5e1;font-weight:750;padding:13px 14px;text-align:left}.nav-button.active,.nav-button:hover{background:hsla(0,0%,100%,.12);border-color:rgba(212,167,44,.45);box-shadow:inset 3px 0 0 var(--accent);color:#fff}.logout-button{bottom:24px;justify-content:center;left:28px;position:fixed;width:218px;z-index:20}.main{grid-column:2;min-width:0;padding:30px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.page-title h1{font-size:36px;font-weight:850;color:var(--brand-strong)}.page-title p{margin:0}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.report-bar{background:hsla(0,0%,100%,.92);border:1px solid rgba(23,66,132,.15);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;margin:-4px 0 20px;padding:14px 16px}.report-row{align-items:center;display:flex;gap:14px;justify-content:space-between}.report-label{color:var(--brand-strong);font-size:13px;font-weight:850;text-transform:uppercase;white-space:nowrap}.report-pills{gap:8px}.report-actions,.report-pills{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end}.report-actions{gap:10px}.report-pill{background:hsla(0,0%,100%,.74);border:1px solid var(--line);border-radius:999px;color:#44536a;font-size:13px;font-weight:850;min-height:38px;padding:8px 13px}.report-pill.active,.report-pill:hover{background:rgba(20,86,184,.08);border-color:rgba(20,86,184,.4);color:var(--brand-strong)}.date-input{min-width:150px}.custom-date-panel{align-items:flex-end;background:rgba(248,251,255,.7);border:1px solid rgba(112,132,162,.16);border-radius:10px;display:flex;gap:12px;padding:12px}.compact-field{margin-top:0}.grid{display:grid;grid-gap:20px;gap:20px}.stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.split{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.stat,.table-wrap{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(23,66,132,.14);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.table-wrap{background:var(--panel-solid);border-color:rgba(23,66,132,.2);border-radius:8px}.stat{padding:22px;position:relative}.stat:before{background:linear-gradient(180deg,var(--accent),#e7c662);content:"";inset:0 auto 0 0;position:absolute;width:4px}.stat span{color:var(--muted);display:block;font-size:12px;font-weight:850;text-transform:uppercase}.stat strong{display:block;font-size:38px;letter-spacing:0;margin-top:10px}.panel{padding:22px}.panel h2,.table-title h2{font-size:18px;font-weight:800;margin:0}.panel-head,.table-title{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.table-title{background:linear-gradient(90deg,#f7faff,#fff);border-bottom:2px solid rgba(212,167,44,.48);margin:0;padding:18px 20px}.table-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.search-input{min-height:40px;min-width:260px;padding:8px 12px}.export-select{min-height:44px;min-width:190px;width:auto}.top-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0}.top-list li{align-items:center;border-bottom:1px solid rgba(112,132,162,.16);display:flex;gap:12px;justify-content:space-between;list-style:none;padding:12px 0}.top-list li:last-child{border-bottom:0}.unanswered-list{gap:0}.unanswered-item{align-items:center;background:transparent;border:0;color:var(--ink);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:4px 0;text-align:left;width:100%}.unanswered-item:hover .unanswered-action{background:rgba(14,165,183,.12);border-color:rgba(14,165,183,.4);color:var(--brand-strong)}.unanswered-action{border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;font-weight:850;padding:8px 10px;white-space:nowrap}.session-dialog{max-width:1080px;overflow:hidden}.session-dialog .detail-head{min-width:0}.session-dialog .detail-head h3{overflow-wrap:anywhere}.session-conversation-list{max-height:calc(86vh - 190px);overflow-y:auto;padding:0 4px 4px 0}.badge{background:var(--soft);border:1px solid rgba(14,165,183,.2);color:var(--brand-strong)}.badge,.status-badge{border-radius:999px;font-size:12px;font-weight:850;padding:6px 10px;white-space:nowrap}.status-badge{align-items:center;display:inline-flex;justify-content:center;min-height:34px}.status-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.22);color:#047857}.status-processing{background:rgba(217,119,6,.12);border:1px solid rgba(217,119,6,.24);color:#a16207}.status-failed{background:rgba(194,65,54,.12);border:1px solid rgba(194,65,54,.24);color:#b42318}.status-unknown{background:rgba(96,112,137,.1);border:1px solid rgba(96,112,137,.18);color:var(--muted)}.table-scroll{background:#fff;overflow-x:auto}.pagination{align-items:center;background:hsla(0,0%,100%,.52);border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:750;gap:12px;justify-content:space-between;padding:14px 16px}.pagination-actions{display:flex;gap:8px}.pagination .button{min-height:36px;padding:8px 12px}table{background:#fff;border-collapse:separate;border-spacing:0;min-width:820px;width:100%}thead{background:#eef4fd}td,th{border-bottom:1px solid rgba(112,132,162,.2);border-right:1px solid rgba(112,132,162,.18);padding:13px 16px;text-align:left;vertical-align:middle}td:first-child,th:first-child{border-left:0}td:last-child,th:last-child{border-right:0}tbody tr:last-child td{border-bottom:0}th{border-bottom-color:rgba(23,66,132,.24);color:var(--brand-strong);font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}td{color:#172033;font-size:14px;line-height:1.45}.actions-cell,.actions-col{text-align:left;width:190px}.table-actions{align-items:center;display:flex;gap:8px;justify-content:flex-start;white-space:nowrap}.table-button{min-height:38px;min-width:72px;padding:8px 12px}tbody tr{transition:background .18s ease}tbody tr:hover{background:rgba(20,86,184,.045)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.truncate{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-cell{max-width:260px;min-width:140px;overflow-wrap:anywhere}.preview-note{background:rgba(14,165,183,.07);border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:750;padding:12px 16px}.legacy-preview-hidden{display:none}.upload-row{align-items:flex-end;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr)}.inline-note{color:var(--brand-strong);font-size:13px;font-weight:800;margin-top:12px}.chart-panel{padding-bottom:18px}.chart-panel .panel-head{margin-bottom:8px}.chart-panel .panel-head p{margin:6px 0 0}.bar-chart{min-height:300px;overflow-x:auto;padding:16px 0 4px}.chart-frame{display:grid;grid-gap:12px;gap:12px;grid-template-columns:46px minmax(720px,1fr)}.chart-y-axis{color:#7a8aa3;display:grid;font-size:12px;font-weight:750;grid-template-rows:repeat(5,1fr);height:230px;justify-items:end;padding:0 4px 28px 0}.chart-plot{height:260px;position:relative}.chart-grid-lines{display:grid;inset:0 0 30px;pointer-events:none;position:absolute}.chart-grid-lines span{border-top:1px dashed rgba(112,132,162,.18)}.chart-bars{align-items:flex-end;display:grid;grid-gap:16px;gap:16px;grid-auto-flow:column;grid-auto-columns:minmax(34px,1fr);height:100%;min-width:100%;padding:0 8px;position:relative;z-index:1}.bar-item{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-rows:230px 20px;height:260px;justify-items:center}.bar-fill{align-self:end;background:#3b82f6;border-radius:5px 5px 0 0;box-shadow:0 8px 18px rgba(59,130,246,.2);min-height:0;transition:height .22s ease;width:30px}.bar-label{color:#7a8aa3;font-size:12px;font-weight:750;white-space:nowrap}.chat-stack{grid-template-columns:1fr}.session-list{max-height:320px;overflow-y:auto;padding:16px}.session-card,.session-list{display:grid;grid-gap:10px;gap:10px}.session-card{align-items:center;background:hsla(0,0%,100%,.68);border:1px solid var(--line);border-radius:10px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;padding:14px 16px;text-align:left;width:100%}.session-card.active,.session-card:hover{background:rgba(14,165,183,.08);border-color:rgba(14,165,183,.42);box-shadow:inset 4px 0 0 var(--cyan)}.session-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:800;overflow-wrap:anywhere}.session-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.session-title{color:#172033;font-size:15px;font-weight:900;overflow-wrap:anywhere}.session-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:750;gap:10px;justify-content:flex-end;white-space:nowrap}.conversation-list{display:grid;grid-gap:16px;gap:16px;padding:18px}.lead-summary{background:rgba(248,251,255,.78);border:1px solid rgba(112,132,162,.2);border-radius:10px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 16px}.lead-summary div{display:grid;grid-gap:4px;gap:4px;min-width:0}.lead-summary span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.lead-summary strong{color:#172033;font-size:15px;overflow-wrap:anywhere}.conversation-card{background:hsla(0,0%,100%,.64);border:1px solid rgba(112,132,162,.2);border-radius:12px;display:grid;grid-gap:12px;gap:12px;padding:16px}.conversation-time{color:var(--muted);font-size:13px;font-weight:800}.conversation-meta-line{gap:10px;justify-content:space-between}.conversation-actions,.conversation-meta-line{align-items:center;display:flex;flex-wrap:wrap}.conversation-actions{gap:8px;justify-content:space-between}.compact-button{min-height:34px;padding:7px 11px}.nested-modal{z-index:100}.context-dialog{max-width:900px}.context-list{display:grid;grid-gap:14px;gap:14px;overflow-y:auto}.context-card{background:rgba(241,246,252,.72);border:1px solid rgba(112,132,162,.2);border-radius:10px;display:grid;grid-gap:10px;gap:10px;padding:14px}.context-number{color:var(--brand-strong);font-size:12px;font-weight:900;text-transform:uppercase}.context-card pre{font-family:inherit;line-height:1.6;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.context-card details{border-top:1px solid rgba(112,132,162,.18);padding-top:10px}.context-card summary{color:var(--muted);cursor:pointer;font-size:13px;font-weight:850}.bubble{border-radius:10px;padding:14px 16px}.bubble span{display:block;font-size:12px;font-weight:850;margin-bottom:8px;text-transform:uppercase}.bubble p{line-height:1.6;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.user-bubble{background:rgba(54,79,199,.08);border:1px solid rgba(54,79,199,.16)}.user-bubble span{color:var(--indigo)}.bot-bubble{background:rgba(15,139,141,.08);border:1px solid rgba(15,139,141,.16)}.bot-bubble span{color:var(--brand-strong)}.empty{color:var(--muted);padding:26px;text-align:center}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:auto;position:static;width:auto}.main{grid-column:1}.logout-button{bottom:16px;left:16px;width:calc(100% - 32px)}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid,.split,.stats,.upload-row{grid-template-columns:1fr}}@media (max-width:560px){.main{padding:16px}.custom-date-panel,.panel-head,.preview-actions,.report-actions,.report-row,.table-title,.topbar{align-items:stretch;flex-direction:column}.export-select,.search-input{min-width:0;width:100%}.preview-buttons{width:100%}.preview-buttons .button{flex:1 1}.report-pills{justify-content:flex-start}.nav{grid-template-columns:1fr}.page-title h1{font-size:28px}.truncate{max-width:190px}.lead-summary,.session-card{grid-template-columns:1fr}.session-meta{justify-content:flex-start;white-space:normal}.chart-frame{grid-template-columns:38px minmax(680px,1fr)}.chart-bars{gap:12px;grid-auto-columns:34px}}.brand-mark{align-items:center;background:#fff;border:3px solid var(--accent);border-radius:50%;box-shadow:0 0 0 3px hsla(0,0%,100%,.16);color:var(--brand-strong);display:flex;flex:0 0 auto;font-family:Georgia,serif;font-size:12px;font-weight:900;height:42px;justify-content:center;letter-spacing:-.08em;width:42px}