/* Marketing analytics shares the sales shell, colors and controls. */
.sm-head { display:flex; justify-content:space-between; align-items:start; gap:16px; margin:20px 0 16px; flex-wrap:wrap; }
.sm-head h2 { font-size:1.2rem; margin:0 0 6px; font-weight:600; }
.sm-head p,.sm-observation { font-size:.84rem; color:var(--ss-sub); margin:0; }
.sm-select { display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--ss-sub); }
.sm-select select { min-height:44px; padding:8px 30px 8px 10px; border:1px solid var(--ss-border-strong); border-radius:8px; background:white; color:var(--ss-text); max-width:100%; }
.sm-kpis .ss-kpi b { font-size:1.8rem; }
.sm-observation { padding:0 4px; margin:12px 0 20px; line-height:1.8; }
.sm-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.sm-columns>* { min-width:0; }
.sm-title { font-size:1rem; margin:0 0 12px; font-weight:600; }
.sm-chart-scroll,.sm-scroll { overflow-x:auto; max-width:100%; overscroll-behavior-x:contain; }
.sm-chart { height:242px; min-width:670px; display:flex; gap:8px; margin-top:16px; }
.sm-axis { display:flex; flex-direction:column; justify-content:space-between; padding-bottom:31px; width:60px; flex-shrink:0; text-align:right; color:var(--ss-muted); font-size:.76rem; }
.sm-bars { display:grid; grid-template-columns:repeat(24,minmax(0,1fr)); gap:5px; flex:1; background:repeating-linear-gradient(to top,transparent 0,transparent calc(50% - 1px),var(--ss-border) calc(50% - 1px),var(--ss-border) 50%); background-size:100% calc(100% - 31px); background-repeat:no-repeat; padding:0 3px; }
.sm-bar { display:flex; flex-direction:column; justify-content:end; align-items:stretch; background:transparent; border:0; padding:0; color:var(--ss-sub); font-size:.74rem; min-width:20px; }
.sm-bar-track { height:211px; display:flex; align-items:end; padding:0 2px; }
.sm-bar i { display:block; width:100%; border-radius:3px 3px 0 0; background:var(--ss-c-fb); min-height:0; }
.sm-bar>span:last-child { height:31px; padding-top:9px; }
.sm-bar:hover i,.sm-bar[aria-pressed="true"] i { background:var(--ss-primary-dark); }
.sm-bar[aria-pressed="true"] { font-weight:700; outline:2px solid var(--ss-primary); outline-offset:2px; border-radius:3px; }
.sm-detail { background:var(--ss-soft); border-radius:8px; padding:12px 16px; font-size:.8rem; display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; line-height:1.9; }
.sm-detail b,.sm-detail span { display:block; }
.sm-detail b { font-size:.94rem; color:var(--ss-primary-dark); }
.sm-ranks { list-style:none; margin:12px 0; padding:0; }
.sm-ranks button { width:100%; border:0; background:none; display:flex; align-items:center; justify-content:space-between; min-height:54px; border-bottom:1px solid var(--ss-border); text-align:left; color:var(--ss-text); font-size:.94rem; }
.sm-ranks button:hover { background:var(--ss-soft); }
.sm-ranks small { display:block; color:var(--ss-muted); font-size:.76rem; }
.sm-facts { margin:0; font-size:.83rem; }
.sm-facts>div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--ss-border); }
.sm-facts dt { font-weight:400; }
.sm-facts dd { font-weight:600; margin:0; font-family:Inter,Mali,sans-serif; white-space:nowrap; }
.sm-facts small { font-weight:400; color:var(--ss-muted); }
.sm-empty { color:var(--ss-sub); font-size:.9rem; margin:24px 0; line-height:1.8; }
.sm-heat { display:grid; grid-template-columns:42px repeat(24,44px); gap:4px; padding:8px 2px; width:max-content; }
.sm-heat-hour { font-family:Inter,Mali,sans-serif; font-size:.66rem; color:var(--ss-muted); text-align:center; padding:6px 0; }
.sm-week { align-self:center; font-size:.8rem; font-weight:500; }
.sm-cell { border:1px solid var(--ss-border); border-radius:5px; min-height:44px; font-family:Inter,Mali,sans-serif; font-size:.69rem; color:var(--ss-text); background:color-mix(in oklch, oklch(75% .09 254) var(--sm-intensity), oklch(97% .006 254)); }
.sm-cell[aria-pressed="true"] { outline:2px solid var(--ss-primary-dark); outline-offset:1px; }
.sm-table { width:100%; border-collapse:collapse; font-size:.8rem; white-space:nowrap; margin-top:12px; }
.sm-table th { font-weight:500; }
.sm-table th,.sm-table td { padding:12px 10px; text-align:right; border-bottom:1px solid var(--ss-border); }
.sm-table th:first-child { text-align:left; }
.sm-table thead { color:var(--ss-sub); background:var(--ss-soft); }
.sm-table td { font-family:Inter,Mali,sans-serif; }
.sm-table small { display:block; font-size:.7rem; color:var(--ss-muted); }
.sm-page { white-space:normal; max-width:210px; text-align:left; min-height:44px; }
.sm-method { font-size:.83rem; color:var(--ss-sub); line-height:1.9; }
.sm-method summary { cursor:pointer; min-height:44px; color:var(--ss-primary-dark); }
#smReport button:focus-visible,#smReport select:focus-visible,.sm-scroll:focus-visible { outline:2px solid var(--ss-primary-dark); outline-offset:3px; }
@media(max-width:800px) { .sm-columns { grid-template-columns:1fr; gap:0; } .sm-head h2 { font-size:1.08rem; } .sm-kpis .ss-kpi b { font-size:1.45rem; } }
@media(max-width:480px) { .sm-head { gap:12px; } .sm-select { width:100%; justify-content:space-between; } .sm-select select { max-width:calc(100% - 72px); } .sm-kpis .ss-kpi b { font-size:1.2rem; } .sm-detail { padding:12px; } .sm-chart { min-width:660px; } }
