.edash-dashboard{--edash-purple:#5B3CC4;--edash-cyan:#16B8D4;--edash-ink:#25263A;--edash-muted:#77798D;--edash-line:#EAEBF1;--edash-bg:#F5F6FA;width:100%;max-width:1440px;margin:0 auto;padding:30px clamp(18px,3vw,42px) 36px;color:var(--edash-ink);font:var(--bops-text-base,16px)/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}
.edash-dashboard *,.edash-dashboard *:before,.edash-dashboard *:after{box-sizing:border-box}
.edash-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}
.edash-eyebrow{margin:0;color:var(--edash-purple);font-size:var(--bops-text-xs,13px);font-weight:750;letter-spacing:.12em}
.edash-subtitle{margin:7px 0 0;color:var(--edash-muted);font-size:var(--bops-text-base,16px)}
.edash-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.edash-connection{display:inline-flex;align-items:center;gap:7px;color:#956516;font-size:var(--bops-text-sm,14px);font-weight:650}
.edash-connection-dot{width:8px;height:8px;border-radius:50%;background:#E6A52D}
.edash-connection.is-connected{color:#218C63}
.edash-connection.is-connected .edash-connection-dot{background:#2EAA75}
.edash-period-label{color:var(--edash-muted);font-size:var(--bops-text-sm,14px)}
.edash-period{min-height:38px;padding:7px 30px 7px 11px;border:1px solid var(--edash-line);border-radius:9px;background:#fff;color:var(--edash-ink);font-size:var(--bops-text-sm,14px);font-weight:600;font-family:inherit;line-height:1.3}
.edash-state{margin:0 0 14px;padding:10px 13px;border:1px solid #F0DFAF;border-radius:9px;background:#FFF9E9;color:#77570D;font-size:var(--bops-text-sm,14px)}
.edash-state.is-live{border-color:#C9EBDD;background:#F0FBF6;color:#19734F}
.edash-state.is-error{border-color:#F2C7C5;background:#FFF3F2;color:#A33F39}
.edash-access{max-width:900px;margin:30px auto;padding:24px;border:1px solid var(--edash-line);border-radius:12px;background:#fff}
.edash-access p{margin:0 0 10px}
.edash-access a{color:var(--edash-purple);font-weight:650}
.edash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.edash-metric,.edash-card{border:1px solid var(--edash-line);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(37,38,58,.025)}
.edash-metric{padding:17px 18px 15px;min-width:0}
.edash-metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.edash-metric h2{margin:0;color:var(--edash-muted);font-size:var(--bops-text-sm,14px);font-weight:600}
.edash-metric-mark{width:26px;height:26px;border-radius:8px;background:#F0ECFC}
.edash-metric-cyan .edash-metric-mark{background:#E4F8FB}.edash-metric-green .edash-metric-mark{background:#E7F8F0}.edash-metric-amber .edash-metric-mark{background:#FFF4DD}
.edash-metric-purple .edash-metric-mark:after,.edash-metric-cyan .edash-metric-mark:after,.edash-metric-green .edash-metric-mark:after,.edash-metric-amber .edash-metric-mark:after{display:block;width:9px;height:9px;margin:8px auto;border-radius:50%;background:var(--edash-purple);content:""}
.edash-metric-cyan .edash-metric-mark:after{background:var(--edash-cyan)}.edash-metric-green .edash-metric-mark:after{background:#2EAA75}.edash-metric-amber .edash-metric-mark:after{background:#E6A52D}
.edash-metric-value{margin:12px 0 4px;color:var(--edash-ink);font-size:clamp(26px,2.4vw,34px);font-weight:700;letter-spacing:-.045em;line-height:1.1;overflow-wrap:anywhere}
.edash-metric-change{margin:0;color:var(--edash-muted);font-size:var(--bops-text-sm,14px)}.edash-metric-change.is-positive{color:#218C63;font-weight:650}.edash-metric-change.is-negative{color:#C34E47;font-weight:650}
.edash-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:16px;margin-bottom:16px}
.edash-card{min-width:0;padding:19px}
.edash-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.edash-card-heading h2{margin:0;color:var(--edash-ink);font-size:var(--bops-text-lg,18px);font-weight:700;letter-spacing:-.02em}
.edash-card-heading p{margin:4px 0 0;color:var(--edash-muted);font-size:var(--bops-text-sm,14px)}
.edash-chart-total{text-align:right}.edash-chart-total strong{display:block;color:var(--edash-ink);font-size:var(--bops-text-xl,20px);line-height:1.2}.edash-chart-total span{color:var(--edash-muted);font-size:var(--bops-text-sm,14px)}
.edash-chart{display:flex;height:178px;align-items:center;justify-content:center;margin:12px 0 0;overflow:hidden}
.edash-chart svg{display:block;width:100%;height:100%;overflow:visible}
.edash-gridline{stroke:#EEF0F5;stroke-width:1;stroke-dasharray:3 5}
.edash-line{fill:none;stroke:var(--edash-purple);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.edash-last-point{fill:#fff;stroke:var(--edash-purple);stroke-width:3}
.edash-chart-empty{margin:0;color:var(--edash-muted);font-size:var(--bops-text-sm,14px);text-align:center}
.edash-chart-labels{display:flex;justify-content:space-between;gap:8px;margin-top:4px;color:#77798D;font-size:var(--bops-text-sm,14px)}
.edash-chart-labels:empty{display:none}
.edash-alert-count{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;padding:0 6px;border-radius:99px;background:#F0ECFC;color:var(--edash-purple);font-size:var(--bops-text-xs,13px);font-weight:700}
.edash-alert-list{margin:14px 0 0;padding:0;list-style:none}
.edash-alert{display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:10px;align-items:start;padding:11px 0;border-top:1px solid #F0F1F5}
.edash-alert-icon{position:relative;width:25px;height:25px;border-radius:8px;background:#E4F8FB}
.edash-alert-icon:before{position:absolute;inset:7px;border:2px solid var(--edash-cyan);border-radius:50%;content:""}
.edash-alert-warning .edash-alert-icon{background:#FFF4DD}.edash-alert-warning .edash-alert-icon:before{border-color:#D99B25}
.edash-alert-critical .edash-alert-icon{background:#FFF0EF}.edash-alert-critical .edash-alert-icon:before{border-color:#DF7068}
.edash-alert h3{margin:0;color:var(--edash-ink);font-size:var(--bops-text-sm,14px);font-weight:700}
.edash-alert p{margin:3px 0;color:var(--edash-muted);font-size:var(--bops-text-sm,14px);line-height:1.4}
.edash-alert-category{color:#9A9CAB;font-size:var(--bops-text-xs,13px)}
.edash-alert-arrow{margin-top:-3px;color:#A3A5B2;font-size:20px}
.edash-empty-row{padding:18px 10px!important;color:var(--edash-muted)!important;font-size:var(--bops-text-sm,14px)!important;text-align:center}
.edash-stores .edash-card-heading{align-items:center;margin-bottom:14px}
.edash-store-count{padding:5px 9px;border-radius:99px;background:#F5F6FA;color:var(--edash-muted);font-size:var(--bops-text-sm,14px);font-weight:600;white-space:nowrap}
.edash-table-wrap{width:100%;overflow-x:auto}
.edash-stores table{width:100%;border-collapse:collapse;text-align:left}
.edash-stores th{padding:10px 9px;border-top:1px solid #F0F1F5;border-bottom:1px solid #F0F1F5;color:#77798D;font-size:var(--bops-text-sm,14px);font-weight:600;white-space:nowrap}
.edash-stores td{padding:12px 9px;border-bottom:1px solid #F3F4F7;color:var(--edash-ink);font-size:var(--bops-text-sm,14px);white-space:nowrap}
.edash-stores tbody tr:last-child td{border-bottom:0}
.edash-stores td:first-child:not([colspan]){display:flex;align-items:center;gap:9px}
.edash-store-avatar{display:inline-flex;width:29px;height:29px;flex:0 0 29px;align-items:center;justify-content:center;border-radius:9px;background:#F0ECFC;color:var(--edash-purple);font-size:var(--bops-text-xs,13px);font-weight:700}
.edash-store-name{font-weight:650}.edash-store-name small{display:block;margin-top:2px;color:#9A9CAB;font-size:var(--bops-text-xs,13px);font-weight:500}
.edash-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--bops-text-sm,14px)}
.edash-status>span{width:6px;height:6px;border-radius:50%;background:#2EAA75}
.edash-status-warning{color:#B47C18}.edash-status-warning>span{background:#E6A52D}
.edash-status-critical{color:#B43E38}.edash-status-critical>span{background:#D65D55}
.edash-status-good{color:#218C63}
.edash-footnote{margin:13px 2px 0;color:#898B9B;font-size:var(--bops-text-xs,13px)}
@media(max-width:1050px){.edash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.edash-main-grid{grid-template-columns:minmax(0,1fr)}.edash-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.edash-alert{align-content:start}.edash-stores{overflow:hidden}}
@media(max-width:640px){.edash-dashboard{padding:22px 14px 28px}.edash-header{align-items:flex-start;flex-direction:column;margin-bottom:16px}.edash-controls{width:100%;gap:8px}.edash-period{flex:1;min-width:130px}.edash-metrics{gap:9px}.edash-metric{padding:13px 12px}.edash-metric h2{font-size:var(--bops-text-sm,14px)}.edash-metric-value{font-size:var(--bops-text-2xl,24px)}.edash-metric-change{font-size:var(--bops-text-sm,14px)}.edash-card{padding:15px}.edash-alert-list{display:block}.edash-alert{grid-template-columns:28px minmax(0,1fr) 14px}.edash-stores .edash-card-heading{align-items:flex-start;flex-direction:column}.edash-stores td,.edash-stores th{padding-right:11px;padding-left:4px}}