/* Settings: category navigation beside content on large screens, a category list with
   a way back on phones, groups with their own state line and actions. */
.s-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.s-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px}
.s-search{position:relative;display:flex;align-items:center}
.s-search>.icon{position:absolute;left:14px;width:17px;height:17px;color:#8fafda;pointer-events:none}
.s-search input{width:100%;min-height:48px;padding:0 14px 0 42px;border-radius:14px;border:1px solid #3b5170;background:#0c1728;color:#e5f0ff;font:inherit;font-size:14px}
.s-search input:focus{border-color:#6fa8ff;outline:2px solid #8ebcff;outline-offset:2px}
.s-results{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid #2b3d56;border-radius:14px;background:#111c2c;max-height:340px;overflow:auto}
.s-results[hidden]{display:none}
.s-result{display:flex;flex-direction:column;gap:2px;min-height:48px;padding:8px 10px;border-radius:10px;background:transparent;color:var(--text);text-align:left}
.s-result:hover,.s-result:focus{background:#1d3354}
.s-result small{color:var(--muted);font-size:11px}
.s-nav{display:flex;flex-direction:column;gap:16px}
.s-nav-area h2{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8fa8c8;margin:0 0 6px 4px;font-weight:600}
.s-nav-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 10px;border-radius:12px;color:#c3d6f0;border:1px solid transparent}
.s-nav-item:hover{background:#15243a}
.s-nav-item.active{background:#1d3354;border-color:#3b5b82;color:#eef5ff}
.s-nav-item>span:nth-child(2){flex:1;min-width:0}
.s-nav-item strong{display:block;font-size:14px;font-weight:600}
.s-nav-item small{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}
.s-nav-item>.icon{width:15px;height:15px;color:#7f9bbd;flex-shrink:0}
.s-nav-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#1a2c45;color:#9fc5ff;flex-shrink:0}
.s-nav-icon .icon{width:18px;height:18px}
.s-content{display:flex;flex-direction:column;gap:18px;min-width:0}
.s-section-head h2{font-size:24px;margin-top:4px;letter-spacing:-.4px}
.s-back{display:inline-flex;align-items:center;min-height:44px;color:var(--link);font-size:15px}
.s-warn{margin:0}
.s-group{display:block}
.s-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.s-group-head h3{font-size:17px}
.s-group-head p{color:var(--muted);font-size:13px;line-height:1.55;margin-top:4px;max-width:62ch}
.s-state{font-size:12px;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:24px}
.s-state .icon{width:14px;height:14px}
.s-state:empty{display:none}
.s-state[data-state="dirty"]{color:var(--d-warn,#f1c087);font-weight:600}
.s-state[data-state="saved"]{color:var(--d-good,#71dab3)}
.s-state[data-state="error"]{color:#ffc2ae;font-weight:600}
.s-group-body{display:flex;flex-direction:column;gap:6px;max-width:680px}
.s-field{display:flex;flex-direction:column;gap:6px;margin:8px 0;border:0;padding:0;min-width:0;border-radius:12px}
.s-field input:not([type=checkbox]):not([type=radio]),.s-field select,.s-field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid #3b5170;background:#0c1728;color:#e5f0ff;font:inherit}
.s-field textarea{resize:vertical;min-height:88px}
.s-field [aria-invalid="true"]{border-color:#ff9d8a!important}
.s-error{color:#ffc2ae;font-size:12px;min-height:0}
.s-error:empty{display:none}
.s-error-line{color:#ffc2ae;background:#422927;border:1px solid #8b5146;border-radius:10px;padding:10px 12px;font-size:13px;margin:10px 0 0}
.s-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.s-checks{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 18px}
.s-checks legend{width:100%;margin-bottom:4px}
.s-days{gap:8px}
.s-day{position:relative}
.s-day input{position:absolute;opacity:0;width:1px;height:1px}
.s-day span{display:grid;place-items:center;min-width:48px;min-height:44px;border-radius:12px;border:1px solid #33496a;color:#9fb6d3;font-size:13px;cursor:pointer}
.s-day input:checked+span{background:#29466e;border-color:#6298de;color:#e9f3ff}
.s-day input:focus-visible+span{outline:2px solid #8ebcff;outline-offset:2px}
.s-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.s-cards legend{grid-column:1/-1;margin-bottom:4px}
.s-cards>.field-hint{grid-column:1/-1}
.s-choice{position:relative;display:block;cursor:pointer}
.s-choice input{position:absolute;opacity:0;width:1px;height:1px}
.s-choice span{display:flex;flex-direction:column;gap:3px;min-height:64px;padding:12px 14px;border:1px solid #33496a;border-radius:14px;background:#101c2d}
.s-choice strong{font-size:14px}
.s-choice small{font-size:12px;color:var(--muted)}
.s-choice input:checked+span{border-color:#6298de;background:#1d3354;box-shadow:inset 0 0 0 1px #6298de}
.s-choice input:focus-visible+span{outline:2px solid #8ebcff;outline-offset:2px}
.s-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid #26364c;margin-top:14px;padding-top:14px}
.s-actions[hidden]{display:none}
.s-more{border-top:1px solid #26364c;margin-top:10px;padding-top:4px}
.s-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#a9c9f4;font-size:13px}
.s-plan{margin:6px 0 10px;padding-left:20px;line-height:1.7;font-size:13px;color:#c9d9ef}
.s-status{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #22334a}
.s-status:first-of-type{border-top:0}
.s-status strong{font-size:14px}
.s-status p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}
.s-badge{flex-shrink:0;font-size:11px;padding:4px 9px;border-radius:7px;white-space:nowrap}
.s-badge.is-on{background:#1b3c38;color:#a4e1ca}
.s-badge.is-off{background:#2b3446;color:#c3cddc;border:1px dashed #5d6f8a}
.s-message-row{display:grid;grid-template-columns:200px minmax(0,1fr) 44px;gap:0 10px;align-items:end}
.s-message-row .btn{min-height:44px;padding:0;margin-bottom:17px}
.s-roles td,.s-roles th{font-size:13px;line-height:1.5;vertical-align:top;border-bottom:1px solid #2b3b51;padding:12px 10px}
.s-roles thead th{border-bottom-color:#3a4e69}
.s-group h4{font-size:14px}
.s-group .settings-row p{max-width:52ch}
/* Search jump: a short, calm highlight; static outline when motion is reduced. */
@keyframes s-flash{0%{box-shadow:0 0 0 0 #8ebcff00}20%{box-shadow:0 0 0 4px #8ebcff99}100%{box-shadow:0 0 0 0 #8ebcff00}}
.s-highlight{animation:s-flash 2s ease-out;outline:2px solid #8ebcff;outline-offset:6px}
@media(prefers-reduced-motion:reduce){.s-highlight{animation:none}}
body[data-motion="reduced"] .s-highlight{animation:none}
@media(max-width:1000px){.s-layout{grid-template-columns:240px minmax(0,1fr);gap:20px}}
@media(max-width:700px){
 .s-layout{display:block}
 .s-side{display:none}
 .s-nav-mobile{margin-top:14px}
 .s-nav-mobile .s-nav-item{min-height:64px;background:#121d2e;border-color:#22334a;margin-bottom:6px}
 .s-grid,.s-cards{grid-template-columns:1fr}
 .s-group-head{flex-direction:column;gap:6px}
 .s-actions .btn{flex:1 1 auto}
 .s-message-row{grid-template-columns:1fr 44px}
 .s-message-row label:first-child{grid-column:1/2}
 .s-message-row label:nth-child(2){grid-column:1/-1;grid-row:2}
 .s-message-row .btn{grid-column:2;grid-row:1}
 .s-section-head h2{font-size:22px}
}

/* Availability: self-booking switch, break and exception rows. */
.s-sub{border-top:1px solid #26364c;margin-top:12px;padding-top:12px}
.s-sub h4{font-size:14px;margin-bottom:8px}
.s-toggle{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 12px;border:1px solid #33496a;border-radius:12px;background:#101c2d;cursor:pointer}
.s-toggle input{width:22px;height:22px;margin-top:2px;flex-shrink:0;accent-color:#5d9cf0}
.s-toggle span{display:flex;flex-direction:column;gap:3px}
.s-toggle strong{font-size:14px}
.s-toggle small{font-size:12px;color:var(--muted);line-height:1.5}
.s-toggle:focus-within{outline:2px solid #8ebcff;outline-offset:2px}
.s-exception-row{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.8fr)) minmax(0,1.2fr) 44px;gap:0 10px;align-items:end;border:0;padding:0;margin:0 0 4px}
.s-exception-row .field{margin:6px 0}
.s-exception-row input{min-height:44px;width:100%}
.s-exception-row .btn{min-height:44px;padding:0;margin-bottom:6px}
@media(max-width:700px){
 .s-exception-row{grid-template-columns:1fr 1fr 44px;border-top:1px solid #26364c;padding-top:6px}
 .s-exception-row label:nth-of-type(1){grid-column:1/3}
 .s-exception-row label:nth-of-type(4){grid-column:1/3}
 .s-exception-row .btn{grid-column:3;grid-row:1}
}
