:root{--bg: #0e0c09;--surface: #15120d;--surface-2: #1c1813;--ink: #ece4d6;--muted: #8a8175;--line: #241f18;--line-strong: #38312665;--amber: #d99a3c;--accent: #6fae9a;--display: "Fraunces", Georgia, serif;--mono: "JetBrains Mono", monospace;--glass-bg: rgba(21, 18, 13, .7);--glass-border: rgba(36, 31, 24, .8);--glass-shadow: 0 4px 30px rgba(0, 0, 0, .3);--success-color: var(--accent);--warning-color: #d94a3c}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--mono);background:var(--bg);color:var(--ink);display:flex;justify-content:center;align-items:center;background-image:radial-gradient(circle at 30% 0%,#1a160f 0%,var(--bg) 60%);overflow-x:hidden}#app{width:100vw;height:100vh;display:flex}.dashboard{display:flex;flex-direction:column;gap:2rem;width:100%;max-width:900px;margin:0 auto}.glass-header,.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--glass-shadow)}.glass-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--line-strong)}.logo{display:flex;align-items:center;gap:1rem}.logo h1{font-family:var(--display);font-size:1.6rem;font-weight:900;letter-spacing:.04em;color:var(--ink)}.logo span{color:var(--amber)}.shield-icon{width:20px;height:20px;background-color:var(--amber);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);position:relative}.pulse{animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%{box-shadow:0 0 #d99a3c66}70%{box-shadow:0 0 0 10px #d99a3c00}to{box-shadow:0 0 #d99a3c00}}.status-badge{padding:.5rem 1rem;border-radius:4px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.status-badge.secure{background-color:var(--line-strong);color:var(--accent);border:1px solid var(--line)}.status-badge.warning{background-color:var(--line-strong);color:var(--warning-color);border:1px solid var(--line);animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.5}}.content{display:flex;flex-direction:column;gap:1.5rem}.glass-card{padding:2rem;transition:transform .3s ease,border-color .3s ease}.glass-card:hover{transform:translateY(-2px);border-color:var(--amber)}.glass-card h2{font-family:var(--display);font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;color:var(--ink);letter-spacing:.05em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-box{background:var(--surface-2);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--line)}.stat-value{font-size:1.8rem;font-weight:800;color:var(--amber)}.stat-label{font-size:.8rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.actions p{color:var(--muted);margin-bottom:1.5rem;line-height:1.6;font-size:.9rem}.primary-btn{background-color:var(--surface-2);color:var(--ink);border:1px solid var(--amber);padding:.8rem 1.5rem;border-radius:4px;font-size:.9rem;font-family:var(--mono);font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.05em;text-transform:uppercase}.primary-btn:hover{background-color:var(--amber);color:var(--bg)}.primary-btn:active{transform:scale(.98)}.dashboard-layout{display:flex;width:100%;height:100%}.sidebar{width:250px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-header{height:64px;display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--line)}.sidebar-nav{flex:1;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.nav-tab{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:8px;cursor:pointer;font-family:var(--mono);font-size:.9rem;transition:all .2s;text-align:left}.nav-tab:hover{background:var(--surface-2)}.nav-tab.active{background:var(--line-strong);color:var(--amber);border-color:var(--line)}.sidebar-footer{padding:1.5rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1rem}.main-area{flex:1;display:flex;flex-direction:column;background:var(--bg);position:relative}.main-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--line);background:var(--surface)}.main-header h1{font-family:var(--display);font-size:1.2rem;color:var(--ink);text-transform:capitalize}.header-actions{display:flex;align-items:center;gap:1rem}.main-content{flex:1;padding:2rem;overflow-y:auto;position:relative}.drop-zone-overlay{position:absolute;top:1rem;right:1rem;bottom:1rem;left:1rem;background:#15120dd9;border:2px dashed var(--amber);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.drop-zone-overlay h2{color:var(--amber);font-family:var(--display);font-size:1.5rem;margin-top:1rem}.file-list-container{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;height:100%;display:flex;flex-direction:column}.file-list-header{display:grid;grid-template-columns:6fr 3fr 3fr;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.file-list-body{flex:1;overflow-y:auto}.file-row{display:grid;grid-template-columns:6fr 3fr 3fr;padding:1rem 1.5rem;border-bottom:1px solid var(--line);align-items:center;transition:background .2s;cursor:pointer}.file-row:hover{background:var(--surface)}.file-row:last-child{border-bottom:none}.file-name{color:var(--ink);display:flex;align-items:center;gap:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{color:var(--muted);font-size:.9rem}.file-status{display:flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.9rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0;color:var(--muted)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.chat-iframe[data-v-bd439210]{width:100%;height:100%;border:none;display:block}.logout-btn[data-v-bd439210]:hover{background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--muted)!important}.login-container[data-v-62753744]{display:flex;justify-content:center;align-items:center;width:100%;height:100vh}.login-card[data-v-62753744]{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem}.logo-wrapper[data-v-62753744]{display:flex;align-items:center;justify-content:center;gap:10px}.logo-wrapper h2[data-v-62753744]{margin:0;color:var(--amber)}.subtitle[data-v-62753744]{text-align:center;color:var(--muted);font-size:.9rem}.form-group[data-v-62753744]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-62753744]{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.form-group input[data-v-62753744]{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);padding:.8rem 1rem;border-radius:4px;font-family:var(--mono);font-size:1rem;outline:none;transition:border-color .2s}.form-group input[data-v-62753744]:focus{border-color:var(--amber)}.full-width[data-v-62753744]{width:100%}.error-banner[data-v-62753744]{background:#d94a3c1a;border:1px solid var(--warning-color);color:var(--warning-color);padding:.8rem;border-radius:4px;font-size:.85rem;text-align:center}.divider[data-v-62753744]{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:.8rem}.divider[data-v-62753744]:before,.divider[data-v-62753744]:after{content:"";flex:1;border-bottom:1px solid var(--line)}.divider span[data-v-62753744]{padding:0 10px}.sso-btn[data-v-62753744]{background:transparent;border:none;cursor:pointer;padding:0;display:flex;justify-content:center;transition:transform .2s}.sso-btn[data-v-62753744]:hover{transform:scale(1.02)}.sso-btn[data-v-62753744]:active{transform:scale(.98)}.sso-btn img[data-v-62753744]{height:40px;object-fit:contain}
