:root{--color-primary: #E53935;--color-primary-hover: #C62828;--color-primary-light: #FFEBEE;--color-primary-dark: #B71C1C;--color-white: #FFFFFF;--color-background: #FAFAFA;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-gray-50: #FAFAFA;--color-gray-100: #F5F5F5;--color-gray-200: #EEEEEE;--color-gray-300: #E0E0E0;--color-gray-400: #BDBDBD;--color-gray-500: #9E9E9E;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-text-primary: #212121;--color-text-secondary: #757575;--color-text-muted: #9E9E9E;--color-text-inverse: #FFFFFF;--color-success: #4CAF50;--color-success-light: #E8F5E9;--color-warning: #FF9800;--color-warning-light: #FFF3E0;--color-error: #F44336;--color-error-light: #FFEBEE;--color-info: #2196F3;--color-info-light: #E3F2FD;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-2xl: 48px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--sidebar-width: 280px;--header-height: 64px;--max-content-width: 1200px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.btn-outline{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-text-primary)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-full)}.input,.textarea,.select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.textarea{min-height:100px;resize:vertical}.label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group{margin-bottom:var(--space-4)}.card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-gray-100)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-error{background-color:var(--color-error-light);color:var(--color-error)}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-xl)}.avatar-xl{width:80px;height:80px;font-size:var(--font-size-3xl)}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background-color:var(--color-surface);border-right:1px solid var(--color-gray-100);display:flex;flex-direction:column;z-index:var(--z-fixed)}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-gray-100)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-4)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-gray-100)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer}.nav-item:hover{background-color:var(--color-gray-50);color:var(--color-text-primary)}.nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary)}.main-content{margin-left:var(--sidebar-width);min-height:100vh;background-color:var(--color-background)}.page-header{position:sticky;top:0;background-color:var(--color-surface);border-bottom:1px solid var(--color-gray-100);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;z-index:var(--z-sticky)}.page-content{padding:var(--space-6)}.chat-container{display:flex;flex-direction:column;height:calc(100vh - var(--header-height))}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.chat-message{display:flex;gap:var(--space-3);max-width:80%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.message-content{padding:var(--space-4);border-radius:var(--radius-xl);line-height:var(--line-height-relaxed)}.chat-message.user .message-content{background-color:var(--color-primary-light);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-xs)}.chat-message.assistant .message-content{background-color:var(--color-gray-100);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-xs)}.chat-input-area{padding:var(--space-4) var(--space-6);background-color:var(--color-surface);border-top:1px solid var(--color-gray-100)}.chat-input-wrapper{display:flex;gap:var(--space-3);align-items:flex-end}.chat-input{flex:1;max-height:200px;resize:none}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.document-card{display:flex;flex-direction:column;padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-gray-100);transition:all var(--transition-fast);cursor:pointer}.document-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.document-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.document-title{font-weight:var(--font-weight-medium);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background-color:var(--color-primary-light);color:var(--color-primary)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4)}.modal{background-color:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--color-gray-100);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-100);display:flex;justify-content:flex-end;gap:var(--space-3)}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:24px;height:24px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.w-full{width:100%}.h-full{height:100%}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){:root{--sidebar-width: 100%}.sidebar{transform:translate(-100%);transition:transform var(--transition-normal)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.chat-message{max-width:90%}}
