:root{--bg: #ffffff;--bg-deep: #f4f6fb;--surface: #ffffff;--surface-strong: #f8fafc;--ink: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-2: #0f766e;--accent-3: #f59e0b;--border: #e2e8f0;--shadow: 0 24px 60px rgba(15, 23, 42, .1);--radius: 18px;--accent-soft: rgba(37, 99, 235, .12);--accent-2-soft: rgba(15, 118, 110, .12);--accent-3-soft: rgba(245, 158, 11, .18);--accent-shadow: rgba(37, 99, 235, .25);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .18);--code-bg: #0f172a;--code-ink: #e2e8f0;--glow-1: rgba(59, 130, 246, .18);--glow-2: rgba(15, 118, 110, .16);color-scheme:light}:root[data-theme=dark]{--bg: #0f1115;--bg-deep: #0b0d12;--surface: #151a22;--surface-strong: #1b2230;--ink: #f8fafc;--muted: #9aa3b2;--accent: #60a5fa;--accent-strong: #3b82f6;--accent-2: #2dd4bf;--accent-3: #fbbf24;--border: #283044;--shadow: 0 20px 40px rgba(0, 0, 0, .35);--accent-soft: rgba(96, 165, 250, .18);--accent-2-soft: rgba(45, 212, 191, .2);--accent-3-soft: rgba(251, 191, 36, .2);--accent-shadow: rgba(59, 130, 246, .35);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .25);--code-bg: #0b1220;--code-ink: #e2e8f0;--glow-1: rgba(96, 165, 250, .2);--glow-2: rgba(45, 212, 191, .18);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,sans-serif;transition:background .2s ease,color .2s ease}body:before,body:after{content:"";position:fixed;border-radius:50%;opacity:.18;z-index:0}body:before{width:360px;height:360px;background:radial-gradient(circle at 30% 30%,var(--glow-1),transparent 70%);top:-140px;left:-120px}body:after{width:420px;height:420px;background:radial-gradient(circle at 70% 30%,var(--glow-2),transparent 70%);bottom:-200px;right:-140px}h1,h2,h3{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;margin:0 0 12px;letter-spacing:.3px}p{margin:0 0 12px;color:var(--muted)}a{color:var(--accent-2);text-decoration:none;font-weight:700}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px;position:relative;z-index:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.auth-card{width:min(420px,100%)}.brand{font-size:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent-2);margin-bottom:12px}.helper{margin-top:12px;font-size:13px;color:var(--muted)}.field{display:grid;gap:6px;margin-bottom:16px}.field span{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-weight:700}input,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:14px;font-family:inherit;background:var(--surface-strong);color:var(--ink);transition:background .2s ease,border-color .2s ease,color .2s ease}textarea{min-height:140px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:10px 18px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;line-height:normal;text-align:center}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 12px 24px var(--accent-shadow)}.btn.secondary{background:var(--accent-2);color:#fff}.btn.ghost{background:transparent;color:var(--accent-2);border:1px solid var(--accent-2)}.btn.danger{background:var(--danger);color:#fff}.btn:hover{transform:translateY(-1px)}.form-status{margin-top:8px;font-size:13px;color:var(--muted)}.form-status.error{color:var(--danger)}.dashboard{display:grid;grid-template-columns:260px 1fr;gap:28px;max-width:1280px;margin:36px auto;padding:0 22px 60px;position:relative;z-index:1}.sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:18px;height:fit-content;box-shadow:var(--shadow);position:sticky;top:24px;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.tenant-card{background:var(--surface-strong);border-radius:14px;padding:14px;border:1px solid var(--border)}.tenant-name{font-weight:700}.tenant-meta{font-size:12px;color:var(--muted)}.nav{display:grid;gap:8px}.nav-link{padding:10px 14px;border-radius:12px;border:1px solid transparent;font-weight:700;color:var(--muted);background:transparent}.nav-link.active{background:var(--accent-2-soft);border-color:var(--accent-2);color:var(--accent-2)}.content{display:flex;flex-direction:column;gap:24px}.page-shell{display:grid;gap:20px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--accent-3-soft);color:var(--accent-3);font-weight:700;font-size:12px;margin-bottom:12px;max-width:100%;word-break:break-all}.table-card{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border)}th{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.empty{padding:18px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase}.status.ready{background:var(--accent-2-soft);color:var(--accent-2)}.status.processing{background:var(--accent-3-soft);color:var(--accent-3)}.status.failed{background:var(--danger-soft);color:var(--danger)}.status-error{margin-top:4px;font-size:12px;color:var(--danger)}.chat-thread{display:grid;gap:12px;margin-top:16px}.chat-bubble{padding:14px 16px;border-radius:16px;background:var(--surface-strong);border:1px solid var(--border)}.chat-bubble.user{background:var(--accent-soft);border-color:var(--accent)}.sources{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:13px}pre{background:var(--code-bg);color:var(--code-ink);padding:14px;border-radius:14px;overflow-x:auto;font-size:12px}@media (max-width: 960px){.dashboard{grid-template-columns:1fr}.sidebar{position:relative}}
