@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.\!table{display:table!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root,[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-card:#16161f;--bg-card-hover:#1c1c28;--bg-input:#1a1a25;--border:#2a2a3a;--border-focus:#6366f1;--text-primary:#f0f0f5;--text-secondary:#8888a0;--text-muted:#555568;--accent:#6366f1;--accent-hover:#7c7ff7;--accent-subtle:#6366f11f;--success:#22c55e;--success-subtle:#22c55e1f;--warning:#f59e0b;--warning-subtle:#f59e0b1f;--danger:#ef4444;--danger-subtle:#ef44441f;--info:#3b82f6;--info-subtle:#3b82f61f;--sidebar-width:260px;--modal-overlay:#0009}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f0f0f5;--bg-input:#f0f0f5;--border:#e0e0e8;--border-focus:#6366f1;--text-primary:#1a1a2e;--text-secondary:#5a5a72;--text-muted:#9090a8;--accent:#6366f1;--accent-hover:#4f46e5;--accent-subtle:#6366f114;--success:#16a34a;--success-subtle:#16a34a14;--warning:#d97706;--warning-subtle:#d9770614;--danger:#dc2626;--danger-subtle:#dc262614;--info:#2563eb;--info-subtle:#2563eb14;--modal-overlay:#0000004d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:background .25s,color .25s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.theme-toggle{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);border-color:var(--accent);transform:scale(1.1)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:40;flex-direction:column;padding:24px 0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:12px;padding:0 20px 24px}.sidebar-logo h1{background:linear-gradient(135deg, var(--accent), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:800}.sidebar-logo p{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-size:11px}.nav-section{padding:8px 12px}.nav-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:8px 8px 6px;font-size:10px;font-weight:600}.nav-link{color:var(--text-secondary);border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{background:var(--bg-card);color:var(--text-primary)}.nav-link.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.nav-icon{text-align:center;width:20px;font-size:16px}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:28px 32px}.page-header{margin-bottom:28px}.page-header h2{letter-spacing:-.5px;font-size:24px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .2s}.card:hover{border-color:#6366f14d}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), #a78bfa);opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.stat-card:hover:before{opacity:1}.stat-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:12px;font-weight:600}.stat-value{letter-spacing:-1px;margin-top:4px;font-size:32px;font-weight:800}.stat-sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.table-wrapper{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:12px 16px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:12px 16px;font-size:13.5px}tr:last-child td{border-bottom:none}.grid-lines th,.grid-lines td{border-right:1px solid var(--border)}.grid-lines th:last-child,.grid-lines td:last-child{border-right:none}tr:hover td{background:var(--bg-card-hover);color:var(--text-primary)}.badge{border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.form-error{background:var(--danger-subtle);color:var(--danger);white-space:pre-wrap;border-radius:8px;margin:8px 0 12px;padding:10px 12px;font-size:13px}.badge-info{background:var(--info-subtle);color:var(--info)}.badge-accent{background:var(--accent-subtle);color:var(--accent)}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{background:var(--danger-subtle);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff;transform:translateY(-1px)}.btn-success{background:var(--success-subtle);color:var(--success)}.btn-sm{padding:5px 10px;font-size:12px}.input,.select,.textarea{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:9px 14px;font-family:inherit;font-size:13.5px;transition:border-color .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.input-error,.select-error{border-color:var(--danger)!important}.textarea{resize:vertical;min-height:80px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.chat-container{flex-direction:column;gap:8px;max-height:500px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{word-wrap:break-word;border-radius:12px;max-width:75%;padding:10px 14px;font-size:13.5px;line-height:1.5}.chat-bubble-user{background:var(--accent-subtle);color:var(--text-primary);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble-bot{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble-admin{background:var(--success-subtle);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-meta{color:var(--text-muted);margin-top:4px;font-size:10px}.chat-input-area{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:90%;max-width:540px;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{font-size:18px;font-weight:700}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot-green{background:var(--success);box-shadow:0 0 6px var(--success)}.status-dot-red{background:var(--danger);box-shadow:0 0 6px var(--danger)}.status-dot-gray{background:var(--text-muted)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar .input{max-width:300px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{margin-bottom:12px;font-size:48px}.loading-state{text-align:center;min-height:55vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-pulse{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.loading-spinner,.loading-pulse{animation:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s forwards fadeIn}.split-view{grid-template-columns:var(--split-list-width,300px) minmax(0, 1fr);gap:16px;height:calc(100vh - 140px);display:grid}.split-view>.card{flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.split-view.list-hidden{grid-template-columns:minmax(0,1fr)}.split-view.list-hidden>.split-list{display:none}.toolbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:12px 16px;display:flex}.toolbar-group{flex-direction:column;gap:5px;min-width:0;display:flex}.toolbar-grow{flex:160px;max-width:220px}.toolbar-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:600}.toolbar .input{background:var(--bg-card);width:100%;padding:7px 12px;font-size:13px}.toolbar select.input{width:auto;max-width:100%}.toolbar-break{flex-basis:100%;height:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-clear{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;margin-left:auto;padding:7px 4px;font-family:inherit;font-size:12.5px;font-weight:600}.toolbar-clear:hover{text-decoration:underline}.split-view.flow{align-items:start;height:auto}.split-view.flow>.split-list{max-height:calc(100vh - 32px);position:sticky;top:16px}.split-view.flow>.split-detail{height:auto;min-height:320px}.flow-table{overscroll-behavior:auto;min-height:220px;max-height:calc(100vh - 110px)}.kb-bases{margin-bottom:16px}.kb-bases-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kb-picker{flex:320px;min-width:0;max-width:100%;position:relative}.kb-picker.field{flex:none;min-width:0}.kb-field-button{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:flex}.kb-field-button:disabled{cursor:default;opacity:.7}.kb-field-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kb-field-value.placeholder{color:var(--text-muted)}.kb-picker.field .kb-picker-menu{max-height:220px;top:calc(100% + 4px)}.kb-picker.field .kb-picker-item-name{white-space:normal;overflow:visible}.kb-picker-button{text-align:left;background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.kb-picker-button:hover:not(:disabled){border-color:var(--accent)}.kb-picker-button[aria-expanded=true]{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.kb-picker-button:disabled{cursor:default;opacity:.7}.kb-picker-icon{font-size:22px;line-height:1}.kb-picker-text{flex-direction:column;flex:1;min-width:0;display:flex}.kb-picker-caption{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:10px;font-weight:600}.kb-picker-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.kb-picker-count{background:var(--accent-subtle);min-width:28px;color:var(--accent);text-align:center;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:700}.kb-picker-chevron{color:var(--text-muted);flex-shrink:0;font-size:12px}.kb-picker-menu{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.kb-picker-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.kb-picker-item:hover{background:var(--bg-card-hover)}.kb-picker-item.active{background:var(--accent-subtle);color:var(--accent)}.kb-picker-check{flex-shrink:0;width:16px;font-weight:700}.kb-picker-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-bases-hint{color:var(--text-muted);margin:8px 0 0;font-size:12.5px}.upload-hint{color:var(--text-muted);margin:6px 0 0;font-size:12px}.upload-progress{border:1px solid var(--border);background:var(--bg-secondary);border-radius:10px;margin-bottom:14px;padding:12px 14px}.upload-progress-text{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.upload-progress-track{background:var(--bg-input);border-radius:999px;height:8px;overflow:hidden}.upload-progress-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.upload-progress-bar.busy{width:35%;animation:1.4s ease-in-out infinite upload-busy}@keyframes upload-busy{0%{margin-left:-35%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.upload-progress-bar.busy{opacity:.5;width:100%;animation:none}}.two-pane{grid-template-columns:380px minmax(0,1fr);gap:20px;min-height:500px;display:grid}.mobile-bar,.sidebar-backdrop{display:none}@media (max-width:1100px){.split-view{grid-template-columns:minmax(0,1fr);height:auto}.split-view>.split-list{max-height:230px}.split-view>.split-detail{height:75vh;min-height:420px}.split-view.flow>.split-list{max-height:230px;position:static}.split-view.flow>.split-detail{height:auto;min-height:320px}.two-pane{grid-template-columns:minmax(0,1fr);gap:16px;min-height:0}.two-pane>.two-pane-list{max-height:260px!important}.split-detail th,.split-detail td{padding:10px}.split-legend{max-height:76px;overflow-y:auto}}@media (max-width:900px){.app-layout{flex-direction:column}.mobile-bar{z-index:30;background:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.mobile-menu-button{border:1px solid var(--border);background:var(--bg-input);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:8px;font-size:20px;line-height:1}.mobile-bar-title{color:var(--accent);font-size:16px;font-weight:800}.sidebar{z-index:50;width:min(280px,85vw);transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #00000059}.sidebar-backdrop.open{background:var(--modal-overlay);z-index:45;display:block;position:fixed;inset:0}.main-content{min-width:0;min-height:0;margin-left:0;padding:16px}.page-header{margin-bottom:16px}.page-header h2{font-size:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.flow-table{max-height:calc(100vh - 175px)}.grid-lines th:nth-child(2),.grid-lines td:nth-child(2){overflow-wrap:anywhere;width:140px;min-width:140px;max-width:140px;white-space:normal!important}.grid-lines td:nth-child(2) *{white-space:normal!important}.toolbar{gap:10px 12px;padding:10px 12px}.toolbar-grow,.toolbar-wide{flex:100%;max-width:none}.toolbar-wide .chips{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.mark-choice{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.mark-choice:hover{background:var(--bg-card-hover)}.kb-lesson-row{align-items:stretch;gap:8px;display:flex}.kb-lesson-delete{flex:none;min-width:44px}.kb-delete-all{margin-left:auto}.kb-picker-row{align-items:center;gap:6px;display:flex}.kb-picker-row .kb-picker-item{flex:1;min-width:0}.kb-picker-delete{flex:none}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
