:root{--ds-color-navy-900:#0c0942;--ds-color-navy-950:#09073a;--ds-color-navy-800:#14104f;--ds-color-white:#fff;--bg:var(--ds-color-navy-900);--surface:var(--ds-color-navy-950);--surface-soft:var(--ds-color-navy-800);--text:var(--ds-color-white);--text-dim:#ffffffa3;--text-faint:#fff6;--border:#ffffff1f;--border-strong:#ffffff3d;--radius:12px;--radius-sm:8px}*{box-sizing:border-box}html,body{min-height:100vh;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}.analytics-shell{flex-direction:column;min-height:100vh;display:flex}.analytics-topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.5rem;display:flex}.analytics-brand{letter-spacing:.01em;align-items:baseline;gap:.5rem;font-weight:600;display:flex}.analytics-brand-mark{font-size:1.05rem}.analytics-brand-sub{color:var(--text-dim);font-size:.8rem;font-weight:500}.analytics-topbar-right{color:var(--text-dim);align-items:center;gap:1rem;font-size:.85rem;display:flex}.analytics-applink{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:.35rem .7rem;font-size:.8rem;text-decoration:none;transition:background .15s}.analytics-applink:hover{background:var(--surface-soft)}.analytics-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.analytics-center{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.analytics-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;padding:2rem}.analytics-card h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.35rem}.analytics-card p{color:var(--text-dim);margin:0 0 .75rem;font-size:.95rem;line-height:1.55}.analytics-card p:last-child{margin-bottom:0}.analytics-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);margin-bottom:.75rem;font-size:.72rem}.analytics-btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-soft);color:var(--text);cursor:pointer;margin-top:1.25rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.analytics-btn:hover{background:var(--surface)}.analytics-skeleton{flex-direction:column;align-items:center;gap:.75rem;display:flex}.analytics-skeleton-bar{background:linear-gradient(90deg, var(--surface-soft) 25%, var(--surface) 50%, var(--surface-soft) 75%);background-size:200% 100%;border-radius:999px;height:.85rem;animation:1.4s ease-in-out infinite analytics-shimmer}@keyframes analytics-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analytics-placeholder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.analytics-placeholder-tile{border:1px dashed var(--border-strong);border-radius:var(--radius);min-height:120px;color:var(--text-faint);flex-direction:column;justify-content:flex-end;padding:1.25rem;font-size:.85rem;text-decoration:none;transition:border-color .15s,color .15s;display:flex}a.analytics-placeholder-tile:hover{border-color:var(--text-dim);color:var(--text)}.analytics-nav{align-items:center;gap:.25rem;margin-left:1.5rem;margin-right:auto;display:flex}.analytics-navlink{border-radius:var(--radius-sm);color:var(--text-dim);padding:.35rem .6rem;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s}.analytics-navlink:hover{background:var(--surface-soft);color:var(--text)}.dashboards-home-title{letter-spacing:-.01em;margin:.25rem 0 .5rem;font-size:1.5rem}.builder-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:1.5rem;margin-top:1rem;display:grid}@media (max-width:980px){.builder-grid{grid-template-columns:1fr}}.builder-controls{flex-direction:column;gap:1rem;display:flex}.builder-preview{position:sticky;top:1rem}.builder-field{border:0;flex-direction:column;gap:.4rem;min-width:0;margin:0;padding:0;display:flex}.builder-field-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.builder-label{color:var(--text);font-size:.8rem;font-weight:600}.builder-label-row{justify-content:space-between;align-items:center;display:flex}.builder-required{color:var(--text-faint);font-weight:400}.builder-input,.builder-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:.5rem .6rem;font-size:.9rem}.builder-input:focus,.builder-select:focus{outline:2px solid var(--border-strong);outline-offset:-1px}.builder-select:disabled{opacity:.5}.builder-scope-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.builder-hint{color:var(--text-dim);margin:.25rem 0 0;font-size:.8rem;line-height:1.45}.builder-hint-error{color:#ff9b9b}.builder-pickers{flex-direction:column;gap:1rem;display:flex}.builder-chiplist{flex-wrap:wrap;gap:.4rem;display:flex}.builder-chip{align-items:center;gap:.35rem;display:inline-flex}.builder-chip-btn{background:var(--surface);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;transition:background .12s,color .12s,border-color .12s}.builder-chip-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.builder-chip-btn.is-selected,.builder-chip.is-selected .builder-chip-btn{background:var(--surface-soft);color:var(--text);border-color:var(--text-dim)}.builder-chip-btn.is-disabled,.builder-chip.is-disabled .builder-chip-btn,.builder-chip-btn:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.builder-chip-flag{opacity:.8;font-size:.7rem}.builder-chip-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.15rem .3rem;font-size:.72rem}.builder-link-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:0;font-size:.8rem;text-decoration:underline}.builder-link-btn:hover{color:var(--text)}.builder-filter-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.builder-filter-row{grid-template-columns:1.2fr 1fr 1.2fr auto;align-items:center;gap:.4rem;display:grid}.builder-filter-novalue{color:var(--text-faint);font-size:.78rem}.builder-icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;width:1.9rem;height:1.9rem;font-size:1rem;line-height:1}.builder-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.builder-templates-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem}.builder-summary{cursor:pointer;font-size:.85rem;font-weight:600}.builder-templates{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.builder-template-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);flex-direction:column;gap:.25rem;padding:.6rem .7rem;display:flex}.builder-template-card:hover{border-color:var(--border-strong)}.builder-template-cat{text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-size:.65rem}.builder-template-title{font-size:.85rem;font-weight:600}.builder-template-desc{color:var(--text-dim);font-size:.75rem;line-height:1.4}.builder-template-caveat{color:#ffd27d;margin-top:.2rem;font-size:.72rem}.builder-issues{border-radius:var(--radius-sm);background:#ff505014;border:1px solid #ff9b9b66;padding:.6rem .8rem;font-size:.8rem}.builder-issues-title{margin-bottom:.3rem;font-weight:600}.builder-issues ul{color:var(--text-dim);flex-direction:column;gap:.2rem;margin:0;padding-left:1.1rem;display:flex}.builder-issues code{color:var(--text);font-size:.75rem}.builder-valid{color:#8ce0a8;font-size:.82rem}.builder-actions{gap:.5rem;display:flex}.builder-actions .analytics-btn{margin-top:0}.builder-btn-primary{background:var(--ds-color-white);color:var(--ds-color-navy-900);border-color:var(--ds-color-white)}.builder-btn-primary:hover{background:#ffffffd9}.analytics-btn:disabled{opacity:.4;cursor:not-allowed}.widget-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-height:200px;display:flex;overflow:hidden}.widget-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.widget-card-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.widget-card-body{flex-direction:column;flex:1;gap:.75rem;min-height:140px;padding:1rem;display:flex}.widget-banner{border-radius:var(--radius-sm);padding:.4rem .6rem;font-size:.75rem;line-height:1.4}.widget-banner-stale{color:#ffd27d;background:#ffd27d1f}.widget-banner-caveat{color:var(--text-dim);background:#ffffff0f}.widget-idle,.widget-unsupported,.widget-error{color:var(--text-dim);flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.widget-state-title{color:var(--text);font-weight:600}.widget-state-hint{color:var(--text-faint);font-size:.78rem}.widget-unsupported{color:#ffd27d}.widget-error{color:#ff9b9b}.widget-skeleton{flex-direction:column;gap:.6rem;width:100%;display:flex}.widget-skeleton-bar{background:linear-gradient(90deg, var(--surface-soft) 25%, var(--surface) 50%, var(--surface-soft) 75%);background-size:200% 100%;border-radius:999px;height:.85rem;animation:1.4s ease-in-out infinite analytics-shimmer}.widget-skeleton-label{color:var(--text-faint);font-size:.78rem}.viz-empty{color:var(--text-faint);font-size:.85rem}.viz-number{flex-direction:column;gap:.25rem;display:flex}.viz-number-value{letter-spacing:-.02em;font-size:2.4rem;font-weight:700}.viz-number-label{color:var(--text-dim);font-size:.8rem}.viz-bars{flex-direction:column;gap:.35rem;display:flex}.viz-bar-row{grid-template-columns:minmax(70px,30%) 1fr auto;align-items:center;gap:.5rem;font-size:.78rem;display:grid}.viz-bar-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.viz-bar-track{background:var(--surface-soft);border-radius:999px;height:.7rem;overflow:hidden}.viz-bar-fill{background:var(--ds-color-white);border-radius:999px;height:100%;display:block}.viz-bar-value{font-variant-numeric:tabular-nums;color:var(--text)}.viz-line{color:var(--ds-color-white);width:100%}.viz-line svg{width:100%;height:160px}.viz-line-axis{color:var(--text-faint);justify-content:space-between;margin-top:.25rem;font-size:.72rem;display:flex}.viz-table-wrap{width:100%;overflow-x:auto}.viz-table{border-collapse:collapse;width:100%;font-size:.8rem}.viz-table th,.viz-table td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .6rem}.viz-table th{color:var(--text-dim);font-weight:600}.viz-td-num{text-align:right;font-variant-numeric:tabular-nums}.viz-table-more{color:var(--text-faint);padding:.4rem .6rem;font-size:.72rem}.dashboard-editor{flex-direction:column;gap:1.5rem;display:flex}.dashboard-meta{grid-template-columns:2fr 2fr 1fr;gap:.75rem;display:grid}@media (max-width:760px){.dashboard-meta{grid-template-columns:1fr}}.dashboard-section-title{margin:0 0 .75rem;font-size:1.05rem}.dashboard-tiles{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.dashboard-save-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.dashboard-save-row .analytics-btn{margin-top:0}.dashboard-builder-section,.dashboard-widgets-section{border-top:1px solid var(--border);padding-top:1.25rem}.dashboards-list{margin-top:1.5rem}.dashboards-ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.dashboards-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex-direction:column;gap:.2rem;padding:.7rem .9rem;text-decoration:none;display:flex}.dashboards-link:hover{border-color:var(--border-strong);background:var(--surface)}.dashboards-link-name{font-size:.95rem;font-weight:600}.dashboards-link-meta{color:var(--text-dim);font-size:.75rem}.dashboard-view-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.dashboard-view-head .analytics-btn{margin-top:0}
