:root{--panel-bg: #ffffff;--border-color: #d8e3ea;--text-main: #132635;--text-muted: #516779;font-family:IBM Plex Sans,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.45;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;color:var(--text-main);background:radial-gradient(circle at 18% -12%,rgba(50,145,186,.16),transparent 40%),linear-gradient(180deg,#f8fbfe,#eef3f7)}h1{margin:0 0 .5rem;font-size:clamp(1.45rem,2.5vw,1.9rem);line-height:1.2}h2{margin:.2rem 0 .45rem;font-size:1.1rem}p{margin-top:0}a{color:inherit}.analytics-page{--analytics-bg-soft: #f7fbfd;--analytics-bg-strong: #eef5fa;--analytics-ink: #123445;--analytics-accent: #3291ba;--analytics-gold: #c9a84c;display:grid;gap:1.25rem}.analytics-page__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid rgba(50,145,186,.16);border-radius:18px;background:radial-gradient(circle at top right,rgba(50,145,186,.18),transparent 40%),linear-gradient(140deg,#fff,#f4f9fc);padding:1.1rem 1.15rem}.analytics-page__eyebrow{margin-bottom:.6rem;color:#0f4457;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.analytics-page__hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.7rem}.analytics-page__hero-actions span{color:var(--text-muted);font-size:.9rem;font-weight:600}.analytics-carrier-chips{display:flex;flex-wrap:wrap;gap:.6rem}.analytics-carrier-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border-color);border-radius:999px;background:#f7fbfd;color:var(--text-main);padding:.65rem .9rem;font:inherit;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.analytics-carrier-chip:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0a293814}.analytics-carrier-chip.is-active{background:#e7f3f9;border-color:var(--analytics-accent);color:#0f4457}.analytics-carrier-chip__dot{width:.65rem;height:.65rem;border-radius:50%}.analytics-section{display:grid;gap:.95rem}.analytics-section__header h2{margin-bottom:.2rem;font-size:1.16rem}.analytics-section__header p{margin-bottom:0;color:var(--text-muted)}.analytics-kpi-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.analytics-kpi-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-kpi-card{border:1px solid var(--border-color);border-radius:16px;background:radial-gradient(circle at top right,rgba(50,145,186,.08),transparent 35%),linear-gradient(180deg,#ffffff 0%,var(--analytics-bg-soft) 100%);padding:.95rem 1rem;min-height:116px}.analytics-kpi-card span{display:block;color:var(--text-muted);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.analytics-kpi-card strong{display:block;margin-top:.42rem;color:var(--analytics-ink);font-size:1.32rem;line-height:1.3}.analytics-kpi-card--accent{border-color:#3291ba59;box-shadow:inset 0 0 0 1px #3291ba14}.analytics-grid{display:grid;gap:1rem}.analytics-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-panel{border:1px solid var(--border-color);border-radius:18px;background:radial-gradient(circle at top right,rgba(50,145,186,.08),transparent 38%),#fbfdff;padding:1rem}.analytics-panel__title{margin-bottom:.85rem;color:#204253;font-size:.94rem;font-weight:800}.analytics-chart-frame{height:340px}.analytics-chart-frame--compact{height:280px}.analytics-chart-scroll{overflow-x:auto;padding-bottom:.2rem}.analytics-chart-fixed{height:360px}.analytics-multiplier-chart{min-width:520px}.analytics-table{min-width:820px}.analytics-table--wide{min-width:1100px}.analytics-table th button{border:none;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer}.analytics-case-name{display:grid;gap:.18rem}.analytics-case-name strong{font-size:.94rem}.analytics-case-name span{color:var(--text-muted);font-size:.8rem;font-family:IBM Plex Mono,monospace}.analytics-heatmap{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(5,minmax(88px,1fr));border:1px solid #e4edf3;border-radius:14px;overflow:hidden}.analytics-heatmap__header{background:var(--analytics-bg-strong);padding:.75rem;color:#2b5568;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.analytics-heatmap__row{display:contents}.analytics-heatmap__carrier{border:none;border-top:1px solid #edf3f6;background:#fff;padding:.82rem .75rem;text-align:left;font:inherit;font-weight:800;cursor:pointer}.analytics-heatmap__cell{border-top:1px solid #edf3f6;display:grid;place-items:center;padding:.82rem .45rem;color:#fffdf4;font-size:.82rem;font-weight:800}.analytics-gantt-wrap{overflow-x:auto;border:1px solid #e4edf3;border-radius:14px;background:#fff;padding:.75rem}.analytics-empty-state{padding:1.2rem;color:var(--text-muted);text-align:center}@media(max-width:1080px){.analytics-grid--two,.analytics-grid--three,.analytics-kpi-grid--three{grid-template-columns:1fr}}@media(max-width:820px){.analytics-page__hero{flex-direction:column}.analytics-page__hero-actions{justify-content:flex-start}.analytics-heatmap{min-width:700px}}.case-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-color)}.case-tab{border:1px solid #c6d7e0;border-radius:999px;background:#f6fbfe;color:#214050;padding:.55rem .9rem;font:inherit;font-weight:700;cursor:pointer}.case-tab.active{background:linear-gradient(120deg,#0f5f78,#0a7b96);border-color:#0b6f8c;color:#fff}.case-tab:disabled{opacity:.45;cursor:not-allowed}.case-tab-panel{display:grid;gap:1rem}.tab-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toolbar-actions{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.status-card{min-width:240px;padding:.9rem 1rem;border:1px solid var(--border-color);border-radius:12px;background:linear-gradient(180deg,#fbfeff,#f2f8fc)}.status-card strong{display:block;margin-bottom:.35rem}.status-card p{margin-bottom:0;color:var(--text-muted)}.button-outline-muted{background:transparent;color:#0b5b74;border:1px solid #8db3c2}.button-danger{background:#a33d3d}.button-danger:hover{background:#8a3131}.progress-panel{border:1px solid var(--border-color);border-radius:12px;background:#f8fbfd;padding:.9rem 1rem}.progress-track{width:100%;height:12px;border-radius:999px;background:#dfeaf0;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0c748f,#37a9c1)}.case-subsection{display:grid;gap:.7rem}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-header-row h3{margin:0}.inline-actions{display:flex;gap:.45rem;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .55rem;font-size:.84rem;font-weight:700}.status-badge-disclosed{background:#e5f7ea;color:#1f7a3d}.status-badge-not_yet_disclosed{background:#fff4d1;color:#8e6500}.status-badge-deposed{background:#dff0ff;color:#145f93}.status-badge-withdrawn{background:#edf1f4;color:#556473}.witness-filters{flex:1}.witness-modal{width:min(1040px,100%)}.modal-form-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-span-2{grid-column:1 / -1}.toggle-stack{display:grid;gap:.55rem}.checkbox-row{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:#355263}.checkbox-row input{width:auto}.outline-meta-strip{display:flex;gap:1rem;flex-wrap:wrap;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--border-color);background:#f8fbfd;color:var(--text-muted)}.outline-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1rem;align-items:start}.outline-sidebar{position:sticky;top:5.6rem;display:grid;gap:.45rem;padding:.9rem;border:1px solid var(--border-color);border-radius:12px;background:#fbfeff}.outline-sidebar h3{margin:0 0 .2rem}.outline-anchor{text-decoration:none;color:#1f4e65;font-weight:600}.outline-anchor:hover{text-decoration:underline}.outline-content{display:grid;gap:.85rem}.outline-section{border:1px solid var(--border-color);border-radius:12px;background:#fbfdff;overflow:hidden}.outline-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:.85rem 1rem;font-weight:700;background:#eef7fb}.outline-section-body{margin:0;padding:1rem;white-space:pre-wrap;font:inherit;line-height:1.55}@media(max-width:920px){.outline-layout{grid-template-columns:1fr}.outline-sidebar{position:static}}@media(max-width:720px){.modal-form-grid{grid-template-columns:1fr}.modal-span-2{grid-column:auto}}.carriers-page{display:grid;gap:1.15rem}.carriers-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.carriers-page__eyebrow{margin-bottom:.55rem;color:#0f4457;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.carriers-page__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.7rem}.carriers-page__controls span{color:var(--text-muted);font-weight:600}.carriers-page__summary{gap:.95rem}.carriers-page__metric{background:radial-gradient(circle at top right,rgba(50,145,186,.12),transparent 40%),linear-gradient(180deg,#fbfdff,#f4f9fc)}.carriers-page__card-grid{display:grid;gap:.95rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.carriers-card{border:1px solid var(--border-color);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfd);padding:1rem;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.carriers-card:hover{transform:translateY(-2px);box-shadow:0 18px 28px #081e2814}.carriers-card.is-active{background:linear-gradient(180deg,#fbfeff,#eef7fb)}.carriers-card__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.carriers-card__carrier{font-size:1.05rem;font-weight:800}.carriers-card__cases{color:var(--text-muted);font-size:.86rem;font-weight:700}.carriers-card__metrics{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.carriers-card__metrics span{display:block;margin-bottom:.18rem;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.carriers-card__metrics strong{font-size:.98rem}.carriers-card__footer{margin-top:.95rem;padding-top:.9rem;border-top:1px solid #e4edf3;color:var(--text-muted);font-size:.82rem;line-height:1.55}.carriers-grid{display:grid;gap:1rem}.carriers-grid--split{grid-template-columns:repeat(2,minmax(0,1fr))}.carriers-panel{border:1px solid var(--border-color);border-radius:16px;background:radial-gradient(circle at top right,rgba(50,145,186,.08),transparent 38%),#fbfdff;padding:1rem}.carriers-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.carriers-page__mini-metrics{display:flex;flex-wrap:wrap;gap:.45rem}.carriers-page__mini-metrics span{border:1px solid var(--border-color);border-radius:999px;background:#f2f7fa;padding:.38rem .68rem;color:var(--text-muted);font-size:.8rem;font-weight:700}.carriers-page__table,.carriers-page__motion-table{min-width:980px}.carriers-page__table th button{border:none;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer}.carriers-page__table-link{border:none;background:transparent;font:inherit;font-weight:700;cursor:pointer;padding:0}.carriers-page__carrier-name{font-weight:800}.carriers-page__subline{margin-top:.2rem;color:var(--text-muted);font-size:.78rem;line-height:1.45}.carriers-page__case-list{margin-top:.95rem;display:grid;gap:.7rem}.carriers-page__case-card{border:1px solid #e4edf3;border-radius:12px;background:#fff;padding:.85rem .9rem}.carriers-page__case-card p{margin-bottom:0;color:var(--text-muted);font-size:.9rem}.carriers-page__case-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.carriers-page__heatmap{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(5,minmax(88px,1fr));border:1px solid #e4edf3;border-radius:14px;overflow:hidden}.carriers-page__heatmap-header{background:#eef7fb;padding:.7rem .75rem;color:#295064;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.carriers-page__heatmap-row{display:contents}.carriers-page__heatmap-carrier{border:none;border-top:1px solid #edf3f6;background:#fff;padding:.8rem .75rem;text-align:left;font:inherit;font-weight:800;cursor:pointer}.carriers-page__heatmap-cell{border-top:1px solid #edf3f6;display:grid;place-items:center;padding:.8rem .5rem;font-size:.82rem;font-weight:800;color:#fffdf6}.carriers-page__dispute-cards{margin-top:.95rem;display:grid;gap:.75rem}.carriers-page__dispute-card{border:1px solid #e4edf3;border-radius:14px;background:#fff;padding:.85rem .9rem}.carriers-page__dispute-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.carriers-page__dispute-card-topline span{color:var(--text-muted);font-size:.82rem;font-weight:700}.carriers-page__chip-group{display:flex;flex-wrap:wrap;gap:.45rem}.carriers-page__chip{border:1px solid rgba(201,168,76,.35);border-radius:999px;background:#c9a84c29;color:#705613;padding:.32rem .62rem;font-size:.78rem;font-weight:700}.carriers-page__chip--soft{border-color:#3291ba47;background:#3291ba1f;color:#1e6d92}@media(max-width:980px){.carriers-page__header{flex-direction:column}.carriers-page__controls{justify-content:flex-start}.carriers-grid--split{grid-template-columns:1fr}.carriers-page__heatmap{overflow-x:auto;min-width:700px}}@media(max-width:640px){.carriers-card__metrics{grid-template-columns:1fr}}.cases-page{display:grid;gap:1.15rem}.cases-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cases-page__eyebrow{margin-bottom:.55rem;color:#0f4457;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.cases-page__meta{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.cases-page__meta span{border:1px solid var(--border-color);border-radius:999px;background:#f4f8fb;padding:.45rem .75rem;color:var(--text-muted);font-size:.88rem;font-weight:600}.cases-page__summary{gap:.95rem}.cases-page__summary-card{background:radial-gradient(circle at top right,rgba(50,145,186,.12),transparent 44%),linear-gradient(180deg,#fbfdff,#f5f9fc)}.cases-page__summary-card--accent{border-color:#3291ba59;box-shadow:inset 0 0 0 1px #3291ba14}.cases-page__carrier-row{display:flex;flex-wrap:wrap;gap:.6rem}.cases-filter-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border-color);border-radius:999px;background:#f7fbfd;color:var(--text-main);padding:.65rem .9rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.cases-filter-chip:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0a293814}.cases-filter-chip.is-active{background:#e7f3f9;border-color:#3291ba;color:#0f4457}.cases-filter-chip__dot{width:.65rem;height:.65rem;border-radius:50%}.cases-filter-chip__count{color:var(--text-muted);font-size:.85rem}.cases-status-tabs{display:grid;gap:.6rem;grid-template-columns:repeat(5,minmax(0,1fr))}.cases-status-tab{border:1px solid var(--border-color);border-radius:14px;background:#fbfdff;color:var(--text-main);padding:.8rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;font:inherit;font-weight:700;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.cases-status-tab strong{color:#0f4457}.cases-status-tab.is-active{border-color:#3291ba;background:linear-gradient(180deg,#eff8fc,#e5f1f7);box-shadow:0 14px 28px #0f445714}.cases-page__filters{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,.8fr) auto auto;gap:.8rem;align-items:end}.cases-page__reset,.cases-page__trail-toggle{min-height:42px}.cases-page__trail-toggle.is-active{border-color:#3291ba;background:#e7f3f9;color:#0f4457}.cases-page__table-wrap{position:relative}.cases-table{min-width:1360px}.cases-table th button{border:none;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer}.cases-table th button:hover{color:#0b5b74}.cases-case-cell{display:grid;gap:.2rem}.cases-case-cell strong{font-size:.96rem}.cases-case-cell span{color:var(--text-muted);font-size:.8rem;font-family:IBM Plex Mono,monospace}.cases-carrier-badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid;border-radius:999px;padding:.32rem .72rem;font-size:.84rem;font-weight:700}.cases-carrier-badge__dot{width:.56rem;height:.56rem;border-radius:50%}.cases-status-badge,.cases-section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:84px;border-radius:999px;padding:.32rem .68rem;font-size:.8rem;font-weight:700;text-transform:capitalize}.cases-status-badge--settled{background:#27ae6024;color:#1f8a4b}.cases-status-badge--active{background:#3291ba24;color:#25749c}.cases-status-badge--dismissed{background:#c0392b24;color:#ab3124}.cases-status-badge--judgment{background:#e67e2224;color:#be650e}.cases-section-badge.is-yes{background:#c9a84c2e;color:#85661a}.cases-section-badge.is-no{background:#eef4f7;color:#607887}.cases-underpayment{min-width:118px;display:grid;gap:.35rem}.cases-underpayment strong{color:#8f2f1f}.cases-underpayment__track{width:100%;height:.45rem;border-radius:999px;background:#f6ddda;overflow:hidden}.cases-underpayment__track span{display:block;height:100%;border-radius:inherit}.cases-page__empty{padding:1rem;color:var(--text-muted);text-align:center}@media(max-width:920px){.cases-page__header{flex-direction:column}.cases-page__meta{justify-content:flex-start}.cases-status-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.cases-page__filters{grid-template-columns:1fr}}@media(max-width:640px){.cases-status-tabs{grid-template-columns:1fr}}.chat-page{min-height:calc(100vh - 7.5rem);display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-thread{flex:1;overflow-y:auto;padding:1.5rem 1.5rem .75rem;display:flex;flex-direction:column;gap:1.1rem}.chat-empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem 0 2rem}.chat-empty-state__content{width:min(900px,100%);text-align:center}.chat-eyebrow{margin-bottom:.75rem;color:#0f4457;font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.chat-empty-state h1{margin-bottom:.75rem;font-size:clamp(2.2rem,5vw,3rem)}.chat-empty-state__subtitle{max-width:720px;margin:0 auto 1.75rem;color:var(--text-muted);font-size:1.02rem;line-height:1.7}.chat-starter-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.chat-starter-chip{border:1px solid var(--border-color);border-radius:999px;background:#f0f5f9;color:var(--text-main);padding:.85rem 1rem;font:inherit;font-weight:600;line-height:1.35;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.chat-starter-chip:hover{border-color:#3291ba;background:#e0eef5;box-shadow:0 8px 18px #0f44571a;transform:translateY(-1px)}.chat-starter-chip:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.chat-exchange{display:flex;flex-direction:column;gap:.8rem}.chat-message{width:min(780px,82%);border-radius:20px;border:1px solid var(--border-color);padding:1rem 1.1rem;box-shadow:0 10px 24px #0a29380f}.chat-message p:last-child,.chat-message ul:last-child{margin-bottom:0}.chat-message--user{align-self:flex-end;background:#0f3344;border-color:#0f3344;border-bottom-right-radius:8px;color:#fff}.chat-message--assistant{align-self:flex-start;background:#f0f5f9;border-color:#d9e6ee;border-bottom-left-radius:8px;color:var(--text-main)}.chat-message--error{background:#fff3f0;border-color:#f0cbc0;color:#8b2f1f}.chat-message--typing{width:auto;min-width:90px}.chat-answer{line-height:1.7}.chat-answer p{margin-bottom:.8rem}.chat-answer ul{margin:.2rem 0 .8rem;padding-left:1.15rem}.chat-answer li+li{margin-top:.35rem}.chat-ai-banner{margin-bottom:.9rem;padding:.75rem .85rem;border-radius:14px;border:1px solid #efd9b0;background:#fff6e8;color:#825100;font-size:.94rem;font-weight:700}.chat-typing-indicator{display:inline-flex;align-items:center;gap:.38rem;min-height:1.4rem}.chat-typing-indicator span{width:.52rem;height:.52rem;border-radius:50%;background:#6c8797;animation:chat-typing 1.2s infinite ease-in-out}.chat-typing-indicator span:nth-child(2){animation-delay:.18s}.chat-typing-indicator span:nth-child(3){animation-delay:.36s}.chat-sources{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(15,68,87,.12)}.chat-sources-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.chat-sources-toggle__chevron{font-size:.9rem;line-height:1;transition:transform .18s ease}.chat-sources-toggle__chevron--expanded{transform:rotate(180deg)}.chat-source-row{margin-top:.9rem;display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.25rem}.chat-source-card{min-width:290px;max-width:320px;display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--border-color);border-radius:16px;background:#fafcfd;padding:.95rem}.chat-source-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.chat-source-card__label{margin-bottom:.25rem;font-weight:700;line-height:1.35}.chat-source-card__filename{margin-bottom:0;color:var(--text-muted);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-source-card__badge{flex-shrink:0;border-radius:999px;background:#3291ba24;color:#0f4457;padding:.32rem .58rem;font-size:.78rem;font-weight:700}.chat-source-card__relevance{display:grid;gap:.38rem}.chat-source-card__relevance-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem}.chat-source-card__relevance-bar{height:8px;border-radius:999px;background:#dfeaf1;overflow:hidden}.chat-source-card__relevance-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3291ba,#0f4457)}.chat-source-card__preview{margin-bottom:0;color:#223846;font-size:.94rem;line-height:1.6}.chat-source-card__meta{display:flex;justify-content:space-between;gap:.75rem;color:var(--text-muted);font-size:.82rem}.chat-source-card__meta span{min-width:0;overflow-wrap:anywhere}.chat-source-card__button{align-self:flex-start;background:#0f4457}.chat-source-card__button:hover{background:#0c3848}.chat-sources-empty{margin-top:.85rem}.chat-composer{flex-shrink:0;padding:1rem 1.25rem 1.25rem;border-top:1px solid rgba(15,68,87,.12);background:linear-gradient(180deg,#f8fbfe4d,#ffffffe6 24%,#fff);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-composer__error{margin-bottom:.85rem}.chat-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:.85rem}.chat-filter-field>span{color:#264050}.chat-composer__row{display:flex;align-items:flex-end;gap:.8rem}.chat-filter-toggle{flex-shrink:0;min-height:52px;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--border-color);border-radius:16px;background:#f0f5f9;color:var(--text-main);padding:0 .95rem;font:inherit;font-weight:700;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.chat-filter-toggle svg{width:1rem;height:1rem}.chat-filter-toggle:hover,.chat-filter-toggle--active{border-color:#3291ba;background:#e0eef5;color:#0f4457}.chat-filter-toggle:disabled{opacity:.65;cursor:not-allowed}.chat-filter-toggle__count{min-width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0f4457;color:#fff;font-size:.75rem}.chat-composer__input-shell{flex:1;display:flex;align-items:flex-end;gap:.75rem;border:1px solid var(--border-color);border-radius:18px;background:#fff;padding:.7rem .75rem .7rem .9rem;box-shadow:inset 0 1px #fffc}.chat-composer__input-shell:focus-within{border-color:#3291ba;box-shadow:inset 0 1px #fffc,0 0 0 4px #3291ba24}.chat-composer__input{width:100%;min-height:24px;max-height:160px;border:none;padding:0;background:transparent;resize:none;color:var(--text-main);font:inherit;line-height:1.5;box-shadow:none}.chat-composer__input:focus{outline:none;border:none;box-shadow:none}.chat-composer__submit{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;gap:.45rem;border-radius:14px;background:#0f3344}.chat-composer__submit:hover{background:#0c2936}.chat-composer__submit svg{width:1rem;height:1rem}@keyframes chat-typing{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}@media(max-width:980px){.chat-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-message{width:min(820px,88%)}}@media(max-width:820px){.chat-thread{padding:1.25rem 1rem .75rem}.chat-composer{padding:.9rem 1rem 1rem}.chat-composer__row{align-items:stretch}.chat-composer__input-shell{min-height:52px}.chat-message{width:min(100%,92%)}}.upload-page{--upload-brand-dark: #0f3344;--upload-brand-accent: #3291ba;--upload-success: #27ae60;--upload-success-bg: #eafaf1;--upload-error: #c0392b;--upload-drop-bg: #f0f5f9;--upload-drop-bg-active: #e0eef5;display:grid;gap:1.25rem}.upload-page__hero{padding:1.35rem;border:1px solid rgba(50,145,186,.16);border-radius:18px;background:radial-gradient(circle at top right,rgba(50,145,186,.14),transparent 38%),linear-gradient(180deg,#f7fbfe,#fff)}.upload-page__eyebrow{margin-bottom:.7rem;color:#0f4457;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.upload-page__hero h1{margin-bottom:.65rem}.upload-page__subtitle{max-width:760px;margin-bottom:.9rem;color:var(--text-muted);font-size:1rem;line-height:1.7}.upload-page__note{display:inline-flex;align-items:center;margin-bottom:0;border-radius:999px;background:#0f445714;color:#0f4457;padding:.4rem .75rem;font-size:.88rem;font-weight:700}.upload-page__banner{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:16px;padding:1rem 1.1rem}.upload-page__banner strong{display:block;margin-bottom:.2rem}.upload-page__banner p{margin-bottom:0}.upload-page__banner--error{border:1px solid rgba(192,57,43,.2);background:#fff4f2;color:#8e2f23}.upload-page__banner-dismiss{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:999px;background:#c0392b1a;color:inherit;font:inherit;font-weight:700;cursor:pointer}.upload-page__banner-dismiss:hover{background:#c0392b29}.upload-page__form{display:grid;gap:1rem}.upload-page__file-input{display:none}.upload-page__dropzone{display:grid;justify-items:center;gap:.35rem;padding:2rem 1.25rem;border:2px dashed var(--border-color);border-radius:20px;background:var(--upload-drop-bg);text-align:center;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.upload-page__dropzone:hover,.upload-page__dropzone:focus-visible,.upload-page__dropzone--active{border-color:var(--upload-brand-accent);background:var(--upload-drop-bg-active);box-shadow:0 12px 28px #0f445714;transform:translateY(-1px);outline:none}.upload-page__dropzone--disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}.upload-page__dropzone-icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:18px;background:#0f445714;color:var(--upload-brand-dark)}.upload-page__dropzone-icon svg{width:1.8rem;height:1.8rem}.upload-page__dropzone h2{margin:.35rem 0 0;font-size:1.2rem}.upload-page__dropzone-copy{margin-bottom:0;color:var(--text-main);font-weight:600}.upload-page__dropzone-action{color:var(--upload-brand-accent);text-decoration:underline;text-underline-offset:.18rem}.upload-page__dropzone-hint{margin-bottom:0;color:var(--text-muted);font-size:.92rem}.upload-page__selected-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border-color);border-radius:16px;background:#fff;padding:.95rem 1rem;box-shadow:0 10px 24px #0a29380a}.upload-page__selected-file-copy{display:grid;gap:.15rem;min-width:0}.upload-page__selected-file-copy strong,.upload-page__selected-file-copy span{overflow-wrap:anywhere}.upload-page__selected-file-copy span{color:var(--text-muted);font-size:.92rem}.upload-page__remove-file{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;color:var(--upload-error);font:inherit;font-weight:700;cursor:pointer}.upload-page__remove-file span{width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#c0392b1a;font-size:.8rem}.upload-page__remove-file:disabled{opacity:.5;cursor:not-allowed}.upload-page__section{border:1px solid var(--border-color);border-radius:18px;background:linear-gradient(180deg,#fcfdff,#fff);padding:1.1rem}.upload-page__section-header{margin-bottom:.95rem;padding-bottom:.85rem;border-bottom:1px solid rgba(15,68,87,.1)}.upload-page__section-header h2{margin:0;color:var(--upload-brand-dark);font-size:1rem}.upload-page__section-header p{margin:.3rem 0 0;color:var(--text-muted);font-size:.92rem}.upload-page__section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.upload-page__field{min-width:0}.upload-page__field--full{grid-column:1 / -1}.upload-page__field>span{color:#223846}.upload-page__currency-input{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:8px;background:#fff;padding-left:.7rem}.upload-page__currency-input:focus-within{outline:2px solid rgba(7,126,162,.28);border-color:#0a6f90}.upload-page__currency-input>span{flex-shrink:0;color:var(--text-muted);font-weight:700}.upload-page__currency-input input{border:none;box-shadow:none;padding-left:.45rem}.upload-page__currency-input input:focus{outline:none;border:none;box-shadow:none}.upload-page__submit{width:100%;min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:16px;background:linear-gradient(135deg,#3291ba,#0f4457);box-shadow:0 14px 28px #0f445729}.upload-page__submit:hover{background:linear-gradient(135deg,#2a84ab,#0d3b4b)}.upload-page__spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:upload-page-spin .85s linear infinite}.upload-page__success-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;border:1px solid rgba(39,174,96,.22);border-radius:20px;background:var(--upload-success-bg);padding:1.2rem;box-shadow:0 14px 30px #27ae6014}.upload-page__success-icon{width:3.2rem;height:3.2rem;display:grid;place-items:center;border-radius:18px;background:#27ae6024;color:var(--upload-success)}.upload-page__success-icon svg{width:1.5rem;height:1.5rem}.upload-page__success-body h2{margin-top:.15rem;margin-bottom:.85rem;color:#11452a;font-size:1.35rem}.upload-page__success-eyebrow{margin-bottom:0;color:#1e7e48;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.upload-page__success-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.upload-page__success-metric{border:1px solid rgba(39,174,96,.16);border-radius:14px;background:#ffffffb8;padding:.85rem .95rem}.upload-page__success-metric span{display:block;margin-bottom:.25rem;color:#3f6e54;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.upload-page__success-metric strong{color:#11452a;line-height:1.45}.upload-page__success-meta{display:grid;gap:.35rem;margin-bottom:1rem;color:var(--text-muted);font-size:.92rem}.upload-page__success-meta p{margin-bottom:0}.upload-page__success-meta code{color:var(--upload-brand-dark);font-size:.88rem;overflow-wrap:anywhere}.upload-page__success-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem}.upload-page__success-link{color:var(--upload-brand-dark);font-weight:700;text-decoration:none}.upload-page__success-link:hover{color:#0f4457;text-decoration:underline;text-underline-offset:.18rem}@keyframes upload-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:767px){.upload-page__hero,.upload-page__section,.upload-page__success-card{padding:1rem}.upload-page__selected-file,.upload-page__success-card{grid-template-columns:1fr}.upload-page__selected-file,.upload-page__success-actions{align-items:stretch}.upload-page__section-grid,.upload-page__success-metrics{grid-template-columns:1fr}}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:linear-gradient(120deg,#0f3344,#0f4457);border-bottom:1px solid #0b2a37}.topbar-inner{width:min(1100px,calc(100% - 2rem));margin:0 auto;min-height:4rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.5rem 0}.brand{color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.06em}.nav-links{display:flex;align-items:center;gap:.4rem}.nav-link{color:#def4ff;text-decoration:none;padding:.4rem .7rem;border-radius:8px;font-weight:600}.nav-link:hover{background:#ffffff1f}.nav-link.active{background:#fff3}.user-info{margin-left:auto;display:flex;align-items:center;gap:.6rem}.user-meta{color:#eef9ff;font-size:.95rem}.main-content{width:min(1100px,calc(100% - 2rem));margin:1.5rem auto 2rem;flex:1}.page-card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 20px #0a293814;padding:1.25rem}.auth-card{width:min(440px,100%);margin:2rem auto}.page-subtitle{color:var(--text-muted);margin-top:0;margin-bottom:1rem}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.form-grid{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field>span{font-weight:600;font-size:.92rem;color:#233745}.field-compact{max-width:220px}input,textarea,select{width:100%;border:1px solid var(--border-color);border-radius:8px;padding:.55rem .65rem;font:inherit;color:var(--text-main);background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid rgba(7,126,162,.28);border-color:#0a6f90}textarea{resize:vertical}.filters-grid{border:1px solid var(--border-color);border-radius:10px;padding:.9rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.filters-grid legend{padding:0 .35rem;color:#2f4858;font-weight:700}.filters-inline{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:.7rem;margin-bottom:1rem}.button{border:none;border-radius:10px;padding:.65rem 1rem;font:inherit;font-weight:700;background:#0b6f8c;color:#fff;cursor:pointer}.button:hover{background:#095c74}.button:disabled{opacity:.6;cursor:not-allowed}.button-small{padding:.35rem .6rem;border-radius:8px;font-size:.85rem}.button-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.page-card .button-outline{color:#0b5b74;border-color:#0b5b74}.feedback{margin:0;padding:.7rem .8rem;border-radius:8px;font-weight:600}.feedback.error{background:#fff1f1;border:1px solid #ebc2c2;color:#8f1919}.disclaimer-banner{margin-top:1.2rem;margin-bottom:1.2rem;border-left:4px solid #b05f00;background:#fff4e6;color:#6d3400;font-weight:700;padding:.8rem 1rem;border-radius:6px}.result-section{margin-top:1.1rem}.result-section h2{margin-bottom:.55rem}.answer-box{margin:0;white-space:pre-wrap;border:1px solid var(--border-color);border-radius:10px;padding:.9rem;background:#fbfeff;line-height:1.6}.answer-disclaimer{margin-top:.45rem;margin-bottom:0;color:#6d3400;font-weight:700}.muted-text{color:var(--text-muted)}.table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:.65rem .7rem;border-bottom:1px solid #e8edf2;vertical-align:top}thead th{background:#eef7fb;color:#1f3d4c;font-size:.9rem}tbody tr:nth-child(odd){background:#fcfeff}.clickable-row{cursor:pointer}.clickable-row:hover{background:#eef8fd}.clickable-row:focus{outline:2px solid rgba(12,111,140,.45);outline-offset:-2px}.preview-cell{min-width:260px;max-width:520px}.detail-grid{margin:0 0 1.1rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-grid dt{font-size:.82rem;font-weight:700;color:#415a6a;text-transform:uppercase;letter-spacing:.04em}.detail-grid dd{margin:.2rem 0 0}.upload-grid{margin-top:.3rem}.metadata-preview{border:1px solid var(--border-color);border-radius:10px;background:#f9fcfe;padding:.8rem}.metadata-preview h2{margin-top:0;margin-bottom:.4rem;font-size:1rem}.metadata-preview pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#214050}.section-title{margin-top:1.2rem}.chunk-groups{display:grid;gap:1rem}.chunk-group h3{margin-top:.2rem;margin-bottom:.45rem;font-size:1rem}.metrics-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{border:1px solid var(--border-color);border-radius:10px;background:#f8fcff;padding:.8rem}.metric-card h2{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#466174}.metric-card p{margin:.4rem 0 0;font-size:1.35rem;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#0818218c;padding:.75rem}.modal-panel{width:min(960px,100%);max-height:calc(100vh - 1.5rem);overflow:auto;border:1px solid var(--border-color);border-radius:12px;background:#fff;padding:.95rem;box-shadow:0 22px 42px #04192247}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.modal-header h3{margin:0}.modal-panel .button-outline{color:#0b5b74;border-color:#0b5b74}.source-meta-grid{margin:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.source-meta-grid dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#486171}.source-meta-grid dd{margin:.2rem 0 0;word-break:break-word}.source-text{margin-top:.9rem;margin-bottom:0;border:1px solid var(--border-color);border-radius:10px;padding:.9rem;background:#fafdff;line-height:1.55;white-space:pre-wrap}.modal-actions{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.app-footer{background:#102f3f;color:#c7deea;padding:.65rem 1rem;text-align:center;font-size:.9rem}@media(max-width:880px){.filters-inline{grid-template-columns:1fr}.field-compact{max-width:100%}}@media(max-width:640px){.topbar-inner{width:calc(100% - 1rem)}.main-content{width:calc(100% - 1rem);margin-top:1rem}.page-card{padding:1rem}.user-info{width:100%;justify-content:space-between}}
