:root{--mx-bg:#f6f8f5;--mx-surface:#fff;--mx-surface-2:#edf2ee;--mx-text:#17211d;--mx-muted:#66726b;--mx-border:#d7dfd8;--mx-accent:#0e8f6e;--mx-accent-soft:#e7f5ef;--mx-blue:#2c5f8f;--mx-blue-soft:#eaf2f9;--mx-warning:#a56a13;--mx-warning-soft:#fff3da;--mx-danger:#c4513b;--mx-r:8px;--mx-s1:8px;--mx-s2:16px}*{box-sizing:border-box}html{min-width:320px;background:var(--mx-bg);color:var(--mx-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(14,143,110,.32);outline-offset:2px}.eyebrow{margin:0 0 8px;color:var(--mx-accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.icon-button,.primary-button,.secondary-button,.text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;cursor:pointer;font-weight:750}.primary-button{border:1px solid var(--mx-accent);background:var(--mx-accent);color:#fff;padding:0 14px}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{border:1px solid var(--mx-border);background:#fff;color:var(--mx-text);padding:0 14px}.full{width:100%}.text-button{border:0;background:transparent;color:var(--mx-accent);padding:0}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}.auth-panel{display:flex;flex-direction:column;justify-content:space-between;padding:48px clamp(24px,7vw,112px);background:#fff}.auth-brand,.brand-word{font-size:14px;font-weight:900;letter-spacing:.4px}.auth-brand span,.brand-word span{color:var(--mx-accent);margin-left:3px}.auth-form{width:min(100%,420px);margin:auto 0}.auth-form h1,.setup-page h1{margin:0 0 12px;font-size:34px;line-height:1.08;letter-spacing:0}.auth-copy,.setup-page p{margin:0 0 28px;color:var(--mx-muted);line-height:1.6}.auth-form form,.setup-page form{display:grid;gap:16px}.auth-form label,.setup-page label{display:grid;gap:7px;font-size:13px;font-weight:750}.auth-form input,.setup-page input{min-height:46px;border:1px solid var(--mx-border);border-radius:6px;background:#fff;padding:0 12px;color:var(--mx-text)}.form-error{margin:0 0 16px;border-left:3px solid var(--mx-danger);padding:10px 12px;background:#fcefed;color:#7f3022;font-size:13px}.setup-link{display:inline-block;margin-top:18px;color:var(--mx-accent);font-size:13px;font-weight:750}.auth-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:56px;background:#17211d;color:#fff}.auth-aside h2{max-width:420px;margin:0 0 28px;font-size:38px;line-height:1.05;letter-spacing:0}.auth-list{display:grid;gap:11px;color:#c7d2ca}.auth-list span{padding-top:11px;border-top:1px solid #3a473f}.setup-page,.simple-page{display:grid;min-height:100vh;place-items:center;padding:24px}.setup-page section,.simple-page{width:min(100%,520px);border:1px solid var(--mx-border);border-radius:var(--mx-r);background:#fff;padding:32px}.app-shell{display:grid;min-height:100vh;grid-template-columns:240px minmax(0,1fr);background:var(--mx-bg)}.sidebar{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;border-right:1px solid var(--mx-border);background:#fff;padding:14px 10px}.sidebar-top{display:flex;min-height:44px;align-items:center;gap:10px;padding:0 4px 20px}.icon-button{width:40px;min-width:40px;border:1px solid var(--mx-border);background:#fff;color:var(--mx-text)}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;min-height:44px;align-items:center;gap:12px;border-radius:6px;padding:0 12px;color:var(--mx-muted);font-weight:650}.nav-item.active,.nav-item:hover{background:var(--mx-accent-soft);color:#087457}.profile-link{display:flex;min-height:48px;align-items:center;gap:10px;margin-top:auto;border-top:1px solid var(--mx-border);padding:14px 7px 2px;font-size:13px;font-weight:750}.avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#17211d;color:#fff}.app-shell.is-collapsed{grid-template-columns:64px minmax(0,1fr)}.is-collapsed .brand-word,.is-collapsed .nav-item span,.is-collapsed .profile-name{display:none}.is-collapsed .sidebar{align-items:center}.is-collapsed .sidebar-top{padding-bottom:20px}.is-collapsed .nav-item,.is-collapsed .profile-link{justify-content:center;padding-left:0;padding-right:0}.workspace{max-width:1180px;margin:0 auto;padding:40px}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.workspace-header h1{margin:0 0 8px;font-size:30px;letter-spacing:0}.workspace-header>div>p:last-child{margin:0;color:var(--mx-muted)}.empty-workspace{display:flex;min-height:390px;max-width:760px;flex-direction:column;align-items:center;justify-content:center;margin:42px auto 0;border:1px solid var(--mx-border);border-radius:var(--mx-r);background:var(--mx-surface);padding:36px;text-align:center}.empty-workspace h2{margin:0 0 10px;font-size:23px}.empty-workspace>p:not(.eyebrow){max-width:560px;margin:0 0 24px;color:var(--mx-muted);line-height:1.6}.empty-icon{display:grid;width:52px;height:52px;place-items:center;margin-bottom:16px;border-radius:50%;background:var(--mx-accent-soft);color:var(--mx-accent)}.analytics-workspace{display:grid;gap:24px}.analytics-hero{align-items:center;border-bottom:1px solid var(--mx-border);padding-bottom:28px}.source-status{display:inline-flex;min-height:44px;align-items:center;gap:8px;border:1px solid var(--mx-border);border-radius:999px;background:#fff;padding:0 14px;color:var(--mx-muted);font-size:13px;font-weight:800}.source-status.healthy{border-color:#b8dccd;background:var(--mx-accent-soft);color:#087457}.source-status.degraded{border-color:#f0c57e;background:var(--mx-warning-soft);color:var(--mx-warning)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:132px;border:1px solid var(--mx-border);border-radius:var(--mx-r);background:#fff;padding:18px}.metric-card span{display:block;margin:14px 0 8px;color:var(--mx-muted);font-size:13px;font-weight:750}.metric-card strong{font-size:30px;letter-spacing:0}.metric-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:var(--mx-blue-soft);color:var(--mx-blue)}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:18px;align-items:start}.next-action-band,.panel-block,.sync-strip{border:1px solid var(--mx-border);border-radius:var(--mx-r);background:#fff}.panel-block{padding:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.next-action-band h2,.panel-heading h2,.sync-strip h2{margin:0;font-size:20px;letter-spacing:0}.panel-heading>span{border-radius:999px;background:var(--mx-surface-2);padding:6px 10px;color:var(--mx-muted);font-size:12px;font-weight:800}.dataset-list,.suggestion-list{display:grid;gap:10px}.dataset-row,.suggestion-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--mx-border);border-radius:6px;padding:14px}.dataset-row h3,.suggestion-row h3{margin:0 0 6px;font-size:15px}.dataset-row p,.next-action-band p,.suggestion-row p{margin:0;color:var(--mx-muted);line-height:1.5}.dataset-meta{display:grid;min-width:112px;justify-items:end;gap:4px;color:var(--mx-muted);font-size:12px;font-weight:750;white-space:nowrap}.dataset-meta span{color:var(--mx-text)}.suggestion-row{justify-content:flex-start}.suggestion-row>svg{margin-top:2px;color:var(--mx-accent);flex:0 0 auto}.suggestion-row small{display:block;margin-top:8px;color:var(--mx-blue);font-size:12px;font-weight:800}.next-action-band,.sync-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px}.sync-list{display:flex;max-width:720px;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sync-pill{border:1px solid var(--mx-border);border-radius:999px;background:var(--mx-surface-2);padding:7px 10px;color:var(--mx-muted);font-size:12px;font-weight:800}.sync-pill.succeeded{border-color:#b8dccd;background:var(--mx-accent-soft);color:#087457}.sync-pill.failed{border-color:#f0c57e;background:var(--mx-warning-soft);color:var(--mx-warning)}.next-action-band{background:#17211d;color:#fff}.next-action-band .eyebrow{color:#80e0c3}.next-action-band p{max-width:620px;color:#c7d2ca}.next-action-band .primary-button{border-color:#80e0c3;background:#80e0c3;color:#10221d}@media(max-width:980px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.next-action-band,.sync-strip{align-items:stretch;flex-direction:column}.sync-list{justify-content:flex-start}.next-action-band .primary-button{width:100%}}@media(max-width:760px){.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:28px 24px}.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;z-index:5;bottom:0;top:auto;width:100%;height:64px;flex-direction:row;border-right:0;border-top:1px solid var(--mx-border);padding:8px}.profile-link,.sidebar-top{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item{min-width:44px;justify-content:center;padding:0}.nav-item span{display:none}.workspace{padding:28px 18px 88px}.workspace-header{align-items:stretch;flex-direction:column}.workspace-header .primary-button{width:100%}.empty-workspace{min-height:340px;padding:24px}.auth-form h1,.setup-page h1{font-size:30px}.kpi-grid{grid-template-columns:1fr}.metric-card{min-height:112px}.dataset-row{display:grid}.dataset-meta{justify-items:start}.next-action-band,.panel-block,.sync-strip{padding:16px}}.panel-block{border:0;background:transparent;padding:0}.dataset-row,.suggestion-row{background:#fff}@media(max-width:760px){.panel-block{padding:0}}.dashboard-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-action-message{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:8px 0 0;color:var(--mx-muted);font-size:12px;font-weight:700}.dashboard-action-message .text-button{min-height:auto;font-size:12px}.dashboard-share-list{display:grid;gap:8px;min-width:360px;margin-top:12px;border:1px solid var(--mx-border);border-radius:8px;background:#fff;padding:13px}.dashboard-share-list h3,.dashboard-share-list p{margin:0;font-size:13px}.dashboard-share-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--mx-border);padding-top:9px}.dashboard-share-list article div{display:grid;gap:4px;min-width:0}.dashboard-share-list article span{color:var(--mx-muted);font-size:11px;line-height:1.4}.dashboard-share-list small{color:var(--mx-muted);font-size:11px;font-weight:800}.report-grid-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.report-grid-filters label{display:flex;min-height:40px;align-items:center;gap:7px;border:1px solid var(--mx-border);border-radius:6px;background:#fff;padding:0 10px;color:var(--mx-muted)}.report-grid-filters input,.report-grid-filters select{min-width:180px;border:0;background:transparent;color:var(--mx-text);font:inherit;font-size:13px;outline:0}@media(max-width:760px){.dashboard-actions{justify-content:stretch}.dashboard-actions>*{flex:1 1}.dashboard-action-message{align-items:flex-end;flex-direction:column}.dashboard-share-list{min-width:0}.dashboard-share-list article{align-items:flex-start;flex-direction:column}.report-grid-filters{display:grid;grid-template-columns:1fr}.report-grid-filters input,.report-grid-filters select{width:100%;min-width:0}}.group-editor{display:grid;gap:12px;margin:0 0 14px;border:1px solid var(--mx-border);border-radius:8px;background:var(--mx-surface-2);padding:14px}.group-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-editor label{display:grid;gap:6px;color:var(--mx-text);font-size:13px;font-weight:750}.group-editor>label>input{min-height:42px;padding:0 10px;color:var(--mx-text)}.group-editor fieldset,.group-editor>label>input{border:1px solid var(--mx-border);border-radius:6px;background:#fff}.group-editor fieldset{min-width:0;margin:0;padding:10px}.group-editor legend{padding:0 5px;color:var(--mx-muted);font-size:12px;font-weight:800}.group-editor fieldset>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.group-editor fieldset label{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:3px 8px;border:1px solid var(--mx-border);border-radius:6px;padding:9px;font-size:12px}.group-editor fieldset input{width:16px;height:16px;margin:1px 0}.group-editor fieldset small{grid-column:2;color:var(--mx-muted);font-size:11px;font-weight:600;overflow-wrap:anywhere}@media(max-width:760px){.group-editor fieldset>div{grid-template-columns:1fr}}.sidebar nav{gap:14px}.nav-section{display:grid;gap:4px}.nav-section-title{margin:2px 0 0;padding:0 12px;color:var(--mx-muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.is-collapsed .nav-section-title{display:none}.is-collapsed .nav-section{gap:4px}@media(max-width:760px){.sidebar nav{display:grid;width:auto;justify-content:stretch;gap:14px}.nav-section-title{display:block}}.mobile-menu-toggle,.mobile-nav-scrim{display:none}@media(max-width:760px){.app-main{position:relative}.mobile-menu-toggle{position:fixed;z-index:4;top:12px;left:12px;display:inline-flex}.mobile-nav-scrim{position:fixed;z-index:5;inset:0;border:0;background:rgba(23,33,29,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar{position:fixed;z-index:6;inset:0 auto 0 0;width:min(286px,84vw);height:100vh;transform:translateX(-102%);transition:transform .2s ease;border-right:1px solid var(--mx-border);border-top:0;padding:14px 10px;box-shadow:16px 0 40px rgba(23,33,29,.12)}.app-shell.is-mobile-open .sidebar{transform:translateX(0)}.app-shell.is-mobile-open .mobile-nav-scrim{opacity:1;pointer-events:auto}.profile-link,.sidebar-top{display:flex}.sidebar nav{display:grid;width:auto;justify-content:stretch}.nav-item{min-width:0;justify-content:flex-start;padding:0 12px}.nav-item span{display:inline}.profile-link{margin-top:auto}.app-shell.is-collapsed .sidebar{align-items:stretch}.app-shell.is-collapsed .brand-word,.app-shell.is-collapsed .nav-item span,.app-shell.is-collapsed .profile-name{display:inline}.app-shell.is-collapsed .sidebar-top{padding-bottom:20px}.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .profile-link{justify-content:flex-start;padding-left:12px;padding-right:12px}.workspace{padding:66px 18px 32px}}