/* Dashboard-only scope; no public visual changes. */
.lm-dashboard-shell{--lm-text:#161c24;--lm-muted:#626973;--lm-border:#e3e5e7;--lm-bg:#f8f8f6;--lm-surface:#fff;--lm-surface-2:#f2f3f2;color:#161c24;background:#f8f8f6;grid-template-columns:220px minmax(0,1fr);font-family:'DM Sans',system-ui,sans-serif}
.lm-dashboard-shell .lm-admin-sidebar{background:#292d30;border-color:#3c4145;color:#fff;padding:24px 12px}
.lm-dashboard-shell .lm-admin-brand{color:#fff}.lm-dashboard-shell .lm-admin-brand i,.lm-dashboard-shell .lm-admin-brand small{color:#d5d9db}.lm-dashboard-shell .lm-admin-brand span{font-size:1.5rem}
.lm-dashboard-shell .lm-admin-nav__item{color:#e3e5e7;font-size:.85rem;min-height:44px}.lm-dashboard-shell .lm-admin-nav__item.active{background:#b9273d;color:white}.lm-dashboard-shell .lm-admin-nav__item:hover{background:#41474b;color:white}.lm-dashboard-shell .lm-admin-nav__item.active:hover{background:#a32337}.lm-dashboard-shell .lm-admin-sidebar__footer{border-color:#54595d}.lm-dashboard-shell .lm-admin-main{padding:32px clamp(16px,2.5vw,36px)}
.dash-page{max-width:1600px;margin:auto;font-size:.9rem}.dash-page h1,.dash-page h2,.dash-page p{margin:0}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dash-page h1{font:800 clamp(1.8rem,3vw,2.65rem)/1.12 'DM Sans',system-ui,sans-serif;letter-spacing:-.045em;margin:8px 0}.dash-header p,.dash-panel>p,.dash-panel-header p{color:#626973;margin-top:5px}.dash-kicker{font-size:.65rem;font-weight:800;letter-spacing:.11em;color:#a3293b}
.dash-page .dash-link{color:#9e2135;font-weight:700;font-size:.8rem;text-decoration:none}.dash-page .dash-link:hover{text-decoration:underline}.dash-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px 16px;background:white;border:1px solid #e3e5e7;border-radius:8px}.dash-filters label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:600;color:#434952}.dash-page select,.dash-page input:not([type=checkbox]){background:#fff;border:1px solid #cbd0d3;border-radius:5px;min-height:42px;color:#20262d;padding:8px 12px;font:inherit;max-width:100%}.dash-filters .dash-compare{flex-direction:row;align-items:center;align-self:center;gap:9px;min-height:44px;font-size:.82rem}.dash-compare input{width:18px;height:18px;accent-color:#b9273d}
.dash-page .dash-button{background:#b9273d;color:#fff;border:1px solid #b9273d;border-radius:5px;min-height:42px;padding:8px 16px;font:600 .82rem 'DM Sans',system-ui,sans-serif}.dash-page .dash-button:disabled{opacity:.55}.dash-page :focus-visible{outline:3px solid #a3293b;outline-offset:3px}.dash-period{font-size:.72rem;color:#626973;padding:14px 0}
.dash-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.dash-metrics--four{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-metric,.dash-panel{background:#fff;border:1px solid #e3e5e7;border-radius:7px;padding:18px;min-width:0;box-shadow:0 1px 3px #171b2203}.dash-page h2{font:700 .95rem/1.4 'DM Sans',system-ui,sans-serif;color:#161c24;letter-spacing:-.02em}.dash-metric__value{display:block;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;line-height:1.2;margin:8px 0;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.dash-metric__value--missing{font-size:1.15rem;line-height:1.8;color:#616973;letter-spacing:0}
.dash-page .dash-note{color:#626973;font-size:.72rem;line-height:1.6;margin-top:8px}.dash-page .dash-note a{color:#9e2135}.dash-change{color:#176640;font-weight:700;font-size:.8rem;margin:8px 0!important}.dash-change span{color:#626973;font-size:.7rem;font-weight:400}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.dash-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid--revenue{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.dash-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dash-panel>p,.dash-panel-header p{font-size:.76rem;line-height:1.6}
.dash-line{margin-top:18px}.dash-line svg{width:100%;height:180px;overflow:visible}.dash-line__max{font-size:.68rem;color:#626973}.dash-gridline{stroke:#e8eaeb;stroke-width:1}.dash-area{fill:#c62a4316}.dash-linepath{fill:none;stroke:#b9273d;stroke-width:2.5;vector-effect:non-scaling-stroke}.dash-axis{display:flex;justify-content:space-between;font-size:.68rem;color:#626973;margin-top:8px}.dash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:170px;color:#626973;font-size:.8rem;padding:20px 8px}.dash-empty>i{font-size:1.8rem;color:#b9273d}
.dash-legend{display:flex;justify-content:end;gap:14px;font-size:.7rem;margin-top:14px}.dash-legend span{display:flex;align-items:center;gap:5px}.dash-dot{display:inline-block;background:#c62a43;width:10px;height:10px;border-radius:50%}.dash-dot--dark{background:#3d4245}.dash-bars{display:flex;justify-content:space-around;gap:10px;margin-top:12px}.dash-bar-group{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}.dash-bar-group>div{height:136px;display:flex;align-items:end;gap:4px;width:100%;justify-content:center;border-bottom:1px solid #d2d5d6}.dash-bar{display:block;background:#c62a43;width:30%;max-width:40px}.dash-bar--dark{background:#3d4245}.dash-bar-group small{font-size:.65rem;color:#626973}
.dash-funnel{display:flex;flex-direction:column;gap:6px;margin:18px 0 0}.dash-funnel>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#f9e8ea;color:#712130;border-radius:4px}.dash-funnel>div:nth-child(2){margin:0 6px}.dash-funnel>div:last-child{margin:0 12px;background:#b9273d;color:white}.dash-funnel dt{font-size:.75rem;font-weight:500}.dash-funnel dd{margin:0;font-weight:800;font-size:1.05rem}
.dash-list{list-style:none;margin:10px 0 14px;padding:0}.dash-list li,.dash-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #eceeef;font-size:.8rem;color:#252d35;text-decoration:none}.dash-list li span{overflow-wrap:anywhere}.dash-list li strong{white-space:nowrap;font-weight:500}.dash-pending strong{color:#a3293b;white-space:nowrap}.dash-pending:hover{text-decoration:underline}
.dash-audience{margin:18px 0}.dash-audience header>p{color:#626973;font-size:.8rem;margin-top:5px}.dash-audience-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.dash-audience-metrics>div{display:flex;flex-direction:column;gap:5px}.dash-audience-metrics strong{font-size:1.6rem;overflow-wrap:anywhere}.dash-audience-metrics span{color:#626973;font-size:.78rem}.dash-details summary{cursor:pointer;font-weight:700;min-height:30px}.dash-details>p{margin:12px 0}
.dash-table-wrap{overflow:auto;max-width:100%;margin-top:18px}.dash-page table{width:100%;border-collapse:collapse;font-size:.76rem;white-space:nowrap}.dash-page th,.dash-page td{padding:12px 10px;border-bottom:1px solid #eaedef;text-align:left}.dash-page th{background:#f5f6f7;font-weight:600}.dash-page tbody tr:last-child td{background:#fcf0f2}
.dash-donut{width:180px;height:180px;border-radius:50%;margin:24px auto;display:grid;place-items:center}.dash-donut>div{width:125px;height:125px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.dash-donut strong{font-size:1rem}.dash-donut span{font-size:.68rem;color:#626973}.dash-composition{margin:0;font-size:.72rem}.dash-composition>div{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.dash-composition dt{font-weight:400}.dash-composition dd{margin:0;font-weight:700}.dash-icon{float:right;color:#b9273d;background:#faeef0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;margin-left:6px}.dash-number{display:block;font-size:2rem;margin:20px 0 10px}.dash-badge{display:inline-block;color:#825100;background:#fff4d9;border:1px solid #d6b86e;padding:5px 8px;border-radius:4px;font-size:.7rem;margin-bottom:14px}.dash-loading{min-height:260px;display:flex;align-items:center;justify-content:center;gap:12px}.dash-error{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border:1px solid #c62a43;border-radius:6px;padding:18px;margin:18px 0;color:#842435;background:#fff3f4}
@media(max-width:1100px){.dash-metrics--four{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid--three{grid-template-columns:1fr}.lm-dashboard-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:767px){.lm-dashboard-shell{display:block}.lm-dashboard-shell .lm-admin-sidebar{position:static;height:auto;padding:12px;gap:10px}.lm-dashboard-shell .lm-admin-brand{padding:4px 8px}.lm-dashboard-shell .lm-admin-nav{flex-direction:row;overflow:auto;flex-wrap:nowrap}.lm-dashboard-shell .lm-admin-nav__item{width:auto;flex-shrink:0;white-space:nowrap}.lm-dashboard-shell .lm-admin-sidebar__footer{display:none}.lm-dashboard-shell .lm-admin-main{padding:20px 14px}.dash-header{align-items:start}.dash-header>.dash-link{max-width:100px;flex-shrink:0}.dash-metrics,.dash-metrics--four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-grid,.dash-grid--revenue{grid-template-columns:1fr}.dash-panel,.dash-metric{padding:14px}.dash-metric__value{font-size:1.5rem}.dash-metric__value--missing{font-size:1rem}.dash-icon{display:none}.dash-filters label{width:100%}.dash-filters .dash-compare{width:auto}.dash-audience-metrics{grid-template-columns:1fr;gap:12px}}
@media(max-width:380px){.dash-metrics,.dash-metrics--four{grid-template-columns:1fr}.dash-header{flex-direction:column;gap:10px}.dash-header>.dash-link{max-width:none}}
@media(prefers-reduced-motion:reduce){.dash-page *{animation:none!important;transition:none!important}}
/* Legacy public CSS fixes body and paints headings/definition lists white. Override only while a dashboard is mounted. */
/* Do not turn body into a nested scroll container: mobile gestures must scroll the document. */
html:has(.lm-dashboard-shell){height:auto;overflow-x:hidden;overflow-y:auto;touch-action:auto}
body:has(.lm-dashboard-shell){height:auto;overflow:visible;touch-action:auto}
body:has(.lm-dashboard-shell){position:static;background:#f8f8f6;color-scheme:light}
.lm-dashboard-shell .lm-admin-main{padding-bottom:max(32px,env(safe-area-inset-bottom))}
.dash-page h1{color:#161c24}
.dash-page p{color:#626973}
.dash-page .dash-change{color:#176640}
.dash-page dl,.dash-page dt,.dash-page dd{color:inherit}
@media(max-width:768px){.lm-dashboard-shell .lm-admin-nav__item span{display:inline}}
