fieldset { margin:0; padding:0; border:0; min-width:0; }
legend { padding:0; }
.days { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:8px; }
.days label { cursor:pointer; position:relative; }
.days input { position:absolute; opacity:0; width:100%; height:100%; margin:0; }
.days label>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:1.5px solid var(--line); border-radius:15px; padding:16px 0; background:#fafbfe; color:#636878; font-size:19px; font-weight:700; transition:background .2s,border-color .2s; }
.days label>span>span { font-size:9px; letter-spacing:.04em; font-weight:600; color:#898d9c; }
.days input:checked+span { background:var(--accent-soft); border-color:var(--accent); color:var(--accent); }
.days input:checked+span>span { color:var(--accent); }
.days input:focus-visible+span { outline:3px solid var(--accent); outline-offset:3px; }
.days input:disabled+span { opacity:.5; cursor:default; }
.days label:hover input:enabled+span { border-color:var(--accent); }
.schedule-preview { color:var(--accent); font-size:12px; background:var(--accent-soft); padding:12px 14px; border-radius:12px; margin:0; }
.subscription-summary { display:flex; gap:8px; align-items:center; background:var(--surface); border-radius:12px; padding:12px 14px; margin:20px 0 28px; }
#subscription-state { margin:0; color:#696d7f; font-size:12px; font-weight:600; }
.state-dot { width:7px; height:7px; border-radius:50%; background:#a4a7b7; flex-shrink:0; }
.subscription-summary[data-state=active] { background:#eaf7f1; }
.subscription-summary[data-state=active] .state-dot { background:#27956a; }
.subscription-summary[data-state=active] #subscription-state { color:#236c51; }
.subscription-summary[data-state=paused] { background:#fff5e5; }
.subscription-summary[data-state=paused] .state-dot { background:#bf882c; }
.pause-section { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; }
.pause-section h3 { font-size:15px; margin-bottom:6px; }
.pause-section p { font-size:12px; color:var(--muted); }
.actions:empty { display:none; }
.schedule-note { display:flex; align-items:center; gap:14px; margin:32px 0 16px; }
.schedule-note>span { width:48px; height:48px; background:white; color:var(--accent); display:grid; place-items:center; border-radius:16px; font-size:28px; }
.schedule-note strong { display:block; font-size:21px; }
.schedule-note small { display:block; font-size:12px; color:var(--muted); }
@media(max-width:680px) { .schedule-note { margin-top:20px; } .days { gap:6px; } .days label>span { padding:14px 0; border-radius:12px; } }
