@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--surface-ink: #0d1b2e;--surface-muted: #58687c;--surface-bg: #f8faff;--surface-bg-soft: #fefefe;--surface-bg-cool: #e8eaf1;--surface-border: rgba(13, 27, 46, .09);--surface-border-strong: rgba(13, 27, 46, .14);--surface-glass: linear-gradient(180deg, rgba(254, 254, 254, .82), rgba(248, 250, 255, .74));--surface-glass-strong: linear-gradient(180deg, rgba(254, 254, 254, .9), rgba(248, 250, 255, .84));--surface-shadow: 0 24px 60px rgba(13, 27, 46, .1);--surface-shadow-strong: 0 30px 72px rgba(13, 27, 46, .16);--deep-panel: linear-gradient(160deg, rgba(13, 27, 46, .98), rgba(19, 41, 66, .94));--accent-soft: #eff4fb;--accent-active: #e6eef8;--accent-border: rgba(27, 63, 109, .18)}.app-shell{padding:24px;min-height:100vh;color:var(--surface-ink);background:radial-gradient(circle at 10% 14%,rgba(13,27,46,.08),transparent 24%),radial-gradient(circle at 92% 0%,rgba(88,104,124,.1),transparent 28%),linear-gradient(180deg,#f9f9fa,#f8faff 48%,#e8eaf1)}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-glass-strong);border:1px solid var(--surface-border);border-radius:20px;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:52px;height:52px;border-radius:14px;object-fit:contain;background:#f8fafff0;border:1px solid var(--surface-border);box-shadow:0 10px 24px #0d1b2e14}.brand-title{font-weight:700;font-size:19px}.brand-subtitle{color:var(--surface-muted);font-size:13px}.meta{display:flex;gap:20px;flex-wrap:wrap;color:#223046;font-size:13px}.meta-row{display:flex;gap:8px;align-items:baseline}.layout{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:stretch}.layout.overview-mode{grid-template-columns:1fr}.left-panel{background:var(--surface-glass);border-radius:24px;border:1px solid var(--surface-border);min-height:70vh;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:0}.content-scroll{flex:1;min-height:0;height:100%;max-height:100%;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.content-scroll>h2:first-child{margin-top:0}.card-stack{display:flex;flex-direction:column;gap:12px;min-height:0}h2{margin:18px 0 10px;font-size:17px}.item-card{border:1px solid #e5e8f0;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 8px 18px #0f172a0d;transition:transform .1s ease,box-shadow .1s ease}.item-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a14}.item-card.selected{border-color:#5570ff;box-shadow:0 0 0 3px #5570ff26}.item-card__header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.item-card__title{display:flex;align-items:center;gap:8px}.item-card__id{font-weight:700;color:#4b5563;background:#f1f5f9;padding:4px 8px;border-radius:8px;font-size:11px}.item-card__name{font-weight:600}.item-card__body{margin-top:8px;cursor:pointer}.item-card__text-shell{position:relative;border:1px solid #e5e8f0;border-radius:12px;background:#f8faffb3;padding:12px}.item-card__text-shell.has-meta{min-height:128px;padding:12px 176px 92px 12px}.item-card__text{margin:0;color:#344053;white-space:pre-wrap}.item-card__meta-tray{position:absolute;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(2,minmax(72px,max-content));gap:8px;align-items:end;justify-items:stretch;max-width:280px}.item-card__meta{display:inline-flex;flex-direction:column;gap:2px;min-width:72px;max-width:136px;padding:6px 8px;border-radius:10px;background:#fffffff0;border:1px solid #d6dfef;box-shadow:0 8px 18px #0f172a0f;font-size:11px;line-height:1.2}.item-card__meta strong{color:#0f172a}.item-card__meta-label{color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.item-card__children{margin-left:14px;margin-top:8px;border-left:2px dashed #e5e8f0;padding-left:8px;display:flex;flex-direction:column;gap:8px}@media(max-width:720px){.item-card__text-shell.has-meta{padding-right:12px;padding-bottom:132px}.item-card__meta-tray{left:8px;right:8px;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}}.chevron{font-size:16px;transition:transform .2s ease}.chevron.open{transform:rotate(180deg)}.severity-severe{border-color:#f05b5b;background:linear-gradient(135deg,#fff1f1,#ffe4e4)}.severity-potential{border-color:#f4a261;background:linear-gradient(135deg,#fff6ec,#ffeddc)}.severity-comment{border-color:#f6d34c;background:linear-gradient(135deg,#fffbe8,#fff6d4)}.loading-state,.error-state{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.assistant-hint{display:flex;align-items:center;gap:10px;color:var(--surface-muted);font-size:13px}.assistant-hint img{width:36px;height:36px;border-radius:50%;border:1px solid var(--surface-border);background:#f8faffeb}.right-panel{position:relative;min-height:0;min-width:0}.right-panel.overview-mode{grid-column:1 / -1}.assistant-panel{background:var(--deep-panel);color:#e6ecf5;border-radius:24px;padding:18px;box-shadow:var(--surface-shadow-strong);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:70vh;position:sticky;top:16px;display:flex;flex-direction:column;width:100%}.assistant-panel.overview-mode{position:relative;top:0;height:84vh;max-height:calc(100vh - 84px);min-height:0}.assistant-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.assistant-tabs{display:flex;gap:18px;margin-bottom:14px;padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.12)}.assistant-tab{position:relative;border:none;background:transparent;color:#dce8fab8;border-radius:0;padding:0 2px 12px;font-weight:700;font-size:13px;cursor:pointer}.assistant-tab.active{color:#f8fbff;box-shadow:none}.assistant-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;border-radius:999px;background:#79baff}.assistant-avatar{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#f8faff1a;object-fit:contain}.assistant-label{font-weight:700;font-size:15px}.assistant-sub{color:#c8d4e6;font-size:12px}.assistant-body{flex:1;display:flex;min-height:0}.assistant-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;width:100%}.assistant-loading-message{white-space:pre-wrap;width:100%;text-align:left;line-height:1.35}.assistant-content{display:flex;flex-direction:column;gap:12px;width:100%;min-height:0}.assistant-view--overview,.assistant-view--report{display:flex;flex:1;min-height:0;flex-direction:column}.assistant-view[hidden]{display:none}.feedback-overview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.feedback-overview-title{font-size:18px;font-weight:700}.feedback-overview-subtitle{margin-top:6px;color:#b9c8dc;font-size:14px}.feedback-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.feedback-filter-menu{position:relative}.feedback-filter-menu.open{z-index:3}.feedback-filter-menu__summary{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.18);appearance:none;font:inherit;text-align:left;background:#f8faff14;border-radius:14px;padding:10px 14px;color:#e6eef9;font-size:13px;font-weight:700;cursor:pointer}.feedback-filter-menu__summary::-webkit-details-marker{display:none}.feedback-filter-menu__summary:after{content:"▾";font-size:11px;color:#9ab6d8}.feedback-filter-menu__meta{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 8px;border-radius:999px;background:#94a3b833;color:#d8e2ef;font-size:11px}.feedback-filter-menu__panel{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#0d1b2ef5;box-shadow:0 24px 48px #0409106b}.feedback-filter-toggle{display:inline-flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(255,255,255,.12);background:#f8faff0d;color:#e6eef9;border-radius:12px;padding:9px 10px;cursor:pointer;text-align:left}.feedback-filter-toggle.active{border-color:#79baff8c;background:#79baff1f}.feedback-filter-toggle__check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:transparent;font-size:11px}.feedback-filter-toggle__check.active{border-color:#79baff;background:#79baff;color:#0d1b2e}.feedback-filter-toggle__label{flex:1;min-width:0}.feedback-filter-toggle__delta{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 8px;border-radius:999px;background:#94a3b833;color:#d8e2ef;font-size:11px;font-weight:700}.feedback-list-view{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px;margin-top:20px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-gutter:stable}.feedback-report-stack{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding-right:4px}.feedback-report-card{border-radius:18px;border:1px solid rgba(255,255,255,.14);background:#f8faff0f;padding:16px 18px}.feedback-report-card__title{font-size:15px;font-weight:700;margin-bottom:12px}.feedback-report-visual{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:18px;align-items:center}.feedback-report-chart{width:min(100%,240px);max-width:100%;height:auto;display:block;overflow:visible}.feedback-report-chart__slice{cursor:pointer;opacity:1;transition:opacity .16s ease,filter .16s ease,stroke-width .16s ease}.feedback-report-chart__slice.is-active{filter:saturate(1.15) brightness(1.08);stroke-width:2.5}.feedback-report-chart__slice.is-dimmed{opacity:.28}.feedback-report-legend{display:flex;flex-direction:column;gap:10px}.feedback-report-legend__item{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;background:transparent;color:inherit;padding:8px 10px;border-radius:12px;cursor:pointer;text-align:left;opacity:1;transition:opacity .16s ease,background-color .16s ease,transform .16s ease}.feedback-report-legend__item.is-active{background:#79baff1f;transform:translate(2px)}.feedback-report-legend__item.is-dimmed{opacity:.42}.feedback-report-legend__swatch{width:12px;height:12px;border-radius:999px;margin-top:5px;flex:0 0 auto}.feedback-report-legend__text{min-width:0}.feedback-report-legend__name{font-size:13px;font-weight:700;color:#eef5ff}.feedback-report-legend__meta{color:#b9c8dc;font-size:12px;margin-top:2px}.feedback-report-markdown{color:#eef5ff;line-height:1.6}.feedback-report-link{border:0;background:transparent;color:#7fc5ff;padding:0;font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px;cursor:pointer;transition:color .14s ease,text-decoration-color .14s ease}.feedback-report-link:hover{color:#cfe9ff;text-decoration-color:#cfe9ff}.feedback-report-link:focus-visible{outline:none;color:#e7f4ff;text-decoration-color:#e7f4ff}.feedback-report-markdown>*:first-child{margin-top:0}.feedback-report-markdown>*:last-child{margin-bottom:0}.feedback-report-empty{color:#b9c8dc;font-size:13px}.feedback-list-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:18px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#ffffff0a;color:#ecf4ff;padding:16px 18px;transition:transform .08s ease,box-shadow .08s ease,background .18s ease,border-color .18s ease}.feedback-list-row:hover{transform:translateY(-1px);box-shadow:0 10px 16px #0000002e}.feedback-list-row.severity-severe{background:linear-gradient(145deg,#ff8b8b33,#ffffff08);border-color:#ff8b8b99}.feedback-list-row.severity-potential{background:linear-gradient(145deg,#ffc28b33,#ffffff08);border-color:#ffc28b99}.feedback-list-row.severity-comment{background:linear-gradient(145deg,#ffeb9938,#ffffff08);border-color:#ffeb9999}.feedback-list-row.is-completing{background:linear-gradient(145deg,#60d69547,#ffffff0d);border-color:#60d695bd;box-shadow:0 10px 18px #0d48242e}.feedback-list-row.is-completing .feedback-list-chip,.feedback-list-row.is-completing .feedback-done-pill{background:#60d69524;border-color:#60d6953d}.feedback-list-row.is-completing .feedback-list-main{color:#f4fff7}.feedback-list-main{display:block;flex:1;font-size:14px;line-height:1.55;color:#eef5ff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback-list-row__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.feedback-list-row__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0}.feedback-list-row__actions{display:inline-flex;flex-direction:column;gap:8px;justify-content:flex-start;align-items:flex-end}.feedback-list-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;color:#d8e2ef;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.feedback-list-pill,.feedback-list-type-pill,.feedback-list-badge{border:1px solid rgba(255,255,255,.1);background:#ffffff1a}.feedback-list-pill{color:#f3f8ff}.feedback-list-badge{color:#eef4ff}.feedback-list-row .feedback-done-pill{padding:3px 8px;font-size:11px}.feedback-export-btn,.feedback-reset-btn,.feedback-detail-btn{border:1px solid rgba(121,186,255,.45);background:#79baff24;color:#eef6ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}.assistant-selection{padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.selection-id{font-weight:700;letter-spacing:.5px}.selection-name{color:#c8d4e6}.assistant-card{border-radius:18px;padding:12px;background:#f8faff14;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff14}.assistant-card.neutral{background:#f8faff0d}.assistant-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.assistant-card__top-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assistant-card__actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.assistant-item-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:10px;background:#f8faff1f;font-size:11px;font-weight:700;letter-spacing:.2px}.feedback-list-row__meta .assistant-item-pill.feedback-list-chip{gap:0;min-height:22px;padding:2px 8px;border-radius:999px;font-size:10px;line-height:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.feedback-nav{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#d6e2f5}.feedback-nav button{border:1px solid rgba(255,255,255,.25);background:#f8faff0f;color:inherit;padding:2px 6px;border-radius:8px;cursor:pointer}.feedback-nav button:disabled{opacity:.4;cursor:not-allowed}.feedback-toggle-btn{border:1px solid rgba(255,255,255,.22);background:#f8faff14;color:#eef6ff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer}.feedback-export-btn:disabled,.feedback-reset-btn:disabled,.feedback-toggle-btn:disabled{opacity:.55;cursor:not-allowed}.feedback-export-btn,.feedback-reset-btn{padding-inline:14px}.feedback-done-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#16a34a2e;color:#bbf7d0;font-size:11px;font-weight:700}.feedback-done-icon{color:#86efac}.assistant-card.severity-severe{border-color:#ff8b8b;background:linear-gradient(145deg,#ff8b8b2e,#ffffff08)}.assistant-card.severity-potential{border-color:#ffc28b;background:linear-gradient(145deg,#ffc28b2e,#ffffff08)}.assistant-card.severity-comment{border-color:#ffeb99;background:linear-gradient(145deg,#ffeb9933,#ffffff08)}.assistant-summary{margin-top:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.summary-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:10px;background:#f8faff1a;font-weight:700;font-size:12px;line-height:1.2;white-space:nowrap}.summary-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.summary-dot.severe{background:#ff8b8b}.summary-dot.potential{background:#ffc28b}.summary-dot.comment{background:#ffeb99}.summary-chip.severe{border:1px solid rgba(255,139,139,.5)}.summary-chip.potential{border:1px solid rgba(255,194,139,.5)}.summary-chip.comment{border:1px solid rgba(255,235,153,.5)}.assistant-badge{display:inline-block;padding:6px 10px;border-radius:10px;background:#ffffff1a;font-weight:700;margin-bottom:8px}.assistant-markdown p{margin:6px 0}.assistant-related-points{margin-top:8px;color:#94a3b8;font-size:12px;display:flex;flex-wrap:wrap;gap:4px}.assistant-related-point-link{border:none;background:transparent;color:#d8e2ef;padding:0;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.feedback-list-row__actions .feedback-toggle-btn,.feedback-list-row__actions .feedback-detail-btn{min-width:158px;white-space:nowrap}.reference-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.reference-card{background:#ffffff0a;border-radius:10px;padding:8px}.reference-card summary{cursor:pointer;font-weight:600;color:#2b3a54}.reference-snippet{margin-top:6px;color:#334155}.reference-full{margin:6px 0 0;color:#475569;font-size:11px;word-break:break-word}.reference-attachments{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.reference-attachment{position:relative;width:76px;height:76px;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:pointer;background:#0f172a14}.reference-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block}.reference-attachment-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a2e;transition:background .15s ease}.reference-attachment:hover .reference-attachment-overlay{background:#0f172a4d}.reference-attachment-icon{width:28px;height:28px;stroke:#fffffff5;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.assistant-panel .reference-card summary{color:#dce8fa}.assistant-panel .reference-snippet{color:#d6e2f5}.assistant-panel .reference-full{color:#c8d4e6}.project-chat-bubble .reference-card{border:1px solid #d7e4ff;background:#eef4ff}.project-chat-bubble .reference-card summary{color:#1e3a8a}.project-chat-bubble .reference-snippet{color:#1f2937}.project-chat-bubble .reference-full{color:#334155}.image-lightbox-backdrop{position:fixed;inset:0;z-index:50;background:#0f172ad1;display:flex;align-items:center;justify-content:center;padding:24px}.image-lightbox{position:relative;max-width:min(92vw,1400px);max-height:92vh;width:auto;display:flex;flex-direction:column;gap:12px}.image-lightbox-close{position:absolute;top:-8px;right:-8px;width:36px;height:36px;border:0;border-radius:999px;background:#ffffffe0;color:#0f172a;cursor:pointer;font-weight:700}.image-lightbox-label,.image-lightbox-caption{color:#f8fafc;text-align:center}.image-lightbox-label{font-weight:700}.image-lightbox-caption{font-size:13px;opacity:.9}.image-lightbox-image{max-width:min(92vw,1400px);max-height:calc(92vh - 80px);object-fit:contain;border-radius:12px;background:#fff}.spinner{display:flex;gap:6px}.dot{width:10px;height:10px;border-radius:50%;background:#5570ff;animation:pulse 1s ease-in-out infinite}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.2);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#070e1a66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:60}.modal{background:var(--surface-glass-strong);padding:24px;border-radius:24px;width:min(520px,90vw);box-shadow:var(--surface-shadow-strong);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:16px}.modal-brand{display:flex;gap:12px;align-items:center}.modal-logo{width:60px;height:60px;border-radius:16px;border:1px solid var(--surface-border);background:#f8fafff0;box-shadow:0 12px 28px #0d1b2e14;object-fit:contain}.upload-section-label{font-size:13px;font-weight:700;color:#334155}.upload-dropzone{border:2px dashed #c7cedd;border-radius:16px;padding:16px;text-align:center;cursor:pointer;background:#f8faffc7;display:block;transition:border-color .2s ease,background .2s ease,transform .1s ease}.upload-dropzone input{display:none}.upload-instructions{display:flex;flex-direction:column;color:#4b5563}.upload-dropzone.drag-active{border-color:#1d4ed8;background:#e8f0ff;transform:translateY(-2px)}.upload-dropzone.has-file{border-color:#22c55e;background:#f0fff4}.upload-alt-actions{display:flex;justify-content:flex-start}.primary-btn{padding:12px 16px;border-radius:12px;background:#1d4ed8;border:none;color:#fff;font-weight:700;font-size:15px;box-shadow:0 10px 25px #1d4ed859}.primary-btn:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;box-shadow:none}.error-banner{margin-top:12px;padding:12px 14px;background:#ffe4e4;color:#a90c0c;border-radius:12px;border:1px solid #f7b6b6}@media(max-width:1024px){.layout{grid-template-columns:1fr}.assistant-panel{position:relative}.assistant-panel.overview-mode{height:auto;max-height:none}.feedback-filter-menu{width:100%}.feedback-filter-menu__summary{width:100%;justify-content:space-between}.feedback-filter-menu__panel{position:static;min-width:0;margin-top:8px}.feedback-export-btn{width:100%;justify-content:center}.feedback-list-row{grid-template-columns:1fr}.feedback-list-row__actions{width:100%;justify-content:flex-start;align-items:stretch}.feedback-list-row__actions .feedback-toggle-btn,.feedback-list-row__actions .feedback-detail-btn{min-width:0;width:100%}.feedback-report-visual{grid-template-columns:1fr}.feedback-report-chart{margin:0 auto}}.burger{border:1px solid #e3e7ef;background:#fff;border-radius:10px;width:40px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;box-shadow:0 8px 16px #0f172a14}.burger-line{width:18px;height:2px;border-radius:999px;background:#0f172a}.ghost-btn{border:1px solid #d2d9e5;background:transparent;padding:8px 12px;border-radius:10px;font-weight:600;cursor:pointer;color:#0f172a}.sidebar-overlay{position:fixed;inset:0;background:#070e1a66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30}.sidebar{position:absolute;left:20px;top:20px;bottom:20px;width:min(320px,80vw);background:var(--surface-glass-strong);border-radius:24px;border:1px solid var(--surface-border);box-shadow:var(--surface-shadow-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;padding:16px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sidebar-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-bottom:12px}.sidebar-item{border:1px solid var(--surface-border);background:#f8faffd6;padding:10px 12px;border-radius:14px;text-align:left;font-weight:600;cursor:pointer;box-shadow:0 10px 26px #0d1b2e0a}.sidebar-item.active{border-color:var(--accent-border);background:var(--accent-active)}.sidebar-item-content{display:flex;align-items:center;gap:8px}.sidebar-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-status-spinner{width:13px;height:13px;border-radius:50%;border:2px solid #bfdbfe;border-top-color:#2563eb;animation:spin .9s linear infinite;flex:0 0 auto}.sidebar-status-done{width:14px;height:14px;border-radius:50%;background:#16a34a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;flex:0 0 auto}.sidebar-status-idle{width:12px;height:12px;border-radius:50%;border:1px solid #cbd5e1;background:#f8fafc;flex:0 0 auto}.sidebar-item.add{background:#0f172a;color:#fff}.sidebar-item.general-chat{background:#0f766e;color:#f0fdfa;border-color:#0f766e}.sidebar-item.general-chat.active{background:#115e59;border-color:#115e59}.sidebar-item.knowledge{margin-top:auto;background:#eef3fb}.empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#64748b}.knowledge-panel{grid-column:1 / -1;background:var(--surface-glass);border-radius:24px;border:1px solid var(--surface-border);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:24px;min-height:70vh;position:relative}.knowledge-header h2{margin:0 0 4px}.knowledge-header p{margin:0 0 16px;color:var(--surface-muted)}.knowledge-progress-card{margin-bottom:16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(27,63,109,.14);background:linear-gradient(145deg,#eff4fbf0,#e8eaf1d6);box-shadow:0 14px 32px #0d1b2e0f}.knowledge-progress-title{font-weight:700;color:#1e3a8a;margin-bottom:4px}.knowledge-progress-text{color:#1e293b}.knowledge-progress-warning{margin-top:6px;color:#9a3412;font-weight:600}.knowledge-table{display:flex;flex-direction:column;gap:10px}.knowledge-groups{display:flex;flex-direction:column;gap:12px}.knowledge-group{border:1px solid var(--surface-border);border-radius:18px;background:#f8faffd6;overflow:hidden}.knowledge-group-header{width:100%;border:none;background:#e8eaf1e0;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:#0f172a;box-shadow:none}.knowledge-group-header:hover{transform:none;box-shadow:none}.knowledge-row{display:grid;grid-template-columns:2fr 1fr 2fr .6fr;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #e5e8f0;align-items:center}.knowledge-empty{color:#64748b;padding:12px 4px}.knowledge-row.header{background:#f1f5f9;font-weight:700}.doc-status{display:flex;align-items:center;gap:10px;font-weight:600}.doc-status.ready{color:#15803d}.doc-status.failed{color:#b91c1c}.doc-status.processing{color:#1d4ed8}.doc-name{font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.doc-ai-title{font-weight:500;color:#94a3b8;font-size:.9rem}.knowledge-footer{position:sticky;bottom:0;padding-top:16px;background:linear-gradient(180deg,#fff9,#fff 60%);display:flex;justify-content:flex-end}.file-list{display:flex;flex-wrap:wrap;gap:8px}.file-pill{background:#eef2ff;border-radius:999px;padding:6px 8px 6px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.file-pill-name{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:280px}.upload-remove-row{margin-top:6px}.file-remove-btn{border:1px solid #cfd8e3;background:#fff;color:#0f172a;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;cursor:pointer}.file-remove-btn:hover{background:#f8fafc}.modal-actions{display:flex;justify-content:space-between;gap:12px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field input{border:1px solid #d2d9e5;border-radius:10px;padding:8px 10px}.login-modal{max-width:420px}.device-confirm-card{border:1px solid var(--surface-border);border-radius:16px;padding:14px;background:#f8faffe6;display:flex;flex-direction:column;gap:10px}.device-confirm-label{font-weight:700;color:#0f172a}.device-confirm-meta{display:flex;gap:8px;flex-wrap:wrap;color:#475569;font-size:13px}.device-confirm-meta span{padding:4px 8px;border-radius:999px;background:#eef2ff}.device-confirm-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:1024px){.knowledge-row{grid-template-columns:1fr}}.project-chat-fullwidth{grid-column:1 / -1;margin-top:14px}.general-chat-fullwidth{margin-top:0}.project-chat-shell{display:grid;grid-template-columns:280px 1fr;gap:14px;min-height:62vh;background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:24px;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.project-chat-shell.sidebar-collapsed{grid-template-columns:74px 1fr}.project-chat-sidebar{border-right:1px solid rgba(13,27,46,.08);background:#e8eaf170;padding:12px;display:flex;flex-direction:column;gap:10px}.project-chat-sidebar.collapsed{width:74px}.project-chat-sidebar-head{display:flex;align-items:center;gap:8px}.project-chat-sidebar-head h3{margin:0}.chat-new-btn{width:100%}.project-chat-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.project-chat-list-item{border:1px solid var(--surface-border);background:#fefefec7;border-radius:14px;padding:10px 12px;text-align:left;font-weight:600;cursor:pointer;box-shadow:0 10px 26px #0d1b2e0a}.project-chat-list-item.active{border-color:var(--accent-border);background:var(--accent-active)}.project-chat-main{display:flex;flex-direction:column;min-height:62vh}.project-chat-header{border-bottom:1px solid rgba(13,27,46,.08);padding:12px 16px;background:#fefefe52}.project-chat-brand{display:flex;align-items:center;gap:10px}.project-chat-brand img{width:40px;height:40px;border-radius:14px;border:1px solid var(--surface-border);background:#f8fafff0;box-shadow:0 10px 24px #0d1b2e0f}.project-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.project-chat-empty{color:#64748b;font-size:14px}.project-chat-message--placeholder{opacity:.98}.project-chat-message--placeholder .project-chat-bubble{background:#f8fafff0}.project-chat-message{display:flex}.project-chat-message.user{justify-content:flex-end}.project-chat-message.assistant{justify-content:flex-start}.project-chat-bubble{max-width:min(880px,90%);border-radius:18px;padding:12px 14px;border:1px solid var(--surface-border);background:#fefefec7;box-shadow:0 14px 32px #0d1b2e0f}.project-chat-message.user .project-chat-bubble{background:linear-gradient(160deg,#0d1b2e,#18314f);border-color:#0d1b2e;color:#f8fbff}.chat-status-line{display:flex;align-items:center;gap:10px;color:#334155}.chat-delivery-line{margin-top:8px;font-size:.82rem;color:#64748b}.project-chat-input-wrap{border-top:1px solid rgba(13,27,46,.08);padding:12px;display:flex;gap:10px;align-items:flex-end;background:#fefefe4d}.project-chat-input-wrap textarea{flex:1;border:1px solid var(--surface-border-strong);border-radius:14px;padding:10px 12px;resize:vertical;min-height:60px;font-family:inherit;background:#f8faffe6}.project-chat-readonly-note{border-top:1px solid rgba(13,27,46,.08);padding:14px 16px;color:#475569;background:#f8faffbf}.chat-scroll-btn{position:fixed;right:22px;bottom:22px;z-index:45;border:1px solid var(--surface-border);background:#fefefee0;border-radius:999px;padding:8px 12px 8px 8px;display:inline-flex;gap:8px;align-items:center;box-shadow:0 14px 30px #0d1b2e29;font-weight:700}.chat-scroll-btn img{width:30px;height:30px;border-radius:10px;border:1px solid var(--surface-border);background:#f8faffeb}.chat-scroll-arrow{font-size:16px;line-height:1}.admin-layout{display:grid;grid-template-columns:1fr;gap:16px}.admin-header{align-items:center}.admin-section{background:var(--surface-glass);border-radius:24px;border:1px solid var(--surface-border);box-shadow:var(--surface-shadow);padding:20px}.admin-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.admin-section-head h2{margin:0}.admin-user-card{border:1px solid var(--surface-border);border-radius:18px;background:#fefefee0;padding:16px;margin-bottom:12px;box-shadow:0 14px 30px #0d1b2e0d}.admin-user-main{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.4fr) minmax(200px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:center}.admin-user-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-user-name{font-size:17px;font-weight:700}.admin-status-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.admin-status-pill.active{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.admin-status-pill.archived{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.admin-password-cell{display:flex;align-items:center;gap:10px;min-width:0}.admin-password-value{font-family:Consolas,Courier New,monospace;font-size:13px;padding:8px 10px;border-radius:10px;background:#eef2ff;color:#1e293b;min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-user-device,.admin-user-meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#475569}.admin-user-meta label{font-size:12px;font-weight:700;color:#334155}.admin-user-meta input{border:1px solid var(--surface-border-strong);border-radius:10px;padding:10px 12px;background:#f8fafff2}.admin-user-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.admin-activity-panel{margin-top:14px;padding-top:12px;border-top:1px solid var(--surface-border);display:flex;flex-direction:column;gap:8px}.admin-activity-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.admin-activity-row strong{display:block;margin-bottom:4px}.admin-activity-row span{color:#475569;font-size:13px}.admin-activity-extra{display:flex;flex-direction:column;gap:4px;min-width:160px;text-align:right}.admin-empty-state{color:#64748b;padding:12px 4px}.admin-global-error{position:fixed;right:20px;bottom:20px;max-width:420px;padding:12px 14px;border-radius:14px;background:#ffe4e4;color:#a90c0c;border:1px solid #f7b6b6;box-shadow:0 14px 30px #a90c0c24}@media(max-width:1024px){.project-chat-shell{grid-template-columns:1fr}.project-chat-sidebar{border-right:none;border-bottom:1px solid #e5e8f0}.project-chat-sidebar.collapsed{width:auto}.project-chat-bubble{max-width:100%}.admin-user-main{grid-template-columns:1fr}.admin-user-actions{justify-content:flex-start;flex-wrap:wrap}.admin-activity-row{flex-direction:column}.admin-activity-extra{text-align:left;min-width:0}}:root{font-family:Space Grotesk,Segoe UI,sans-serif;font-size:15px;line-height:1.5;font-weight:400;color:#0f172a;background:radial-gradient(circle at 10% 20%,#f2f7ff,#f7f9ff 25%,#eef2f7 70%);min-height:100vh}*,*:before,*:after{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}
