@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--bg-cream: #f4efe6;--bg-mint: #dceee8;--ink: #1e2a2f;--muted: #5d6a70;--card: #fffdf8;--line: #d4ddd9;--accent: #0f7d6c;--accent-strong: #0b5e52;--warning: #b44d2d;--shadow: 0 12px 40px rgba(20, 30, 34, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"Source Sans 3",sans-serif;color:var(--ink);background:radial-gradient(circle at 20% 15%,var(--bg-mint),transparent 42%),radial-gradient(circle at 84% 0%,#ffdbc6,transparent 34%),linear-gradient(140deg,var(--bg-cream),#eef5f2 48%,#fbf7ec)}h1,h2,h3,h4{margin:0;font-family:Space Grotesk,sans-serif}p{margin:0;line-height:1.45}a{color:var(--accent-strong)}.app-shell{min-height:100vh;padding:24px;position:relative}.background-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 70% 20%,rgba(15,125,108,.12),transparent 30%),radial-gradient(circle at 8% 85%,rgba(180,77,45,.12),transparent 34%)}.eyebrow{color:var(--accent-strong);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.login-wrapper{display:grid;place-items:center;min-height:calc(100vh - 48px)}.login-card{width:min(560px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px;animation:rise .45s ease}.login-card h1{margin-bottom:12px}.lead{color:var(--muted);margin-bottom:18px}.login-form{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:600}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid rgba(15,125,108,.15);border-color:var(--accent)}button{border:none;border-radius:12px;padding:10px 16px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;transition:transform .18s ease,background .2s ease}button:hover{transform:translateY(-1px);background:var(--accent-strong)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.link-button{background:transparent;color:var(--accent-strong);padding:0;text-decoration:underline}.support-note{margin-top:14px;color:var(--muted)}.workspace{display:grid;gap:18px;position:relative;z-index:1}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#ffffffb3;border:1px solid var(--line);border-radius:20px;padding:16px 18px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.user-chip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.workspace-grid{display:grid;gap:16px;grid-template-columns:290px 1fr}.module-panel,.ingestion-panel{min-width:0}.module-panel{background:#fffdf8f2;border:1px solid var(--line);border-radius:18px;padding:18px;height:fit-content;box-shadow:var(--shadow)}.module-panel p{margin:10px 0;color:var(--muted)}.module-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.module-panel li{border:1px solid var(--line);border-radius:12px;padding:0;background:#fff}.module-panel li.disabled{opacity:.56}.module-panel li.active{border-color:var(--accent);box-shadow:0 0 0 2px #0f7d6c1f}.module-button{width:100%;border:none;background:transparent;color:inherit;text-align:left;border-radius:12px;padding:10px;display:grid;gap:3px}.module-button:hover{background:#f5fcf9;transform:none}.module-button:disabled{background:transparent}.card{background:#ffffffe6;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:grid;gap:12px;animation:rise .4s ease}.ingestion-panel{display:grid;gap:14px}.flow-intro ol{margin:0;padding-left:18px;display:grid;gap:6px}.source-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.source-config{background:#f8fcfa;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:10px}.action{justify-self:start}.ghost{background:#edf4f1;color:var(--accent-strong);border:1px solid var(--line)}.ghost:hover{background:#e0ece7}.hint{color:var(--muted);font-size:.94rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.metrics-grid article{background:#f8fcfa;border:1px solid var(--line);border-radius:12px;padding:12px}.metrics-grid p{margin-top:8px;font-size:1.35rem;font-weight:700}.warnings{border:1px solid #e7c0b1;background:#fff6f1;border-radius:12px;padding:10px}.warnings ul{margin:0;padding-left:18px;color:var(--warning)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.table-wrap table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:top}thead{background:#f4f9f7}.checklist{display:grid;gap:8px}.checklist label{display:flex;align-items:flex-start;gap:8px;font-weight:600}.checklist input{width:18px;margin-top:1px}.cross-filters{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;background:#fbfdfc}.cross-filter-row{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:8px;align-items:center}.actions-row{display:flex;flex-wrap:wrap;gap:8px}.actions-cell{display:flex;gap:6px;flex-wrap:wrap}.pagination-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.detail-grid article,.card article{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fcfa}.card ul{margin:0;padding-left:18px;display:grid;gap:5px}.success{border-color:#b9ddcf;background:#f3fcf8}.success ul{margin:0;padding-left:18px;display:grid;gap:5px}.error{color:#9b2f13;font-weight:700}@keyframes rise{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:980px){.app-shell{padding:12px}.workspace-grid{grid-template-columns:1fr}.workspace-header{flex-direction:column;align-items:stretch}.user-chip{align-items:flex-start}.cross-filter-row{grid-template-columns:1fr}.pagination-row{align-items:stretch}}
