:root {
  --bg: #060913;
  --panel: rgba(14, 18, 30, 0.88);
  --panel-soft: rgba(18, 24, 39, 0.72);
  --line: rgba(255,255,255,0.08);
  --text: #f4f7fb;
  --muted: #9eabc2;
  --accent: #ff7a1a;
  --accent-soft: rgba(255,122,26,0.16);
  --ready: #f0a94e;
  --active: #37d67a;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at top left, rgba(32,67,160,0.24), transparent 30%), var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
body { min-height: 100vh; }
.glass { background: var(--panel); border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(0,0,0,0.28); backdrop-filter: blur(14px); }
.section-label { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.eyebrow, .supporting, .muted, .login-footnote, .kicker { color: var(--muted); }
.brand-mark { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(255,122,26,0.95), rgba(255,255,255,0.14)); font-weight: 800; letter-spacing: .08em; }
.login-body { display: grid; place-items: center; padding: 40px 20px; }
.login-shell { width: min(1080px, 100%); display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; }
.login-brand-card, .login-card { border-radius: 28px; padding: 34px; }
.login-brand-card h1, .login-card h2 { margin: 10px 0; font-size: clamp(32px, 4vw, 56px); }
.login-card h2 { font-size: 34px; }
.login-card { display: grid; gap: 16px; align-content: start; }
.login-card label { display: grid; gap: 8px; color: var(--muted); }
input, textarea { width: 100%; background: rgba(4,7,14,0.88); border: 1px solid var(--line); border-radius: 16px; color: var(--text); padding: 14px 16px; font: inherit; }
textarea { min-height: 64px; resize: none; }
.btn, .icon-btn, .tab { border: 1px solid var(--line); background: rgba(255,255,255,0.02); color: var(--text); border-radius: 14px; padding: 12px 16px; font: inherit; cursor: pointer; }
.btn-primary { background: linear-gradient(135deg, var(--accent), #ff9d51); color: #160b04; border-color: transparent; font-weight: 700; }
.full { width: 100%; }
.error-box { background: rgba(255,85,85,0.12); color: #ffaeae; border: 1px solid rgba(255,85,85,0.3); border-radius: 14px; padding: 12px 14px; }
.app-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.sidebar-shell { padding: 24px 16px; border-right: 1px solid var(--line); background: rgba(4,7,14,0.9); display: grid; grid-template-rows: auto 1fr auto; gap: 20px; }
.menu-list { display: grid; gap: 8px; }
.menu-item, .logout-link { padding: 13px 14px; border-radius: 14px; color: var(--muted); }
.menu-item.is-active, .menu-item:hover, .logout-link:hover { background: var(--accent-soft); color: var(--text); }
.main-shell { padding: 22px; display: grid; gap: 20px; }
.topbar { border-radius: 24px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; }
.page-title { margin: 6px 0 0; font-size: 28px; }
.topbar-actions { display: flex; gap: 10px; }
.page-grid { display: grid; gap: 20px; }
.chat-layout { grid-template-columns: 76px minmax(0,1fr) 320px; align-items: start; }
.avatar-rail { border-radius: 24px; padding: 14px 10px; display: grid; gap: 12px; }
.avatar-rail-item { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1/1; border-radius: 18px; border: 1px solid var(--line); background: rgba(255,255,255,0.03); cursor: pointer; }
.avatar-rail-item.active { outline: 2px solid rgba(55,214,122,0.6); }
.avatar-initial { font-weight: 700; }
.avatar-dot { position: absolute; right: 8px; bottom: 8px; width: 10px; height: 10px; border-radius: 999px; background: #777; }
.state-active { background: var(--active); }
.state-ready { background: var(--ready); }
.avatar-tooltip { display: none; }
.chat-stage { min-height: calc(100vh - 140px); display: grid; grid-template-rows: 1fr auto; gap: 20px; }
.chat-thread { display: flex; flex-direction: column; justify-content: flex-end; gap: 20px; min-height: 0; }
.message-card { border-radius: 28px; padding: 24px; max-width: 820px; }
.brief-card { max-width: 860px; }
.message-right { margin-left: auto; background: linear-gradient(135deg, rgba(255,122,26,0.95), rgba(255,122,26,0.84)); color: #1c0d04; }
.message-meta { display: flex; gap: 14px; align-items: center; justify-content: space-between; color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.message-right .message-meta { color: rgba(22,11,4,0.76); }
.action-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.action-row.compact { margin-top: 14px; }
.composer-shell { border-radius: 30px; padding: 18px; position: sticky; bottom: 0; }
.composer-status { color: var(--muted); font-size: 13px; margin-bottom: 10px; }
.composer-row { display: flex; align-items: flex-end; gap: 12px; }
.composer-row-narrow { max-width: 860px; }
.composer-input { min-height: 78px; }
.workspace-panel { border-radius: 28px; padding: 20px; min-height: 640px; }
.workspace-header { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.workspace-tabs { display: flex; gap: 8px; margin: 18px 0; }
.tab.is-active { background: var(--accent-soft); color: var(--text); }
.note-list { display: grid; gap: 12px; }
.note-item { display: flex; align-items: start; gap: 12px; color: var(--text); padding: 12px 0; border-bottom: 1px solid var(--line); }
.dashboard-grid { grid-template-columns: 1.1fr .9fr; }
.hero-panel, .settings-card { border-radius: 28px; padding: 28px; }
.hero-panel h1 { margin: 10px 0; font-size: clamp(34px, 4vw, 54px); }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.stat-card { border-radius: 26px; padding: 24px; display: grid; gap: 8px; }
.stat-card strong { font-size: 42px; }
.settings-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.kv-list { display: grid; gap: 16px; margin-top: 18px; }
.kv-list > div { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
code { background: rgba(255,255,255,0.06); padding: 2px 6px; border-radius: 8px; }
@media (max-width: 1180px) {
  .chat-layout, .dashboard-grid, .settings-grid, .login-shell { grid-template-columns: 1fr; }
  .workspace-panel { min-height: auto; }
}
@media (max-width: 780px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar-shell { display: none; }
  .main-shell { padding: 14px; }
  .chat-layout { grid-template-columns: 1fr; }
  .avatar-rail { display: flex; overflow: auto; }
  .avatar-rail-item { min-width: 56px; width: 56px; }
  .composer-row { flex-wrap: wrap; }
}
