/* Stylist app add-ons. Load AFTER mobile-ui.css (shared Great Clips mobile kit). */
.s-hero { background: var(--dark-green); color: #fff; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; }
.s-hero .m-section-title { color: var(--mint); }
.s-hero__amount { font-size: 34px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.s-hero .sub { color: #E3F4F4; }
.s-nudge { background: var(--warn-soft); border: 1px solid #F3D3A6; border-radius: 12px; padding: 12px 14px; font-size: 14px; display: flex; gap: 10px; align-items: flex-start; }
.s-bonus { border: 1px solid var(--border); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.s-metric { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.s-metric__value { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.s-bar { grid-column: 1 / span 2; height: 8px; border-radius: 999px; background: var(--line); position: relative; margin-top: 6px; }
.s-bar__mark { position: absolute; top: -3px; width: 3px; height: 14px; border-radius: 2px; }
.s-bar__mark--me { background: var(--primary); width: 5px; } .s-bar__mark--avg { background: #7F8B89; } .s-bar__mark--best { background: var(--marigold); }
.s-rank { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 10px; border-radius: 10px; font-variant-numeric: tabular-nums; }
.s-rank--me { background: var(--primary-tint); border: 2px solid var(--primary); font-weight: 700; }
.s-avatar { width: 34px; height: 34px; border-radius: 999px; background: var(--line); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex: none; }
.s-rank--me .s-avatar { background: var(--primary); color: #fff; }
.s-shift { display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.s-shift--today { background: var(--primary-tint); border-radius: 12px; padding: 8px 10px; border-bottom: 0; }
.s-day { width: 52px; flex: none; text-align: center; } .s-day b { display: block; font-size: 20px; }
.s-day span { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; }
.s-bubble { max-width: 80%; border-radius: 14px; padding: 10px 14px; font-size: 14px; }
.s-bubble--them { background: var(--surface-subtle); align-self: flex-start; } .s-bubble--me { background: var(--primary-tint); align-self: flex-end; }
.s-header-icon { width: 44px; height: 44px; border-radius: 10px; border: 1px solid rgba(255,255,255,.45); color: #fff; display: inline-flex; align-items: center; justify-content: center; position: relative; text-decoration: none; }
.s-header-icon .m-badge { position: absolute; top: -4px; right: -4px; }

/* Several shifts per day (multi-salon) */
.s-shifts { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.s-store { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-muted); }
.s-store__mark { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
/* Flex children in the body never shrink (keeps pills/toggles full height) */
.m-body > * { flex-shrink: 0; }
