.settings-page { max-width:560px; margin:0 auto; padding:20px 20px calc(24px + var(--safe-bottom,0px)); display:grid; gap:24px; color:var(--ink,#19171c); }
.settings-page>.settings-section { min-width:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.settings-section h2 { margin:0 0 10px 4px; color:var(--brand,#5a1718); font-size:12px; line-height:1.4; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.settings-email { margin:-4px 4px 14px; color:var(--muted,#77717b); font-size:13px; overflow-wrap:anywhere; }
.settings-group.settings-account-group { border:2px solid rgba(90,23,24,.42); background:#fff; }
.settings-account-identity { box-sizing:border-box; display:flex; align-items:center; gap:13px; min-width:0; min-height:76px; padding:14px; border-bottom:1px solid rgba(90,23,24,.18); }
.settings-account-avatar { position:relative; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; overflow:hidden; border:2px solid var(--brand,#5a1718); border-radius:50%; background:#f2e7e8; color:var(--brand,#5a1718); font-size:14px; font-weight:750; }
.settings-account-avatar img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.settings-account-copy { display:grid; gap:3px; min-width:0; }
.settings-account-copy strong { color:var(--brand,#5a1718); font-size:15px; line-height:1.3; overflow-wrap:anywhere; }
.settings-account-copy small { color:var(--muted,#77717b); font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.settings-group { overflow:hidden; border:1px solid rgba(90,23,24,.12); border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.63),rgba(250,241,244,.6)); box-shadow:0 4px 12px rgba(65,15,20,.025),inset 0 1px rgba(255,255,255,.6); }
.settings-group>details+details,.settings-group>.settings-row+.settings-row { border-top:1px solid rgba(90,23,24,.1); }
.settings-page .settings-row { box-sizing:border-box; display:flex; align-items:center; gap:12px; width:100%; min-height:64px; padding:14px; border:0; border-radius:0; background:transparent; color:var(--ink,#19171c); font:inherit; text-align:left; text-decoration:none; cursor:pointer; list-style:none; -webkit-tap-highlight-color:transparent; }
.settings-page summary::-webkit-details-marker { display:none; }.settings-page summary::marker { content:''; }
.settings-row-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:11px; color:var(--brand,#5a1718); background:rgba(90,23,24,.055); }
.settings-row-icon svg,.settings-row-arrow svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.settings-row-copy { flex:1; min-width:0; display:grid; gap:3px; }.settings-row-copy strong { font-size:15px; font-weight:650; line-height:1.35; }.settings-row-copy small { font-size:12px; line-height:1.35; color:var(--muted,#77717b); }
.settings-row-arrow { display:grid; place-items:center; flex:0 0 16px; width:16px; color:rgba(90,23,24,.5); transform:rotate(180deg); }.settings-row-arrow svg { width:16px; height:16px; }
.settings-page details[open]>summary .settings-row-arrow { transform:rotate(270deg); }
.settings-page details[open]>summary .settings-row-copy strong { color:var(--brand,#5a1718); }
.settings-detail { padding:0 16px 18px; font-size:14px; }.settings-detail p { margin:8px 0; overflow-wrap:anywhere; line-height:1.5; }.settings-detail small { color:var(--muted,#77717b); font-size:12px; line-height:1.5; }
.settings-detail label { display:grid; gap:7px; margin:12px 0; font-size:13px; font-weight:600; color:var(--brand,#5a1718); }
.settings-detail input,.settings-detail select { box-sizing:border-box; width:100%; min-width:0; min-height:46px; border:1px solid rgba(90,23,24,.2); border-radius:13px; padding:10px 12px; background:rgba(255,255,255,.72); color:var(--ink,#19171c); font:inherit; font-size:16px; }
.settings-page .settings-primary,.settings-page .settings-secondary { min-height:44px; margin-top:12px; padding:11px 16px; border:1px solid transparent; border-radius:13px; font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.settings-page .settings-primary { color:#fff; background:var(--chrome-bg,#5a1718); }.settings-page .settings-secondary { color:var(--brand,#5a1718); background:rgba(90,23,24,.07); }.settings-page button:disabled { opacity:.55; cursor:wait; }
.settings-detail dl { margin:0 0 12px; }.settings-detail dl div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; }.settings-detail dd { margin:0; white-space:nowrap; font-weight:650; color:var(--brand,#5a1718); }
.settings-detail [role=status]:empty { display:none; }.settings-detail [role=status] { font-size:13px; color:var(--brand,#5a1718); }
.settings-page :focus-visible { outline:2px solid var(--brand,#5a1718); outline-offset:-3px; border-radius:12px; }
.settings-detail .push-settings { margin:0; border:0; padding:0; background:transparent; box-shadow:none; }.settings-detail .push-setting-row { width:100%; text-align:left; border-radius:12px; }.settings-detail .push-setting-row>span:first-child { min-width:0; }.settings-detail .settings-toggle { flex-shrink:0; }.settings-detail .push-settings-head { padding-top:4px; }
.settings-detail .push-setting-row,.settings-detail .push-device-action { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:52px; padding:12px 0; border:0; border-radius:0; background:transparent; color:var(--brand,#5a1718); font:inherit; cursor:pointer; }
.settings-detail .push-setting-row+.push-setting-row { border-top:1px solid rgba(90,23,24,.07); }.settings-detail .push-setting-row strong { color:var(--ink,#19171c); font-size:13px; font-weight:600; }.settings-detail .settings-toggle { display:block; flex:0 0 38px; width:38px; height:22px; }.settings-detail .push-device-action strong { font-size:12px; }.settings-detail .push-device-action { border-bottom:1px solid rgba(90,23,24,.1); }
.settings-footer { text-align:center; color:var(--brand,#5a1718); font-size:12px; }.settings-footer p { margin:0; font-weight:650; }.settings-footer p span { color:var(--muted,#77717b); font-weight:400; }.settings-footer>div { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:2px 10px; }.settings-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted,#77717b); text-decoration:none; }
@media(hover:hover) and (pointer:fine) { .settings-page .settings-row:hover { background:rgba(90,23,24,.04); }.settings-footer a:hover { color:var(--brand,#5a1718); text-decoration:underline; } }
@media(max-width:360px) { .settings-page { padding:16px 14px 24px; gap:20px; }.settings-page .settings-row { padding:12px; gap:10px; }.settings-detail dl div { flex-wrap:wrap; gap:4px; } }
.settings-features-page { gap:14px; }
.settings-features-back { justify-self:start; min-height:44px; padding:5px 12px; border:0; border-radius:12px; background:#fff; color:var(--brand,#5a1718); font:inherit; font-size:25px; cursor:pointer; }
.settings-features-back span { font-size:14px; font-weight:700; vertical-align:3px; }
.settings-features-back-accessible { position:absolute; width:1px; height:1px; min-height:0; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.settings-features-back-accessible:focus-visible { position:relative; width:auto; height:auto; min-height:44px; padding:5px 12px; clip:auto; }
.settings-feature-toast { position:fixed; left:50%; top:50%; z-index:140; display:flex; align-items:center; gap:10px; max-width:min(86vw,320px); padding:13px 18px; transform:translate(-50%,-50%); border:2px solid rgba(90,23,24,.42); border-radius:18px; background:#fff; box-shadow:0 18px 40px rgba(40,10,14,.2); color:var(--brand,#5a1718); font-size:15px; text-align:center; pointer-events:none; animation:settings-toast-in .2s ease-out both; }
.settings-feature-toast span { display:grid; place-items:center; flex:none; width:29px; height:29px; border-radius:50%; background:var(--brand,#5a1718); color:#fff; font-weight:800; }
@keyframes settings-toast-in { from { opacity:0; transform:translate(-50%,-45%) scale(.96); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
@media (prefers-reduced-motion:reduce) { .settings-feature-toast { animation:none; } }
.settings-features-card { min-width:0; padding:18px; border:2px solid rgba(90,23,24,.42); border-radius:24px; background:#fff; box-shadow:0 12px 30px rgba(65,15,20,.06); }
.settings-features-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.settings-features-heading h2 { margin:0; color:var(--brand,#5a1718); font-size:23px; line-height:1.2; letter-spacing:0; text-transform:none; }
.settings-features-heading p { margin:7px 0 0; color:var(--muted,#77717b); font-size:14px; line-height:1.4; }
.settings-features-state { padding:5px 12px; border-radius:99px; background:rgba(90,23,24,.08); color:var(--brand,#5a1718); font-size:13px; }
.settings-features-card label { display:grid; gap:7px; margin:17px 0 12px; color:var(--brand,#5a1718); font-size:14px; font-weight:700; }
.settings-features-card select { box-sizing:border-box; width:100%; min-height:48px; padding:10px 12px; border:1px solid rgba(90,23,24,.34); border-radius:13px; background:#fff; color:var(--ink,#19171c); font:inherit; font-size:16px; }
.settings-features-hint { margin:12px 0; color:var(--muted,#77717b); font-size:13px; line-height:1.45; }
.settings-features-hint a { color:var(--brand,#5a1718); }
.settings-clock-map { position:relative; overflow:hidden; height:clamp(230px,36vh,350px); border:2px solid rgba(90,23,24,.42); border-radius:18px; background:#e6e6e2; touch-action:none; cursor:crosshair; user-select:none; }
.settings-clock-consent { padding:16px; border:1px solid rgba(90,23,24,.3); border-radius:18px; background:#f7f2f3; }
.settings-clock-consent p { margin:0 0 12px; color:#5b555c; font-size:13px; line-height:1.45; }
.settings-clock-tiles { position:absolute; inset:0; }
.settings-clock-tiles img { position:absolute; width:256px; height:256px; max-width:none; user-select:none; pointer-events:none; }
.settings-clock-radius { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:2px solid rgba(90,23,24,.7); border-radius:50%; background:rgba(125,34,35,.15); pointer-events:none; }
.settings-clock-pin { position:absolute; left:50%; top:50%; transform:translate(-50%,-83%); color:var(--brand,#5a1718); font-size:37px; text-shadow:0 1px 2px #fff; pointer-events:none; }
.settings-clock-map[data-selected="false"] .settings-clock-radius,.settings-clock-map[data-selected="false"] .settings-clock-pin { opacity:.45; }
.settings-clock-zoom { position:absolute; right:10px; top:10px; display:grid; gap:6px; }
.settings-clock-zoom button { width:42px; height:42px; border:1px solid rgba(90,23,24,.4); border-radius:10px; background:#fff; color:var(--brand,#5a1718); font-size:24px; }
.settings-clock-map>a { position:absolute; right:5px; bottom:5px; padding:2px 5px; background:rgba(255,255,255,.87); color:#333; font-size:10px; text-decoration:none; }
.settings-clock-coordinates { margin:7px 0; color:var(--muted,#77717b); font-size:12px; }
.settings-features-card .settings-secondary { min-height:42px; margin:0; padding:8px 12px; border:1px solid rgba(90,23,24,.25); border-radius:11px; background:#fff; color:var(--brand,#5a1718); font:inherit; font-size:13px; font-weight:700; }
.settings-features-card .settings-primary { width:100%; min-height:48px; padding:10px; border:0; border-radius:13px; background:var(--brand,#5a1718); color:#fff; font:inherit; font-weight:700; }
.settings-features-card [role=alert],.settings-features-card [role=status] { color:var(--brand,#5a1718); font-size:13px; line-height:1.4; }
