:root,[data-theme=light]{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #f0f2f5;--bg-hover: #f0f0f0;--bg-input: #ffffff;--text-primary: #333333;--text-secondary: #555555;--text-muted: #666666;--text-light: #888888;--text-lighter: #999999;--border-color: #dddddd;--border-light: #eeeeee;--shadow-color: rgba(0, 0, 0, .1);--shadow-light: rgba(0, 0, 0, .05);--accent-primary: #667eea;--accent-hover: #5a6fd6;--accent-light: rgba(102, 126, 234, .1);--success-color: #48bb78;--danger-color: #e53e3e;--warning-color: #ed8936;--msg-user-bg: #667eea;--msg-user-text: #ffffff;--msg-ai-bg: #f0f2f5;--msg-ai-text: #333333;--code-bg: #f4f4f4;--scrollbar-thumb: #ccc;--scrollbar-track: #f0f0f0}[data-theme=dark]{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #1f2b47;--bg-hover: #253352;--bg-input: #1f2b47;--text-primary: #e0e0e0;--text-secondary: #c0c0c0;--text-muted: #a0a0a0;--text-light: #888888;--text-lighter: #707070;--border-color: #2a3a5c;--border-light: #253352;--shadow-color: rgba(0, 0, 0, .3);--shadow-light: rgba(0, 0, 0, .2);--accent-primary: #7b93f5;--accent-hover: #6b83e5;--accent-light: rgba(123, 147, 245, .15);--success-color: #68d391;--danger-color: #fc8181;--warning-color: #f6ad55;--msg-user-bg: #4a5fd6;--msg-user-text: #ffffff;--msg-ai-bg: #1f2b47;--msg-ai-text: #e0e0e0;--code-bg: #1a1a2e;--scrollbar-thumb: #3a4a6c;--scrollbar-track: #1a1a2e}*{margin:0;padding:0;box-sizing:border-box}img.robot-emoji{height:1.2em;width:1.2em;vertical-align:-.15em;display:inline}.impersonate-banner{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;padding:.6rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;box-shadow:0 2px 8px #ee5a5a4d}.impersonate-icon{font-size:1.2rem}.btn-exit-impersonate{background:#fff;color:#ee5a5a;border:none;padding:.4rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-exit-impersonate:hover{background:#fff5f5;transform:scale(1.05)}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);min-height:100vh;margin:0;padding:0;color:var(--text-primary);transition:background .3s,color .3s}@media(min-width:769px){html,body{overflow-x:hidden}}#app{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:auto;background:var(--bg-primary);width:100%}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 2rem;background:var(--bg-secondary);box-shadow:0 2px 4px var(--shadow-color);position:sticky;top:0;z-index:100;gap:2rem;transition:background .3s}.nav-brand a{display:flex;align-items:center;text-decoration:none}.brand-logo{height:80px;width:auto}.brand-title{font-size:1.1rem;font-weight:600;color:var(--accent-primary);margin-left:1rem;letter-spacing:.5px}.navbar-compact{padding:.2rem 1rem}.navbar-compact .brand-logo{height:40px}.navbar-compact .brand-title{font-size:.9rem;margin-left:.5rem}.navbar-compact .nav-links{gap:1rem}.navbar-compact .user-menu{gap:.5rem;padding-left:.75rem}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.router-link-active{color:var(--accent-primary)}.user-menu{display:flex;align-items:center;gap:1rem;padding-left:1rem;border-left:1px solid var(--border-color)}.user-name{color:var(--text-muted);font-size:.9rem}.user-role{color:var(--text-lighter);font-size:.8rem}.admin-link{background:var(--accent-primary);color:#fff!important;padding:.4rem .8rem;border-radius:6px}.admin-link:hover{background:var(--accent-hover)}.btn-theme-toggle{background:none;border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s;padding:0}.btn-theme-toggle:hover{background:var(--bg-hover);transform:scale(1.1)}.btn-logout{background:none;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s}.btn-logout:hover{background:var(--bg-hover);border-color:var(--border-color)}.btn-login{background:var(--accent-primary);color:#fff!important;padding:.5rem 1.5rem;border-radius:6px}.btn-login:hover{background:var(--accent-hover)}.main-content{flex:1 1 auto;padding:0;display:flex;flex-direction:column;background:var(--bg-primary)}.main-content>*{flex:1;min-height:0}.footer{text-align:center;padding:1.5rem;background:var(--bg-secondary);color:var(--text-light);font-size:.85rem;border-top:1px solid var(--border-light)}@media(max-width:768px){.navbar{padding:.25rem .5rem;gap:.5rem;flex-wrap:wrap}.nav-brand a{flex-shrink:0}.brand-logo{height:40px}.brand-title{display:none}.nav-links{gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.nav-links a{font-size:.8rem;padding:.25rem .5rem}.admin-link{padding:.25rem .5rem!important;font-size:.75rem!important}.user-menu{padding-left:.5rem;gap:.25rem;border-left:none}.user-name,.user-role{display:none}.btn-logout{padding:.25rem .5rem;font-size:.75rem}.main-content{padding:0}.footer{display:none}}@media(max-width:400px){.navbar{padding:.25rem}.brand-logo{height:35px}.nav-links a{font-size:.7rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;height:100%;overflow:hidden;background:#f5f7fa}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
