:root{--color-primary: #0ea5e9;--color-primary-hover: #0284c7;--color-secondary: #6366f1;--color-accent: #8b5cf6;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-hover: #e2e8f0;--color-white: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .05);--shadow-glow: 0 0 20px rgba(14, 165, 233, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.p-2{padding:8px}.p-4{padding:16px}.m-0{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:#e2e8f0;color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--color-bg-secondary)}.login-panel{width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:32px;box-shadow:var(--shadow-md)}.login-logo{width:180px;display:block;margin:0 auto 18px}.login-panel h1{text-align:center;margin:0 0 24px;color:var(--color-text)}.login-panel label{display:grid;gap:8px;margin-bottom:14px;color:var(--color-text-secondary);font-size:14px}.login-panel input{height:40px;border:1px solid var(--color-border);border-radius:10px;padding:0 12px;outline:none}.login-check{display:flex!important;align-items:center}.login-check input{height:auto}.login-panel button,.panel-header button,.settings-back,.settings-nav,.settings-table button{border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;font-weight:700;cursor:pointer}.login-panel button{width:100%}.login-error{color:#dc2626;font-size:13px}.settings-page{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:#f4f8fb}.settings-sidebar{background:#ffffffeb;border-right:1px solid #dce8f2;padding:22px 16px;box-shadow:8px 0 24px #0f172a08}.settings-brand{padding:0 4px 18px;border-bottom:1px solid #e7eef6;margin-bottom:18px}.settings-logo{width:200px;display:block;margin-bottom:8px}.settings-brand span{display:block;color:var(--color-text-muted);font-size:12px;font-weight:700;letter-spacing:0}.settings-brand-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-brand-meta strong{min-width:0;color:#2563eb;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-back,.settings-primary-action,.settings-text-action,.file-upload-button,.settings-table button,.file-actions button{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}button:disabled,.settings-text-action:disabled{cursor:not-allowed;opacity:.55}.settings-back,.settings-primary-action,.file-upload-button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;box-shadow:0 10px 24px #0ea5e92e}.settings-back{width:100%;margin-bottom:18px}.settings-nav{width:100%;display:grid;gap:2px;text-align:left;margin-bottom:8px;background:transparent;color:var(--color-text);border:1px solid transparent;border-radius:12px;padding:12px 14px;box-shadow:none}.settings-nav span{font-size:14px;font-weight:800}.settings-nav small{color:var(--color-text-muted);font-size:12px}.settings-nav:hover{background:#eef7ff;border-color:#d7eaf8}.settings-nav.active{color:#075985;background:#e3f4ff;border-color:#9bd8f7}.settings-nav.active small{color:#3284ad}.settings-group{margin:18px 0 10px;color:var(--color-text-muted);font-size:12px;font-weight:800}.settings-main{position:relative;min-width:0;padding:28px;overflow:auto}.settings-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.settings-topbar h1{margin:2px 0 0;color:#0f172a;font-size:26px;line-height:1.2}.settings-subtitle{margin:8px 0 0;color:#5f7393;font-size:14px;line-height:1.5}.settings-eyebrow{color:var(--color-primary);font-size:12px;font-weight:800}.settings-user-pill{display:flex;flex-direction:column;align-items:flex-end;min-width:150px;padding:10px 14px;background:#fff;border:1px solid #dce8f2;border-radius:14px;box-shadow:var(--shadow-sm)}.settings-user-pill span{color:var(--color-text);font-size:14px;font-weight:800}.settings-user-pill small{color:var(--color-text-muted)}.settings-topbar-actions{position:absolute;top:2px;right:18px;display:flex;align-items:center;justify-content:flex-end;gap:16px}.settings-image-action{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.settings-image-action:hover{opacity:.82;transform:translateY(-1px)}.settings-image-action img{width:36px;height:36px;display:block;object-fit:contain}.settings-password-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#41537061;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-password-dialog{width:min(520px,calc(100vw - 36px));display:grid;gap:14px;border:1px solid #dde8f3;border-radius:14px;padding:18px 16px 16px;background:#fff;box-shadow:0 26px 70px #0f172a33}.settings-password-dialog h3{margin:0;color:#0f172a;font-size:20px}.settings-password-dialog p{margin:-6px 0 0;color:var(--color-text-secondary);font-size:13px}.settings-password-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px}.settings-password-row span{color:#2f4d75;font-size:14px;font-weight:800;text-align:right}.settings-password-row input{width:100%;border:1px solid #dbe8f2;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:var(--color-text);font:inherit}.settings-password-row input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.settings-password-actions{display:flex;justify-content:flex-end;gap:10px}.settings-panel,.kb-workspace{background:#fff;border:1px solid #dce8f2;border-radius:16px;padding:20px;box-shadow:0 16px 40px #0f172a0d}.panel-header,.file-panel-header,.kb-hero,.kb-library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-header{margin-bottom:16px}.panel-header h2,.panel-header h3,.kb-hero h2,.file-panel-header h3{margin:0;color:var(--color-text)}.kb-hero{padding:2px 2px 20px;border-bottom:1px solid #edf4fa;margin-bottom:18px}.kb-hero h2{font-size:24px}.kb-hero p,.file-panel-header p{margin:4px 0 0;color:var(--color-text-secondary);font-size:14px}.kb-library,.file-panel{min-width:0;border:1px solid #e1edf6;border-radius:14px;background:#fbfdff;padding:16px}.kb-form-panel{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid #d9e8f5;border-radius:14px;background:#fbfdff}.kb-form-head,.kb-role-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kb-form-head h3{margin:2px 0 0;color:var(--color-text)}.kb-form-panel label{display:grid;gap:7px}.kb-form-panel label>span,.kb-role-head strong{color:var(--color-text);font-size:13px;font-weight:800}.kb-form-panel input,.kb-form-panel textarea{width:100%;border:1px solid #dbe8f2;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:var(--color-text);font:inherit}.kb-form-panel input:focus,.kb-form-panel textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.kb-role-box{display:grid;gap:12px;padding:14px;border:1px solid #e1edf6;border-radius:12px;background:#fff}.kb-role-head small{display:block;margin-top:3px;color:var(--color-text-muted)}.kb-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.kb-role-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid #e6eef6;border-radius:10px;background:#f8fcff}.kb-role-option input{width:16px;height:16px;accent-color:var(--color-primary)}.kb-role-option span{min-width:0;display:grid;gap:2px}.kb-role-option strong,.kb-role-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-role-option small{color:var(--color-text-muted)}.kb-form-actions{display:flex;justify-content:flex-end}.settings-empty.compact{min-height:76px}.kb-list-page .kb-library{max-height:calc(100vh - 230px);overflow:auto}.kb-library-toolbar{margin-bottom:14px}.kb-library-toolbar strong{display:block;color:#0f172a;font-size:22px;line-height:1}.kb-library-toolbar span{color:var(--color-text-muted);font-size:13px}.settings-text-action{background:#eef7ff;color:#0369a1}.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.kb-card{position:relative;min-height:190px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d9e8f5;border-radius:14px;padding:16px;background:linear-gradient(180deg,#fff,#f8fcff);cursor:pointer;box-shadow:0 8px 20px #0f172a0a;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.kb-card:hover,.kb-card.active{transform:translateY(-2px);border-color:#38bdf8;box-shadow:0 16px 30px #0ea5e924}.kb-card.active{background:linear-gradient(180deg,#eff9ff,#fff)}.kb-card-bookmark{position:absolute;top:0;right:18px;width:32px;height:48px;background:linear-gradient(180deg,#38bdf8,#2563eb);border-radius:0 0 10px 10px}.kb-card-bookmark:after{content:"";position:absolute;left:0;bottom:-1px;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:12px solid #ffffff}.kb-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-right:46px}.kb-card-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:#0369a1;background:#e0f2fe;font-size:13px;font-weight:900}.kb-card-status,.file-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;background:#edf2f7;color:var(--color-text-secondary);font-size:12px;font-weight:800;white-space:nowrap}.kb-card-status.writable,.file-status.completed{background:#dcfce7;color:#166534}.file-status.queued,.file-status.processing{background:#e0f2fe;color:#0369a1}.file-status.failed{background:#fee2e2;color:#b91c1c}.kb-card strong{display:block;color:#0f172a;font-size:17px;line-height:1.35;margin-bottom:8px;word-break:break-word}.kb-card p{flex:1;display:-webkit-box;margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.55;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.kb-card-meta{display:grid;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid #eef4f9}.kb-card-meta span{color:var(--color-text-muted);font-size:12px}.kb-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.kb-card-action{justify-self:start;align-self:start;border:0;border-radius:999px;padding:7px 12px;color:#0369a1;background:#eef7ff;font-size:12px;font-weight:800;cursor:pointer}.kb-card-action.danger{color:#be123c;background:#fff1f2}.kb-workspace{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.kb-library-card-page{min-height:min(540px,calc(100vh - 150px));border-color:#dbe8f5;border-radius:18px;background:#fff;padding:18px 16px 16px;box-shadow:0 12px 30px #1e40af0d}.kb-list-page .kb-library-card-page{max-height:none;overflow:visible}.kb-library-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.kb-library-titlebar h2{margin:0;color:#0f172a;font-size:20px;line-height:1.3}.kb-icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #86b6ff;border-radius:12px;color:#1d4ed8;background:#eff6ff;font-size:24px;line-height:1;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.kb-icon-button:hover{border-color:#3b82f6;background:#dbeafe;transform:translateY(-1px)}.kb-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.kb-simple-card{min-height:172px;padding:18px 14px;border-color:#d6e5f3;border-radius:12px;background:#fbfdff;box-shadow:0 10px 22px #2a5d9f0a}.kb-simple-card:before{content:"";position:absolute;top:0;left:14px;width:50px;height:7px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#82b7ff,#5f95ff)}.kb-simple-card:hover,.kb-simple-card.active{transform:translateY(-2px);border-color:#9cc3f6;box-shadow:0 16px 28px #326ab81f}.kb-simple-card strong{margin:2px 0 10px;font-size:16px}.kb-simple-card p{flex:0;min-height:40px;-webkit-line-clamp:2;color:#5d7397;font-size:13px}.kb-simple-card .kb-card-meta{gap:10px;margin-top:12px;padding-top:0;border-top:0}.kb-simple-card .kb-card-meta span{color:#6f84a7;font-size:13px}.kb-card-menu-button{position:absolute;right:12px;bottom:10px;z-index:3;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7e5f5;border-radius:8px;color:#64748b;background:#ffffffeb;font-size:15px;line-height:1;opacity:0;cursor:pointer;box-shadow:0 8px 18px #0f172a14;transition:opacity var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.kb-simple-card:hover .kb-card-menu-button,.kb-simple-card.menu-open .kb-card-menu-button,.kb-card-menu-button:focus-visible{opacity:1}.kb-card-menu-button:hover{border-color:#9bc6ff;color:#1d4ed8}.kb-card-action-popover{position:absolute;right:10px;bottom:38px;z-index:4;min-width:112px;display:grid;gap:8px;border:1px solid #dbe6f3;border-radius:10px;padding:10px 12px;background:#fff;box-shadow:0 18px 42px #0f172a29}.kb-card-action-popover button{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px;border:0;border-radius:7px;padding:7px 8px;color:#244263;background:transparent;font-size:13px;text-align:left;cursor:pointer}.kb-card-action-popover button:hover{background:#eef6ff;color:#1d4ed8}.kb-card-action-popover button.danger{color:#dc2626}.kb-card-action-popover button.danger:hover{background:#fff1f2;color:#be123c}.kb-action-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.kb-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#41537061;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.kb-create-dialog{width:min(616px,calc(100vw - 36px));max-height:calc(100vh - 80px);display:grid;gap:14px;overflow:hidden;border:1px solid #dde8f3;border-radius:14px;padding:18px 16px 16px;background:#fff;box-shadow:0 26px 70px #0f172a33}.kb-create-dialog h3{margin:0 0 2px;color:#0f172a;font-size:20px}.kb-dialog-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px}.kb-dialog-row-top{align-items:start}.kb-dialog-row>span{color:#2f4d75;font-size:14px;font-weight:800;text-align:right}.kb-dialog-row input[type=text],.kb-dialog-row input:not([type]),.kb-dialog-row textarea{width:100%;border:1px solid #d8e4ef;border-radius:10px;padding:9px 12px;outline:none;background:#fff;color:#0f172a;font:inherit}.kb-dialog-row textarea{min-height:82px;resize:vertical}.kb-dialog-row input:focus,.kb-dialog-row textarea:focus{border-color:#6ca6ff;box-shadow:0 0 0 3px #60a5fa29}.kb-role-list{min-height:108px;max-height:108px;overflow:auto;border:1px solid #d8e4ef;border-radius:10px;padding:8px 10px;background:#fff}.kb-role-list-item{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;color:#0f172a;font-size:14px}.kb-role-list-item input{width:15px;height:15px;accent-color:#3b82f6}.kb-role-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-role-list-empty{display:flex;align-items:center;min-height:90px;color:#7c8ea8;font-size:14px}.kb-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.kb-dialog-button{min-width:96px;height:34px;border:1px solid #d7e2ee;border-radius:0;background:#fff;color:#1f2a44;font-size:14px;cursor:pointer}.kb-dialog-button.primary{border-color:#8793a4}.kb-dialog-button.secondary{color:#5c6d85}.kb-dialog-button:disabled{opacity:.65;cursor:not-allowed}.kb-detail-page{display:grid;gap:16px}.kb-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid #e1edf6;border-radius:14px;background:#fbfdff}.kb-detail-title{min-width:0}.kb-detail-title h3{margin:2px 0 4px;color:#0f172a;font-size:22px;line-height:1.25}.kb-detail-title p{margin:0;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-panel{margin-top:0;background:#fff}.kb-detail-page .file-panel{max-height:none;overflow:visible}.file-panel.is-empty,.settings-empty{min-height:160px;display:grid;place-items:center;color:var(--color-text-muted);border:1px dashed #cfe3f2;border-radius:14px;background:#f8fcff}.file-upload-button{position:relative;overflow:hidden;white-space:nowrap}.file-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 0}.file-search{flex:1;min-width:220px;display:flex;align-items:center;gap:8px}.file-search input{width:100%;height:40px;border:1px solid #dbe8f2;border-radius:10px;padding:0 12px;outline:none;background:#fff;color:var(--color-text)}.file-search input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.file-search button{border:0;border-radius:10px;padding:10px 14px;background:#eef7ff;color:#0369a1;font-weight:800;cursor:pointer}.file-dropzone{display:grid;gap:4px;margin:16px 0;padding:16px;border:1px dashed #9bd8f7;border-radius:14px;background:#f0f9ff;color:#075985}.file-dropzone small{color:#4b88a7}.file-dropzone.disabled{border-color:#d7e2ea;background:#f8fafc;color:var(--color-text-secondary)}.file-feedback{margin-bottom:14px;padding:10px 12px;border-radius:10px;color:#075985;background:#e0f2fe;font-size:13px;font-weight:700}.file-feedback.success{color:#166534;background:#dcfce7}.file-feedback.error{color:#b91c1c;background:#fee2e2}.file-list{display:grid;gap:10px}.file-row{display:grid;grid-template-columns:24px 54px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid #e6eef6;border-radius:12px;background:#fff}.file-check{display:grid;place-items:center}.file-check input{width:16px;height:16px;accent-color:var(--color-primary)}.file-type{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#eef7ff;color:#0369a1;font-size:11px;font-weight:900;text-transform:uppercase}.file-main{min-width:0;display:grid;gap:3px}.file-main strong{color:var(--color-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-main span,.file-main small{color:var(--color-text-muted);font-size:12px}.file-actions{display:flex;gap:8px}.file-actions button,.settings-table button{background:#eef7ff;color:#0369a1}.file-actions button.danger{background:#fff1f2;color:#be123c}.kb-detail-card-page{gap:12px;border:1px solid #dbe8f5;border-radius:18px;padding:14px;background:#fff;box-shadow:0 12px 30px #1e40af0d}.kb-detail-summary{display:flex;grid-template-columns:none;align-items:center;justify-content:flex-start;gap:12px;padding:0 0 2px;border:0;border-radius:0;background:transparent}.kb-back-button{height:34px;border:1px solid #d8e4ef;border-radius:10px;padding:0 14px;color:#2c4b73;background:#fff;font-size:14px;cursor:pointer}.kb-detail-name{color:#0f172a;font-size:17px}.kb-detail-creator{color:#55719b;font-size:14px}.kb-file-manager{margin-top:0;border:0;padding:0;background:transparent}.file-upload-dropzone{position:relative;min-height:206px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:10px 0 24px;border:1px dashed #bdd2ec;border-radius:14px;background:#fff;color:#12305a;text-align:center;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.file-upload-dropzone.dragging,.file-upload-dropzone:hover{border-color:#5e8fe4;background:#f8fbff;box-shadow:inset 0 0 0 1px #5e8fe424}.file-upload-dropzone.disabled{cursor:default}.file-upload-dropzone.disabled:hover{border-color:#d7e2ea;background:#fff;box-shadow:none}.file-drop-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-upload-icon{width:58px;height:58px;fill:none;stroke:#527db8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.file-upload-dropzone strong{color:#12305a;font-size:18px}.file-upload-dropzone span{color:#55719b;font-size:14px}.file-upload-dropzone small{display:inline-flex;align-items:center;justify-content:center;min-width:88px;height:38px;border-radius:12px;color:#fff;background:#5b8df7;font-size:14px;font-weight:800}.file-table-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto auto;gap:10px;margin-bottom:14px}.file-table-toolbar input{min-width:0;height:42px;border:1px solid #dbe8f2;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:var(--color-text);font:inherit}.file-table-toolbar input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.file-toolbar-button{min-height:42px;border:0;border-radius:10px;padding:10px 14px;color:#0369a1;background:#eef7ff;font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.file-toolbar-button.primary{color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);box-shadow:0 10px 24px #0ea5e92e}.file-toolbar-button.danger{color:#fff;background:#d9455d;font-weight:800}.file-toolbar-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.file-table-wrap{width:100%;overflow-x:auto;border:0;border-radius:12px}.file-table{width:100%;min-width:980px;overflow:hidden;border:1px solid #e2edf5;border-radius:12px;border-collapse:separate;border-spacing:0;background:#fff}.file-table th,.file-table td{border-right:0;border-bottom:1px solid var(--color-border);padding:12px;color:var(--color-text);font-size:14px;text-align:left;vertical-align:middle;white-space:nowrap}.file-table th{color:var(--color-text-secondary);background:#f5f9fc;font-weight:800}.file-table tr:last-child td{border-bottom:0}.file-table th:last-child,.file-table td:last-child{border-right:0}.file-col-check{width:48px;text-align:center}.file-col-check input{width:15px;height:15px;accent-color:#5b8df7}.file-name-cell{min-width:380px;max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-vector-status{color:#16a34a;font-weight:700}.file-vector-cell{display:inline-flex;flex-direction:column;gap:4px;min-width:108px}.file-vector-progress{color:#64748b;font-size:12px;font-weight:500;line-height:1.25}.file-vector-status.pending{color:#64748b}.file-vector-status.queued,.file-vector-status.processing{color:#2563eb}.file-vector-status.failed{color:#dc2626}.file-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.file-row-button{min-height:30px;border:0;border-radius:8px;padding:6px 10px;color:#0369a1;background:#eef7ff;font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.file-row-button:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.file-row-button.primary{color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);font-weight:800}.file-row-button.danger{color:#d8223f;background:#fff1f2}.file-table-empty{height:120px;color:#6b7f9f;text-align:center}.settings-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e2edf5;border-radius:12px}.settings-table th,.settings-table td{border-bottom:1px solid var(--color-border);padding:12px;text-align:left;font-size:14px}.settings-table tr:last-child td{border-bottom:0}.settings-table th{color:var(--color-text-secondary);background:#f5f9fc}.admin-table-scroll{width:100%;overflow-x:auto}.admin-table-scroll .settings-table{min-width:860px}.admin-table-scroll .settings-table th,.admin-table-scroll .settings-table td{white-space:nowrap}.admin-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;margin-bottom:14px}.admin-toolbar input,.admin-form-row input,.admin-form-row textarea{width:100%;border:1px solid #dbe8f2;border-radius:10px;padding:10px 12px;outline:none;background:#fff;color:var(--color-text);font:inherit}.admin-toolbar input:focus,.admin-form-row input:focus,.admin-form-row textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.admin-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#41537061;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-form-dialog{width:min(640px,calc(100vw - 36px));max-height:calc(100vh - 80px);display:grid;gap:14px;overflow:auto;border:1px solid #dde8f3;border-radius:14px;padding:18px 16px 16px;background:#fff;box-shadow:0 26px 70px #0f172a33}.admin-form-dialog h3{margin:0 0 2px;color:#0f172a;font-size:20px}.admin-form-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px}.admin-form-row-top{align-items:start}.admin-form-row>span{color:#2f4d75;font-size:14px;font-weight:800;text-align:right}.admin-form-row textarea{min-height:82px;resize:vertical}.admin-form-row-inline{min-height:38px}.admin-inline-check{display:inline-flex;align-items:center;gap:8px;color:#0f172a}.admin-inline-check input,.admin-check-option input{width:16px;height:16px;accent-color:var(--color-primary)}.admin-check-list{min-height:112px;max-height:168px;overflow:auto;border:1px solid #d8e4ef;border-radius:10px;padding:8px 10px;background:#fff}.admin-check-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:30px;color:#0f172a;font-size:14px}.admin-check-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-check-empty,.admin-table-empty{color:var(--color-text-muted);text-align:center}.admin-check-empty{display:grid;min-height:88px;place-items:center}.admin-table-empty{padding:22px 12px}.admin-row-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-row-actions .danger{background:#fff1f2;color:#be123c}.admin-status-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:2px 10px;background:#dcfce7;color:#166534;font-size:12px;font-weight:800}.admin-status-pill.inactive{background:#f1f5f9;color:#64748b}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 980px){.settings-page{grid-template-columns:1fr}.settings-sidebar{position:static;border-right:0;border-bottom:1px solid #dce8f2}.settings-main{padding:18px}.settings-topbar{align-items:flex-start;flex-direction:column}.settings-user-pill{align-items:flex-start;width:100%}.settings-topbar-actions{width:100%}.settings-password-row{grid-template-columns:1fr;gap:8px}.settings-password-row span{text-align:left}.admin-toolbar,.admin-form-row{grid-template-columns:1fr}.admin-form-row>span{text-align:left}.kb-card-grid{grid-template-columns:1fr}.kb-create-dialog{padding:18px 14px 14px}.kb-dialog-row{grid-template-columns:1fr;gap:8px}.kb-dialog-row>span{text-align:left}.kb-detail-head{grid-template-columns:1fr;align-items:start}.file-row{grid-template-columns:24px 46px minmax(0,1fr)}.file-status,.file-actions{grid-column:3;justify-self:start}.file-toolbar{align-items:stretch;flex-direction:column}}
