.ssp{display:flex;flex-direction:column;gap:1rem}.ssp-empty,.ssp-loading{padding:3rem 1rem;text-align:center;color:var(--dash-text-muted)}.ssp-header{margin-bottom:1rem}.ssp-title{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1.375rem;font-weight:700;color:var(--dash-text);margin:0;letter-spacing:-.02em}.ssp-sub{font-size:.875rem;color:var(--dash-text-muted);margin:4px 0 0}.ssp-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:16px;margin-bottom:1rem}.ssp-warning-red{background:color-mix(in srgb,var(--dash-danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--dash-danger) 22%,transparent)}.ssp-warning-yellow{background:linear-gradient(135deg,color-mix(in srgb,var(--dash-warning) 14%,transparent),color-mix(in srgb,var(--dash-danger) 8%,transparent));border:1px solid color-mix(in srgb,var(--dash-warning) 32%,transparent)}.ssp-warning-icon{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#ef4444,var(--dash-danger));color:#ffffff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ssp-warning-yellow-icon{color:var(--dash-warning);flex-shrink:0;margin-top:2px}.ssp-warning-title{font-size:.875rem;font-weight:700;margin:0 0 4px}.ssp-warning-red .ssp-warning-title{color:var(--dash-danger)}.ssp-warning-yellow .ssp-warning-title{color:#d97706}.ssp-warning-body{font-size:.875rem;color:var(--dash-text-secondary);line-height:1.5;margin:0}.ssp-warning-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:700;cursor:pointer;text-decoration:underline;color:inherit}.ssp-warning-red .ssp-warning-link{color:var(--dash-danger)}.ssp-warning-yellow .ssp-warning-link{color:var(--dash-warning)}.ssp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.5rem}.ssp-stat{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--dash-surface-solid);border:1px solid var(--dash-border);border-radius:14px;box-shadow:var(--dash-card-shadow);transition:box-shadow .5s ease-in-out}.ssp-stat:hover{box-shadow:var(--dash-card-shadow-hover)}.ssp-stat-btn{width:100%;font:inherit;text-align:left;cursor:pointer}.ssp-stat-btn:hover{border-color:color-mix(in srgb,var(--dash-accent) 45%,var(--dash-border));transform:translateY(-1px)}.ssp-stat-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;flex-shrink:0}.ssp-stat[data-tone=accent] .ssp-stat-icon{background:linear-gradient(135deg,var(--dash-accent),#ea580c)}.ssp-stat[data-tone=info] .ssp-stat-icon{background:linear-gradient(135deg,var(--dash-info),#38bdf8)}.ssp-stat[data-tone=purple] .ssp-stat-icon{background:linear-gradient(135deg,var(--dash-purple),#6d28d9)}.ssp-stat-value{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:.9375rem;font-weight:700;color:var(--dash-text);line-height:1}.ssp-stat-label{font-size:.8rem;color:var(--dash-text-muted);margin-top:2px}.ssp-empty-card{padding:2rem 1.25rem;text-align:center;background:var(--dash-surface-solid);border:1px solid var(--dash-border);border-radius:16px;box-shadow:var(--dash-card-shadow);color:var(--dash-text-muted);font-size:.875rem}.ssp-weeks{gap:.5rem}.ssp-week,.ssp-weeks{display:flex;flex-direction:column}.ssp-week-header{width:100%;padding:.875rem 1.25rem;background:var(--dash-surface-solid);border:1px solid var(--dash-border);border-left:4px solid var(--dash-info);border-radius:12px;cursor:pointer;text-align:left;font-family:inherit;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--dash-card-shadow);transition:box-shadow .5s ease-in-out,transform .2s ease-in-out}.ssp-week-header:hover{box-shadow:var(--dash-card-shadow-hover);transform:translateY(-1px)}.ssp-week[data-tone=info] .ssp-week-header{border-left-color:var(--dash-info)}.ssp-week[data-tone=purple] .ssp-week-header{border-left-color:var(--dash-purple)}.ssp-week[data-tone=success] .ssp-week-header{border-left-color:var(--dash-success)}.ssp-week-header-left{display:flex;align-items:center;gap:.75rem}.ssp-week-label{font-size:.875rem;font-weight:700;min-width:60px;color:var(--dash-text)}.ssp-week[data-tone=info] .ssp-week-label{color:var(--dash-info)}.ssp-week[data-tone=purple] .ssp-week-label{color:var(--dash-purple)}.ssp-week[data-tone=success] .ssp-week-label{color:var(--dash-success)}.ssp-week-phase{font-size:.8rem;font-weight:700;padding:2px .625rem;border-radius:999px;text-transform:capitalize}.ssp-week[data-tone=info] .ssp-week-phase{background:color-mix(in srgb,var(--dash-info) 12%,transparent);color:var(--dash-info)}.ssp-week[data-tone=purple] .ssp-week-phase{background:color-mix(in srgb,var(--dash-purple) 12%,transparent);color:var(--dash-purple)}.ssp-week[data-tone=success] .ssp-week-phase{background:color-mix(in srgb,var(--dash-success) 12%,transparent);color:var(--dash-success)}.ssp-week-header-right{display:flex;align-items:center;gap:.5rem}.ssp-week-flame{color:var(--dash-accent);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--dash-accent) 60%,transparent))}.ssp-week-count{font-size:.8rem;font-weight:700}.ssp-week-chevron,.ssp-week-count{color:var(--dash-text-muted)}.ssp-week-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.23,1,.32,1)}.ssp-week-body[data-open=true]{grid-template-rows:1fr}.ssp-week-body-inner{overflow:hidden;min-height:0}.ssp-week-body-inner>.ssp-day{margin:.5rem 0 0 4px;padding:.75rem 1rem;border-left:3px solid var(--dash-border);transition:border-color .3s ease-in-out,background .3s ease-in-out}.ssp-week-body-inner>.ssp-day[data-status=complete]{border-left-color:var(--dash-success);background:color-mix(in srgb,var(--dash-success) 6%,transparent)}.ssp-week-body-inner>.ssp-day[data-status=missed]{border-left-color:var(--dash-danger);background:color-mix(in srgb,var(--dash-danger) 6%,transparent)}.ssp-day-badge{font-size:.68rem;font-weight:700;letter-spacing:.02em;padding:.1rem .45rem;border-radius:999px;text-transform:uppercase}.ssp-day-badge-complete{color:var(--dash-success);background:color-mix(in srgb,var(--dash-success) 16%,transparent)}.ssp-day-badge-missed{color:var(--dash-danger);background:color-mix(in srgb,var(--dash-danger) 16%,transparent)}.ssp-day-header{justify-content:space-between;margin-bottom:.5rem}.ssp-day-header,.ssp-day-meta{display:flex;align-items:center}.ssp-day-meta{gap:.5rem}.ssp-day-num{font-size:.875rem;font-weight:700;color:var(--dash-text)}.ssp-day-date,.ssp-day-time{font-size:.8rem;color:var(--dash-text-muted)}.ssp-day-time{font-weight:700}.ssp-day-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ssp-day-item{display:flex;align-items:center;gap:.625rem;width:100%;font:inherit;font-size:.875rem;padding:.25rem .5rem .25rem .625rem;border:none;border-left:3px solid var(--dash-info);border-radius:0 6px 6px 0;background:none;color:var(--dash-text-secondary);text-align:left;cursor:pointer;transition:opacity .2s ease-in-out,background .2s ease-in-out}.ssp-day-item-clickable:hover{background:color-mix(in srgb,var(--dash-text) 6%,transparent)}.ssp-day-item-clickable:hover .ssp-day-item-title{color:var(--dash-text)}.ssp-day-item[data-tone=purple]{border-left-color:var(--dash-purple)}.ssp-day-item[data-tone=success]{border-left-color:var(--dash-success)}.ssp-day-item[data-tone=warning]{border-left-color:var(--dash-warning)}.ssp-day-item[data-tone=pink]{border-left-color:#ec4899}.ssp-day-item[data-tone=danger]{border-left-color:var(--dash-danger)}.ssp-day-item[data-tone=info]{border-left-color:var(--dash-info)}.ssp-day-item[data-done=true]{opacity:.7;color:var(--dash-text-muted)}.ssp-day-item-icon{display:inline-flex;flex-shrink:0;color:var(--dash-text-muted)}.ssp-day-item[data-done=true] .ssp-day-item-icon{color:var(--dash-accent)}.ssp-day-item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ssp-day-item[data-done=true] .ssp-day-item-title{text-decoration:line-through}.ssp-day-item-time{font-size:.8rem;color:var(--dash-text-muted);flex-shrink:0}.ssp-lockcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;width:calc(100% - 4px);margin:.5rem 0 0 4px;padding:1.5rem 1.75rem;border:1px dashed var(--dash-border);border-radius:16px;background:var(--dash-surface);font:inherit;cursor:pointer;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out,transform .2s ease-in-out}.ssp-lockcard:hover{border-color:color-mix(in srgb,var(--dash-accent) 45%,var(--dash-border));box-shadow:var(--dash-card-shadow);transform:translateY(-1px)}.ssp-lockcard-badge{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--dash-accent),#ea580c);box-shadow:0 8px 22px color-mix(in srgb,var(--dash-accent) 35%,transparent)}.ssp-lockcard-title{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1.0625rem;font-weight:800;color:var(--dash-text);margin:.35rem 0 0;letter-spacing:-.01em}.ssp-lockcard-sub{font-size:.875rem;color:var(--dash-text-muted);line-height:1.5;max-width:380px}.ssp-lockcard .unlk-cta{margin-top:.6rem;pointer-events:none}