@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Inter:wght@300;400;500;600&display=swap";:root{--bg:#f1f1f1;--surface:#fff;--sidebar-bg:#2c1810;--sidebar-hover:#3d2318;--accent:#c4622d;--accent-hover:#a8522a;--gold:#d4a853;--text:#1a1a1a;--text-muted:#6b6b6b;--text-light:#9b9b9b;--border:#e0e0e0;--error:#c0392b;--success:#27ae60;--font-display:"Cinzel", serif;--font-body:"Inter", sans-serif;--sidebar-width:280px;--input-height:72px;--radius:8px;--radius-sm:4px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}input,textarea{font-family:var(--font-body)}.app-layout{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr var(--input-height);height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--sidebar-bg);flex-direction:column;grid-row:1/3;display:flex;overflow:hidden}.canvas{flex-direction:column;grid-area:1/2;gap:20px;padding:24px;display:flex;overflow-y:auto}.query-bar{background:var(--surface);border-top:1px solid var(--border);grid-area:2/2}.sidebar-logo{border-bottom:1px solid #d4a85333;align-items:center;gap:12px;padding:24px 20px 20px;display:flex}.sidebar-logo img{border-radius:50%;width:36px;height:36px}.sidebar-logo-text{font-family:var(--font-display);color:var(--gold);letter-spacing:.08em;font-size:13px;font-weight:600;line-height:1.3}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-category{margin-top:16px;padding:0 20px 8px}.sidebar-category-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #d4a8534d;margin-bottom:4px;padding-bottom:6px;font-size:9px;font-weight:600}.sidebar-query-btn{text-align:left;color:#ffffffbf;border-radius:0;width:100%;padding:8px 20px;font-size:13px;font-weight:400;line-height:1.4;transition:all .15s;display:block}.sidebar-query-btn:hover{background:var(--sidebar-hover);color:#fff;padding-left:24px}.sidebar-query-btn.loading{opacity:.5;pointer-events:none}.sidebar-footer{border-top:1px solid #d4a85326;padding:16px 20px}.sidebar-user{color:#ffffff73;white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:12px;overflow:hidden}.sidebar-logout-btn{color:#ffffff73;padding:4px 0;font-size:12px;transition:color .15s}.sidebar-logout-btn:hover{color:var(--gold)}.canvas-empty{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.canvas-empty-icon{opacity:.2;width:48px;height:48px;margin-bottom:16px}.canvas-empty h2{font-family:var(--font-display);color:var(--text-light);margin-bottom:8px;font-size:18px;font-weight:400}.canvas-empty p{color:var(--text-light);max-width:320px;font-size:13px;line-height:1.6}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.chart-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.chart-card-title{font-family:var(--font-display);color:var(--text);letter-spacing:.02em;font-size:14px;font-weight:600}.chart-card-dismiss{color:var(--text-light);border-radius:var(--radius-sm);padding:2px 6px;font-size:18px;line-height:1;transition:all .15s}.chart-card-dismiss:hover{background:var(--bg);color:var(--text)}.chart-card-body{padding:20px}.chart-card-chart{width:100%;min-height:280px;margin-bottom:16px}.chart-card-summary{color:var(--text-muted);border-top:1px solid var(--border);padding-top:16px;font-size:13px;line-height:1.7}.query-bar-inner{align-items:center;gap:12px;height:100%;padding:0 20px;display:flex}.query-input{border:1px solid var(--border);height:40px;color:var(--text);background:var(--bg);border-radius:20px;outline:none;flex:1;padding:0 18px;font-size:14px;transition:border-color .15s}.query-input:focus{border-color:var(--accent)}.query-input::placeholder{color:var(--text-light)}.query-input:disabled{opacity:.5;cursor:not-allowed}.query-submit-btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:20px;height:40px;padding:0 20px;font-size:13px;font-weight:500;transition:background .15s}.query-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.query-submit-btn:disabled{opacity:.5;cursor:not-allowed}.loading-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:32px 20px;font-size:13px;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-card{border-radius:var(--radius);color:var(--error);background:#fff5f5;border:1px solid #fecaca;padding:16px 20px;font-size:13px}.upgrade-card{background:var(--surface);border:1px solid var(--gold);border-radius:var(--radius);text-align:center;padding:24px}.upgrade-card h3{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600}.upgrade-card p{color:var(--text-muted);margin-bottom:16px;font-size:13px}.upgrade-btn{background:var(--accent);color:#fff;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.upgrade-btn:hover{background:var(--accent-hover)}.login-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:360px;padding:48px 40px}.login-logo{border-radius:50%;width:72px;height:72px;margin:0 auto 20px;display:block}.login-title{font-family:var(--font-display);color:var(--text);letter-spacing:.05em;margin-bottom:6px;font-size:20px;font-weight:400}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:13px}.login-btn{background:var(--accent);color:#fff;border-radius:var(--radius);width:100%;height:44px;font-size:14px;font-weight:500;transition:background .15s}.login-btn:hover{background:var(--accent-hover)}
