:root{color-scheme:light;--color-bg:oklch(1 0 0);--color-surface:oklch(.972 .004 188);--color-surface-strong:oklch(.935 .008 188);--color-ink:oklch(.22 .025 230);--color-muted:oklch(.455 .026 230);--color-border:oklch(.865 .013 230);--color-primary:oklch(.56 .118 188);--color-primary-hover:oklch(.5 .126 188);--color-accent:oklch(.61 .15 32);--color-success:oklch(.54 .13 145);--color-warning:oklch(.7 .15 78);--color-danger:oklch(.57 .18 25);--radius-sm:6px;--radius-md:8px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;background:linear-gradient(180deg,#f3f7f6,#fff 320px),var(--color-bg)}.topbar{justify-content:space-between;gap:16px;padding:18px clamp(16px,4vw,40px);border-bottom:1px solid var(--color-border)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:750}.breadcrumb{display:inline-flex;margin-bottom:8px;color:var(--color-primary);font-size:.875rem;font-weight:700}.brand-mark{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-primary)}.topbar-status{display:inline-flex;align-items:center;gap:12px;color:var(--color-muted);font-size:.875rem}.link-button{border:0;padding:0;background:transparent;color:var(--color-primary);cursor:pointer;font-weight:700}.link-button:focus-visible{border-radius:var(--radius-sm);outline:3px solid oklch(.82 .08 188/.55);outline-offset:3px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f3f7f6,#fff 360px),var(--color-bg)}.login-panel{display:grid;gap:22px;width:min(430px,100%);border:1px solid var(--color-border);border-radius:12px;padding:24px;background:var(--color-bg)}.login-panel h1{margin:0;font-size:1.5rem;line-height:1.2}.login-panel p{margin:8px 0 0;color:var(--color-muted)}.workspace{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:32px 0 56px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.page-head h1{margin:0;font-size:2rem;line-height:1.15;letter-spacing:0}.page-head p{margin:8px 0 0;max-width:66ch;color:var(--color-muted)}.grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:18px;align-items:start}.panel{border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);overflow:hidden}.panel-head{padding:16px 18px;border-bottom:1px solid var(--color-border)}.panel-head h2{margin:0;font-size:1rem}.panel-head p{margin:4px 0 0;color:var(--color-muted);font-size:.875rem}.panel-body{padding:18px}.form-stack{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-weight:650;font-size:.875rem}.field-hint{color:var(--color-muted);font-size:.8125rem;line-height:1.45}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 11px;color:var(--color-ink);background:var(--color-bg)}.field textarea{min-height:92px;resize:vertical}.button:focus-visible,.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid oklch(.82 .08 188/.55);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 14px;font-weight:700;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.62}.button-primary{background:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{border-color:var(--color-border);background:var(--color-bg);color:var(--color-ink)}.button-danger{border-color:#e4a59f;background:#fff1f0;background:oklch(.97 .02 25);color:var(--color-danger)}.button-danger:hover{border-color:var(--color-danger);background:#ffe4e1;background:oklch(.94 .036 25)}.project-list,.project-row{display:grid;gap:12px}.project-row{padding:14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.project-main{display:flex;justify-content:space-between;gap:12px;align-items:start}.project-title{margin:0;font-size:1rem}.project-meta{margin:4px 0 0;color:var(--color-muted);overflow-wrap:anywhere}.crawl-progress{display:grid;gap:7px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted);font-size:.8125rem}.crawl-progress-empty{line-height:1.45}.crawl-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#d4dfde}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;background:#dbeeec;color:#004844;color:oklch(.36 .09 188);font-size:.75rem;font-weight:750;white-space:nowrap}.status-success{background:#deefde;color:#104a17}.status-warning{background:#ffeccf;background:oklch(.95 .052 78);color:#5d3e00;color:oklch(.39 .092 78)}.status-danger{background:#ffe4e1;background:oklch(.94 .036 25);color:#861d1f}.code-block{margin:0;padding:12px;border-radius:var(--radius-md);background:#162228;color:#f8f8f8;overflow:auto;font-size:.8125rem;line-height:1.5}.empty{padding:26px;border:1px dashed var(--color-border);border-radius:10px;color:var(--color-muted);text-align:center}.actions{gap:8px}.actions,.confirm-row{display:flex;flex-wrap:wrap}.confirm-row{align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid oklch(.84 .05 25);border-radius:var(--radius-md);background:#fff6f5;background:oklch(.98 .012 25);color:var(--color-ink)}.confirm-row>span{max-width:62ch}.danger-panel{border-color:#eabfba}.section-gap{margin-top:18px}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{display:grid;gap:5px;min-width:0;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);padding:14px}.metric span{color:var(--color-muted);font-size:.8125rem;font-weight:650}.metric strong{overflow:hidden;color:var(--color-ink);font-size:1.125rem;text-overflow:ellipsis;white-space:nowrap}.live-crawl-panel{margin-bottom:18px}.live-crawl{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px}.live-crawl h2{margin:8px 0 0;font-size:1rem}.live-crawl p{margin:4px 0 0;color:var(--color-muted)}.inline-form{display:flex;gap:8px;margin-bottom:14px}.inline-form input{min-width:0;flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 11px}.integration-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--color-muted);font-size:.875rem}.widget-settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.widget-settings-row h3{margin:0;font-size:.9375rem}.widget-settings-row p{margin:4px 0 0;color:var(--color-muted);font-size:.875rem}.assistant-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:18px;align-items:start}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-summary{display:inline-flex;align-items:center;color:var(--color-muted);font-size:.875rem;font-weight:650}.knowledge-column{display:grid;gap:16px;min-width:0}.knowledge-list{display:grid;gap:10px}.knowledge-row{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.knowledge-row-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.knowledge-row strong{min-width:0;overflow-wrap:anywhere}.knowledge-row p{margin:6px 0 0;color:var(--color-muted);font-size:.875rem}.source-type{display:inline-flex;margin-left:6px;color:var(--color-muted);font-size:.75rem;font-weight:650}.widget-settings-row .error-text{color:var(--color-danger)}.switch-control{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;width:46px;height:26px}.switch-control input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.switch-control span{width:100%;height:100%;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-strong);transition:background .16s ease,border-color .16s ease}.switch-control span:before{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:999px;background:var(--color-bg);box-shadow:0 1px 3px #0e1d242e;transition:transform .16s ease}.switch-control input:checked+span{border-color:var(--color-primary);background:var(--color-primary)}.switch-control input:checked+span:before{transform:translate(20px)}.switch-control input:focus-visible+span{outline:3px solid oklch(.82 .08 188/.55);outline-offset:2px}.switch-control input:disabled+span{opacity:.62}.crawl-list,.job-list,.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--color-border)}.crawl-row{display:grid;gap:10px;padding:14px;border:1px solid var(--color-border);border-radius:10px}.crawl-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--color-muted);font-size:.875rem}.job-list{padding-top:4px}.job-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:var(--radius-md);background:var(--color-surface);font-size:.8125rem}.job-meta,.job-url,.table-wrap a{overflow-wrap:anywhere}.job-meta{color:var(--color-muted);font-size:.75rem}.error-text{margin:0;color:var(--color-danger)}.table-wrap{overflow:auto}.chat-tester{display:grid;gap:12px}.chat-log{display:grid;gap:10px;max-height:460px;overflow:auto;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.chat-placeholder{padding:18px;color:var(--color-muted);text-align:center}.chat-message{display:grid;gap:6px;max-width:78ch;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.chat-message-user{justify-self:end;width:min(620px,92%);border-color:#97d1cb;background:#ebf8f7}.chat-message-assistant{justify-self:start;width:min(760px,96%)}.chat-message-head{color:var(--color-muted);font-size:.75rem;font-weight:750}.chat-message p{margin:0;line-height:1.5;white-space:pre-wrap}.chat-answer-link{color:var(--color-primary);font-weight:650;text-decoration:underline;text-underline-offset:2px}.chat-answer-link:hover{color:var(--color-primary-hover)}.chat-answer-link:focus-visible{border-radius:4px;outline:3px solid oklch(.82 .08 188/.55);outline-offset:2px}.source-list{display:grid;gap:6px;margin-top:4px}.source-item{display:grid;gap:3px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.source-item span{color:var(--color-primary);font-size:.8125rem;font-weight:750;overflow-wrap:anywhere}.source-item small{color:var(--color-muted);font-size:.75rem;line-height:1.45}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.chat-form input{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 11px;color:var(--color-ink)}.chat-form input:disabled{background:var(--color-surface);color:var(--color-muted)}table{width:100%;border-collapse:collapse;font-size:.875rem}td,th{padding:10px 8px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}th{color:var(--color-muted);font-size:.75rem;font-weight:750}@media(max-width:840px){.page-head,.project-main{display:grid}.assistant-settings-grid,.grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.metric-strip{grid-template-columns:1fr}.inline-form{display:grid}.chat-form,.field-row{grid-template-columns:1fr}.crawl-progress-head,.live-crawl{display:grid}.job-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.button{transition:background-color .16s ease-out,border-color .16s ease-out}.progress-bar span{transition:width .18s ease-out}}
