/* Home welcome (P22): greeting, attention list, walk-through banner. No inline styles (CSP). */
.home-welcome{margin:0 0 20px;padding:20px 22px;border-radius:16px;background:#fff;border:1px solid #1c3a2d26;color:#1C3A2D}
.home-welcome[hidden],.home-welcome[data-off-home]{display:none}
.home-loading>.home-welcome{display:none!important}
.welcome-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.welcome-greeting{margin:0 0 4px;font-size:26px;line-height:1.2;min-width:0;overflow-wrap:anywhere}
.welcome-collapse{flex:none;display:grid;place-items:center;width:44px;height:44px;margin:-10px -12px 0 0;padding:0;border:0;border-radius:50%;background:transparent;color:#1C3A2D;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.welcome-collapse:hover{background:#f6f3ea}.welcome-collapse:focus-visible{outline:2px solid #1C3A2D;outline-offset:2px}
.welcome-body[hidden]{display:none}
.welcome-line{margin:0 0 14px;font-size:15px;line-height:1.4}
.welcome-heading{margin:0 0 10px;font-size:16px;font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}
.welcome-box:not([open])>.welcome-heading{margin:0}
.welcome-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.welcome-item{display:flex;gap:12px;align-items:flex-start;width:100%;min-height:44px;padding:10px 12px;text-align:left;background:#f6f3ea;border:1px solid #1c3a2d26;border-radius:12px;color:inherit;font:inherit;cursor:pointer}
.welcome-item:hover,.welcome-item:focus-visible{border-color:#1C3A2D}
.welcome-item:focus-visible,.welcome-start:focus-visible,.home-walk button:focus-visible{outline:2px solid #1C3A2D;outline-offset:2px}
.welcome-rank{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1C3A2D;color:#fff;font-weight:700;font-size:13px}
.welcome-text{display:grid;gap:2px}.welcome-text span{font-size:13px;opacity:.85}
.welcome-start{min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:#1C3A2D;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.welcome-clear{margin:0;font-size:15px}
.home-walk{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;width:min(560px,calc(100% - 32px));padding:12px 16px;border-radius:14px;background:#1C3A2D;color:#fff;box-shadow:0 8px 28px #17201a40}
.home-walk[hidden]{display:none}
.home-walk p{margin:0;font-size:14px;font-weight:600;flex:1 1 220px}
.home-walk-actions{display:flex;gap:8px}
.home-walk button{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid #fff;background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.home-walk button[data-walk-next]{background:#fff;color:#1C3A2D}
@media(max-width:640px){.home-welcome{padding:12px 16px;margin-bottom:12px}.welcome-greeting{font-size:20px}.welcome-line{margin:0 0 4px;font-size:14px}.welcome-heading{margin-bottom:0}}

/* "vs comparable stores" sublabel under a big number. The tooltip shows on hover and on keyboard focus of the number. */
.comp-line{position:relative;display:inline-block;margin-top:2px;font-size:12px;font-weight:600;opacity:.85}
.comp-line[hidden]{display:none}
.comp-tip{display:none;position:absolute;left:0;top:100%;z-index:30;width:max-content;max-width:min(240px,70vw);padding:8px 10px;border-radius:8px;background:#1C3A2D;color:#fff;font-size:12px;font-weight:500;line-height:1.35;box-shadow:0 6px 18px #17201a40;white-space:normal;text-align:left}
.comp-line:hover .comp-tip,.studio-metric:focus-visible .comp-tip{display:block}
