.settings-content [hidden] { display:none !important; }
.settings-loading,.settings-error { min-height:96px; margin-bottom:18px; }
.settings-loading { display:flex; align-items:center; gap:14px; }
.settings-loading > span { width:35px; aspect-ratio:1; flex:0 0 auto; border:3px solid rgba(183,220,105,.14); border-top-color:#b7dc69; border-radius:50%; animation:settingsSpin .8s linear infinite; }
.settings-loading strong,.settings-loading small { display:block; }
.settings-loading small { margin-top:4px; color:#747b70; font-size:.7rem; }
.settings-error { text-align:center; }
.settings-error p { color:#777e72; font-size:.75rem; }
@keyframes settingsSpin { to { transform:rotate(360deg); } }
.settings-form-grid input[readonly] { color:#777e73; cursor:not-allowed; }
.settings-section-copy { margin:12px 0 16px; color:#777e73; font-size:.68rem; line-height:1.55; }
.settings-training-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.settings-training-days label { cursor:pointer; }
.settings-training-days input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.settings-training-days span { min-height:76px; display:grid; place-items:center; align-content:center; gap:7px; border:1px solid rgba(255,255,255,.075); border-radius:12px; color:#737a70; background:rgba(255,255,255,.02); font-size:.56rem; transition:border-color .18s,background .18s,color .18s; }
.settings-training-days b { color:#a5ad9d; font-size:.84rem; }
.settings-training-days input:checked + span { border-color:rgba(183,220,105,.48); color:#cfe6a1; background:rgba(183,220,105,.09); }
.settings-training-days input:checked + span b { color:#b7dc69; }
.settings-training-days input:focus-visible + span { outline:2px solid #4a72b0; outline-offset:2px; }
@media (max-width:760px) { .settings-training-days { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.settings-profile-head { margin-top:14px; }
.settings-profile-head .dash-avatar-large { display:grid; place-items:center; width:58px; height:58px; flex:0 0 auto; border-radius:50%; color:#1a2117; background:#b7dc69; font-size:1rem; font-weight:900; }
.settings-main.is-saving { pointer-events:none; opacity:.72; }
.settings-security button:disabled,.app-page-head [data-save-settings]:disabled { opacity:.45; cursor:not-allowed; }
.settings-plan-badge { padding:7px 11px; border-radius:99px; color:#315e9b; background:#e3edf9; font-size:.65rem; font-weight:800; }
.settings-plan-badge.is-pro { color:#fff; background:#4a72b0; }
.settings-billing { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:14px; padding:20px; border-radius:16px; background:#edf4fc; }
.settings-billing > div { min-width:0; }
.settings-billing strong,.settings-billing small { display:block; }
.settings-billing strong { color:#1f3a5f; font-size:.84rem; }
.settings-billing small { max-width:590px; margin-top:5px; color:#48668e; font-size:.64rem; line-height:1.55; }
.settings-pro-perks { display:grid; gap:5px; margin:9px 0 0; padding:0; list-style:none; }
.settings-pro-perks[hidden] { display:none; }
.settings-pro-perks li { position:relative; padding-left:18px; color:#1f3a5f; font-size:.66rem; font-weight:600; line-height:1.4; }
.settings-pro-perks li::before { content:""; position:absolute; left:0; top:.32em; width:10px; height:6px; border-left:2px solid #654caf; border-bottom:2px solid #654caf; transform:rotate(-45deg); }
.settings-billing p { min-height:18px; margin:8px 0 0; color:#654caf; font-size:.62rem; font-weight:700; }
.settings-billing button { min-width:174px; min-height:44px; padding:10px 16px; border:0; border-radius:12px; color:#fff; background:#654caf; font:inherit; font-size:.67rem; font-weight:800; cursor:pointer; }
.settings-billing button:hover { filter:brightness(1.06); }
.settings-billing button:focus-visible { outline:3px solid rgba(101,76,175,.28); outline-offset:3px; }
.settings-billing button:disabled { cursor:wait; opacity:.55; }
.settings-delete-dialog { width:min(500px,calc(100% - 28px)); padding:26px; border:1px solid rgba(211,115,93,.25); border-radius:20px; color:#fff; background:#171813; box-shadow:0 30px 100px rgba(0,0,0,.72); text-align:center; }
.settings-delete-dialog::backdrop { background:rgba(0,0,0,.76); backdrop-filter:blur(8px); }
.settings-dialog-close { position:absolute; top:14px; right:14px; width:34px; height:34px; padding:0; border-radius:50%; background:rgba(255,255,255,.04); }
.settings-delete-dialog > span { width:52px; aspect-ratio:1; display:grid; place-items:center; margin:0 auto 13px; border-radius:50%; color:#efb09e; background:rgba(211,115,93,.1); font-weight:900; }
.settings-delete-dialog h2 { margin:0; }
.settings-delete-dialog > p { margin:9px auto 20px; max-width:410px; color:#81867d; font-size:.7rem; line-height:1.6; }
.settings-delete-dialog form { display:grid; gap:12px; text-align:left; }
.settings-delete-dialog label { display:grid; gap:6px; color:#9a9f96; font-size:.61rem; }
.settings-delete-dialog label b { color:#e2a08f; }
.settings-delete-dialog input { min-height:44px; padding:0 11px; border:1px solid rgba(255,255,255,.09); border-radius:10px; color:#fff; background:#1d1f1a; outline:0; }
.settings-delete-dialog input:focus { border-color:rgba(211,115,93,.5); box-shadow:0 0 0 3px rgba(211,115,93,.07); }
.settings-delete-status { margin:0; padding:10px 12px; border:1px solid rgba(211,115,93,.3); border-radius:10px; color:#f0b09e; background:rgba(211,115,93,.09); font-size:.67rem; line-height:1.5; text-align:left; }
.settings-delete-status[data-tone="progress"] { border-color:rgba(183,220,105,.24); color:#dfe9cd; background:rgba(183,220,105,.07); }
.settings-delete-captcha { min-height:0; }
.settings-delete-captcha:not([hidden]) { display:block; }
.settings-delete-dialog form > div:last-child { display:flex; gap:8px; margin-top:7px; }
.settings-delete-dialog form > div:last-child button { flex:1; padding:10px; border-radius:9px; }
.settings-delete-dialog form .is-danger { border-color:#b95742; color:#fff; background:#a74735; }
body.has-modal { overflow:hidden; }
@media(max-width:560px){.settings-content>.app-page-head .app-button{width:100%}.settings-billing{align-items:stretch;flex-direction:column}.settings-billing button{width:100%}.settings-delete-dialog{padding:24px 16px}.settings-delete-dialog form>div:last-child{flex-direction:column}.settings-delete-dialog form button{width:100%}}
