:root{--admin-green: #4ade80;--admin-green-dark: #22c55e;--admin-green-text: #16a34a;--admin-green-pale: #bbf7d0}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes umFadeIn{0%{opacity:0}to{opacity:1}}.role-badge{display:inline-block;border-radius:20px;padding:.2rem .55rem;font-size:.68rem;font-weight:600;letter-spacing:.02em}.role-badge.admin{background:var(--teal-light);color:var(--teal-dark)}.role-badge.moderator{background:#ece9f6;color:var(--indigo)}.role-badge.user{background:#f0f2f8;color:var(--muted)}.status-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.18rem .55rem;border-radius:20px}.status-badge.active{background:#dff3ea;color:#166534}.status-badge.active .status-badge-dot{background:var(--admin-green-text)}.status-badge.inactive{background:#f0f2f8;color:var(--muted)}.status-badge.inactive .status-badge-dot{background:#aaa}.admin-page{display:flex;flex-direction:column;flex:1 1 0;min-height:0;padding:.5rem 0}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.6rem;flex-shrink:0}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1rem;flex-shrink:0}.admin-tab{all:unset;cursor:pointer;padding:.55rem 1.2rem;font-size:.82rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.admin-tab:hover:not(.active){color:var(--text)}.admin-tab.active{color:var(--admin-green-text);border-bottom-color:var(--admin-green)}.users-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;flex-shrink:0}.filter-group{display:inline-flex;gap:.25rem;margin-right:.6rem}.filter-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:20px;font-size:.72rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);transition:all .15s;-webkit-user-select:none;user-select:none}.filter-chip:hover{border-color:var(--admin-green);color:var(--admin-green-text);background:#4ade8014;box-shadow:0 1px 4px #4ade8026}.filter-chip.active{background:linear-gradient(135deg,var(--admin-green),var(--admin-green-dark));color:#fff;border-color:var(--admin-green-dark);box-shadow:0 2px 8px #22c55e4d}.filter-chip.active:hover{box-shadow:0 3px 12px #22c55e59}.filter-chip.status-active:hover{border-color:var(--admin-green-text);color:var(--admin-green-text);background:#16a34a14;box-shadow:0 1px 4px #16a34a1f}.filter-chip.status-active.active{background:var(--admin-green-text);border-color:var(--admin-green-text);box-shadow:0 2px 8px #16a34a40}.filter-chip.status-inactive:hover{border-color:#6b7280;color:#6b7280;background:#6b728014;box-shadow:0 1px 4px #6b72801f}.filter-chip.status-inactive.active{background:#9ca3af;border-color:#9ca3af;box-shadow:0 2px 8px #9ca3af40}.users-count{font-size:.72rem;color:var(--muted);margin-bottom:.3rem;font-weight:500;flex-shrink:0}.users-page{padding:.5rem 0;display:flex;flex-direction:column;flex:1 1 0;min-height:0}.users-page>.table-wrap{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:auto}.users-page>.table-wrap::-webkit-scrollbar{width:5px}.users-page>.table-wrap::-webkit-scrollbar-track{background:transparent}.users-page>.table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.users-page>.table-wrap::-webkit-scrollbar-thumb:hover{background:#c5cad8}.users-pagination{display:flex;align-items:center;gap:.35rem;padding:.5rem 0 .25rem;flex-shrink:0}.users-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.8rem;flex-shrink:0}.users-title{font-family:Sora,sans-serif;font-size:1.35rem;font-weight:700;color:var(--indigo);margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.users-title svg{stroke:var(--teal);flex-shrink:0}.users-subtitle{font-size:.83rem;color:var(--muted);margin:0}.users-create-btn{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;transition:transform .12s,box-shadow .12s}.users-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #4ade804d}.users-toolbar{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.4rem;flex-shrink:0}.users-search-wrap{position:relative;max-width:360px}.users-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.users-search{width:100%;padding-left:2.2rem!important;background:var(--surface);border:1px solid var(--border);border-radius:8px;height:36px;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.users-search:focus{border-color:var(--admin-green);box-shadow:0 0 0 3px #4ade8026}.users-filter-group{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.users-loading{display:flex;align-items:center;gap:.6rem;justify-content:center;padding:3rem;color:var(--muted);font-size:.85rem}.users-empty{text-align:center;color:var(--muted);padding:3rem;font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}.users-table{width:100%}.users-table thead th{border-bottom:2px solid rgba(74,222,128,.2)}.users-table tbody tr:last-child td{border-bottom:none}.users-row{transition:background .1s}.users-row:hover{background:#4ade800f;box-shadow:inset 3px 0 0 var(--admin-green)}.users-name-cell{display:flex;align-items:center;gap:.6rem}.users-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;flex-shrink:0;transition:transform .15s}.users-row:hover .users-avatar{transform:scale(1.08);box-shadow:0 2px 8px #4ade8040}.users-avatar.teal{background:var(--teal)}.users-avatar.indigo{background:var(--indigo)}.users-avatar.coral{background:var(--coral)}.users-display-name{font-weight:600;font-size:.82rem;color:var(--text);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-email-sub{font-size:.7rem;color:var(--muted)}.users-org-cell{color:var(--muted);font-size:.79rem}.users-modules-cell{min-width:110px}.users-modules-list{display:flex;flex-wrap:wrap;gap:.25rem}.users-module-chip{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;background:var(--teal-light);color:var(--teal-dark);line-height:1.3;white-space:nowrap}.users-modules-empty{color:var(--muted);font-size:.78rem}.users-actions-cell{width:40px;text-align:right}.users-menu-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:var(--muted);transition:all .12s}.users-menu-btn:hover{background:#4ade801f;color:var(--admin-green-text)}.users-dropdown{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #1a173026;min-width:160px;z-index:999;overflow:hidden;animation:dropIn .12s ease-out}.users-dropdown-item{all:unset;cursor:pointer;display:flex;align-items:center;gap:.5rem;width:100%;box-sizing:border-box;padding:.55rem .85rem;font-size:.8rem;font-weight:500;color:var(--text);transition:background .1s}.users-dropdown-item:hover{background:#4ade8014}.users-dropdown-item.danger{color:#dc4a4a}.users-dropdown-item.danger:hover{background:#fde8e8}.users-dropdown-item.success{color:var(--admin-green-text)}.users-dropdown-item.success:hover{background:#dff3ea}.quick-link.active{background:var(--sb-active-bg);color:var(--sb-active-color);font-weight:600}.change-pw-window{width:min(400px,92vw)}.change-pw-body{display:flex;flex-direction:column;gap:.4rem}.change-pw-hint{font-size:.83rem;color:var(--muted);margin:0 0 .4rem}.change-pw-footer{display:flex;justify-content:flex-end}.change-pw-btn{width:100%}.um-overlay{position:fixed;inset:0;background:#120f2373;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;animation:umFadeIn .15s ease-out}.um-card{background:var(--surface);border-radius:16px;width:min(520px,94vw);max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #1a17302e,0 0 0 1px #1a17300f;animation:umSlideUp .2s ease-out}.um-card::-webkit-scrollbar{width:5px}.um-card::-webkit-scrollbar-track{background:transparent}.um-card::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.um-card::-webkit-scrollbar-thumb:hover{background:#c5cad8}@keyframes umSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.um-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem .8rem;border-bottom:1px solid var(--border)}.um-head-left{display:flex;align-items:center;gap:.7rem}.um-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--teal),var(--admin-green));color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.04em;flex-shrink:0}.um-head-title{font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700;color:var(--text)}.um-head-sub{font-size:.75rem;color:var(--muted);margin-top:.1rem}.um-close{all:unset;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .12s}.um-close:hover{background:#4ade801a;color:var(--text)}.um-form{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.um-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.um-field{border:1.5px solid var(--border);border-radius:10px;padding:.15rem .65rem .4rem;margin:0;transition:border-color .15s,box-shadow .15s}.um-field:focus-within{border-color:var(--admin-green);box-shadow:0 0 0 3px #4ade801f}.um-field legend{font-size:.68rem;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;padding:0 .25rem}.um-field input{all:unset;-webkit-appearance:none;appearance:none;width:100%;box-sizing:border-box;font-size:.85rem;color:var(--text);padding:.2rem 0;border:none;outline:none;background:transparent}.um-field input::placeholder{color:#b0b3c4}.um-field-readonly{background:#f8fafc;border-style:dashed}.um-readonly-value{font-size:.85rem;font-weight:500;color:var(--muted);padding:.2rem 0}.um-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);margin-top:.2rem}.um-roles{display:flex;flex-direction:column;gap:.45rem}.um-role-card{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .12s;background:var(--surface)}.um-role-card:hover{border-color:var(--admin-green-pale);background:#4ade8008}.um-role-card.selected{border-color:var(--admin-green);background:#4ade800f;box-shadow:0 0 0 3px #4ade8014}.um-role-radio-input{position:absolute;opacity:0;pointer-events:none}.um-role-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.um-role-icon.admin{background:var(--teal-light);color:var(--teal)}.um-role-icon.moderator{background:#ece9f6;color:var(--indigo)}.um-role-icon.user{background:var(--coral-light);color:var(--coral)}.um-role-info{flex:1;min-width:0}.um-role-name{display:block;font-size:.82rem;font-weight:700;color:var(--text)}.um-role-desc{display:block;font-size:.7rem;color:var(--muted);margin-top:.05rem}.um-role-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.um-role-card.selected .um-role-check{border-color:var(--admin-green-dark);background:var(--admin-green-dark);color:#fff}.um-modules{display:flex;flex-direction:column;gap:.45rem}.um-module-card{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .12s;background:var(--surface)}.um-module-card:hover{border-color:var(--admin-green-pale);background:#4ade8008}.um-module-card.selected{border-color:var(--admin-green);background:#4ade800f;box-shadow:0 0 0 3px #4ade8014}.um-module-checkbox{position:absolute;opacity:0;pointer-events:none}.um-module-info{flex:1;min-width:0}.um-module-name{display:block;font-size:.82rem;font-weight:700;color:var(--text)}.um-module-desc{display:block;font-size:.7rem;color:var(--muted);margin-top:.05rem}.um-module-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.um-module-card.selected .um-module-check{border-color:var(--admin-green-dark);background:var(--admin-green-dark);color:#fff}.um-modules-note{font-size:.78rem;color:var(--muted);background:#4ade800f;border:1.5px solid var(--admin-green-pale);border-radius:10px;padding:.6rem .75rem;margin:0}.um-org-row{display:flex;gap:.5rem;align-items:center}.um-org-row select{flex:1;padding:.5rem .65rem;border:1.5px solid var(--border);border-radius:10px;font-size:.82rem;color:var(--text);background:var(--surface);transition:border-color .15s}.um-org-row select:focus{border-color:var(--admin-green);outline:none;box-shadow:0 0 0 3px #4ade801f}.um-add-org{all:unset;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--teal);padding:.45rem .7rem;border:1.5px dashed var(--border);border-radius:8px;white-space:nowrap;transition:all .12s}.um-add-org:hover{border-color:var(--teal);background:#41818f0f}.um-new-org{display:flex;gap:.5rem;align-items:center}.um-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .7rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;font-size:.78rem;font-weight:500;color:var(--error-text)}.um-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem;padding-top:.75rem;border-top:1px solid var(--border)}.um-btn-cancel{all:unset;cursor:pointer;padding:.55rem 1rem;font-size:.8rem;font-weight:600;color:var(--muted);border-radius:6px;transition:all .12s}.um-btn-cancel:hover{background:var(--bg);color:var(--text)}.um-btn-save{all:unset;cursor:pointer;padding:.55rem 1.4rem;font-size:.8rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--admin-green),var(--admin-green-dark));border-radius:6px;transition:all .15s;box-shadow:0 2px 8px #22c55e40}.um-btn-save:hover:not(:disabled){box-shadow:0 4px 14px #22c55e59;transform:translateY(-1px)}.um-btn-save:disabled{opacity:.5;cursor:not-allowed}.um-btn-sm{padding:.35rem .7rem;font-size:.75rem}.modal-overlay{position:fixed;inset:0;background:#1c19298c;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal.usage-modal{background:var(--surface);border-radius:10px;box-shadow:0 16px 48px #00000040;max-width:560px;width:100%;padding:1.4rem 1.5rem 1.5rem}.usage-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.usage-modal-title{font-size:1rem;font-weight:600;color:var(--indigo)}.usage-modal-subtitle{font-size:.78rem;color:var(--muted);margin-top:.15rem;font-variant-numeric:tabular-nums}.usage-modal-close{all:unset;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--muted);padding:.25rem .5rem;border-radius:4px;transition:background .12s,color .12s}.usage-modal-close:hover{background:var(--teal-light);color:var(--indigo)}.usage-modal-error{padding:1rem;background:#dc505014;color:var(--text);border-radius:6px;font-size:.85rem}.usage-cards{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.usage-card{background:var(--teal-light);border-radius:8px;padding:.9rem 1rem}.usage-card-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.usage-card-cost{margin-top:.4rem;font-size:1.4rem;font-weight:700;color:var(--indigo);font-variant-numeric:tabular-nums}.usage-card-skeleton{margin-top:.6rem}.usage-card-rows{margin-top:.6rem;display:flex;flex-direction:column;gap:.2rem}.usage-card-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text);font-variant-numeric:tabular-nums}.usage-card-row span:first-child{color:var(--muted)}.usage-card-row--sub{padding-left:.8rem;font-style:italic;opacity:.85}.usage-card-row--total{border-top:1px solid rgba(72,65,109,.15);padding-top:.3rem;margin-top:.15rem;font-weight:600;color:var(--indigo)}@media(max-width:520px){.usage-cards{grid-template-columns:1fr}}.users-usage-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.users-usage-stack{display:flex;flex-direction:column;gap:.18rem;line-height:1.2}.users-usage-row{display:grid;grid-template-columns:32px auto auto;gap:.55rem;align-items:baseline;font-size:.78rem}.users-usage-row--lt{border-bottom:1px solid rgba(72,65,109,.12);padding-bottom:.15rem;margin-bottom:.05rem}.users-usage-row--lt .users-usage-cost{color:var(--teal-dark)}.users-usage-label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.users-usage-cost{font-weight:600;color:var(--indigo)}.users-usage-tokens{font-size:.7rem;color:var(--muted)}.users-usage-empty{color:var(--muted)}.fb-kpi-bar{display:flex;align-items:center;gap:0;padding:.45rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;flex-shrink:0;animation:umFadeIn .2s ease-out both;flex-wrap:wrap;row-gap:.3rem}.fb-kpi-item{display:flex;align-items:baseline;gap:.35rem;padding:0 .85rem}.fb-kpi-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.fb-kpi-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fb-kpi-value{font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700;color:var(--indigo);line-height:1}.fb-kpi-value.positive{color:var(--admin-green-text)}.fb-kpi-value.negative{color:var(--coral)}.fb-kpi-value.issue{font-size:.88rem;color:var(--indigo)}.fb-kpi-pct{font-size:.7rem;font-weight:600;color:var(--muted)}.fb-breakdown-toggle{all:unset;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-left:auto;padding:.2rem .5rem;border-radius:6px;transition:color .15s,background .15s;-webkit-user-select:none;user-select:none}.fb-breakdown-toggle:hover{color:var(--teal);background:var(--teal-light)}.fb-reason-chevron{transition:transform .2s ease;flex-shrink:0}.fb-reason-chevron.open{transform:rotate(90deg)}.fb-reason-bars{display:flex;flex-direction:column;gap:.3rem;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease;opacity:0;flex-shrink:0;padding:0 .1rem}.fb-reason-bars.open{max-height:220px;opacity:1;margin-bottom:.4rem}.fb-reason-row{display:flex;align-items:center;gap:.55rem}.fb-reason-label{width:100px;font-size:.72rem;font-weight:600;color:var(--muted);text-align:right;flex-shrink:0}.fb-reason-bar{flex:1;height:18px;background:#e08e791a;border-radius:9px;overflow:hidden}.fb-reason-fill{height:100%;background:var(--coral);border-radius:9px;transition:width .5s cubic-bezier(.22,1,.36,1)}.fb-reason-fill.no-reason{background:var(--muted);opacity:.45}.fb-reason-count{width:32px;font-size:.72rem;font-weight:600;color:var(--text);flex-shrink:0}.fb-user-cell{display:flex;align-items:center;gap:.5rem;font-size:.79rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-models-cell{font-size:.66rem;white-space:nowrap}.fb-models-chips{display:inline-flex;flex-direction:column;gap:.15rem}.fb-model-chip{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-family:Fira Mono,Courier New,monospace;font-size:.62rem;line-height:1.4}.fb-model-chip--reasoning{background:#e3eef5;color:#2e5a73}.fb-model-chip--synth{background:#f0e8d8;color:#6b5328}.fb-clickable-row{cursor:pointer}.fb-row-expanded{background:#4ade800a}.fb-question-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.79rem}.fb-comment-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.79rem;color:var(--muted)}.fb-rating-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;padding:.18rem .5rem;border-radius:20px;white-space:nowrap}.fb-rating-badge.positive{background:#dff3ea;color:#166534}.fb-rating-badge.negative{background:#fef2f2;color:#dc2626}.fb-reason-badge{display:inline-block;border-radius:20px;padding:.18rem .5rem;font-size:.68rem;font-weight:600;background:#fff3f0;color:var(--coral);white-space:nowrap}.fb-reason-badge.none{background:#f0f2f8;color:var(--muted)}.fb-clickable-row td{padding:.65rem .75rem}.fb-expanded-row td{padding:0!important;border-bottom:none!important}.fb-expanded-content{margin:0 .75rem .75rem;animation:dropIn .15s ease-out}.fb-expanded-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.5rem}.fb-expanded-block{margin-bottom:.5rem}.fb-expanded-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin-bottom:.25rem}.fb-expanded-block p{margin:0;font-size:.82rem;color:var(--text);line-height:1.45;max-height:120px;overflow-y:auto}.fb-expanded-block p::-webkit-scrollbar{width:4px}.fb-expanded-block p::-webkit-scrollbar-track{background:transparent}.fb-expanded-block p::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.fb-expanded-answer{padding:.65rem .85rem;background:#f8fafc;border-left:3px solid var(--teal);border-radius:0 8px 8px 0;font-size:.8rem;color:var(--text);line-height:1.5;max-height:250px;overflow-y:auto;white-space:pre-wrap}.fb-expanded-answer::-webkit-scrollbar{width:4px}.fb-expanded-answer::-webkit-scrollbar-track{background:transparent}.fb-expanded-answer::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.fb-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;animation:umFadeIn .3s ease-out}.fb-empty h3{font-family:Sora,sans-serif;font-size:1rem;font-weight:700;color:var(--indigo);margin:0}.fb-empty p{font-size:.82rem;color:var(--muted);margin:0}.fb-skeleton{background:linear-gradient(90deg,#eef1f6 25%,#e2e6ed,#eef1f6 75%);background-size:200% 100%;animation:skeletonPulse 1.4s ease-in-out infinite;border-radius:6px;display:inline-block}.fb-table{min-width:1100px}.fb-table th,.fb-table td{white-space:nowrap}.fb-mode-cell{font-size:.72rem;color:var(--muted)}.fb-sql-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Fira Mono,Courier New,monospace;font-size:.7rem;color:var(--muted)}.fb-sql-cell--meta{font-style:italic;font-family:inherit;color:#8a8aa3}.fb-sql-block{font-family:Fira Mono,Courier New,monospace;font-size:.75rem;background:#f0f4f8;border-left:3px solid var(--indigo);border-radius:0 8px 8px 0;padding:.55rem .85rem;color:var(--indigo);white-space:pre-wrap;word-break:break-all;max-height:180px;overflow-y:auto;margin:0}.fb-sql-block--meta{font-family:inherit;font-style:italic;background:#fafafa;border-left-color:#c0c0d0;color:#6a6a83}.fb-sql-block::-webkit-scrollbar{width:4px}.fb-sql-block::-webkit-scrollbar-track{background:transparent}.fb-sql-block::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.chat-split{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;flex:1;min-height:0;height:100%;overflow:hidden;transition:grid-template-columns .38s cubic-bezier(.4,0,.2,1)}.chat-split.is-resizing{transition:none}@keyframes mapSlideIn{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes mapSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(28px)}}.chat-split .chat-panel{height:100%;min-height:0}.map-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface);position:relative;animation:mapSlideIn .42s cubic-bezier(.16,1,.3,1) both}.map-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent 0%,var(--teal-light) 15%,var(--teal-light) 85%,transparent 100%);z-index:2;pointer-events:none}.chat-split.map-closing .map-panel{animation:mapSlideOut .26s ease-in forwards}.map-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3;background:#41818f0d;transition:background .18s}.map-resize-handle:hover{background:#41818f24}.map-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:2.5px;background:var(--teal);border-radius:2px;box-shadow:0 -7px 0 var(--teal),0 7px 0 var(--teal);opacity:.55;pointer-events:none;transition:opacity .18s}.map-resize-handle:hover:after{opacity:1}.map-panel-head{padding:.65rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-shrink:0;background:var(--surface)}.map-panel-title{display:flex;align-items:center;gap:.45rem;font-weight:600;font-size:.82rem;color:var(--indigo);letter-spacing:-.01em}.map-panel-title svg{width:15px;height:15px;color:var(--teal);flex-shrink:0}.map-badge{background:var(--teal-light);color:var(--teal-dark);padding:1px 8px;border-radius:99px;font-size:.7rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.map-close{width:26px;height:26px;border:none;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer;border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;margin-left:auto;transition:background .12s,color .12s;flex-shrink:0}.map-close:hover{background:var(--border);color:var(--text)}.map-panel-body{flex:1;min-height:0;position:relative}.map-panel-body .maplibregl-map{height:100%;width:100%}.map-popup .maplibregl-popup-content{padding:0;border-radius:var(--rsm);box-shadow:0 4px 20px #00000024;overflow:hidden;min-width:230px;max-width:300px}.map-popup .maplibregl-popup-close-button{color:#ffffffb3;font-size:1.1rem;top:4px;right:6px}.map-popup .maplibregl-popup-close-button:hover{color:#fff;background:none}.popup-card{font-family:inherit}.map-popup .maplibregl-popup-content{animation:popupIn .2s cubic-bezier(.16,1,.3,1) both;border-radius:10px!important;box-shadow:0 8px 28px #00000021,0 1px 4px #00000014!important}@keyframes popupIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-head{background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dark) 100%);padding:.6rem .9rem .5rem;border-radius:10px 10px 0 0}.popup-head-title{font-size:.85rem;font-weight:700;color:#fff;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.popup-head-meta{font-size:.69rem;color:#ffffffb8;margin-top:3px;display:flex;align-items:center;gap:4px}.popup-head-sep{opacity:.4}.popup-tag{display:inline-block;background:#ffffff2e;color:#fffffff2;font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-top:7px;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.25)}.popup-sections{max-height:240px;overflow-y:auto;overscroll-behavior:contain}.popup-sections::-webkit-scrollbar{width:3px}.popup-sections::-webkit-scrollbar-track{background:transparent}.popup-sections::-webkit-scrollbar-thumb{background:var(--teal-light);border-radius:2px}.popup-section{padding:.38rem .9rem;border-bottom:1px solid #f0f1f6;display:flex;flex-direction:column;gap:.22rem}.popup-section:last-child{border-bottom:none;padding-bottom:.5rem}.popup-section-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.05rem}.popup-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.72rem}.popup-label{color:var(--muted);white-space:nowrap}.popup-val{font-weight:600;color:var(--text);text-align:right}.popup-row:has(.popup-val.currency):first-of-type .popup-label{color:var(--text);font-weight:600;font-size:.76rem}.popup-row:has(.popup-val.currency):first-of-type .popup-val{font-size:.88rem;letter-spacing:-.01em}.popup-val.null-val{color:#d0d3dc;font-weight:400}.popup-val.currency{color:var(--teal-dark);font-weight:700}.popup-val.positive{color:var(--ok)}.popup-val.negative{color:var(--neg)}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:0}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:none}.sidebar{background:var(--sb-bg);display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0}.sb-collapse-btn{position:absolute;top:.9rem;right:.7rem;background:none;border:none;cursor:pointer;color:var(--sb-text);padding:.25rem;border-radius:6px;display:flex;align-items:center;justify-content:center;line-height:0}.sb-collapse-btn:hover{color:var(--sb-text-bright);background:var(--sb-hover)}.sb-top{padding:1.1rem 1rem .85rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;position:relative}.logo{margin-bottom:.9rem}.logo-btn{display:block;width:100%;background:none;border:none;padding:0;cursor:pointer;transition:opacity .18s ease}.logo-btn:hover .logo-img{opacity:.82}.logo-btn:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}.logo-img{display:block;height:95px;width:auto;max-width:240px;margin:0 auto}.logo-main{font-family:Sora,sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,var(--teal) 0 52%,#6eb8c5 52% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.logo-sub{margin-top:.22rem;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#4a4768;font-weight:600}.new-chat-btn{all:unset;cursor:pointer;width:100%;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#41818f,#2e6e7a);color:#e8f8fa;border-radius:10px;padding:.6rem .9rem;font-family:var(--font-body);font-size:.83rem;font-weight:600;letter-spacing:-.01em;transition:filter .15s,box-shadow .15s;box-sizing:border-box;box-shadow:0 1px #ffffff12 inset,0 3px 12px #41818f59}.new-chat-btn:hover{filter:brightness(1.1);box-shadow:0 1px #ffffff17 inset,0 4px 18px #41818f80}.new-chat-btn svg{flex-shrink:0}.sb-search{padding:.55rem .9rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.search-wrap{position:relative}.search-icon{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:#7e7b9a;pointer-events:none}.search{all:unset;display:block;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:.44rem .65rem .44rem 2rem;font-size:.81rem;color:var(--sb-text-bright);box-sizing:border-box;transition:border-color .15s}.search:focus{outline:none;border-color:#5ab0bf66;background:#ffffff12}.search:-webkit-autofill,.search:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #1c1929 inset;-webkit-text-fill-color:var(--sb-text-bright)}.search::placeholder{color:#7e7b9a}.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.55rem .65rem}.sb-nav::-webkit-scrollbar{width:3px}.sb-nav::-webkit-scrollbar-track{background:transparent}.sb-nav::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}.nav-section{margin-bottom:.1rem}.nav-label{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:.6rem .5rem .2rem;display:block;color:#6a6882}.nav-section--recent .nav-label{color:#726e5e}.nav-section--saved .nav-label{color:#726070}.nav-section--templates .nav-label{color:#636078}.nav-empty{font-size:.75rem;color:#4e4b6e;padding:.4rem .6rem;font-style:italic}.menu-btn{all:unset;cursor:pointer;width:100%;display:flex;align-items:center;gap:.52rem;padding:.48rem .6rem;border-radius:9px;font-size:.82rem;font-weight:500;color:#8a87a8;transition:background .12s,color .12s;box-sizing:border-box}.menu-btn .caret{margin-left:auto;font-size:.7rem;color:#3f3c60;transition:transform .2s}.menu-btn.active .caret{transform:rotate(90deg);color:#6b688a}.menu-btn:hover{background:#ffffff0e;color:#b8b5d2}.menu-btn.active{background:#ffffff14;color:#c8c5e0;font-weight:600}.menu-panel{display:none;margin-left:.3rem;padding-left:.7rem;border-left:1px solid rgba(255,255,255,.06);margin-bottom:.1rem}.menu-panel.open{display:block}.scroll-list{max-height:175px;overflow-y:auto;padding:.2rem 0}.scroll-list::-webkit-scrollbar{width:3px}.scroll-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}.sb-sort-inline{padding:.2rem 0 .3rem}.analysis-item{border-radius:8px;padding:.42rem .52rem;cursor:pointer;transition:background .1s}.analysis-item:hover{background:#ffffff0e}.analysis-item.selected{background:#41818f24}.analysis-item-row{display:flex;align-items:center;gap:.3rem}.analysis-item strong{display:block;font-size:.77rem;font-weight:500;color:#c2bfda;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.analysis-item span{display:block;font-size:.68rem;color:#5a576e;margin-top:.05rem}.nav-section--chats{margin-bottom:.4rem}.chats-section-header{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:.38rem .5rem;border-radius:6px;transition:background .1s}.chats-section-header:hover{background:#ffffff0a}.chats-section-label{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#5ab0bf}.chats-section-caret{color:#5a576e;transition:transform .2s ease,opacity .15s;flex-shrink:0}.chats-section-caret.open{transform:rotate(90deg);color:#7a9ea8}.chats-list{padding:.05rem 0 .3rem}.chat-group{margin-bottom:.1rem;animation:chatGroupIn .2s ease}.chat-group-label{font-family:var(--font-body);font-size:.68rem;font-weight:500;color:#4e4b6e;letter-spacing:.02em;padding:.55rem .5rem .2rem;-webkit-user-select:none;user-select:none}@keyframes chatGroupIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-session-item{position:relative;display:flex;align-items:center;gap:0;border-radius:10px;padding:0;cursor:pointer;transition:background .15s;min-width:0}.chat-session-item:hover{background:#ffffff12}.chat-session-item.active{background:#41818f2e;box-shadow:inset 2px 0 #5ab0bf}.chat-session-item.renaming{background:#41818f1c}.chat-session-body{flex:1;min-width:0;padding:.44rem .1rem .44rem .65rem;display:flex;flex-direction:column;gap:.1rem}.chat-session-title{font-family:var(--font-body);font-size:.8rem;font-weight:400;color:#cdc9e4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;line-height:1.35;transition:color .1s}.chat-session-title-text{display:inline-block}.chat-session-title.is-marquee{text-overflow:clip}.chat-session-title.is-marquee .chat-session-title-text{transform:translate(var(--marquee-shift));transition:transform var(--marquee-duration) linear var(--marquee-delay);will-change:transform}.chat-session-item:hover .chat-session-title{color:#ddd9f5}.chat-session-item.active .chat-session-title{color:#daf0f5;font-weight:500}.chat-session-meta{font-size:.67rem;font-weight:500;color:#5a576e;font-family:var(--font-body);letter-spacing:.005em;transition:color .1s;white-space:nowrap}.chat-session-item:hover .chat-session-meta{color:#7a768e}.chat-session-item.active .chat-session-meta{color:#5ab0bfa6}.chat-meta-sep{color:var(--teal);font-size:.5rem;vertical-align:middle;margin:0 .3em;opacity:.8}.chat-session-dots{all:unset;cursor:pointer;width:26px;height:26px;margin:0 .25rem;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#807d9e;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .1s,background .1s,color .1s}.chat-session-item:hover .chat-session-dots,.chat-session-item.active .chat-session-dots,.chat-session-dots:focus-visible{opacity:1;pointer-events:auto}.chat-session-dots:hover{background:#ffffff1a;color:#e8e5f8}.chat-session-bubble{flex-shrink:0;margin-left:.6rem;margin-right:-.25rem;color:#807d9e}.chat-session-item.active .chat-session-bubble{color:#5ab0bf}.chat-session-shared{flex-shrink:0;width:12px;height:12px;margin-left:.6rem;margin-right:-.25rem;color:#5ab0bf;opacity:.85}.chat-session-bubble+.chat-session-shared{margin-left:.3rem}.chat-session-menu-item:disabled{opacity:.45;cursor:default}.chat-session-menu-item:disabled:hover{background:transparent}.chat-group-toggle{all:unset;cursor:pointer;display:flex;align-items:center;gap:.35rem;width:100%;box-sizing:border-box;font-size:.68rem;color:#4e4b6e;padding:.55rem .5rem .2rem;-webkit-user-select:none;user-select:none;transition:color .1s}.chat-group-toggle:hover{color:#7a768e}.chat-group-caret{transition:transform .15s ease}.chat-group-caret.open{transform:rotate(90deg)}.chat-session-pin-toggle{all:unset;cursor:pointer;width:26px;height:26px;margin-right:-.25rem;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#807d9e;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .1s,background .1s,color .1s}.chat-session-item:hover .chat-session-pin-toggle,.chat-session-item.active .chat-session-pin-toggle,.chat-session-pin-toggle:focus-visible{opacity:1;pointer-events:auto}.chat-session-pin-toggle:hover{background:#ffffff1a;color:#e8e5f8}.chat-session-menu{position:fixed;z-index:9999;min-width:178px;background:#2d2d2d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.3rem;box-shadow:0 0 0 1px #00000080,0 8px 24px #00000080;animation:chatMenuIn .11s ease-out}@keyframes chatMenuIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.chat-session-menu-item{all:unset;display:flex;align-items:center;gap:.72rem;width:100%;padding:.52rem .75rem;border-radius:8px;font-size:.84rem;font-family:var(--font-body);font-weight:400;color:#ececec;cursor:pointer;transition:background .08s;box-sizing:border-box;line-height:1.4}.chat-session-menu-item:hover{background:#ffffff1a}.chat-session-menu-item .csm-icon{flex-shrink:0;color:#fff;opacity:.85}.chat-session-menu-item.danger{color:#f87171}.chat-session-menu-item.danger .csm-icon{color:#f87171;opacity:1}.chat-session-menu-item.danger:hover{background:#f871711f}.chat-session-menu-sep{height:1px;background:#ffffff1a;margin:.25rem .15rem}.chat-session-rename{all:unset;display:block;flex:1;min-width:0;font-family:var(--font-body);font-size:.8rem;color:#e8e5f8;background:#2e2b42;border-radius:6px;padding:.3rem .55rem;margin:.18rem .4rem .18rem .5rem;box-sizing:border-box;border:1.5px solid #4a4768;outline:none;transition:border-color .15s;width:calc(100% - .9rem);caret-color:#5ab0bf}.chat-session-rename:focus{border-color:#5ab0bf;background:#2e2b42;box-shadow:none}.submenu-btn{all:unset;cursor:pointer;width:100%;display:flex;align-items:center;gap:.45rem;font-size:.79rem;color:#7a778a;border-radius:8px;padding:.43rem .52rem;transition:background .1s,color .1s;font-weight:500;box-sizing:border-box}.submenu-btn:hover{background:#ffffff0e;color:#b8b5d2}.submenu-btn.active{background:#41818f24;color:#5ab0bf;font-weight:600}.submenu-btn.disabled{opacity:.4;cursor:not-allowed}.coming-soon{font-size:.6rem;background:#ffffff12;color:#5a576e;padding:.08rem .35rem;border-radius:4px;margin-left:auto;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.sb-heart{all:unset;cursor:pointer;font-size:.78rem;color:#3f3c58;flex-shrink:0;transition:color .12s}.sb-heart:hover{color:#c47c68}.sb-heart.saved{color:var(--coral)}.sb-footer{padding:.7rem .85rem .8rem;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.quick-links{display:grid;gap:.05rem;margin-bottom:.55rem}.quick-link{display:flex;align-items:center;gap:.55rem;width:100%;background:transparent;border:none;border-left:2px solid transparent;color:#9da7c2;text-align:left;font:inherit;text-decoration:none;font-size:.77rem;font-weight:500;padding:.4rem .5rem .4rem .55rem;border-radius:7px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.quick-link svg{color:#6aa3b0;transition:color .12s ease}.quick-link:hover{background:#5ab0bf24;color:#f0f1f7;border-left-color:#6cc4d273;transform:translate(2px)}.quick-link:hover svg{color:#a8d8e2}.quick-link.active{background:#5ab0bf29;color:#6cc4d2;border-left-color:#6cc4d2}.quick-link.active svg{color:#6cc4d2}.quick-link.active:hover{transform:none}.feedback-link{font-size:.73rem;color:#3f3c58;text-align:center}.feedback-link a{color:#5ab0bf;text-decoration:none;font-weight:600}.feedback-link a:hover{text-decoration:underline}.dcm-backdrop{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center;animation:dcmFadeIn .15s ease}@keyframes dcmFadeIn{0%{opacity:0}to{opacity:1}}.dcm-modal{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem 1.5rem 1.25rem;width:min(380px,92vw);box-shadow:0 12px 40px #00000080;animation:dcmSlideIn .18s cubic-bezier(.16,1,.3,1)}@keyframes dcmSlideIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:none}}.dcm-title{font-family:var(--font-body);font-size:1.075rem;font-weight:600;color:#f5f5f5;margin-bottom:.5rem;line-height:1.3}.dcm-body{font-family:var(--font-body);font-size:.9375rem;color:#9ca3af;line-height:1.55;margin-bottom:1.4rem}.dcm-actions{display:flex;justify-content:flex-end;gap:.5rem}.dcm-btn{all:unset;cursor:pointer;padding:.5rem 1.15rem;border-radius:8px;font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:background .12s,border-color .12s;line-height:1;box-sizing:border-box}.dcm-cancel{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.18)}.dcm-cancel:hover{background:#ffffff0f;border-color:#ffffff47}.dcm-confirm{background:#e5534b;color:#fff;border:1px solid transparent}.dcm-confirm:hover{background:#d94840}.delete-toast{position:fixed;top:5rem;right:.75rem;z-index:10001;display:flex;align-items:center;gap:.55rem;background:#303030;color:#e8e8e8;font-size:.875rem;font-family:var(--font-body);font-weight:500;padding:.75rem 1.3rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #00000073;white-space:nowrap;animation:toastIn .2s ease-out}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.delete-toast svg{flex-shrink:0;color:#5ab0bf}.delete-toast-close{all:unset;cursor:pointer;font-size:1rem;color:#807d9e;margin-left:.3rem;line-height:1;transition:color .1s}.delete-toast-close:hover{color:#ececec}@media(prefers-reduced-motion:reduce){.chat-session-title.is-marquee{text-overflow:ellipsis}.chat-session-title.is-marquee .chat-session-title-text{transition:none;transform:none}}.chat-scroll-btn{position:absolute;bottom:calc(var(--chat-input-h, 80px) + 36px);left:50%;transform:translate(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000001f;transition:box-shadow .15s;z-index:10}.chat-scroll-btn:hover{box-shadow:0 3px 14px #0003}.chat-panel{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;background:var(--surface);min-width:0}.chat-panel-head{padding:.85rem 1.5rem;border-bottom:2px solid var(--teal-light);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chat-panel-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}.chat-close{all:unset;cursor:pointer;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--muted);font-size:1.1rem}.chat-close:hover{background:#f5f7fb}.chat-panel-body{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding:1.5rem 0 .5rem}.chat-panel-body::-webkit-scrollbar{width:7px}.chat-panel-body::-webkit-scrollbar-track{background:var(--teal-light);border-radius:99px}.chat-panel-body::-webkit-scrollbar-thumb{background:var(--teal);border-radius:99px}.chat-panel-body::-webkit-scrollbar-thumb:hover{background:var(--teal-dark)}.chat-row{display:flex;align-items:flex-start;gap:.85rem;padding:.7rem 2rem;max-width:900px;width:100%;margin:0 auto}.chat-row.user{flex-direction:row-reverse}.chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;box-shadow:0 2px 9px #41818f52;letter-spacing:.03em}.chat-avatar.user-av{background:var(--indigo)}.thinking-text{font-size:.9rem;color:var(--muted)}.thinking-dot{display:inline-block;animation:thinking-blink 1.4s infinite;color:var(--teal);font-weight:700;font-size:1.1rem}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinking-blink{0%,80%,to{opacity:.15}40%{opacity:1}}.thinking-indicator{display:inline-flex;align-items:center;gap:.6rem;font-size:.92rem;min-height:1.5rem}.thinking-orb{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--teal-light),var(--teal) 70%,var(--teal-dark));flex-shrink:0;animation:thinking-orb-breathe 1.6s ease-in-out infinite}@keyframes thinking-orb-breathe{0%,to{transform:scale(.85);box-shadow:0 0 #41818f80}50%{transform:scale(1.05);box-shadow:0 0 0 6px #41818f00}}.thinking-label{display:inline-block;font-weight:500;animation:thinking-label-in .32s ease-out}@keyframes thinking-label-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.thinking-shimmer{background:linear-gradient(90deg,var(--muted) 0%,var(--muted) 35%,var(--indigo) 50%,var(--muted) 65%,var(--muted) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:thinking-shimmer 2.4s linear infinite}@keyframes thinking-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-bubble{max-width:680px}.agent-label{font-family:var(--font-mono);font-size:.62rem;font-weight:500;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}.chat-row.agent .chat-bubble{font-size:.95rem;line-height:1.65;color:var(--text)}.chat-row.user .chat-bubble{flex:none;max-width:520px;background:var(--teal);color:#fff;font-size:.92rem;line-height:1.52;padding:.7rem 1.15rem;border-radius:20px 20px 4px;box-shadow:0 3px 10px #41818f47;white-space:pre-wrap;overflow-wrap:break-word}.chat-input-wrap{border-top:none;box-shadow:0 -1px 8px #0000000a;padding:1rem 1.5rem 1.2rem;display:flex;align-items:flex-end;gap:.6rem;max-width:860px;width:100%;margin:0 auto}.chat-input-field{flex:1;padding:.72rem 1.15rem;border:1.5px solid var(--border);border-radius:22px;font-size:.93rem;font-family:inherit;line-height:1.45;background:#fafbfd;color:var(--text);outline:none;transition:border-color .15s;resize:none;max-height:140px;overflow-y:hidden;overscroll-behavior:contain}.chat-input-field:focus{border-color:var(--teal);background:var(--surface);box-shadow:0 0 0 3px #41818f26}.chat-input-field.is-analysis{border-color:var(--teal);background:color-mix(in srgb,var(--teal-light) 35%,var(--surface))}.chat-input-field.is-analysis:focus{background:color-mix(in srgb,var(--teal-light) 20%,var(--surface))}.chat-input-field::placeholder{color:var(--muted)}.chat-send-btn{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--teal);border:none;color:#fff;font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .14s,transform .1s,box-shadow .14s}.chat-send-btn:hover{background:var(--teal-dark);box-shadow:0 2px 10px #41818f59}.chat-send-btn:active{transform:scale(.91)}.chat-send-btn:disabled{background:var(--border);cursor:not-allowed;box-shadow:none;transform:none;opacity:.45}.chat-footer-note{text-align:center;font-size:.67rem;color:var(--muted);padding:.4rem 0 .7rem}.chat-examples{margin:.8rem auto 0;max-width:860px;width:100%;padding:0 .6rem}.chat-examples-title{font-size:.72rem;color:var(--muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.55rem}.chat-examples-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;align-items:stretch}@media(max-width:760px){.chat-examples-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:460px){.chat-examples-grid{grid-template-columns:1fr}}.chat-example-chip{all:unset;cursor:pointer;padding:.6rem .8rem;border:1px solid var(--border);border-radius:12px;font-size:.8rem;color:var(--indigo);background:var(--surface);transition:border-color .15s,background .15s,transform .12s;line-height:1.4;text-align:left;word-break:normal;overflow-wrap:break-word}.chat-example-chip:hover{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark);transform:translateY(-1px)}.chat-example-chip:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.chat-chart{margin-top:.75rem;width:100%;background:#fafbfd;border:1px solid var(--border);border-radius:10px;padding:.7rem;max-width:620px}.chat-table{margin-top:.75rem;width:100%;max-width:620px}.chat-table .table-wrap--compact{margin:0}.chat-table .table-wrap--compact .table-scroll{max-height:320px;overflow:auto}.chat-data-disclosure{margin-top:.6rem;width:100%;max-width:620px}.chat-data-toggle{all:unset;cursor:pointer;margin-top:.5rem;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:var(--rsm);border:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--teal);transition:color .15s,background .15s,border-color .15s}.chat-data-toggle:hover{color:var(--teal-dark);background:var(--teal-light);border-color:var(--teal-light)}.chat-data-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.chat-data-toggle svg{transition:transform .18s ease}.chat-data-toggle.is-open svg{transform:rotate(90deg)}.chat-data-panel{margin-top:0;animation:dataPanelIn .18s ease}@keyframes dataPanelIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.chat-data-panel .table-wrap--compact{margin:0}.chat-data-panel .table-wrap--compact .table-scroll{max-height:360px;overflow:auto}.chat-msg-wrap{display:flex;flex-direction:column;flex:1;min-width:0}.chat-row.user .chat-msg-wrap{flex:none;align-items:flex-end;max-width:540px}.msg-actions{display:flex;gap:.4rem;margin-top:.2rem;flex-wrap:wrap;align-items:center}.msg-actions--user{justify-content:flex-end}.export-btn[data-tooltip]{position:relative}.export-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(2px);padding:.3rem .55rem;font-size:.66rem;font-weight:500;color:#fff;background:var(--teal-dark);border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;box-shadow:0 4px 12px #0000002e;z-index:20}.export-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.3s}.export-btn.is-busy{opacity:.55;cursor:progress}.export-btn.is-failed{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 45%,transparent)}.action-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--rsm);color:var(--muted);transition:color .15s,background .15s,transform .12s}.action-btn:hover{color:var(--teal);background:var(--teal-light);transform:scale(1.08)}.action-btn:active{transform:scale(.93)}.action-btn.copied{color:var(--ok)}.action-btn.regenerate svg{transition:transform .4s ease}.action-btn.regenerate:hover svg{transform:rotate(-180deg)}.action-btn.action-btn--map{width:auto;padding:0 .6rem;gap:.32rem;font-size:.78rem;font-weight:500;color:var(--teal)}.action-btn.action-btn--map:hover{color:var(--teal-dark)}.action-btn-emoji{font-size:.95rem;line-height:1;display:inline-block}@keyframes spin{to{transform:rotate(-360deg)}}.action-btn.regenerate.spinning svg{animation:spin .8s linear infinite;transition:none}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.chat-row.agent.msg-new{animation:msgFadeIn .22s ease}.chat-row:hover .chat-bubble{box-shadow:0 1px 4px #0000000a}.regen-wrap{position:relative}.regen-popover{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px #0000001f;padding:.45rem;display:flex;flex-direction:column;gap:.3rem;min-width:220px;z-index:100;animation:msgFadeIn .15s ease}.regen-input-row{display:flex;align-items:center;gap:.3rem}.regen-input{all:unset;flex:1;font-size:.87rem;color:var(--text);padding:.42rem .7rem;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);box-sizing:border-box;transition:border-color .15s}.regen-input:focus{border-color:var(--teal)}.regen-input::placeholder{color:var(--muted)}.regen-send-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;flex-shrink:0;transition:background .15s}.regen-send-btn:hover{background:var(--teal-dark)}.regen-send-btn:disabled{background:var(--border);cursor:default}.regen-submit-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.83rem;font-weight:500;color:var(--text);padding:.38rem .7rem;border-radius:8px;transition:background .15s,color .15s}.regen-submit-btn:hover{background:var(--teal-light);color:var(--teal)}.regen-submit-btn svg{width:14px;height:14px;color:var(--muted)}.spinner.sm{width:12px;height:12px;border-width:1.5px;display:inline-block;margin-right:.3rem;vertical-align:middle}.sb-heart{all:unset;cursor:pointer;font-size:.82rem;line-height:1;color:#4a4768;flex-shrink:0;transition:color .15s,transform .15s;-webkit-user-select:none;user-select:none;padding:.15rem .2rem}.sb-heart:hover{color:#e8a0b0;transform:scale(1.2)}.sb-heart.saved{color:#e8294a}.nav-item.selected{background:var(--sb-active-bg);border-left:3px solid var(--sb-active-color);padding-left:calc(.6rem - 3px)}.nav-item-title{flex:1;min-width:0}.msg-actions>.feedback-row{display:contents}.action-btn.fb-active{color:var(--teal)}.action-btn.fb-fading{opacity:.3}.feedback-expanded{flex:0 0 100%;order:10;display:flex;flex-direction:column;gap:.4rem;animation:fadeIn .15s ease}.feedback-expanded .feedback-row{display:flex;gap:.35rem;align-items:center}.feedback-prompt{font-size:.78rem;color:var(--muted);margin-left:.2rem}.feedback-reasons{display:flex;flex-wrap:wrap;gap:.35rem}.feedback-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem;border-radius:20px;border:1.5px solid var(--border);font-size:.75rem;font-weight:500;color:var(--text);background:var(--surface);transition:border-color .15s,background .15s,color .15s}.feedback-chip:hover,.feedback-chip.selected{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark)}.feedback-chip-emoji{font-size:.85rem}.feedback-text-wrap{display:flex;flex-direction:column;gap:.35rem;animation:fadeIn .12s ease}.feedback-text-input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:.45rem .65rem;font-size:.78rem;color:var(--text);background:var(--surface);resize:none;outline:none;transition:border-color .15s;box-sizing:border-box;font-family:inherit}.feedback-text-input:focus{border-color:var(--teal)}.feedback-submit-btn{all:unset;cursor:pointer;padding:.3rem .75rem;border-radius:6px;background:var(--teal);color:#fff;font-size:.75rem;font-weight:600;align-self:flex-end;transition:background .15s}.feedback-submit-btn:hover{background:var(--teal-dark)}.feedback-thanks{font-size:.75rem;color:var(--ok);font-weight:500;display:inline-flex;align-items:center;gap:.2rem;animation:fadeIn .2s ease}.chat-history-loading{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:2.5rem 0}.chat-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);animation:chatLoadPulse 1.2s ease-in-out infinite}.chat-loading-dot:nth-child(2){animation-delay:.15s}.chat-loading-dot:nth-child(3){animation-delay:.3s}@keyframes chatLoadPulse{0%,80%,to{opacity:.2;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.chat-model-bar{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.45rem 1.5rem 0;max-width:860px;width:100%;margin:0 auto}.chat-model-group{display:flex;align-items:center;gap:.35rem}.chat-model-label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.chat-model-select{font-size:.78rem;font-family:inherit;color:var(--text);background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236b7394' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:11px;appearance:none;-webkit-appearance:none;border:1.5px solid var(--border);border-radius:8px;padding:.34rem 1.9rem .34rem .6rem;cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.chat-model-select:hover{border-color:var(--teal)}.chat-model-select:focus-visible{border-color:var(--teal);box-shadow:0 0 0 2px #41818f2e}.chat-model-divider{width:1px;height:18px;background:var(--border)}.chat-model-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.chat-model-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chat-model-switch{position:relative;flex:none;width:30px;height:17px;border-radius:999px;background:var(--border);transition:background .18s ease}.chat-model-switch:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000038;transition:transform .18s ease}.chat-model-toggle input:checked+.chat-model-switch{background:var(--teal)}.chat-model-toggle input:checked+.chat-model-switch:after{transform:translate(13px)}.chat-model-toggle:hover .chat-model-switch{background:var(--teal-light)}.chat-model-toggle input:checked:hover+.chat-model-switch{background:var(--teal-dark)}.chat-model-toggle input:focus-visible+.chat-model-switch{box-shadow:0 0 0 2px #41818f59}@media(prefers-reduced-motion:reduce){.chat-model-switch,.chat-model-switch:after{transition:none}}.chat-model-tag{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:.4rem}.chat-token-usage{margin-top:.3rem;font-size:.68rem;color:var(--muted)}.chat-token-usage>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .5rem;border-radius:4px;font-variant-numeric:tabular-nums;transition:background .12s}.chat-token-usage>summary::-webkit-details-marker{display:none}.chat-token-usage>summary::marker{content:""}.chat-token-usage>summary:before{content:"▸";font-size:.6rem;color:var(--muted);transition:transform .15s}.chat-token-usage[open]>summary:before{transform:rotate(90deg)}.chat-token-usage>summary:hover{background:var(--teal-light);color:var(--indigo)}.chat-token-dot{opacity:.5}.chat-token-table{margin-top:.4rem;border-collapse:collapse;font-size:.68rem;font-variant-numeric:tabular-nums}.chat-token-table th,.chat-token-table td{text-align:left;padding:.2rem .7rem .2rem 0;color:var(--muted)}.chat-token-table th{font-weight:600;color:var(--indigo);border-bottom:1px solid var(--border)}.chat-token-table td:nth-child(3),.chat-token-table td:nth-child(4),.chat-token-table td:nth-child(5),.chat-token-table td:nth-child(6),.chat-token-table th:nth-child(3),.chat-token-table th:nth-child(4),.chat-token-table th:nth-child(5),.chat-token-table th:nth-child(6){text-align:right}.chat-token-sub{opacity:.7;font-style:italic}.chat-explain{margin:.55rem 0}.chat-explain-trigger{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem .28rem .5rem;border-radius:999px;border:1px solid transparent;color:var(--teal-dark);font-size:.8rem;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .15s ease}.chat-explain-trigger:hover{background:var(--teal-light);border-color:var(--teal-light);transform:translateY(-1px)}.chat-explain-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px #41818f59}.chat-explain-icon{color:var(--teal);flex:none}.chat-explain-count{color:var(--muted);font-weight:500;font-size:.75rem;font-variant-numeric:tabular-nums}.chat-explain-chevron{flex:none;opacity:.7;transition:transform .2s ease}.chat-explain.is-open .chat-explain-chevron{transform:rotate(90deg)}.chat-explain-label{background:linear-gradient(90deg,var(--teal-dark) 0%,var(--teal) 38%,#8fd0da 50%,var(--teal) 62%,var(--teal-dark) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:explainShimmer 1.5s ease-out 1 both}.chat-explain-steps{list-style:none;margin:.55rem 0 .25rem;padding:.9rem 1.05rem .9rem .95rem;border:1px solid color-mix(in srgb,var(--teal) 9%,transparent);border-radius:12px;background:color-mix(in srgb,var(--teal-light) 30%,var(--surface));animation:dataPanelIn .22s ease}.chat-explain-step{position:relative;display:flex;gap:.7rem;padding:.42rem 0 .42rem 1.95rem;font-size:.875rem;line-height:1.55;color:var(--text);opacity:0;animation:stepIn .32s cubic-bezier(.22,.61,.36,1) both}.chat-explain-step:before{content:"";position:absolute;left:.62rem;top:1.95rem;bottom:-.42rem;width:1.5px;background:color-mix(in srgb,var(--teal) 22%,transparent);transform-origin:top;animation:railDraw .3s ease both;animation-delay:inherit}.chat-explain-step:last-child:before{display:none}.chat-explain-num{position:absolute;left:0;top:.5rem;width:1.3rem;height:1.3rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--teal-dark);background:color-mix(in srgb,var(--teal-light) 70%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 30%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal-light) 30%,var(--surface));flex:none;animation:dotPop .3s cubic-bezier(.34,1.56,.64,1) both;animation-delay:inherit}.chat-explain-text{flex:1;background:linear-gradient(90deg,var(--text) 0%,var(--text) 40%,color-mix(in srgb,var(--text) 6%,var(--surface)) 50%,var(--text) 60%,var(--text) 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:explainShimmer 1.9s ease-out both;animation-delay:inherit}.chat-explain-text strong{font-weight:600;color:var(--indigo);-webkit-text-fill-color:var(--indigo)}@keyframes explainShimmer{0%{background-position:130% 0}to{background-position:-30% 0}}@keyframes stepIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes railDraw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes dotPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.chat-explain-trigger,.chat-explain-chevron,.chat-explain-label,.chat-explain-steps,.chat-explain-step,.chat-explain-step:before,.chat-explain-num,.chat-explain-text{animation:none;transition:none}.chat-explain-label{background:none;-webkit-text-fill-color:var(--teal-dark);color:var(--teal-dark)}.chat-explain-text{background:none;-webkit-text-fill-color:var(--text);color:var(--text)}.chat-explain-step{opacity:1}}.definition-card{margin-top:.15rem;background:color-mix(in srgb,var(--teal-light) 45%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 16%,transparent);border-radius:14px;padding:.9rem 1.1rem 1rem;animation:dataPanelIn .24s ease}.definition-eyebrow{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:.55rem}.definition-card.is-missing .definition-eyebrow{color:var(--muted)}.definition-body .markdown-content>:first-child{margin-top:0}.definition-body .markdown-content h3{font-size:1.3rem;margin:.1rem 0 .5rem;border-bottom:none;padding-bottom:0}.definition-body .markdown-content pre{position:relative;margin:.85rem 0 0;padding:.55rem .8rem .55rem 2.1rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 20%,transparent);border-left:3px solid var(--teal);border-radius:8px;overflow-x:auto}.definition-body .markdown-content pre:before{content:"ƒ";position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--teal-dark);font-weight:700;font-style:italic}.definition-body .markdown-content pre code{color:var(--text);font-size:.85rem}.definition-body .markdown-content blockquote{display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 0 0;padding:0;border:none;font-size:.85rem;font-style:italic;color:var(--muted)}.definition-body .markdown-content blockquote:before{content:"";flex:none;width:15px;height:15px;margin-top:2px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center / contain no-repeat}.definition-body .markdown-content blockquote p{margin:0}.definition-reference{display:flex;align-items:center;gap:.45rem;margin-top:.95rem;padding-top:.6rem;border-top:1px solid color-mix(in srgb,var(--teal) 12%,transparent);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.definition-reference b{font-weight:600;letter-spacing:.06em;color:var(--teal-dark)}.definition-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.definition-chip{all:unset;box-sizing:border-box;cursor:pointer;background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 22%,transparent);border-radius:999px;padding:.3rem .78rem;font-size:.82rem;color:var(--teal-dark);transition:background .15s ease,transform .15s ease}.definition-chip:hover{background:var(--teal-light);transform:translateY(-1px)}.definition-chip:focus-visible{outline:none;box-shadow:0 0 0 2px #41818f59}.definition-chip:disabled{cursor:default;opacity:.65}@media(prefers-reduced-motion:reduce){.definition-card{animation:none}.definition-chip{transition:none}}.analysis-card{--an-dark: var(--teal-dark);--an-mid: var(--teal);--an-pale: var(--teal-light);--an-line: #0e84a0;margin-top:.15rem;background:color-mix(in srgb,var(--an-pale) 45%,var(--surface));border:1px solid color-mix(in srgb,var(--an-mid) 16%,transparent);border-radius:14px;padding:1rem 1.15rem 1.1rem;animation:dataPanelIn .24s ease}.analysis-card[data-vehicle=ast]{--an-dark: #461f30;--an-mid: #7a4159;--an-pale: #f2e3e9;--an-line: #a13a5e}.analysis-card[data-vehicle=company]{--an-dark: #5c4526;--an-mid: #8a683c;--an-pale: #f1e7d3;--an-line: #b07226}.analysis-masthead{position:relative;overflow:hidden;margin:-1rem -1.15rem 0;padding:1rem 1.15rem 1.05rem;border-radius:13px 13px 0 0;background:linear-gradient(130deg,var(--an-dark),color-mix(in srgb,var(--an-dark) 72%,var(--an-mid)))}.analysis-masthead:after{content:"";position:absolute;top:-55%;right:-12%;width:55%;height:170%;background:radial-gradient(circle,color-mix(in srgb,var(--an-pale) 20%,transparent),transparent 70%);pointer-events:none}.analysis-masthead.with-hero{padding-bottom:2.3rem}.analysis-masthead .analysis-eyebrow{color:color-mix(in srgb,var(--an-pale) 85%,transparent)}.analysis-masthead .analysis-term{color:var(--surface)}.analysis-masthead .analysis-badge{background:color-mix(in srgb,var(--surface) 10%,transparent);border-color:color-mix(in srgb,var(--surface) 26%,transparent);color:var(--an-pale)}.analysis-masthead .analysis-badge:first-child{background:var(--an-pale);border-color:var(--an-pale);color:var(--an-dark)}.analysis-eyebrow{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:.55rem}.analysis-term{font-family:var(--font-serif);font-size:1.45rem;font-weight:400;line-height:1.2;color:var(--text);margin:.05rem 0 .5rem}.analysis-badges{display:flex;flex-wrap:wrap;gap:.4rem}.analysis-badge{font-size:.72rem;padding:.18rem .6rem;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 24%,transparent);color:var(--teal-dark)}.analysis-badge:first-child{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--teal-light)}.analysis-hero{display:flex;margin-top:.9rem;border:1px solid color-mix(in srgb,var(--an-mid) 18%,transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--an-mid) 6%,var(--surface)),var(--surface) 55%);overflow:hidden;animation:analysisRise .5s cubic-bezier(.22,.7,.3,1) .08s backwards}.analysis-masthead.with-hero+.analysis-hero{position:relative;z-index:1;margin:-1.5rem .45rem 0;box-shadow:0 10px 26px #102a322e,0 2px 8px #102a3214}.analysis-hero-item{flex:1;min-width:0;padding:.65rem .9rem;display:flex;flex-direction:column;gap:.15rem}.analysis-hero-item+.analysis-hero-item{border-left:1px solid color-mix(in srgb,var(--an-mid) 14%,transparent)}.analysis-hero-item small{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-hero-item b{font-size:1.18rem;font-weight:700;color:var(--text);line-height:1.15;font-variant-numeric:tabular-nums}.analysis-hero-item .analysis-delta{align-self:flex-start}.analysis-recent{display:flex;flex-direction:column;gap:.7rem;margin-top:.65rem}.analysis-recent-block{padding:.65rem .8rem;border-radius:10px;background:color-mix(in srgb,var(--teal) 4%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 10%,transparent)}.analysis-recent-head{display:flex;align-items:baseline;gap:.45rem;margin-bottom:.35rem}.analysis-recent-head span{font-size:.82rem;font-weight:700;color:var(--teal-dark)}.analysis-recent-head em{font-style:normal;font-family:var(--font-mono);font-size:.62rem;padding:.05rem .4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--teal) 24%,transparent);color:var(--muted)}.analysis-recent-block p{margin:.3rem 0 0;font-size:.85rem;line-height:1.55;color:var(--text)}.analysis-recent-block ul{margin:.3rem 0 0;padding-left:1.05rem;display:flex;flex-direction:column;gap:.28rem}.analysis-recent-block li{font-size:.85rem;line-height:1.5;color:var(--text)}.analysis-recent-block li::marker{color:var(--teal)}.analysis-section{margin-top:1rem;padding-top:.85rem;border-top:1px solid color-mix(in srgb,var(--teal) 14%,transparent);animation:analysisRise .5s cubic-bezier(.22,.7,.3,1) backwards;animation-delay:calc(.16s + var(--i, 0) * .09s)}@keyframes analysisRise{0%{opacity:0;transform:translateY(10px)}}.analysis-section-head{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:.55rem}.analysis-section-head em{font-style:normal;color:var(--muted)}.analysis-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.analysis-fact{background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 14%,transparent);border-radius:8px;padding:.45rem .6rem;transition:transform .15s ease,box-shadow .15s ease}.analysis-fact:hover{transform:translateY(-2px);box-shadow:0 5px 14px #102a321a}.analysis-fact small{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.analysis-fact b{font-size:.88rem;font-weight:600;color:var(--text)}.analysis-delta{display:inline-block;font-family:var(--font-mono);font-size:.64rem;font-weight:500;padding:.08rem .4rem;border-radius:5px;margin-left:.35rem;vertical-align:1px}.analysis-delta.is-pos{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok)}.analysis-delta.is-neg{background:color-mix(in srgb,var(--neg) 12%,var(--surface));color:var(--neg)}.analysis-delta.is-flat{background:color-mix(in srgb,var(--muted) 12%,var(--surface));color:var(--muted)}.analysis-bar{display:grid;grid-template-columns:92px 1fr 96px;align-items:center;gap:8px;margin:.3rem 0}.analysis-bar small{font-size:.78rem;color:var(--text)}.analysis-bar-track{position:relative;height:16px}.analysis-bar-track i{position:absolute;left:0;height:7px;border-radius:4px}.analysis-bar-track i.is-product{top:0;background:var(--teal)}.analysis-bar-track i.is-benchmark{top:9px;background:color-mix(in srgb,var(--teal) 32%,var(--surface))}.analysis-bar-value{font-family:var(--font-mono);font-size:.7rem;color:var(--teal-dark);text-align:right;white-space:nowrap}.analysis-legend{display:flex;gap:1rem;font-size:.7rem;color:var(--muted);margin-top:.35rem}.analysis-legend i{display:inline-block;width:14px;height:6px;border-radius:3px;margin-right:5px;vertical-align:1px}.analysis-legend i.is-product{background:var(--chart-product)}.analysis-legend i.is-benchmark{background:repeating-linear-gradient(90deg,var(--chart-bench) 0 4px,transparent 4px 7px);border-radius:0;height:2.5px;vertical-align:3px}.analysis-trend,.analysis-legend{--chart-product: var(--an-line, #0e84a0);--chart-bench: #8b94a7}.analysis-trend svg{width:100%;height:auto;display:block}.analysis-trend-grid{stroke:color-mix(in srgb,var(--teal) 12%,transparent);stroke-dasharray:3 4}.analysis-trend-tick{fill:var(--muted);font-family:var(--font-mono);font-size:9.5px}.analysis-trend-product{fill:none;stroke:var(--chart-product);stroke-width:2.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:analysisDraw 1.1s ease-out .45s forwards}.analysis-trend-benchmark{fill:none;stroke:var(--chart-bench);stroke-width:2;stroke-linejoin:round;stroke-dasharray:5 4;animation:analysisFade .5s ease-out .3s backwards}@keyframes analysisDraw{to{stroke-dashoffset:0}}@keyframes analysisFade{0%{opacity:0}}.analysis-trend-area{fill:var(--chart-product);opacity:.12;animation:analysisAreaIn .6s ease-out .9s backwards}@keyframes analysisAreaIn{0%{opacity:0}}.analysis-trend-dot{stroke:var(--surface);stroke-width:2;animation:analysisFade .4s ease-out 1.35s backwards}.analysis-trend-dot.is-product{fill:var(--chart-product)}.analysis-trend-dot.is-benchmark{fill:var(--chart-bench)}.analysis-trend-endlabel{font-family:var(--font-mono);font-size:10px;font-weight:600;animation:analysisFade .4s ease-out 1.35s backwards}.analysis-trend-endlabel.is-product{fill:var(--chart-product)}.analysis-trend-endlabel.is-benchmark{fill:var(--muted)}.analysis-columns-zero{stroke:color-mix(in srgb,var(--text) 30%,transparent)}.analysis-columns-seg{stroke:var(--surface);stroke-width:1;animation:analysisFade .5s ease-out .35s backwards}.analysis-text{font-size:.85rem;line-height:1.55;color:var(--text);margin:.55rem 0 0;white-space:pre-line}.analysis-block-title{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.75rem 0 .45rem}.analysis-chart-subtitle{font-size:.68rem;color:var(--muted);margin:-.3rem 0 .4rem}.analysis-trend-pointlabel{font-family:var(--font-mono);font-size:.56rem;fill:var(--chart-product)}.analysis-columns-label{font-family:var(--font-mono);font-size:.56rem;fill:#fff}.analysis-summary{font-size:.9rem;line-height:1.6;color:var(--text);margin:1rem 0 0;padding:.85rem 1rem;background:color-mix(in srgb,var(--teal-light) 40%,var(--surface));border-radius:10px}.analysis-offer{font-size:.82rem;line-height:1.5;color:var(--muted);font-style:italic;margin:1.1rem 0 0;padding-top:.85rem;border-top:1px solid var(--border)}.analysis-toc{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0 .25rem}.analysis-toc-item{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;gap:.35rem;padding:.28rem .6rem;border:1px solid var(--border);border-radius:999px;font-size:.72rem;color:var(--text);transition:background .15s ease,border-color .15s ease}.analysis-toc-item:hover{background:var(--teal-light);border-color:var(--teal)}.analysis-toc-item em{font-family:var(--font-mono);font-style:normal;font-size:.62rem;color:var(--teal-dark)}.analysis-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}.analysis-trend-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.analysis-stack-body{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start}.analysis-stack-cols{display:flex;gap:.9rem}.analysis-stack-col{display:flex;flex-direction:column;align-items:center;gap:.3rem}.analysis-stack-col small{font-size:.66rem;color:var(--muted)}.analysis-stack-bar{display:flex;flex-direction:column;width:34px;height:150px;border-radius:6px;overflow:hidden;background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 14%,transparent);transform-origin:bottom;animation:analysisGrow .6s cubic-bezier(.22,.7,.3,1) .35s backwards}@keyframes analysisGrow{0%{transform:scaleY(.15);opacity:0}}.analysis-stack-bar i{display:block;width:100%}.analysis-stack-table{width:100%;border-collapse:collapse;font-size:.76rem;color:var(--text)}.analysis-stack-table td{padding:.18rem .3rem;border-bottom:1px solid color-mix(in srgb,var(--teal) 8%,transparent);white-space:nowrap}.analysis-stack-table td:first-child{width:100%;white-space:normal}.analysis-stack-table td:nth-child(2),.analysis-stack-table td:nth-child(3){font-family:var(--font-mono);font-size:.7rem;text-align:right;color:var(--teal-dark)}.analysis-swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:0}@media(max-width:640px){.analysis-stack-body{grid-template-columns:1fr}}.analysis-verdict span{white-space:pre-line}.analysis-verdict{display:flex;align-items:flex-start;gap:.5rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--teal) 22%,transparent);border-left:3px solid var(--teal);border-radius:0 8px 8px 0;padding:.5rem .7rem;margin-top:.55rem;font-size:.82rem;line-height:1.5;color:var(--text)}.analysis-verdict svg{flex:none;color:var(--teal-dark);margin-top:1px}@media print,(prefers-reduced-motion:reduce){.analysis-card,.analysis-hero,.analysis-section,.analysis-stack-bar,.analysis-columns-seg{animation:none}.analysis-trend-product{animation:none;stroke-dashoffset:0}.analysis-trend-benchmark,.analysis-trend-area,.analysis-trend-dot,.analysis-trend-endlabel{animation:none}.analysis-fact,.analysis-fact:hover{transform:none;transition:none}}.chat-plus-wrap{position:relative;flex-shrink:0}.chat-plus-btn{all:unset;box-sizing:border-box;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .15s,background .15s}.chat-plus-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent)}.chat-plus-btn.is-open{color:var(--text);background:color-mix(in srgb,var(--text) 12%,transparent)}.chat-plus-btn:disabled{cursor:default;opacity:.45}.chat-plus-menu{position:absolute;bottom:calc(100% + 10px);left:0;z-index:30;min-width:272px;padding:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #102a3224,0 2px 8px #102a3214;animation:chatPlusMenuIn .16s ease}@keyframes chatPlusMenuIn{0%{opacity:0;transform:translateY(6px) scale(.98)}}.chat-plus-item{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .6rem;border-radius:11px;transition:background .12s}.chat-plus-item:hover,.chat-plus-item:focus-visible{background:color-mix(in srgb,var(--text) 6%,transparent)}.chat-plus-item-icon{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text)}.chat-plus-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-plus-item-text b{font-size:.84rem;font-weight:600;color:var(--text)}.chat-plus-item-text small{font-size:.72rem;color:color-mix(in srgb,var(--text) 55%,transparent)}@media(prefers-reduced-motion:reduce){.chat-plus-menu{animation:none}.chat-plus-btn svg{transition:none}}.chat-mode-pill{all:unset;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;height:40px;padding:0 .8rem;border-radius:999px;font-size:.8rem;color:var(--teal-dark);background:color-mix(in srgb,var(--teal) 12%,var(--surface));transition:background .15s}.chat-mode-pill:hover{background:color-mix(in srgb,var(--teal) 18%,var(--surface))}.chat-mode-pill-x{color:color-mix(in srgb,var(--teal-dark) 60%,transparent);font-size:.95rem;margin-left:2px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sb-bg)}.login-card{width:min(400px,90%);background:var(--surface);border-radius:18px;padding:2rem;box-shadow:0 28px 64px #120f234d}.login-logo{display:block;height:105px;width:auto;max-width:280px;margin:0 auto 1.5rem}.login-card h2{font-family:var(--font-serif);font-size:1.2rem;color:var(--indigo);margin-bottom:1rem}.login-card form{display:flex;flex-direction:column;gap:.7rem}.login-card .btn{width:100%;justify-content:center;margin-top:.3rem}.login-toggle{margin-top:1rem;text-align:center;font-size:.8rem;color:var(--muted)}.link-btn{all:unset;cursor:pointer;color:var(--teal);font-weight:600}.link-btn:hover{text-decoration:underline}.password-field{position:relative;display:flex;align-items:center}.password-field input{flex:1;padding-right:2.5rem}.password-field input::-ms-reveal,.password-field input::-webkit-credentials-auto-fill-button{display:none}.eye-toggle{all:unset;cursor:pointer;position:absolute;right:.7rem;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .15s}.eye-toggle:hover{color:var(--text)}.forgot-link{all:unset;cursor:pointer;font-size:.78rem;color:var(--teal);display:block;text-align:right;margin:-.3rem 0 .8rem}.forgot-link:hover{text-decoration:underline}.success-box{background:#dff3ea;border:1px solid #b8e6d0;border-radius:9px;padding:.8rem 1rem;color:#166534;font-size:.84rem;text-align:center}.forgot-redirect-bar{height:3px;background:var(--border);border-radius:99px;margin-top:1rem;overflow:hidden}.forgot-redirect-progress{height:100%;background:var(--teal);border-radius:99px;transition:width 1s linear}.forgot-redirect-hint{font-size:.78rem;color:var(--muted);text-align:center;margin-top:.5rem}.auth-lang{display:flex;align-items:center;justify-content:center;gap:0;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--border)}.auth-lang-group{display:flex;align-items:center}.auth-lang-sep{color:var(--border);font-size:.75rem;margin:0 .45rem;-webkit-user-select:none;user-select:none}.auth-lang-btn{all:unset;cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:2px 0;border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s}.auth-lang-btn:hover{color:var(--text)}.auth-lang-btn.active{color:var(--teal);border-bottom-color:var(--teal)}.info-page{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh)}.info-page-inner{max-width:720px;margin:0 auto;padding:56px 40px 80px}.info-page h1{font-family:var(--font-serif);font-weight:400;font-size:40px;line-height:1.15;letter-spacing:-.5px;color:var(--indigo);margin:0 0 18px}.info-page .info-lead{font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 8px}.info-page .info-section{padding-top:36px;margin-top:36px;border-top:1px solid var(--border)}.info-page .info-section:first-of-type{border-top:none;margin-top:28px;padding-top:0}.info-page .info-section h2{font-family:var(--font-body);font-weight:600;font-size:18px;line-height:1.35;letter-spacing:-.1px;color:var(--indigo);margin:0 0 12px}.info-page .info-section p{font-family:var(--font-body);font-size:15.5px;line-height:1.7;color:var(--text);margin:0}.info-page .info-section p+p{margin-top:12px}.info-page .info-meta{margin-top:56px;padding-top:24px;border-top:1px solid var(--border);font-family:var(--font-body);font-size:13px;color:var(--muted)}@media(max-width:720px){.info-page-inner{padding:32px 20px 56px}.info-page h1{font-size:30px}.info-page .info-section p{font-size:15px}}.pl-page{padding:1.5rem 2rem;overflow-y:auto;height:100%;overscroll-behavior:contain}.pl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.pl-title{font-family:Sora,sans-serif;font-size:1.35rem;font-weight:700;color:var(--indigo);margin:0}.pl-create-btn{display:inline-flex;align-items:center;gap:.4rem}.pl-loading{display:flex;align-items:center;gap:.5rem;padding:2.5rem 0;color:var(--muted)}.pl-empty{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:4rem 1rem;text-align:center;animation:umFadeIn .25s ease-out}.pl-empty h3{font-family:Sora,sans-serif;font-size:1.05rem;font-weight:700;color:var(--indigo);margin:.4rem 0 0}.pl-empty p{font-size:.85rem;color:var(--muted);margin:0 0 .75rem;max-width:380px}.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.pl-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.95rem 1.05rem;cursor:pointer;transition:transform .12s,box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:.45rem;min-height:110px}.pl-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #48416d0f;border-color:var(--teal)}.pl-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.pl-card-name{font-family:Sora,sans-serif;font-size:.95rem;font-weight:700;color:var(--indigo);margin:0;line-height:1.25;word-break:break-word}.pl-card-delete{all:unset;cursor:pointer;padding:.25rem;border-radius:6px;color:var(--muted);transition:color .12s,background .12s;flex-shrink:0}.pl-card-delete:hover{color:var(--coral);background:#e08e791a}.pl-card-comment{font-size:.78rem;color:var(--text);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pl-card-meta{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted);margin-top:auto;flex-wrap:wrap}.pl-confirm{max-width:420px;padding:1.25rem 1.4rem}.pl-confirm h3{font-family:Sora,sans-serif;font-size:1rem;font-weight:700;color:var(--indigo);margin:0 0 .5rem}.pl-confirm p{font-size:.85rem;color:var(--text);margin:0 0 1rem;line-height:1.45}.pl-confirm-delete{background:var(--coral)!important;border-color:var(--coral)!important}.pl-confirm-delete:hover{background:#d27966!important;border-color:#d27966!important}.pd-page{padding:1.4rem 2rem;overflow-y:auto;height:100%;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1.1rem}.pd-loading,.pd-not-found{align-items:center;justify-content:center;height:100%;color:var(--muted);flex-direction:column;gap:.85rem;display:flex;text-align:center}.pd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pd-header-info{min-width:0}.pd-name{font-family:Sora,sans-serif;font-size:1.5rem;font-weight:700;color:var(--indigo);margin:0;line-height:1.2}.pd-comment{font-size:.85rem;color:var(--text);margin:.4rem 0 0;line-height:1.45;max-width:720px}.pd-header-actions{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.pd-action-btn,.pd-delete-btn{all:unset;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--muted);padding:.45rem .7rem;border:1px solid var(--border);border-radius:8px;transition:color .15s,background .15s,border-color .15s;flex-shrink:0}.pd-action-btn:hover:not(:disabled){color:var(--teal);background:var(--teal-light);border-color:var(--teal)}.pd-action-btn.pd-action-primary{color:#fff;background:var(--teal);border-color:var(--teal)}.pd-action-btn.pd-action-primary:hover:not(:disabled){background:var(--teal-dark);border-color:var(--teal-dark);color:#fff}.pd-delete-btn:hover:not(:disabled){color:var(--coral);background:#e08e7914;border-color:var(--coral)}.pd-action-btn:disabled,.pd-delete-btn:disabled{opacity:.5;cursor:default}.pd-snapshot-bar{position:relative;display:inline-flex;align-items:center;gap:.5rem;background:var(--teal-light);border:1px solid rgba(65,129,143,.18);border-radius:999px;padding:.3rem .45rem .3rem .85rem;align-self:flex-start;max-width:100%}.pd-snapshot-icon{display:inline-flex;align-items:center;color:var(--teal-dark);flex-shrink:0}.pd-snapshot-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-dark);flex-shrink:0}.pd-snapshot-trigger{all:unset;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--indigo);background-color:#fff;border:1px solid transparent;cursor:pointer;transition:border-color .15s,box-shadow .15s;max-width:100%;min-width:0}.pd-snapshot-trigger:hover,.pd-snapshot-trigger:focus-visible{border-color:var(--teal);box-shadow:0 0 0 3px #41818f1f;outline:none}.pd-snapshot-trigger.is-open{border-color:var(--teal);box-shadow:0 0 0 3px #41818f1f}.pd-snapshot-trigger-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pd-snapshot-chevron{flex-shrink:0;color:var(--indigo);transition:transform .18s ease}.pd-snapshot-trigger.is-open .pd-snapshot-chevron{transform:rotate(180deg)}.pd-snapshot-list{list-style:none;margin:0;padding:.3rem;position:absolute;top:calc(100% + .4rem);left:0;min-width:100%;max-width:min(420px,calc(100vw - 2rem));background:var(--surface, #fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px #48416d24;z-index:30;max-height:280px;overflow-y:auto;animation:pdDrop .14s ease-out}@keyframes pdDrop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pd-snapshot-option{all:unset;display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .7rem;font-size:.8rem;font-weight:500;color:var(--text);border-radius:8px;cursor:pointer;transition:background .1s,color .1s;box-sizing:border-box}.pd-snapshot-option:hover{background:var(--teal-light);color:var(--teal-dark)}.pd-snapshot-option.is-active{background:var(--teal);color:#fff;font-weight:600}.pd-snapshot-option.is-active:hover{background:var(--teal-dark);color:#fff}.pd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem}.pd-kpi{display:flex;flex-direction:column;gap:.25rem}.pd-kpi-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pd-kpi-value{font-family:Sora,sans-serif;font-size:1.1rem;font-weight:700;color:var(--indigo)}.pd-empty{background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:2.5rem 1rem;text-align:center;color:var(--muted)}.pd-body{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;min-height:0}@media(max-width:1100px){.pd-body{grid-template-columns:1fr}}.pd-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;max-height:520px;overflow-y:auto}.pd-table{width:100%;border-collapse:collapse;font-size:.82rem}.pd-table thead th{position:sticky;top:0;background:var(--teal-light);color:var(--indigo);font-weight:700;text-align:left;padding:.65rem .85rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.pd-table tbody td{padding:.6rem .85rem;border-bottom:1px solid var(--border);color:var(--text)}.pd-table tbody tr:last-child td{border-bottom:none}.pd-cell-product{font-weight:600}.pd-cell-isin{font-family:Fira Mono,Courier New,monospace;font-size:.74rem;color:var(--muted)}.pd-align-right{text-align:right;font-variant-numeric:tabular-nums}.pd-muted{color:var(--muted)}.pd-row-unmatched{background:#e08e790f}.pd-row-unmatched:hover{background:#e08e791f}.pd-row-unmatched .pd-cell-isin{color:var(--coral)}.pd-unmatched-tag{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#e08e792e;color:var(--coral)}.pd-chart{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem;min-height:360px;display:flex;align-items:center;justify-content:center}.pm-card{max-width:560px}.pm-head-icon{display:inline-flex;width:32px;height:32px;border-radius:8px;background:var(--teal-light);color:var(--teal);align-items:center;justify-content:center}.pm-comment{resize:vertical;min-height:50px;font-family:inherit}.pm-drop{border:1.5px dashed var(--border);border-radius:12px;padding:1.1rem 1rem;display:flex;align-items:center;gap:.85rem;cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s;color:var(--muted)}.pm-drop:hover,.pm-drop:focus-visible{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark);outline:none}.pm-drop.is-over{border-color:var(--teal);background:var(--teal-light)}.pm-drop.has-file{border-style:solid;border-color:var(--admin-green);background:#4ade800a;color:var(--text)}.pm-drop-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.pm-drop-text strong{font-size:.85rem;color:var(--text);font-weight:700;word-break:break-word}.pm-drop-text span{font-size:.72rem;color:var(--muted)}.pm-validating{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted)}.pm-preview{display:flex;flex-direction:column;gap:.55rem}.pm-preview-row{display:flex;flex-wrap:wrap;gap:.4rem}.pm-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600}.pm-pill-ok{background:#4ade801f;color:var(--ok)}.pm-pill-bad{background:#e08e7926;color:var(--coral)}.pm-preview-hint{font-size:.78rem;color:var(--text);margin:0;line-height:1.4}.pm-unmatched-list{margin:0;padding:.45rem .7rem;list-style:none;background:#e08e790f;border:1px solid rgba(224,142,121,.2);border-radius:8px;font-family:Fira Mono,Courier New,monospace;font-size:.74rem;color:var(--coral);max-height:110px;overflow-y:auto}.pm-unmatched-list li+li{margin-top:.2rem}.pst-tabs{display:flex;align-items:stretch;gap:.15rem;border-bottom:1px solid var(--border);margin-top:.25rem;flex-wrap:wrap}.pst-tab{all:unset;cursor:pointer;padding:.55rem .95rem;font-size:.85rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:color .12s,border-color .12s,background .12s;display:inline-flex;align-items:center;gap:.4rem;position:relative;top:1px}.pst-tab:hover:not(.pst-tab--disabled):not(.pst-tab--active){color:var(--indigo);background:#48416d0a}.pst-tab--active{color:var(--indigo);border-bottom-color:var(--teal)}.pst-tab--disabled{cursor:default;color:var(--muted);opacity:.55}.pst-tab-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:999px;background:var(--teal-light);color:var(--teal-dark)}.pst-coming-soon{padding:4rem 1rem;text-align:center;color:var(--muted);font-size:.95rem}.pst-root{display:flex;flex-direction:column;gap:1rem;min-width:0}.pst-header{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.pst-bench-clear{all:unset;cursor:pointer;font-size:1.1rem;line-height:1;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:color .1s,background .1s}.pst-bench-clear:hover{color:var(--coral);background:#e08e791f}.pst-bench-empty{font-size:.78rem;color:var(--muted);margin:0}.pst-loading{display:flex;align-items:center;gap:.5rem;padding:2rem 0;color:var(--muted);font-size:.85rem}.pst-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.65rem}.pst-section-title{font-family:Sora,sans-serif;font-size:.95rem;font-weight:700;color:var(--indigo);margin:0}.pst-section-empty{font-size:.82rem;color:var(--muted);margin:0}.pst-section-hint{font-size:.74rem;color:var(--muted);font-style:italic;margin:.5rem 0 0}.pst-section-grid{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:1.4rem;align-items:start}@media(max-width:900px){.pst-section-grid{grid-template-columns:1fr}}.pst-bar-wrap{display:flex;gap:1.2rem;justify-content:center}.pst-bar-col{display:flex;flex-direction:column;align-items:center;gap:.45rem}.pst-bar{width:56px;height:320px;display:flex;flex-direction:column-reverse;border-radius:8px;overflow:hidden;background:#0000000a;box-shadow:inset 0 0 0 1px #0000000a}.pst-bar-segment{width:100%;transition:filter .12s}.pst-bar-segment:hover{filter:brightness(1.06)}.pst-bar-label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pst-table-wrap{min-width:0;overflow-x:auto}.pst-table{width:100%;border-collapse:collapse;font-size:.82rem}.pst-table thead th{text-align:left;padding:.45rem .7rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border)}.pst-table thead th.pd-align-right{text-align:right}.pst-table tbody td{padding:.5rem .7rem;border-bottom:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums}.pst-table tbody tr:last-child td{border-bottom:none}.pst-cat-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.5rem;vertical-align:middle}.pst-delta-pos{color:var(--ok);font-weight:600}.pst-delta-neg{color:var(--coral);font-weight:600}.sb-portfolio-new{display:inline-flex;align-items:center;gap:.4rem;width:100%;background:var(--coral);color:#fff;border:none;border-radius:8px;padding:.45rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s;margin-bottom:.45rem}.sb-portfolio-new:hover{background:#d27966}.menu-btn.current{background:#41818f2e;color:#fff}.share-shell{height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg)}.share-page{max-width:880px;margin:0 auto;padding:0 28px 48px}.share-masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -28px;padding:22px 28px;background:linear-gradient(180deg,var(--teal-light) 0%,rgba(220,238,242,0) 100%)}.share-logo{height:160px;width:auto;margin:-68px -24px}.share-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;white-space:nowrap}.share-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--teal)}.share-head{padding:26px 0 10px;animation:share-rise .45s ease both}.share-title{font-family:var(--font-serif);font-size:30px;font-weight:400;line-height:1.2;letter-spacing:.01em}.share-owner{margin-top:8px;color:var(--muted);font-size:13px}.share-thread{display:flex;flex-direction:column;gap:4px;padding:14px 0 8px;animation:share-rise .45s .08s ease both}.share-footer{margin-top:28px;animation:share-rise .45s .16s ease both}.share-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh)}.share-cta-title{font-family:var(--font-serif);font-size:18px}.share-cta-sub{margin-top:3px;color:var(--muted);font-size:13px}.share-cta-btn{flex-shrink:0;display:inline-flex;align-items:center;padding:10px 18px;border:0;border-radius:999px;background:var(--teal);color:#fff;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,transform .15s ease}.share-cta-btn:hover{background:var(--teal-dark);transform:translateY(-1px)}.share-contact{margin-top:18px;color:var(--muted);font-size:12px;text-align:center}.share-contact a{color:var(--teal);text-decoration:none}.share-contact a:hover{text-decoration:underline}.share-disclaimer{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.55;text-align:center;opacity:.8}.share-shell--dead{display:flex;align-items:center;justify-content:center;padding:24px}.share-dead-card{max-width:420px;padding:40px 36px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);text-align:center;animation:share-rise .45s ease both}.share-dead-logo{display:block;height:200px;margin:-85px auto -63px}.share-dead-icon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--teal-light);color:var(--teal-dark);animation:share-dead-pop .5s .1s cubic-bezier(.34,1.56,.64,1) both}@keyframes share-dead-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.share-dead-title{font-family:var(--font-serif);font-size:22px;font-weight:400}.share-dead-body{margin:10px 0 24px;color:var(--muted);font-size:13px;line-height:1.6}.share-skeleton{padding:40px 0}.share-skeleton-bar,.share-skeleton-block{border-radius:var(--rsm);background:linear-gradient(90deg,var(--border) 25%,var(--surface) 50%,var(--border) 75%);background-size:200% 100%;animation:share-shimmer 1.4s ease infinite}.share-skeleton-bar{height:16px;width:40%;margin-bottom:14px}.share-skeleton-bar--wide{height:30px;width:65%}.share-skeleton-block{height:120px;margin-bottom:14px}.share-skeleton-block--tall{height:260px}@keyframes share-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes share-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.chat-share-btn{position:absolute;top:12px;right:18px;z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--sh);transition:color .15s ease,border-color .15s ease,transform .15s ease}.chat-share-btn:hover{color:var(--teal);border-color:var(--teal);transform:translateY(-1px)}.share-modal{width:min(440px,92vw)}.share-modal-preview{padding:.7rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;margin-bottom:.9rem}.share-modal-preview-title{color:#ececec;font-size:.86rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-modal-preview-meta{margin-top:2px;color:#ffffff80;font-size:.74rem}.share-modal-expiry{margin-bottom:1rem}.share-modal-expiry-label{display:block;margin-bottom:.45rem;color:#ffffff8c;font-size:.74rem}.share-modal-pills{display:flex;gap:.35rem;flex-wrap:wrap}.share-modal-pill{all:unset;box-sizing:border-box;padding:.32rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ffffffbf;font-size:.76rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.share-modal-pill:hover{background:#ffffff14}.share-modal-pill.active{background:#41818f47;border-color:#5ab0bf;color:#9fd6df}.share-modal-create{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6rem .8rem;border-radius:10px;background:var(--teal);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.share-modal-create:hover{background:var(--teal-dark)}.share-modal-create:disabled{opacity:.6;cursor:default}.share-modal-linkrow{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}.share-modal-url{flex:1;min-width:0;padding:.5rem .7rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0d;color:#fffc;font-family:var(--font-mono);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-modal-copy{all:unset;box-sizing:border-box;flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:10px;background:var(--teal);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease}.share-modal-copy:hover{background:var(--teal-dark)}.share-modal-copy.is-copied{background:var(--ok)}.share-modal-status{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;color:#ffffff8c;font-size:.74rem;margin-bottom:.9rem}.share-modal-dot{width:7px;height:7px;border-radius:50%;background:#34d399}.share-modal-dot.is-expired{background:#f87171}.share-modal-status-expired{color:#f87171}.share-modal-status-sep{opacity:.5}.share-modal-actions{display:flex;align-items:center;gap:.5rem}.share-modal-secondary{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#ececec;font-size:.78rem;cursor:pointer;transition:background .12s ease}.share-modal-secondary:hover{background:#ffffff14}.share-modal-secondary:disabled{opacity:.55;cursor:default}.share-modal-revoke{all:unset;box-sizing:border-box;margin-left:auto;padding:.45rem .75rem;border-radius:10px;color:#f87171;font-size:.78rem;cursor:pointer;transition:background .12s ease}.share-modal-revoke:hover{background:#f871711f}.share-modal-revoke.is-confirm{background:#f8717129;font-weight:600}.share-modal-revoke:disabled{opacity:.55;cursor:default}.share-modal-error{margin-top:.6rem;color:#f87171;font-size:.74rem}.share-modal-warning{display:flex;align-items:center;gap:.45rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.09);color:#ffffff73;font-size:.72rem;line-height:1.4}.share-modal-warning svg{flex-shrink:0}.share-modal-loading{height:86px;border-radius:10px;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:share-shimmer 1.4s ease infinite}@media(max-width:640px){.share-page{padding:0 16px 36px}.share-masthead{margin:0 -16px;padding:16px}.share-title{font-size:24px}.share-cta{flex-direction:column;align-items:flex-start}}:root{--teal: #41818f;--teal-dark: #326873;--teal-light: #dceef2;--indigo: #48416d;--coral: #e08e79;--coral-light: #fae8e3;--sb-bg: #1c1929;--sb-surface: #252240;--sb-border: #322f4e;--sb-text: #8a87a8;--sb-text-bright: #cac7e0;--sb-hover: #2b2848;--sb-active-bg: rgba(65, 129, 143, .13);--sb-active-color: #5ab0bf;--bg: #f0f2f7;--surface: #fff;--border: #e2e6ef;--text: #1a1730;--muted: #6b7394;--ok: #2b9265;--neg: #dc2626;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #b91c1c;--r: 14px;--rsm: 9px;--sh: 0 2px 8px rgba(26, 23, 48, .07), 0 0 1px rgba(26, 23, 48, .05);--font-body: "DM Sans", system-ui, sans-serif;--font-serif: "DM Serif Display", "Georgia", serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}html,body{overflow:hidden}html,body,#root{height:100%;font-family:var(--font-body);font-size:14px;line-height:1.5;background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:270px 1fr;height:100vh;overflow:hidden;transition:grid-template-columns .22s ease}.app.sidebar-collapsed{grid-template-columns:0px 1fr}.main{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow-x:hidden;min-width:0;height:100%;position:relative}.main:has(.users-page){overflow-y:hidden}.main:not(.main--chat):not(:has(.users-page)){overflow-y:auto}.main::-webkit-scrollbar{width:5px}.main::-webkit-scrollbar-track{background:transparent}.main::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.main::-webkit-scrollbar-thumb:hover{background:#c5cad8}.main--chat{padding:0;gap:0;overflow:hidden}.sb-expand-btn{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:10;background:var(--sb-bg);border:none;border-radius:0 8px 8px 0;color:var(--sb-text-bright);padding:.6rem .4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0;box-shadow:2px 0 8px #0000002e}.sb-expand-btn:hover{background:var(--sb-surface);color:#fff}.topbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--sh);flex-shrink:0}.topbar--chat{border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none;border-bottom:2px solid var(--teal-light);padding:.7rem 1.25rem}.topbar-left{display:flex;align-items:center;gap:.85rem}.topbar-ap-icon{width:40px;height:40px;border-radius:11px;background:var(--teal);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #41818f52;letter-spacing:.03em}.topbar-chat-title{display:flex;align-items:center;gap:.45rem}.topbar h1{font-family:var(--font-serif);font-size:1.05rem;font-weight:400;color:var(--teal-dark);letter-spacing:-.01em;line-height:1.2}.topbar .sub{font-family:var(--font-body);font-size:.75rem;color:var(--muted);letter-spacing:.005em}.lang-switcher{display:flex;border:1px solid #d1d5de;border-radius:6px;overflow:hidden}.lang-btn{background:none;border:none;padding:.28rem .55rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.lang-btn:not(:last-child){border-right:1px solid #d1d5de}.lang-btn:hover{background:var(--teal-light);color:var(--teal-dark)}.lang-btn.active{background:var(--teal);color:#fff}.topbar-right{display:flex;align-items:center;gap:.6rem}.pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.2rem .58rem;font-size:.71rem;color:var(--muted);background:#f5f7fb;font-weight:500}.workspace{display:grid;grid-template-columns:1fr 260px;gap:1rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:1.1rem}.panel-title{font-family:var(--font-mono);font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.9rem}label{display:block;margin-bottom:.28rem;font-size:.74rem;font-weight:600;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:var(--rsm);padding:.52rem .65rem;font:inherit;font-size:.83rem;background:#fafbfd;color:var(--text);transition:border-color .14s,box-shadow .14s}input:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #41818f21;background:var(--surface)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.btn-row{margin-top:1rem;display:flex;gap:.5rem}.btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;border-radius:var(--rsm);padding:.52rem .9rem;font-size:.82rem;font-weight:600;transition:background .14s}.btn.primary{background:var(--teal);color:#fff}.btn.primary:hover{background:var(--teal-dark)}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.btn.ghost:hover{background:#f5f7fb}.error-msg{margin-top:.6rem;padding:.5rem .7rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--rsm);color:var(--error-text);font-size:.8rem}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#e2e6ed,#eef1f6 75%);background-size:200% 100%;animation:skeletonPulse 1.4s ease-in-out infinite;border-radius:6px;display:inline-block}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.ac-wrap{position:relative}.ac-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:100;max-height:220px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--rsm);box-shadow:0 4px 12px #0000001a;list-style:none;margin:0;padding:.25rem 0}.ac-option{padding:6px 10px;cursor:pointer;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-option:hover,.ac-highlighted{background:#e8f4f5}.kpi-grid{display:grid;gap:.55rem}.kpi{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;display:flex;align-items:center;gap:.7rem}.kpi-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center}.kpi-icon.teal{background:var(--teal-light)}.kpi-icon.indigo{background:#ece9f6}.kpi-icon.coral{background:var(--coral-light)}.kpi-icon.green{background:#dff3ea}.kpi-dot{width:10px;height:10px;border-radius:50%}.kpi-icon.teal .kpi-dot{background:var(--teal)}.kpi-icon.indigo .kpi-dot{background:var(--indigo)}.kpi-icon.coral .kpi-dot{background:var(--coral)}.kpi-icon.green .kpi-dot{background:var(--ok)}.kpi-label{font-size:.71rem;color:var(--muted);font-weight:500}.kpi-value{font-family:var(--font-mono);font-size:1.18rem;font-weight:700;color:var(--indigo);line-height:1.2}.kpi--hero{padding:1.2rem 1.25rem;gap:1rem;background:linear-gradient(135deg,#f8fafc 0%,var(--teal-light) 140%)}.kpi--hero .kpi-icon{width:48px;height:48px;border-radius:12px}.kpi--hero .kpi-dot{width:14px;height:14px}.kpi-hero-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.kpi-value--hero{font-size:2rem;letter-spacing:-.01em}.result-container{display:flex;flex-direction:column;gap:1rem}.answer-panel .answer-text{font-size:.88rem;line-height:1.6;color:var(--text)}.tag-warn{background:#fef3c7;color:#92400e;padding:.1rem .4rem;border-radius:4px;font-size:.68rem;font-weight:600;margin-left:.4rem}.sql-details{margin-top:.7rem}.sql-details summary{cursor:pointer;font-size:.75rem;color:var(--muted);font-weight:600}.sql-details pre{margin-top:.4rem;padding:.7rem;background:#f5f7fb;border:1px solid var(--border);border-radius:var(--rsm);font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.chart-title{font-size:.85rem;font-weight:700;color:var(--indigo);margin-bottom:.5rem}.chart-scroll-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:.3rem}.chart-scroll-wrap::-webkit-scrollbar{height:5px}.chart-scroll-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.79rem}th,td{border-bottom:1px solid var(--border);padding:.5rem .7rem;text-align:left;white-space:nowrap}th{background:#f8fafc;color:var(--muted);text-transform:uppercase;font-size:.67rem;letter-spacing:.08em;font-weight:700;position:sticky;top:0}tbody tr:hover td{background:#f8fafe}.sb-tabs{display:flex;gap:0;border-bottom:1px solid var(--sb-border);margin-bottom:.4rem}.sb-tab{all:unset;cursor:pointer;flex:1;text-align:center;padding:.5rem 0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sb-text);border-bottom:2px solid transparent;transition:color .14s,border-color .14s}.sb-tab:hover{color:var(--sb-text-bright)}.sb-tab.active{color:var(--sb-active-color);border-bottom-color:var(--sb-active-color)}.sb-sort{padding:.2rem .5rem .5rem}.sb-sort select{width:100%;background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:6px;padding:.3rem .5rem;font-size:.7rem;color:var(--sb-text-bright)}.sb-sort select:focus{border-color:var(--sb-active-color);box-shadow:none}.nav-item-row{display:flex;align-items:center;gap:.35rem}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.successful{background:var(--ok)}.status-dot.failed{background:#dc4a4a}.status-bar{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--rsm);font-size:.82rem;font-weight:600}.status-bar.running{background:#e6f4f8;border:1px solid #b8dbe5;color:var(--teal-dark)}.spinner{width:16px;height:16px;border:2px solid #b8dbe5;border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.answer-header{display:flex;justify-content:space-between;align-items:flex-start}.tag-status{padding:.1rem .4rem;border-radius:4px;font-size:.68rem;font-weight:600;margin-left:.4rem}.tag-status.success{background:#dff3ea;color:#166534}.tag-status.failed{background:#fde8e8;color:#7f1d1d}.btn-sm{padding:.3rem .6rem!important;font-size:.72rem!important}.result-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-badge.successful{background:#dff3ea;color:#166534}.status-badge.successful .status-badge-dot{background:var(--ok)}.status-badge.failed{background:#fde8e8;color:#7f1d1d}.status-badge.failed .status-badge-dot{background:#dc4a4a}.result-mode{font-size:.72rem;font-weight:600;color:var(--muted)}.result-rows{font-family:var(--font-mono);font-size:.71rem;color:var(--muted)}.save-wrap{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.heart-btn{all:unset;cursor:pointer;font-size:1.35rem;line-height:1;color:#ccc;transition:color .15s,transform .15s;-webkit-user-select:none;user-select:none}.heart-btn:hover{color:#e8a0b0;transform:scale(1.15)}.heart-btn.saved{color:#e8294a}.save-toast{font-size:.75rem;font-weight:600;color:var(--teal-dark);background:var(--teal-light);border:1px solid #aad4de;border-radius:6px;padding:.2rem .55rem;white-space:nowrap;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pagination{display:flex;align-items:center;gap:.35rem}.page-btn{all:unset;cursor:pointer;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);background:var(--surface);transition:background .12s}.page-btn:hover:not(:disabled){background:var(--bg)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-info{font-size:.73rem;color:var(--muted);min-width:44px;text-align:center}.analyses-section{padding:0;overflow:hidden;min-height:220px;flex-shrink:0}.analyses-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.1rem 0;border-bottom:1px solid var(--border)}.analyses-tabs{display:flex;gap:0}.al-tab{all:unset;cursor:pointer;padding:.55rem .9rem;font-size:.78rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:color .14s,border-color .14s}.al-tab:hover{color:var(--teal)}.al-tab.active{color:var(--teal-dark);border-bottom-color:var(--teal)}.sort-toggle{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px}.sort-toggle-btn{all:unset;cursor:pointer;padding:.18rem .65rem;border-radius:6px;font-size:.72rem;font-weight:500;color:var(--muted);transition:background .15s,color .15s,box-shadow .15s;line-height:1.6;white-space:nowrap}.sort-toggle-btn.active{background:var(--surface);color:var(--indigo);font-weight:600;box-shadow:0 1px 3px #0000001a}.sort-toggle-btn:hover:not(.active){color:var(--text)}.sort-toggle--dark{background:#ffffff0f;border-color:#ffffff1a}.sort-toggle--dark .sort-toggle-btn{color:#fff6}.sort-toggle--dark .sort-toggle-btn.active{background:#ffffff21;color:#ffffffeb;box-shadow:none}.sort-toggle--dark .sort-toggle-btn:hover:not(.active){color:#ffffffb3}.analyses-empty{padding:2rem 1.1rem;font-size:.82rem;color:var(--muted);text-align:center}.analyses-table-wrap{overflow-x:auto;overflow-y:auto;max-height:340px}.analyses-table-wrap::-webkit-scrollbar{height:4px}.analyses-table-wrap::-webkit-scrollbar-track{background:transparent}.analyses-table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}.analyses-table-wrap::-webkit-scrollbar-thumb:hover{background:#c5cad8}.analyses-table{width:100%;border-collapse:collapse;font-size:.8rem}.analyses-table th{background:#f8fafc;color:var(--muted);text-transform:uppercase;font-size:.66rem;letter-spacing:.08em;font-weight:700;padding:.5rem 1rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.analyses-table td{padding:.65rem 1rem;border-bottom:1px solid var(--bg);vertical-align:middle;white-space:nowrap}.analyses-table tbody tr:hover td{background:#fafbfe}.analyses-table .subject-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text)}.analyses-table .date-cell{color:var(--muted);font-size:.75rem}.type-label{display:inline-block;background:#f0f2f8;border:1px solid var(--border);border-radius:5px;padding:.15rem .45rem;font-size:.7rem;font-weight:600;color:var(--indigo)}.star-icon{color:#e8294a}.analyses-footer{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-top:1px solid var(--border);background:#fafbfc}.analyses-count{font-size:.72rem;color:var(--muted)}.profile-wrap{position:relative}.profile-btn{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;background:var(--indigo);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;letter-spacing:.05em;transition:opacity .14s}.profile-btn:hover{opacity:.85}.profile-backdrop{position:fixed;inset:0;z-index:40}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #1a17301f;min-width:200px;z-index:50;overflow:hidden;animation:profileDropIn .12s ease-out}@keyframes profileDropIn{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:none}}.profile-email{padding:.7rem .9rem .5rem;font-size:.78rem;font-weight:600;color:var(--text);word-break:break-all}.profile-divider{border:none;border-top:1px solid var(--border);margin:0}.profile-action{all:unset;cursor:pointer;display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .9rem;font-size:.8rem;color:var(--text);font-weight:500;box-sizing:border-box;transition:background .12s;border-radius:0}.profile-action:hover{background:#4ade8014}.profile-action-icon{font-size:.85rem}.profile-logout{all:unset;cursor:pointer;display:block;width:100%;padding:.6rem .9rem;font-size:.8rem;color:#dc4a4a;font-weight:600;box-sizing:border-box;transition:background .12s}.profile-logout:hover{background:#fde8e8}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover td{background:#f0f4ff!important}.analyses-title{font-size:.82rem;font-weight:700;color:var(--teal-dark);padding:.55rem 0}.table-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .8rem;border-bottom:1px solid var(--border);background:#fafbfc;border-radius:var(--r) var(--r) 0 0}.table-row-count{font-size:.72rem;color:var(--muted)}.export-group{display:flex;gap:.35rem}.export-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;color:var(--teal);padding:.3rem .65rem;border:1px solid var(--border);border-radius:var(--rsm);background:var(--surface);transition:background .15s,border-color .15s}.export-btn:hover{background:var(--hover)}.export-btn--excel{color:#1d7044}.export-btn--excel:hover{background:var(--hover)}.export-btn svg{width:15px;height:15px}.table-footer{display:flex;justify-content:center;align-items:center;padding:.55rem .8rem;border-top:1px solid var(--border);font-size:.72rem;color:var(--muted);background:#fafbfc}.no-cache-notice{color:var(--muted);font-size:.84rem;line-height:1.6;font-style:italic}.status-badge.in_progress{background:#fef3c7;color:#92400e}.status-badge.in_progress .status-badge-dot{background:#f59e0b}.chat-body{max-height:520px}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.kpi-sidebar{display:none}}@media(max-width:800px){.app{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{height:auto}.grid2{grid-template-columns:1fr}}.sb-show-more{all:unset;cursor:pointer;display:block;width:100%;text-align:center;font-size:.68rem;color:var(--sb-text);padding:.3rem 0;border-radius:5px;transition:color .12s,background .12s;margin-top:.2rem}.sb-show-more:hover{color:var(--sb-active-color);background:var(--sb-active-bg)}.markdown-content{line-height:1.7}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:.75em 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{font-family:var(--font-serif);font-weight:400;margin:1em 0 .4em;color:var(--indigo);letter-spacing:-.01em}.markdown-content h1{font-size:1.25em}.markdown-content h2{font-size:1.2em;border-bottom:1px solid var(--border);padding-bottom:.3em}.markdown-content h3{font-size:1.1em}.markdown-content strong{font-weight:600;color:var(--indigo);background:#48416d0f;padding:.05em .3em;border-radius:3px}.markdown-content strong.metric-neg{color:var(--neg);background:#dc262614}.markdown-content strong.metric-pos{color:var(--ok);background:#2b926514}.markdown-content ul,.markdown-content ol{margin:.4em 0;padding-left:1.5em}.markdown-content li{margin:.35em 0}.markdown-content li::marker{color:var(--teal)}.markdown-content li>p{margin:.2em 0}.markdown-content code{background:var(--teal-light);color:var(--teal-dark);padding:.15em .45em;border-radius:4px;font-family:var(--font-mono);font-size:.88em;font-weight:500}.code-block-wrap{border-radius:8px;overflow:hidden;margin:.6em 0;border:1px solid var(--border)}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:.4em .8em;background:#2d2b3a;font-size:.75rem;color:#a0a0b0}.code-block-lang{text-transform:lowercase}.code-copy-btn{background:none;border:none;color:#a0a0b0;cursor:pointer;font-size:.75rem;padding:.15em .4em;border-radius:3px;transition:color .15s}.code-copy-btn:hover{color:#fff}.markdown-content pre{margin:0}.markdown-content pre code{background:none;padding:0;font-size:.85em}.markdown-content table{border-collapse:separate;border-spacing:0;width:100%;margin:.6em 0;font-size:.88em;border:1px solid var(--border);border-radius:8px;overflow:hidden}.markdown-content th{background:var(--teal-light);padding:.6em .85em;text-align:left;font-weight:600;font-size:inherit;text-transform:none;letter-spacing:normal;white-space:normal;color:var(--indigo);border-bottom:2px solid var(--border)}.markdown-content th:not(:last-child),.markdown-content td:not(:last-child){border-right:1px solid var(--border)}.markdown-content td{padding:.5em .85em;border-bottom:1px solid var(--border);white-space:normal;font-variant-numeric:tabular-nums}.markdown-content tbody tr:last-child td{border-bottom:none}.markdown-content tbody tr:hover td{background:#f4f8fa}.markdown-content blockquote{margin:.6em 0;padding:.5em .9em;border-left:3px solid var(--teal);background:var(--teal-light);border-radius:0 6px 6px 0;color:var(--indigo)}.markdown-content a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}.markdown-content a:hover{color:var(--teal-dark)}.markdown-content hr{border:none;border-top:1px solid #e2e6ef;margin:.8em 0}.markdown-content del,.markdown-content s{text-decoration:line-through;color:var(--muted)}.markdown-content h5,.markdown-content h6{font-size:.95em;font-weight:600;margin:.8em 0 .3em}.markdown-content input[type=checkbox]{margin-right:.4em;accent-color:var(--teal);pointer-events:none}
