.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#0a0f16;padding:20px}.login-card{background:#17212b;border-radius:10px;padding:40px;width:100%;max-width:400px;border:1px solid #242f3d}.login-header{text-align:center;margin-bottom:30px}.login-header .header-icon{font-size:16px;font-weight:600;line-height:1;width:42px;height:42px;background:#e67e22;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2b5278;margin:0 auto 16px}.login-header h1{margin:0;color:#fff;font-size:.95rem;font-weight:500}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#6ab2f2;font-size:.85rem}.form-group input{width:100%;padding:10px 14px;border:none;border-radius:8px;font-size:.9rem;outline:none;background:#242f3d;color:#f5f5f5;transition:background-color .15s}.form-group input::placeholder{color:#6c7883}.form-group input:focus{background:#2b3a4d}.form-group input:disabled{background:#1c2733;color:#6c7883;cursor:not-allowed}.error-message{background:#2b1f1f;color:#ff6b6b;padding:10px 12px;border-radius:8px;font-size:.85rem;border:1px solid #4a2a2a}.login-form button{padding:12px;background:#2b5278;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s;margin-top:4px}.login-form button:hover:not(:disabled){background:#3d6a9e}.login-form button:disabled{background:#1c2733;color:#6c7883;cursor:not-allowed}.chat-container{background:#17212b;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:10px}.chat-header{background:#242f3d;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;position:relative}.header-icon{font-size:16px;font-weight:600;line-height:1;width:42px;height:42px;background:#e67e22;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2b5278}.header-text h1{font-size:.95rem;font-weight:500;color:#fff}.header-text .status{font-size:.8rem;color:#6ab2f2;display:flex;align-items:center;gap:0;margin-top:1px}.header-text .status:before{display:none}.new-chat-button{margin-left:auto;margin-right:8px;height:32px;padding:0 12px;background:transparent;border:1px solid rgba(106,178,242,.45);border-radius:16px;cursor:pointer;color:#6ab2f2;font-size:13px;white-space:nowrap;transition:background-color .15s}.new-chat-button:hover:not(:disabled){background:#6ab2f21a}.new-chat-button:disabled{opacity:.5;cursor:not-allowed}.chat-header:has(.new-chat-button) .print-button{margin-left:0}.print-button{margin-left:auto;margin-right:8px;width:36px;height:36px;background:transparent;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s;color:#6ab2f2}.print-button:hover{background:#6ab2f21a}.print-button svg{width:18px;height:18px}.logout-button{margin-left:0;width:36px;height:36px;background:transparent;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s;color:#6ab2f2}.logout-button:hover{background:#6ab2f21a}.logout-button svg{width:18px;height:18px}.messages-container{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:#0e1621}.message{display:flex;flex-direction:column;max-width:80%}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-feedback{display:flex;justify-content:flex-end;gap:4px;padding:2px 4px 0;margin-top:2px}.feedback-btn{width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#6ab2f2;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.65;transition:opacity .15s,background-color .15s,color .15s}.feedback-btn svg{width:16px;height:16px}.feedback-btn:hover:not(:disabled){opacity:1;background:#6ab2f21f}.feedback-btn:disabled{cursor:default}.feedback-btn.active.like{opacity:1;color:#4caf50}.feedback-btn.active.dislike{opacity:1;color:#ef5350}.feedback-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.feedback-modal{background:#242f3d;color:#f5f5f5;border-radius:12px;padding:20px;width:100%;max-width:420px;box-shadow:0 8px 32px #0006}.feedback-modal h3{margin:0 0 16px;font-size:1rem;font-weight:500}.feedback-categories{margin-bottom:12px}.feedback-categories-status{font-size:.875rem;color:#9db9d1}.feedback-categories-status.error{color:#ef5350}.feedback-category-select-wrap{display:flex;flex-direction:column;gap:6px}.feedback-category-label{font-size:.875rem;color:#9db9d1}.feedback-category-select{width:100%;box-sizing:border-box;background:#17212b;border:1px solid rgba(106,178,242,.25);border-radius:8px;color:#f5f5f5;padding:10px 12px;font-size:.875rem;font-family:inherit;cursor:pointer}.feedback-category-select:focus{outline:none;border-color:#6ab2f2}.feedback-comment{width:100%;box-sizing:border-box;background:#17212b;border:1px solid rgba(106,178,242,.25);border-radius:8px;color:#f5f5f5;padding:10px 12px;font-size:.875rem;font-family:inherit;resize:vertical;min-height:80px}.feedback-comment:focus{outline:none;border-color:#6ab2f2}.feedback-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.feedback-cancel-btn,.feedback-submit-btn{height:36px;padding:0 16px;border-radius:8px;font-size:.875rem;cursor:pointer;border:none}.feedback-cancel-btn{background:transparent;color:#6ab2f2;border:1px solid rgba(106,178,242,.35)}.feedback-cancel-btn:hover:not(:disabled){background:#6ab2f21a}.feedback-submit-btn{background:#2b5278;color:#fff}.feedback-submit-btn:hover:not(:disabled){background:#3a6794}.feedback-cancel-btn:disabled,.feedback-submit-btn:disabled{opacity:.5;cursor:not-allowed}.video-link-btn{display:inline;background:none;border:none;padding:0;margin:0;font:inherit;color:#6ab2f2;text-decoration:underline;cursor:pointer}.video-link-btn:hover{color:#8fc7ff}.video-link-group{white-space:nowrap}.video-link-sep{color:#6a7f94}.video-external-link{color:#6ab2f2;text-decoration:underline}.video-external-link:hover,.message.user .video-link-btn{color:#8fc7ff}.message.user .video-link-btn:hover{color:#b3d9ff}.message.user .video-external-link{color:#8fc7ff}.message.user .video-external-link:hover{color:#b3d9ff}.video-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.video-modal{background:#17212b;border-radius:12px;width:100%;max-width:900px;box-shadow:0 8px 32px #00000080;overflow:hidden}.video-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#242f3d}.video-modal-title{font-size:.9rem;color:#f5f5f5;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-modal-close{flex-shrink:0;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#9db9d1;font-size:1.5rem;line-height:1;cursor:pointer}.video-modal-close:hover{background:#ffffff14;color:#f5f5f5}.video-modal-player{display:block;width:100%;max-height:calc(100vh - 120px);background:#000}.message-content{padding:8px 12px;line-height:1.45;font-size:.9rem}.message.user .message-content{background:#2b5278;color:#fff;border-radius:12px 12px 4px}.message.assistant .message-content{background:#182533;color:#f5f5f5;border-radius:12px 12px 12px 4px}.message-content strong{font-weight:600;color:#6ab2f2}.message.user .message-content strong{color:#8fc7ff}.cursor{animation:blink 1s infinite;color:#6ab2f2}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing{display:flex;gap:4px;padding:12px 16px!important}.dot{width:6px;height:6px;background:#6ab2f2;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.input-form{padding:8px 10px;background:#17212b;display:flex;gap:8px;align-items:center}.input-wrapper{flex:1;position:relative;display:flex;flex-direction:column}.input-form input{width:100%;padding:10px 14px 24px;border:none;border-radius:20px;font-size:.9rem;outline:none;background:#242f3d;color:#f5f5f5}.input-counter{position:absolute;bottom:6px;right:14px;font-size:.75rem;color:#6c7883;pointer-events:none}.input-form input::placeholder{color:#6c7883}.input-form input:focus{background:#2b3a4d}.input-form input:disabled{background:#1c2733;color:#6c7883;cursor:not-allowed}.input-form button{width:40px;height:40px;background:transparent;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s}.input-form button:hover:not(:disabled){background:#6ab2f21a}.input-form button:disabled{cursor:not-allowed}.input-form button:disabled svg{color:#4a5766}.input-form button svg{width:20px;height:20px;color:#6ab2f2}.input-form button.stop-button svg{color:#e06c75;width:18px;height:18px}.input-form button.stop-button:hover:not(:disabled){background:#e06c751f}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#2b3a4d;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#3d4f63}.thinking-container{margin-bottom:4px}.thinking-toggle{background:none;border:none;color:#6ab2f2;font-size:.75rem;cursor:pointer;padding:4px 0;text-decoration:underline;font-family:inherit}.thinking-toggle:hover{color:#8bc5f2}.thinking-content{margin-top:8px;padding:8px;background:#0003;border-radius:4px;font-size:.75rem;color:#ffffffb3;display:none}.thinking-content.thinking-expanded{display:block}.thinking-item{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.thinking-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.thinking-tool{font-weight:500;color:#6ab2f2}.thinking-args{margin-left:16px;margin-top:4px}.thinking-arg{margin-bottom:2px;font-size:.7rem}.thinking-arg-key{color:#8bc5f2;font-weight:500}.thinking-status{margin-top:4px;font-size:.7rem}.thinking-status.success{color:#4caf50}.thinking-status.error{color:#f44336}.thinking-text{white-space:pre-wrap;line-height:1.4;font-family:Courier New,monospace}.inline-keyboard{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:100%}.inline-keyboard-row{display:flex;gap:6px;flex-wrap:wrap}.inline-btn{background:#2b5278;color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:.85rem;cursor:pointer;transition:background-color .15s,transform .1s;font-family:inherit;flex:1;min-width:120px;text-align:center}.inline-btn:hover:not(:disabled){background:#3d6a99;transform:translateY(-1px)}.inline-btn:active:not(:disabled){transform:translateY(0)}.inline-btn:disabled{background:#1c3350;color:#6c7883;cursor:not-allowed}@media print{.chat-container{background:#fff;height:auto;overflow:visible;border-radius:0}.chat-header{background:#f5f5f5!important;color:#333!important;border-bottom:1px solid #ddd;padding:8px 12px}.header-icon{background:#e67e22!important;color:#fff!important}.header-text h1{color:#333!important}.header-text .status{color:#666!important}.print-button,.logout-button,.input-form,.inline-keyboard,.inline-btn,.typing,.cursor{display:none!important}.messages-container{overflow:visible!important;background:#fff!important;padding:8px 12px;max-height:none!important}.message{max-width:100%;page-break-inside:avoid}.message-content{font-size:10pt!important;line-height:1.3!important;padding:6px 10px;word-wrap:break-word;overflow-wrap:break-word}.message.user .message-content{background:#e8e8e8!important;color:#333!important}.message.assistant .message-content{background:#f9f9f9!important;color:#333!important;border:1px solid #e0e0e0}.message-content strong{color:#333!important}.message-content a{color:#06c!important}.thinking-container{font-size:9pt!important}.thinking-toggle{display:none!important}.thinking-content,.thinking-content.thinking-expanded{display:block!important;background:#f5f5f5!important;color:#333!important;border:1px solid #e0e0e0}.thinking-text{font-size:9pt!important}}:root{--tg-bg: #17212b;--tg-bg-2: #202b36;--tg-bg-3: #242f3d;--tg-bg-4: #2b5278;--tg-border: #384656;--tg-border-soft: #2a3544;--tg-text: #ffffff;--tg-text-dim: #aab6c3;--tg-accent: #64b5ef;--tg-accent-hover: #82c3f4;--tg-success: #4fae4e;--tg-danger: #e03e3e;--tg-warning: #e8a33d}.admin-root{min-height:100vh;width:100%;max-width:100%;background:var(--tg-bg);color:var(--tg-text);display:flex;flex-direction:column}.admin-login-card{max-width:420px;background:var(--tg-bg-2);border:1px solid var(--tg-border)}.admin-back{text-align:center;margin-top:1rem}.admin-back a{color:var(--tg-accent);text-decoration:none}.admin-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:min(100%,1600px);margin:0 auto;padding:14px 24px;background:var(--tg-bg-2);border-bottom:1px solid var(--tg-border-soft)}.admin-header h1{font-size:1.05rem;font-weight:500;margin:0;color:var(--tg-text)}.admin-header-actions{display:flex;align-items:center;gap:14px}.admin-header-actions a{color:var(--tg-accent);text-decoration:none;font-size:.9rem}.admin-header-actions a:hover{color:var(--tg-accent-hover)}.admin-logout{background:var(--tg-bg-3);color:var(--tg-text);border:1px solid var(--tg-border);border-radius:8px;padding:6px 14px;cursor:pointer;font-size:.85rem;line-height:1.2;height:32px}.admin-logout:hover{background:var(--tg-border)}.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;width:100%;max-width:min(100%,1600px);margin:0 auto;padding:10px 24px;background:var(--tg-bg);border-bottom:1px solid var(--tg-border-soft)}.admin-tabs button{background:var(--tg-bg-2);color:var(--tg-text-dim);border:1px solid var(--tg-border-soft);border-radius:8px;padding:8px 14px;cursor:pointer;font-size:.82rem;height:34px;line-height:1}.admin-tabs button:hover{background:var(--tg-bg-3);color:var(--tg-text)}.admin-tabs button.active{background:var(--tg-bg-4);border-color:var(--tg-bg-4);color:var(--tg-text)}.admin-main{flex:1;width:100%;max-width:min(100%,1600px);margin:0 auto;padding:18px 24px 36px;overflow:auto}.admin-refresh,.admin-btn{background:var(--tg-bg-4);color:var(--tg-text);border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:.85rem;height:34px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.admin-refresh:hover,.admin-btn:hover{filter:brightness(1.1)}.admin-refresh:disabled,.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-input,.admin-root input[type=text],.admin-root input[type=password],.admin-root input[type=number],.admin-root input[type=date],.admin-root select,.admin-root textarea{background:var(--tg-bg-3);border:1px solid var(--tg-border);border-radius:8px;color:var(--tg-text);padding:8px 12px;font-size:.85rem;outline:none;height:34px;line-height:1.2;box-sizing:border-box}.admin-root textarea{height:auto;font-family:ui-monospace,Menlo,Consolas,monospace}.admin-root input:focus,.admin-root select:focus,.admin-root textarea:focus{border-color:var(--tg-accent)}.admin-json{background:var(--tg-bg-2);border:1px solid var(--tg-border-soft);border-radius:8px;padding:12px;font-size:.78rem;line-height:1.45;overflow:auto;max-height:calc(100vh - 220px);margin:0;color:var(--tg-text);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.admin-muted{color:var(--tg-text-dim)}.admin-banner{margin:8px 24px 0}.admin-llm form{display:flex;flex-direction:column;gap:10px;max-width:min(100%,1200px)}.admin-llm label{font-size:.85rem;color:var(--tg-text-dim)}.admin-llm textarea{padding:10px 12px;font-size:.9rem}.admin-llm button[type=submit]{align-self:flex-start;background:var(--tg-bg-4);color:var(--tg-text);border:none;border-radius:8px;padding:10px 22px;cursor:pointer;margin-top:6px;height:38px}.admin-llm button[type=submit]:hover{filter:brightness(1.1)}.admin-history-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:14px;font-size:.8rem}.admin-history-filters label{display:flex;flex-direction:column;gap:4px;color:var(--tg-text-dim)}.admin-history-search{flex:1 1 220px;min-width:160px}.admin-history-search input{width:100%}.admin-history-table-wrap{overflow:auto;margin-top:12px;border:1px solid var(--tg-border-soft);border-radius:8px}.admin-history-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-history-table th,.admin-history-table td{border-bottom:1px solid var(--tg-border-soft);padding:10px 12px;vertical-align:top;text-align:left}.admin-history-table th{background:var(--tg-bg-2);color:var(--tg-text-dim);font-weight:600;white-space:nowrap}.admin-history-table td:nth-child(3),.admin-history-table td:nth-child(4){max-width:28vw;min-width:140px}.admin-history-date{white-space:nowrap;color:var(--tg-text-dim)}.admin-history-actions{white-space:nowrap}.admin-json-btn{background:var(--tg-bg-3);color:var(--tg-accent);border:1px solid var(--tg-border);border-radius:6px;padding:4px 10px;font-size:.75rem;cursor:pointer;height:26px}.admin-json-btn:hover{border-color:var(--tg-accent)}.admin-cache-del-btn{margin-right:.35rem}.admin-history-json-row td{background:var(--tg-bg);padding:0}.admin-json-inline{max-height:360px;margin:0;border:none;border-radius:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.admin-history-pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}.admin-history-page-info{color:var(--tg-text-dim);font-size:.8rem;margin-left:6px}.admin-feedback-type-cell{text-align:center;width:2.75rem}.admin-feedback-type{display:inline-flex;align-items:center;justify-content:center}.admin-feedback-type svg{width:18px;height:18px}.admin-feedback-type-like{color:#4caf50}.admin-feedback-type-dislike{color:#ef5350}.admin-feedback-tokens{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-feedback-table td:nth-child(6),.admin-feedback-table td:nth-child(7){max-width:22vw;min-width:120px}.admin-tester-report-actions{display:flex;gap:8px;margin:4px 0 8px}.admin-clamp-wrap{display:flex;flex-direction:column;gap:4px}.admin-clamp{white-space:pre-wrap;word-break:break-word;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.admin-clamp-open{display:block;-webkit-line-clamp:unset;overflow:visible}.admin-clamp-toggle{align-self:flex-start;background:transparent;color:var(--tg-accent);border:none;padding:0;font-size:.75rem;cursor:pointer;text-decoration:underline}.admin-clamp-toggle:hover{color:var(--tg-accent-hover)}.admin-tester{display:flex;flex-direction:column;gap:12px;max-width:min(100%,1200px)}.admin-tester-controls{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.admin-tester-controls label{display:flex;flex-direction:column;gap:6px;color:var(--tg-text-dim);font-size:.82rem}.admin-tester-controls select{min-width:240px;padding-right:10px}.admin-tester-add{display:flex;gap:8px;align-items:center}.admin-tester-add input{min-width:240px}.admin-tester-label{display:block;margin:4px 0 6px;color:var(--tg-text-dim);font-size:.82rem}.admin-tester-hint{margin:0 0 10px;color:var(--tg-text-dim);font-size:.82rem;line-height:1.45}.admin-tester fieldset.admin-policy-group{display:flex;flex-direction:column;gap:10px}.admin-tester-textarea{width:100%;padding:10px 12px;font-size:.88rem;line-height:1.5;resize:vertical;min-height:220px}.admin-tester-actions{display:flex;gap:10px;margin:4px 0 16px}.admin-tester-run{background:var(--tg-success)}.admin-tester-stop{background:var(--tg-danger)}.admin-tester-auth{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:4px}.admin-tester-auth label{display:flex;flex-direction:column;gap:6px;color:var(--tg-text-dim);font-size:.82rem}.admin-tester-auth input{min-width:220px}.admin-tester-table-wrap{overflow:auto;margin-top:8px;border:1px solid var(--tg-border-soft);border-radius:8px}.admin-tester-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:fixed}.admin-tester-table th,.admin-tester-table td{border-bottom:1px solid var(--tg-border-soft);padding:12px 14px;vertical-align:top;text-align:left}.admin-tester-table th{background:var(--tg-bg-2);color:var(--tg-text-dim);font-weight:600}.admin-tester-table th:first-child,.admin-tester-table td:first-child{width:32%}.admin-tester-table th.admin-tester-time-col,.admin-tester-table td.admin-tester-time{width:110px;white-space:nowrap;color:var(--tg-text-dim);text-align:right}.admin-tester-err{color:var(--tg-danger)}.admin-policy{display:flex;flex-direction:column;gap:14px;max-width:min(100%,1200px)}.admin-policy-actions{display:flex;gap:10px;align-items:center}.admin-policy-msg{color:var(--tg-success);font-size:.85rem}.admin-policy-group{border:1px solid var(--tg-border-soft);border-radius:10px;padding:6px 16px 16px;background:var(--tg-bg-2);margin:0}.admin-policy-group legend{padding:0 6px;color:var(--tg-text-dim);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.admin-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 18px;margin-top:6px}.admin-policy-field{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--tg-text-dim)}.admin-policy-label{color:var(--tg-text-dim)}.admin-policy-field-bool{flex-direction:row;align-items:center;gap:10px}.admin-policy-field-bool input{width:18px;height:18px;margin:0;accent-color:var(--tg-accent)}.admin-policy-field-bool .admin-policy-label{order:2;color:var(--tg-text)}.admin-policy-field-text,.admin-policy-field-json{grid-column:1 / -1}.admin-policy-field-text textarea,.admin-policy-field-json textarea{min-height:72px;resize:vertical;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;padding:10px 12px}.admin-policy-help{color:var(--tg-text-dim);opacity:.75;font-size:.74rem;line-height:1.35}.admin-kb-label{display:inline-flex;align-items:center;gap:6px}.admin-kb-hint-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;font-size:.72rem;font-weight:600;line-height:1;cursor:help;color:var(--tg-text-dim);border:1px solid color-mix(in srgb,var(--tg-text-dim) 45%,transparent);opacity:.85}.admin-kb-hint-icon:hover{opacity:1;color:var(--tg-accent, #2aabee);border-color:color-mix(in srgb,var(--tg-accent, #2aabee) 55%,transparent)}.admin-kb-readonly{opacity:.85;background:color-mix(in srgb,var(--tg-bg) 92%,var(--tg-text-dim));cursor:default}.admin-policy-err{color:var(--tg-danger);font-size:.74rem}.admin-tools{display:flex;flex-direction:column;gap:14px}.admin-tools-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-tools-count{color:var(--tg-text-dim);font-size:.82rem;margin-left:4px}.admin-tools-table-wrap{overflow:auto;border:1px solid var(--tg-border-soft);border-radius:8px;max-height:calc(100vh - 230px);min-height:240px}.admin-tools-table{border-collapse:separate;border-spacing:0;font-size:.82rem;width:max-content;min-width:100%}.admin-tools-table th,.admin-tools-table td{border-bottom:1px solid var(--tg-border-soft);padding:8px 10px;text-align:left;vertical-align:middle;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.admin-tools-table thead th{background:var(--tg-bg-2);color:var(--tg-text-dim);font-weight:600;position:sticky;top:0;z-index:2}.admin-tools-filter-row th{padding:6px 8px;top:34px;background:var(--tg-bg-2);overflow:visible}.admin-tools-filter-row input,.admin-tools-filter-row select{width:100%;min-width:110px;height:28px;padding:4px 8px;font-size:.78rem}.admin-tools-row{cursor:pointer}.admin-tools-row.admin-tools-row-disabled{cursor:default;color:var(--tg-text-dim)}.admin-tools-table tbody tr:hover{background:var(--tg-bg-3)}.admin-tools-row-selected,.admin-tools-row-selected:hover{background:var(--tg-bg-4)!important}.admin-tools-editor{display:flex;flex-direction:column;gap:12px;border:1px solid var(--tg-border);border-radius:10px;padding:14px 16px;background:var(--tg-bg-2)}.admin-tools-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.admin-tools-editor-head h2{margin:0;font-size:1rem;color:var(--tg-text)}.admin-tools-editor-actions{display:flex;gap:8px}.admin-kb-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.admin-kb-modal{width:100%;max-width:min(920px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;background:var(--tg-bg-2);border:1px solid var(--tg-border);border-radius:12px;box-shadow:0 12px 40px #00000073}.admin-kb-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 8px;border-bottom:1px solid var(--tg-border-soft);flex-shrink:0}.admin-kb-modal-header h2{margin:0;font-size:1rem;font-weight:500;color:var(--tg-text);line-height:1.4}.admin-kb-modal-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:8px;background:var(--tg-bg-3);color:var(--tg-text-dim);font-size:1.5rem;line-height:1;cursor:pointer}.admin-kb-modal-close:hover:not(:disabled){color:var(--tg-text);background:var(--tg-bg-4)}.admin-kb-modal-close:disabled{opacity:.5;cursor:not-allowed}.admin-kb-modal-msg{padding:0 20px 8px;font-size:.875rem;color:var(--tg-success)}.admin-kb-modal-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px;flex-shrink:0}.admin-kb-modal-body{overflow:auto;padding:0 20px 20px;flex:1;min-height:0}.admin-kb-modal-body .admin-policy-group{margin-top:12px}.admin-kb-modal-error{padding:0 20px 8px;font-size:.875rem;color:var(--tg-danger, #e74c3c)}.admin-kb-assist-toggles{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.admin-kb-assist-toggles .admin-refresh.active{border-color:var(--tg-accent, #4a9eff);color:var(--tg-text);background:var(--tg-bg-4)}.admin-kb-panel-error{margin-top:8px;font-size:.875rem;color:var(--tg-danger, #e74c3c)}.admin-kb-import-block .admin-kb-import-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.admin-kb-raw-details{margin-top:8px;font-size:.8125rem;color:var(--tg-text-dim)}.admin-kb-raw-details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-kb-raw-pre{margin:8px 0 0;padding:10px;max-height:200px;overflow:auto;background:var(--tg-bg-3);border:1px solid var(--tg-border-soft);border-radius:6px;font-size:.75rem;white-space:pre-wrap;word-break:break-word}.admin-kb-preview-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.admin-kb-preview-tabs button{padding:6px 10px;border:1px solid var(--tg-border);border-radius:6px;background:var(--tg-bg-3);color:var(--tg-text-dim);font-size:.8125rem;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-kb-preview-tabs button.active{background:var(--tg-bg-4);color:var(--tg-text);border-color:var(--tg-accent, #4a9eff)}.admin-kb-preview-tabs button:disabled{opacity:.5;cursor:not-allowed}.admin-kb-notes{margin:8px 0 12px;padding:10px 12px;background:var(--tg-bg-3);border:1px solid var(--tg-border-soft);border-radius:6px;font-size:.875rem;color:var(--tg-text-dim);line-height:1.45}.admin-kb-notes strong{color:var(--tg-text);font-weight:500}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0f16;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}#root{width:100%;max-width:720px;height:calc(100vh - 40px);max-height:900px}body.admin-route{display:block;padding:0;align-items:stretch}body.admin-route #root{max-width:none;max-height:none;height:100vh;width:100%}@media print{body{background:#fff;padding:0;display:block}body.admin-route #root{height:auto}#root{max-width:none;height:auto;max-height:none}}
