/* Existing account behavior, scoped to the shared website shell. */
.account-main{max-width:1160px;padding-block:38px 65px}
.account-main h2{font-size:28px;margin:0 0 20px}
.account-main h3{font-size:21px;margin-bottom:16px}
.account-main section{margin-block:30px}
.account-main fieldset{border:1px solid var(--line);border-radius:14px;margin:22px 0;padding:24px;min-width:0;background:var(--surface)}
.account-main legend{padding-inline:6px;font-weight:600}
.account-main label{display:block;margin-block:16px}
.account-main input:not([type=checkbox]),.account-main select{display:block;width:100%;max-width:520px;padding:12px;border-radius:8px;border:1px solid #899781;background:var(--surface);color:var(--text);font:inherit}
.account-main button{font:inherit;font-size:14px;padding:12px 17px;min-height:46px;border:1px solid #899781;border-radius:9px;margin:4px 5px 4px 0;background:var(--surface);color:var(--text);cursor:pointer}
.account-main button[type=submit],#confirm-action{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}
.account-main button:disabled{cursor:default;opacity:.55}
.account-main nav,.account-main .actions{display:flex;flex-wrap:wrap;gap:4px}
.account-main .check{display:flex;gap:10px;align-items:start;max-width:650px}
.account-main .check input{margin-block-start:5px;flex-shrink:0}
#notice{border-inline-start:3px solid var(--focus);padding:14px 18px;white-space:pre-line;background:var(--surface-soft);font-size:14px;border-radius:0 8px 8px 0}
#notice:empty{display:none}
#confirmation{border:1px solid var(--focus);border-radius:18px;padding:32px;max-width:520px;width:calc(100% - 32px);background:var(--surface);color:var(--text);box-shadow:0 30px 100px #0008}
#confirmation::backdrop{background:#000b;backdrop-filter:blur(5px)}
#confirmation h3{margin-top:0}
#identity{overflow-wrap:anywhere}
.account-links{padding-top:25px;border-top:1px solid var(--line)}
@media(max-width:650px){.account-main fieldset{padding:16px}
.account-main h2{font-size:25px}
.account-main p{font-size:14px}
}
.cabinet-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cabinet-heading h1{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;margin:8px 0 4px;line-height:1.12}
.cabinet-heading .eyebrow{margin:0;font-size:11px;color:var(--muted)}
#identity{margin:10px 0 0;color:var(--muted);font-size:14px}
.account-main .cabinet-tabs{gap:30px;border-bottom:1px solid var(--line);margin:30px 0 32px}
.cabinet-tabs a{padding:12px 2px 17px;text-decoration:none;border-bottom:2px solid transparent;font-weight:650;color:var(--muted)}
.cabinet-tabs a[aria-current=page]{color:var(--accent);border-color:var(--accent)}
.account-main #devices-panel,.account-main #finances-panel{margin:0}
.panel-heading{margin-bottom:24px}
.panel-heading h2{margin-bottom:8px}
.panel-heading p{margin:0;font-size:14px;color:var(--muted)}
.account-main .primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}
.account-main button,.device-card,.cabinet-tabs a{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.account-main button:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 20px #c6ed6220}
.account-main button:focus-visible,.cabinet-tabs a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.device-card,.cabinet-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;min-width:0}
.device-card:hover{border-color:#536147}
.device-card h3{margin:17px 0 8px;overflow-wrap:anywhere}
.device-card .actions{margin-top:22px}
.device-card .actions button{font-size:12px;padding:10px 12px;min-height:42px}
.device-card p{font-size:13px}
.device-icon{width:32px;height:32px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.empty-state{text-align:center;padding:48px 20px;border:1px dashed var(--line);border-radius:18px}
.empty-state h3{margin:14px 0 8px}
.empty-state p{font-size:15px;color:var(--muted);margin:0}
.empty-device{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:var(--surface);color:var(--accent);font-size:26px}
.add-device-grid,.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.add-device-grid h4{margin:0;font-size:18px}
.add-device-grid p{font-size:14px;color:var(--muted)}
#add-device-panel,#external-secret{margin-top:24px}
.finance-grid .cabinet-card{margin:0;padding:30px}
.finance-grid h3{margin:0 0 18px}
.finance-grid .eyebrow{font-size:10px;color:var(--muted);letter-spacing:.12em;margin:0 0 18px}
.finance-value{font-size:22px;font-weight:650;margin:0 0 10px}
.finance-grid p:not(.eyebrow):not(.finance-value):not(.renewal-state){font-size:14px;line-height:1.65}
.renewal-state{color:var(--accent);font-weight:650;font-size:22px;margin:0 0 10px}
.renewal-state.is-off{color:var(--text)}
#cancel-renewal{width:100%;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:650;margin:14px 0 0}
#renewal-settings{margin-top:20px;font-size:13px}
summary{cursor:pointer;color:var(--muted)}
.account-main #renewal fieldset{padding:16px;margin:14px 0 0}
.test-banner{padding:13px 18px;border:1px solid #6d7951;border-radius:10px;color:var(--muted);font-size:13px;margin:0 0 22px}
.account-main .payments-card{margin:24px 0 14px}
.payments-card h3{margin:0 0 14px}
#payments{list-style:none;margin:0;padding:0}
#payments li{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:18px 0;font-size:14px}
#payments li span{color:var(--muted)}
#payments li strong{white-space:nowrap}
#payments-empty{font-size:14px;color:var(--muted);margin:0}
.finance-documents,.device-help{font-size:12px}
.account-security{border-top:1px solid var(--line);margin-top:32px;padding-top:22px;font-size:13px}
.cabinet-help{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px;margin-top:28px;color:var(--muted)}
.cabinet-help a{color:var(--text)}
@media(max-width:800px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid,.add-device-grid{grid-template-columns:1fr}.finance-grid{gap:18px}.cabinet-heading{align-items:flex-start}.cabinet-heading .actions{justify-content:flex-end}}
@media(max-width:500px){.cabinet-heading,.panel-heading{align-items:flex-start;flex-direction:column;gap:18px}.cabinet-heading .actions{align-self:flex-end;margin-top:-10px}.account-main{padding-top:24px}.account-main .cabinet-tabs{margin-top:20px}.device-grid{grid-template-columns:1fr}.finance-grid .cabinet-card,.cabinet-card{padding:22px}.panel-heading #add-device{width:100%;margin:0}#payments li{align-items:flex-start;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){.account-main button,.device-card,.cabinet-tabs a{transition:none}}
