.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start;max-width:1320px;margin:0 auto}
.settings-layout [hidden]{display:none!important}
.settings-nav{position:sticky;top:100px;display:grid;gap:5px;padding:8px 0}
.settings-nav button{appearance:none;display:flex;align-items:center;text-align:left;gap:10px;width:100%;min-height:46px;border:1px solid transparent;background:transparent;border-radius:9px;padding:11px 13px;color:var(--ink-soft);font:inherit;font-size:.83rem;font-weight:650;cursor:pointer;line-height:1.35}
.settings-nav button:hover{background:var(--pane-tint);color:var(--ink)}
.settings-nav button[aria-current]{background:var(--glass-tint);border-color:var(--glass);color:var(--glass-deep);font-weight:800}
.settings-nav button:focus-visible{outline:3px solid var(--glass-deep);outline-offset:2px}
.settings-nav button:disabled{opacity:.4;cursor:default}
.settingswrap{min-width:0}
.settings-theme{scroll-margin-top:106px;margin-bottom:34px}
.settings-theme-heading{padding:0 2px 14px}
.settings-theme-heading h2{font-size:1.13rem;line-height:1.4;margin:0 0 4px;letter-spacing:-.015em}
.settings-theme-heading h2:focus{outline:none}
.settings-theme-heading h2:focus-visible{outline:2px solid var(--glass-deep);outline-offset:5px;border-radius:2px}
.settings-theme-heading p{font-size:.83rem;color:var(--muted);margin:0;line-height:1.5;max-width:75ch}
.settings-layout .setgrp{border-radius:12px;box-shadow:0 2px 6px rgba(25,47,65,.035);margin-bottom:10px}
.settings-layout .setgrp>summary{padding:17px 20px;min-height:65px;font-size:.94rem;line-height:1.45;gap:20px}
.settings-layout .setgrp>summary:after{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:var(--pane-tint);font-weight:500}
.settings-layout .setgrp[open]>summary{background:var(--pane);border-bottom:1px solid var(--line)}
.settings-layout .setgrp[open]>summary:after{background:var(--glass-tint)}
.settings-layout .setgrp .setdesc{font-size:.8rem;line-height:1.5;margin-top:3px;font-weight:400}
.settings-layout .setgrp>.setbody{padding:0 22px 22px}
.settings-layout .setgrp>.setbody>p:first-child,.settings-layout .setgrp>.setbody>div:first-child:not(.settings-section),.settings-layout .setgrp>.setbody>button:first-child{margin-top:20px}
.settings-section{padding:22px 0 0;margin:0}
.settings-section+.settings-section{border-top:1px solid var(--line);margin-top:22px}
.settings-section h3{font-size:.9rem;line-height:1.5;font-weight:750;margin:0 0 4px;color:var(--ink)}
.settings-section-description{font-size:.8rem;line-height:1.55;color:var(--muted);margin:0 0 17px;max-width:78ch}
.settings-layout .settings-fields,.settings-layout .frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;align-items:start;margin:0 0 15px}
.settings-layout .settings-fields>.field,.settings-layout .frow>.field{margin:0;min-width:0}
.settings-layout .field{margin-bottom:15px}
.settings-layout .field label{display:block;font-size:.81rem;font-weight:700;line-height:1.45;margin-bottom:7px;overflow-wrap:anywhere}
.settings-layout input:not([type=checkbox]):not([type=radio]),.settings-layout select{min-height:44px;font-size:.88rem;line-height:1.4;padding:10px 12px;max-width:100%;width:100%}
.settings-layout textarea{font-size:.87rem;line-height:1.65;padding:12px 14px;min-height:112px;max-width:100%;width:100%;resize:vertical}
.settings-layout input[type=checkbox],.settings-layout input[type=radio]{flex:0 0 18px;width:18px;height:18px;accent-color:var(--glass-deep)}
.settings-layout .field>.hint{font-size:.76rem;line-height:1.5;margin-top:6px}
.settings-layout .hint{line-height:1.55;overflow-wrap:anywhere}
.settings-layout .chk{min-height:42px;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.5;margin-bottom:12px}
.settings-layout .chk input{margin-top:2px}
.settings-layout .actions,.settings-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-start;margin:14px 0 0}
.settings-layout .actions .btn,.settings-actions .btn{min-height:42px;white-space:normal;line-height:1.4}
.settings-layout .actions>.hint,.settings-actions>.hint{flex-basis:100%;font-size:.78rem}
.settings-layout .settings-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.79rem;margin:0 0 16px;color:var(--muted)}
.settings-layout .settings-status .badge{font-size:.76rem}
.settings-layout .firma-multi-section{background:transparent;padding:0;border:0;border-radius:0;margin:16px 0}
.settings-layout .firma-multi-head{gap:12px;align-items:flex-start}
.settings-layout .firma-multi-head h3{font-size:.82rem}
.settings-layout .firma-multi-head p{line-height:1.5}
.settings-layout .firma-multi-row{padding:13px;background:var(--pane-tint);border-radius:9px}
.settings-layout .firma-phone-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}
.settings-layout .firma-phone-row .firma-primary-phone{justify-content:flex-start;background:var(--pane);min-height:42px;white-space:normal}
.settings-layout .firma-phone-row .firma-row-remove{justify-self:end;min-height:42px}
.settings-layout .firma-multi-row .field{margin:0}
.settings-layout .settings-advanced{margin-top:14px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:var(--pane-tint)}
.settings-layout .settings-advanced>summary{padding:11px 0;font-size:.8rem;font-weight:650;cursor:pointer}
.settings-layout .settings-advanced>summary:after{content:'+'}
.settings-layout .settings-advanced[open]>summary:after{content:'−'}
.settings-layout .settings-advanced .designpreview{border:0;padding:0 0 12px;margin:0!important;box-shadow:none}
.settings-layout .settings-danger{border-left:3px solid var(--red);padding-left:15px}
.settings-empty{padding:32px 22px;border:1px dashed var(--line);border-radius:12px;background:var(--pane);color:var(--muted)}
.settings-empty p{margin-bottom:16px}
.settings-tools{max-width:1320px;margin:0 auto 25px;gap:16px}
.settings-tools input{min-height:44px}
.topbar:has([data-settings-save]){position:sticky;top:0;z-index:8;background:var(--bg);padding:12px 0 16px;margin-top:-12px;gap:14px;border-bottom:1px solid var(--line);margin-bottom:20px}
.settings-topbar::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:32px;background:var(--bg);pointer-events:none}
.topbar:has([data-settings-save]) h1 small{font-size:.79rem;font-weight:400;line-height:1.5;max-width:65ch}
.topbar:has([data-settings-save]) .actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
[data-settings-save]{min-height:44px}
#settings_save_state{font-size:.75rem;color:var(--muted);line-height:1.4}
#settings_save_state.is-dirty{color:var(--amber);font-weight:650}
@media(max-width:1100px){.settings-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.settings-nav button{font-size:.8rem;padding:10px}.settings-layout .setgrp>.setbody{padding-right:18px;padding-left:18px}}
@media(max-width:900px){
  .settings-layout{display:block}
  .settings-nav{position:static;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 22px}
  .settings-nav button{width:auto;flex:1 1 130px;justify-content:center;text-align:center;border-color:var(--line);background:var(--pane);min-height:44px}
  .settings-theme{scroll-margin-top:140px}
  .settings-theme-heading{padding-bottom:12px}
}
@media(max-width:560px){
  .settings-layout .settings-fields,.settings-layout .frow{grid-template-columns:minmax(0,1fr);gap:15px}
  .settings-layout .setgrp>summary{padding:15px;font-size:.91rem;gap:12px}
  .settings-layout .setgrp>.setbody{padding:0 15px 18px}
  .settings-section{padding-top:19px}
  .settings-section+.settings-section{margin-top:19px}
  .settings-layout .firma-phone-row{grid-template-columns:minmax(0,1fr)}
  .settings-layout .firma-multi-head{flex-wrap:wrap}
  .settings-layout .firma-multi-head .btn{min-height:40px}
  .settings-layout .firma-owner-row{grid-template-columns:minmax(0,1fr)}
  .settings-layout .firma-owner-row .firma-row-remove{justify-self:end}
  .settings-layout .actions .btn{flex:1 1 150px}
  .topbar:has([data-settings-save]){flex-direction:column;align-items:stretch;padding:10px 0 12px}
  .topbar:has([data-settings-save]) h1{font-size:1.25rem}
  .topbar:has([data-settings-save]) .actions{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .topbar:has([data-settings-save]) h1 small{display:none}
  [data-settings-save]{font-size:.79rem}
  #settings_save_state{font-size:.7rem}
  .settings-tools{flex-wrap:wrap;gap:7px;margin-bottom:18px}
  .settings-tools>.hint{padding:0;font-size:.76rem}
  .settings-tools .field{flex-basis:100%}
  .settings-nav button{font-size:.77rem;flex-basis:120px}
}
