:root{color-scheme:dark;--bg:#0f1419;--panel:#171e25;--ink:#f3f3ed;--muted:#a8b3ba;--line:#303b45;--accent:#f29b55;--soft:#202b31;--good:#9ac9ab;--radius:6px;--button-bg:#f29b55;--button-ink:#0f1419}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.light{color-scheme:light;--bg:#f4f3ee;--panel:#fff;--ink:#19242a;--muted:#52636e;--line:#ccd3d3;--accent:#365f96;--soft:#e6ece8;--good:#236845;--radius:6px;--button-bg:#365f96;--button-ink:#ffffff}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,.button{background:var(--button-bg,var(--accent));color:var(--button-ink,var(--bg));border:1px solid transparent;border-radius:5px;padding:12px 20px;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:16px}button:hover,.button:hover{filter:brightness(1.10);color:var(--button-ink,var(--bg))}button:disabled{opacity:.5;cursor:not-allowed}.quiet{color:var(--ink);background:transparent;border-color:var(--line)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.top{max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 4%;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:1.5px;font-size:20px}.brand-logo{display:block;width:56px;height:56px;flex:none;object-fit:contain}.brand-sub{display:block;font-size:9px;font-weight:500;letter-spacing:3px;color:var(--muted)}.brand small{display:none}nav{display:flex;align-items:center;gap:22px;font-size:13px}nav a{text-decoration:none}nav form{margin:0}.menu-toggle{display:none}.skip{position:absolute;left:10px;top:-100px;padding:10px;background:var(--panel);z-index:10}.skip:focus{top:10px}main{max-width:1360px;min-height:70vh;margin:auto;padding:0 4% 70px}h1,h2,h3,p{margin:0 0 20px}h1{font-size:clamp(36px,5vw,66px);line-height:1.08;letter-spacing:-2px}h2{font-size:25px;line-height:1.3;letter-spacing:-.5px}h3{font-size:21px;line-height:1.3}p{color:var(--muted);max-width:72ch}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--accent);margin-bottom:24px}.hero{position:relative;isolation:isolate;overflow:hidden;padding:90px 0 65px;border-bottom:1px solid var(--line);margin-bottom:48px}.hero:after{content:"";position:absolute;z-index:-1;right:-15%;top:30px;width:55%;height:90%;background:repeating-linear-gradient(132deg,transparent 0 27px,var(--line) 28px 29px,transparent 30px 50px);opacity:.4;transform:skewY(-12deg);mask-image:linear-gradient(to left,#000,transparent)}.hero h1{font-size:clamp(42px,6.4vw,86px);max-width:1000px}.hero p{font-size:18px;max-width:600px;margin:30px 0}.hero-data{display:flex;gap:70px;margin-top:60px}.hero-data>span{font-size:40px;font-weight:300}.hero-data small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head h2{margin:0}.section-head form{display:flex;align-items:end;gap:10px}.section-head label{margin:0}.race-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.race-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:28px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.race-card:hover{border-color:var(--accent);transform:translateY(-3px)}.race-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:var(--muted)}.dot{width:8px;height:8px;background:var(--muted);border-radius:50%}.dot.open{background:var(--good)}.distance{font-size:70px;line-height:1.2;font-weight:300;letter-spacing:-4px;margin:34px 0 20px}.distance small{font-size:14px;letter-spacing:2px;color:var(--accent)}.race-card p{font-size:14px;flex:1}.race-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:14px}.race-bottom a{text-decoration:none;color:var(--accent)}.page-head{padding:60px 0 30px}.price{font-size:30px;color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);padding:30px;border-radius:6px;margin:24px 0}.narrow{max-width:800px;margin:60px auto}.auth{max-width:500px;margin:70px auto}.auth h1{font-size:40px}.auth button{width:100%;margin:10px 0 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted);margin-bottom:20px}input,select,textarea{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink)}textarea{min-height:120px;resize:vertical}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}input[type=hidden]{display:none}label:has(input[type=hidden]){display:none}.check{flex-direction:row;align-items:flex-start;margin:22px 0}.form-grid label{margin:0}.form-grid+button{margin-top:24px}details{border-block:1px solid var(--line);padding:18px 0;margin:24px 0}summary{cursor:pointer}details p{margin:24px 0}.prose{line-height:1.85;white-space:normal;overflow-wrap:anywhere}.notice{background:var(--soft);border-left:3px solid var(--accent);padding:18px 22px;margin:24px 0}.honeypot{position:absolute;left:-9999px}.reference,.mono{font-family:monospace;overflow-wrap:anywhere}.reference{padding:18px;border:1px dashed var(--accent);font-size:20px;letter-spacing:2px;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:40px;font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.large-data{font-size:44px;color:var(--accent);margin-bottom:20px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;background:var(--soft);white-space:nowrap}td,th{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}td code{display:block;max-width:380px;overflow-wrap:anywhere}td a{color:var(--accent)}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:25px 0}.filters label{flex:1 1 140px;margin:0}.filters button{height:49px}.badge{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:4px 10px;font-size:11px;white-space:nowrap}.approved,.paid{color:var(--good)}.pending,.unpaid{color:var(--accent)}.cancelled,.rejected{color:#e7a0a0}.pager{display:inline-block;padding:8px 15px;border:1px solid var(--line);margin:5px}.list-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none;font-size:13px}.list-link span:last-child{color:var(--accent);white-space:nowrap}.inline{display:flex;gap:20px;align-items:center;margin:20px 0}.details{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;font-size:13px;gap:12px}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.log-line{font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}.empty{padding:35px;color:var(--muted);text-align:center}meter{width:100%;accent-color:var(--accent)}footer{border-top:1px solid var(--line);padding:30px 4%;display:flex;gap:30px;flex-wrap:wrap;font-size:11px;letter-spacing:1px;color:var(--muted)}footer span{margin-right:auto}@media(max-width:1000px){.top{flex-wrap:wrap}nav{gap:14px}.race-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.top{padding:18px 5%}.brand{font-size:17px}.brand-logo{width:46px;height:46px}.menu-toggle{display:block;background:transparent;color:var(--ink);padding:6px 12px;border-color:var(--line)}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:16px 0}nav.open{display:flex}nav a{padding:8px}main{padding:0 5% 40px}.hero{padding:55px 0 40px}.hero h1{letter-spacing:-1.6px}.hero-data{margin-top:40px}.hero:after{width:90%;opacity:.25}.race-grid,.split,.form-grid{grid-template-columns:1fr}.race-card{padding:24px}.full{grid-column:auto}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:18px}.stat strong{font-size:32px}.panel{padding:22px}.page-head{padding-top:40px}.section-head{align-items:flex-start;flex-direction:column}.section-head form{width:100%}.section-head form label{flex:1}.distance{font-size:64px}.narrow{margin:35px auto}.list-link{flex-wrap:wrap}.details{grid-template-columns:1fr}.details dd{padding-bottom:10px}.auth h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Registrations: direct access to every page without sequential paging. */
.registration-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 16px}
.registration-pagination__links{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.registration-pagination .pager{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;margin:0;padding:7px 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--ink);text-decoration:none;font-size:14px}
.registration-pagination .pager:hover{border-color:var(--accent);color:var(--accent)}
.registration-pagination .pager-current,.registration-pagination .pager-current:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}
.registration-pagination__dots{padding:0 5px;color:var(--muted)}
.registration-pagination__jump{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0}
.registration-pagination__jump label{display:inline-flex;align-items:center;margin:0;font-size:13px;white-space:nowrap}
.registration-pagination__jump input[type=number]{width:74px;min-height:38px;padding:5px 9px;text-align:center;font-variant-numeric:tabular-nums}
.registration-pagination__jump button{min-height:38px;padding:7px 13px;font-size:13px}
.registration-pagination__count{color:var(--muted);font-size:12px;white-space:nowrap}
@media(max-width:680px){.registration-pagination{align-items:stretch}.registration-pagination__links{gap:5px}.registration-pagination .pager{min-width:35px;min-height:36px;padding:6px 10px}.registration-pagination__jump{width:100%}}

/* Full-width, readable registrations management. Other pages stay unchanged. */
@supports selector(main:has(.registrations-table)) {
  main:has(.registrations-table){max-width:1920px;padding-inline:clamp(16px,2.4vw,46px)}
}
.registrations-table-wrap{max-width:100%;border:0;border-radius:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.registrations-table{width:100%;min-width:1100px;font-size:13px;line-height:1.4}
.registrations-table th,.registrations-table td{padding:11px 12px;vertical-align:middle}
.registrations-table th{font-size:10px;letter-spacing:.5px}
.registrations-table td:nth-child(1),.registrations-table td:last-child{white-space:nowrap}
.registrations-table td:nth-child(2){min-width:145px}
.registrations-table td:nth-child(3){min-width:175px}
.registrations-table td:nth-child(4){min-width:185px}
.registrations-table td:nth-child(5){white-space:nowrap}
.registrations-table td:last-child{font-size:11px;color:var(--muted)}
.registrations-table .badge{padding:3px 8px;font-size:10px}
/* Status and its action stay side by side instead of stacking into a tall row. */
.registrations-table td.registration-payment-cell{min-width:0;white-space:nowrap;width:1%}
.registration-payment-actions{display:inline-flex;align-items:center;gap:0;margin:0 0 0 7px;vertical-align:middle}
.registration-payment-form{display:inline-flex;margin:0}
.registration-payment-form input[type=hidden]{display:none}
button.registration-payment-button{min-height:27px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:10px;font-weight:650;line-height:1.2;white-space:nowrap;gap:0}
button.registration-payment-button--paid{color:var(--good)}
button.registration-payment-button--unpaid{color:var(--accent)}
button.registration-payment-button:hover{background:var(--soft);border-color:var(--accent);color:var(--ink)}
button.registration-payment-button:disabled{opacity:.55;cursor:wait}
button.registration-payment-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fb-condition-editor{margin-top:10px;padding:12px 14px;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.fb-condition-help{font-size:12px;opacity:.75;margin:4px 0 8px}
.fb-condition-row{display:flex;gap:10px;flex-wrap:wrap}
.fb-condition-row select{flex:1;min-width:160px}
.email-bulk-bar{margin:10px 0 6px}
#emails-bulk-delete:disabled{opacity:.45;cursor:not-allowed}
.emails-table .email-check-col{width:34px;text-align:center}
.emails-table .email-check-col input{width:16px;height:16px;cursor:pointer}
.emails-table tr.row-selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.email-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.email-row-actions .inline{margin:0}
button.email-delete-btn{color:var(--danger,#c0392b);border-color:color-mix(in srgb,var(--danger,#c0392b) 35%,var(--line))}
button.email-delete-btn:hover{background:color-mix(in srgb,var(--danger,#c0392b) 12%,transparent);border-color:var(--danger,#c0392b)}
.badge.email-queued{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.badge.email-sent{background:color-mix(in srgb,var(--good) 20%,transparent)}
.badge.email-failed{background:color-mix(in srgb,var(--danger,#c0392b) 18%,transparent);color:var(--danger,#c0392b)}
.badge.email-sending{background:color-mix(in srgb,var(--accent) 10%,transparent);opacity:.8}
.smtp-diag{margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}
.smtp-diag-ok{border-color:color-mix(in srgb,var(--good) 45%,var(--line))}
.smtp-diag-fail{border-color:color-mix(in srgb,var(--danger,#c0392b) 45%,var(--line))}
.smtp-diag-steps{margin:10px 0 6px;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:6px}
.smtp-diag-steps li{font-size:13px;line-height:1.45}
.smtp-diag-steps li.pass>span{color:var(--good)}
.smtp-diag-steps li.fail>span{color:var(--danger,#c0392b);font-weight:700}
.smtp-diag-steps code{word-break:break-word;background:transparent;padding:0}
.smtp-diag-hint{font-size:12px;opacity:.8;margin:8px 0 0}
.registration-delete-form{display:inline-flex;margin:0 0 0 6px}
.registration-delete-form input[type=hidden]{display:none}
button.registration-delete-button{color:var(--danger,#c0392b);border-color:color-mix(in srgb,var(--danger,#c0392b) 35%,var(--line))}
button.registration-delete-button:hover{background:color-mix(in srgb,var(--danger,#c0392b) 12%,transparent);border-color:var(--danger,#c0392b);color:var(--danger,#c0392b)}
@media(max-width:680px){
  .registrations-table{min-width:1080px}
  .registration-payment-actions{margin-left:7px}
  button.registration-payment-button{min-height:34px;padding:6px 9px;font-size:11px}
}


/* 2026-10-16: registration management full-width + genuinely compact buttons.
   No :has selector dependency and CSS version is bumped in app/layout.php. */
main#main.registrations-fullwidth {
  max-width:none;
  width:100%;
  margin:0;
  padding:0 clamp(12px,1.75vw,34px) 64px;
}
main#main.registrations-fullwidth .registrations-table-wrap {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border:0;
  border-radius:0;
  -webkit-overflow-scrolling:touch;
}
main#main.registrations-fullwidth .registrations-table {
  min-width:1080px;
  width:100%;
  table-layout:auto;
  font-size:12px;
}
main#main.registrations-fullwidth .registrations-table th,
main#main.registrations-fullwidth .registrations-table td {
  padding:10px 11px;
  line-height:1.3;
  vertical-align:middle;
}
main#main.registrations-fullwidth .registrations-table td.registration-payment-cell {
  width:185px;
  min-width:185px;
  white-space:nowrap;
}
main#main.registrations-fullwidth .registrations-table td.registration-payment-cell > .badge,
main#main.registrations-fullwidth .registrations-table td.registration-payment-cell > .registration-payment-actions {
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
}
main#main.registrations-fullwidth .registration-payment-actions {
  margin-left:7px;
  gap:0;
  flex-wrap:nowrap;
}
main#main.registrations-fullwidth .registration-payment-form {
  display:inline-flex;
  align-items:center;
  margin:0;
  width:auto;
}
main#main.registrations-fullwidth .registration-payment-form button.registration-payment-button {
  all:unset;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 5px;
  border-radius:4px;
  font:600 11px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  white-space:nowrap;
  color:var(--accent);
}
main#main.registrations-fullwidth .registration-payment-form button.registration-payment-button--unpaid {color:var(--muted)}
main#main.registrations-fullwidth .registration-payment-form button.registration-payment-button:hover {background:var(--soft);color:var(--ink)}
main#main.registrations-fullwidth .registration-payment-form button.registration-payment-button:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
main#main.registrations-fullwidth .registration-payment-form button.registration-payment-button:disabled {opacity:.6;cursor:wait}
@media (max-width:680px){
  main#main.registrations-fullwidth{padding-inline:12px}
  main#main.registrations-fullwidth .registrations-table{min-width:1080px}
}

/* Sougliani 0.3 Form Builder — full-width, flat, compact management. */
main#main:has(.fb-head),main#main:has(.fb-assignments){max-width:1760px;width:100%;padding-inline:clamp(16px,2vw,38px)}
.fb-head{padding:44px 0 12px}.fb-head h1{font-size:clamp(32px,4vw,54px)}
.fb-layout{display:grid;grid-template-columns:minmax(235px,290px) minmax(0,1fr);gap:22px;align-items:start}
.fb-sidebar{position:sticky;top:12px}.fb-sidebar .panel,.fb-workspace>.panel,.fb-assignments{margin-top:0}
.fb-sidebar h2{font-size:20px}.fb-form-link{display:block;text-decoration:none;padding:13px 10px;border-bottom:1px solid var(--line)}
.fb-form-link:last-child{border-bottom:0}.fb-form-link strong{display:block;font-size:13px;line-height:1.35}
.fb-form-link small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.fb-form-link.current{background:var(--soft);box-shadow:inset 3px 0 var(--accent)}
.fb-block{width:100%}.fb-heading-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.fb-heading-line h2,.fb-heading-line h3{margin-bottom:5px}.fb-heading-line p{font-size:13px;margin:0}.fb-heading-line .fb-tools{display:flex;flex-wrap:wrap;gap:8px}
.fb-tools form{margin:0}.fb-tools button{padding:8px 10px;font-size:12px}.fb-form-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fb-form-top>label:first-child{flex:1;min-width:220px}.fb-check{display:flex;flex-direction:row;align-items:center;gap:10px;align-self:center;font-size:13px}
.fb-check input[type=checkbox]{width:18px;height:18px;margin:0}.fb-fields{display:grid;gap:10px}.fb-field-row{padding:16px 0;border-bottom:1px solid var(--line)}
.fb-field-row:last-child{border:0}.fb-field-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.fb-field-head strong{font-size:13px}.fb-field-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.fb-field-controls small{color:var(--muted);font-size:11px}.fb-field-controls button.fb-small{padding:3px 10px;font-size:16px;line-height:1.3;min-width:28px}
.fb-field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.fb-field-grid label{margin:0;min-width:0}.fb-field-grid input,.fb-field-grid select{width:100%;padding:9px;font-size:13px}
.fb-field-grid textarea{min-height:70px;font-size:12px;line-height:1.4}.fb-field-grid .fb-check{align-self:end;min-height:46px}
.fb-field-options{grid-column:span 3}.fb-save-button{margin-top:24px}.fb-extra-edit{border:0;border-top:1px solid var(--line);padding:13px 0;margin:0}
.fb-extra-edit>summary{font-size:13px;list-style:revert}.fb-extra-edit summary::marker{color:var(--accent)}
.fb-extra-form{padding:18px 0 8px}.fb-extra-form .form-grid{grid-template-columns:1fr 1fr}.fb-extra-form label{margin:0}
.fb-archive-inline{margin-bottom:16px}.fb-archive-inline button{padding:7px 10px;font-size:12px}.fb-danger{color:#e79696;border-color:var(--line)}
.fb-assign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fb-assignment{display:flex;gap:10px;align-items:end;padding:13px 0;border-top:1px solid var(--line)}
.fb-assignment label{flex:1;min-width:0;margin:0}.fb-assignment strong{font-size:12px;color:var(--ink)}
.fb-assignment select{padding:9px;font-size:12px}.fb-assignment button{font-size:12px;padding:10px}
.fb-link-button{display:inline-flex;padding:8px 12px;text-decoration:none;font-size:12px;border:1px solid var(--line)}
.fb-public-extras{grid-column:1/-1;padding:24px 0 8px;border-block:1px solid var(--line);margin:25px 0}
.fb-public-extras h2{font-size:22px}.fb-extra-option{margin-bottom:18px;max-width:650px}
.fb-extra-option label{display:block;color:var(--ink);font-size:14px;font-weight:650;margin-bottom:7px}
.fb-extra-option small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.fb-extra-choice{max-width:400px}
.fb-total{display:flex;align-items:center;gap:18px;font-size:19px;padding-top:20px;border-top:1px solid var(--line)}
.fb-total strong{font-size:26px;color:var(--accent)}.fb-public-fieldset{border:0;padding:0;margin:0}
.fb-public-fieldset legend{color:var(--muted);font-size:13px}.fb-radio{display:flex;flex-direction:row;align-items:center;gap:8px;margin:6px 0}
.fb-radio input{width:18px;height:18px}.fb-compact-extra{min-width:120px;font-size:11px;white-space:nowrap}.fb-compact-extra span{display:block}
@media(max-width:1100px){.fb-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fb-field-options{grid-column:span 2}}
@media(max-width:840px){.fb-layout{grid-template-columns:1fr}.fb-sidebar{position:static}.fb-sidebar .panel{margin-bottom:12px}.fb-assign-grid{grid-template-columns:1fr}.fb-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.fb-field-grid{grid-template-columns:1fr}.fb-field-options{grid-column:auto}.fb-field-row{padding:12px 0}.fb-field-controls small{font-size:10px}.fb-extra-form .form-grid{grid-template-columns:1fr}.fb-assign-grid{grid-template-columns:1fr}.fb-assignment{flex-wrap:wrap}}

.fb-delivery-form{margin:0}.fb-delivery-form button{white-space:nowrap;font-size:11px;padding:5px 8px;border-color:var(--line)}

/* Sougliani v0.4: general-purpose editor and compact, coherent form-builder panels. */
.fb-head p{max-width:900px}.fb-extra-edit>summary{padding:5px 0;font-weight:600}.fb-extra-form .fb-check{align-self:end}.fb-upgrade{border-color:var(--accent)}.fb-public-extras .fb-extra-option{max-width:720px}.fb-public-extras .fb-extra-choice{max-width:560px}.fb-link-button{display:inline-flex;align-items:center;min-height:38px}
@media(max-width:680px){.fb-head h1{font-size:clamp(28px,8vw,46px)}.fb-public-extras .fb-extra-option{max-width:100%}}

/* v0.4.4 — SiteForge-inspired drag & drop inside the existing Sougliani Forms editor.
   Inherits the Control Room theme; all selectors are scoped to the form builder. */
.fb-builder-head{border-top:1px solid var(--line);padding-top:22px;margin-top:12px}
.fb-builder-eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:6px}
.fb-builder{display:grid;grid-template-columns:230px minmax(260px,1fr);gap:13px;align-items:start;margin:22px 0}
.fb-palette,.fb-canvas-wrap,.fb-live-preview{border:1px solid var(--line);border-radius:6px;background:var(--bg);min-width:0}
.fb-live-preview{grid-column:1/-1}
.fb-pane-title{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:49px;padding:12px 14px;border-bottom:1px solid var(--line)}
.fb-pane-title strong{font-size:12px}.fb-pane-title small{font-size:10px;color:var(--muted)}
.fb-palette{padding-bottom:10px}.fb-palette-group{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:15px 12px 6px}
.fb-palette-item{display:flex;width:calc(100% - 18px);margin:3px 9px;justify-content:flex-start;gap:11px;text-align:left;background:transparent;border:1px solid transparent;color:var(--ink);padding:8px 7px;font-size:12px;font-weight:550;line-height:1.3;border-radius:5px;touch-action:none;user-select:none}
.fb-palette-item:hover{background:var(--soft);border-color:var(--line);color:var(--ink)}
.fb-palette-item span{display:inline-grid;place-items:center;min-width:29px;height:27px;background:var(--panel);color:var(--accent);border:1px solid var(--line);font-size:14px;font-weight:750;border-radius:4px;font-family:ui-monospace,monospace}
.fb-fields{display:flex;flex-direction:column;gap:7px;min-height:56px;padding:12px}
.fb-field-row{position:relative;padding:0;border:1px solid var(--line);background:var(--panel);border-radius:5px;transition:border-color .15s,background .15s}
.fb-field-row:hover,.fb-field-row.is-open{border-color:var(--accent)}
.fb-field-row:last-child{border:1px solid var(--line)}.fb-field-row.is-open:last-child{border-color:var(--accent)}
.fb-field-head{display:flex;align-items:center;gap:4px;padding:8px;margin:0;min-width:0}
.fb-grip{flex:0 0 27px;width:27px;align-self:stretch;border:0;background:transparent;color:var(--muted);font-size:19px;cursor:grab;padding:0;touch-action:none;user-select:none}
.fb-grip:active{cursor:grabbing}.fb-grip:hover{color:var(--accent);background:transparent}
.fb-field-ident{background:transparent;color:var(--ink);padding:4px 0;border:0;flex:1;min-width:0;gap:8px;justify-content:flex-start;text-align:left}
.fb-field-ident:hover{color:var(--ink);filter:none}
.fb-item-count{font:11px ui-monospace,monospace;color:var(--muted);background:var(--soft);padding:5px 6px}
.fb-card-info{min-width:0;flex:1}.fb-card-info strong{font-size:12px;font-weight:700;line-height:1.3;display:block;word-break:break-word}.fb-card-info small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.fb-collapse-chevron{font-size:17px;color:var(--muted);transition:transform .15s}.fb-field-row.is-open .fb-collapse-chevron{transform:rotate(180deg)}
.fb-field-controls{flex:0 0 auto;display:flex;align-items:center;gap:2px}.fb-field-controls button.fb-small{min-width:23px;padding:4px;font-size:14px;border:0;line-height:1.1}
.fb-field-controls button.fb-small:hover{background:var(--soft);color:var(--ink)}.fb-locked{font-size:12px;color:var(--accent);padding:4px}
.fb-field-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;border-top:1px solid var(--line);background:var(--soft)}
.fb-field-row.is-open .fb-field-grid{display:grid}.fb-field-grid label{font-size:11px}
.fb-field-grid input,.fb-field-grid select{padding:9px;font-size:13px}.fb-field-grid textarea{padding:10px;background:var(--bg)}
.fb-field-grid .fb-check{grid-column:1/-1;min-height:20px}.fb-field-options{grid-column:1/-1}
.fb-field-grid [hidden]{display:none!important}.fb-drop-end{margin:0 12px 12px;padding:14px;text-align:center;font-size:11px;color:var(--muted);border:1px dashed var(--line);border-radius:5px}
.fb-drop-marker{height:8px;flex:0 0 8px;position:relative;background:var(--accent);border-radius:10px;margin:0 2px;box-shadow:0 0 0 4px var(--soft)}
.fb-drag-source{opacity:.3}.fb-is-dragging .fb-canvas-wrap{border-color:var(--accent)}.fb-is-dragging{user-select:none}
.fb-preview-surface{padding:18px;background:var(--bg)}.fb-preview-top{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.fb-preview-mark{background:var(--accent);color:var(--bg);width:32px;height:32px;display:grid;place-items:center;font-size:20px}
.fb-preview-top strong{font-size:13px;display:block}.fb-preview-top small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px}
.fb-live-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fb-live-field{min-width:0}.fb-live-label{display:block;color:var(--muted);font-size:11px;margin-bottom:5px;overflow-wrap:anywhere}
.fb-live-placeholder{display:block;border:1px solid var(--line);border-radius:3px;padding:11px;font-size:12px;color:var(--muted);overflow-wrap:anywhere;min-height:39px}
.fb-live-textarea{min-height:70px}.fb-live-select::after{content:'⌄';float:right}.fb-live-choice{color:var(--muted);font-size:12px;margin-bottom:4px}
.fb-live-heading,.fb-live-paragraph,.fb-live-divider{grid-column:1/-1;margin:6px 0}.fb-live-heading{font-size:18px;letter-spacing:-.3px;color:var(--ink)}
.fb-live-paragraph{color:var(--muted);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.fb-live-divider{border:0;border-top:1px solid var(--line)}
.fb-preview-bottom{color:var(--muted);font-size:10px;padding-top:15px;margin-top:18px;border-top:1px solid var(--line)}
.fb-save-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.fb-save-state{font-size:12px;color:var(--muted)}.fb-save-state.is-dirty{color:var(--accent)}.fb-save-button{margin-top:0}
.fb-public-heading{grid-column:1/-1;font-size:22px;line-height:1.3;margin:18px 0 4px}.fb-public-paragraph{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;margin:8px 0;color:var(--muted)}
.fb-public-divider{grid-column:1/-1;width:100%;border:0;border-top:1px solid var(--line);margin:16px 0}
@media(min-width:1350px){.fb-builder{grid-template-columns:230px minmax(330px,1fr) 260px}.fb-live-preview{grid-column:auto}.fb-live-output{grid-template-columns:1fr}.fb-preview-surface{padding:14px}}
@media(max-width:1100px){.fb-builder{grid-template-columns:210px minmax(240px,1fr)}.fb-live-preview{grid-column:1/-1}}
@media(max-width:900px){.fb-builder{grid-template-columns:210px minmax(250px,1fr)}}
@media(max-width:640px){.fb-builder{grid-template-columns:minmax(0,1fr)}.fb-palette{display:flex;flex-wrap:wrap;padding:7px;gap:2px}.fb-palette .fb-pane-title{flex:0 0 100%;border-bottom:1px solid var(--line)}.fb-palette-group{width:100%;margin:9px 5px 5px}.fb-palette-item{width:auto;flex:1 1 calc(50% - 8px);margin:1px;min-width:0}.fb-live-preview{grid-column:auto}.fb-field-grid{grid-template-columns:minmax(0,1fr)}.fb-field-grid .fb-check,.fb-field-options{grid-column:1}.fb-field-head{padding:7px 5px}.fb-field-controls button.fb-small{min-width:22px;padding:4px 2px}.fb-card-info strong{font-size:11px}.fb-item-count{display:none}.fb-live-output{grid-template-columns:1fr}.fb-save-bar button{width:100%}}

/* v0.4.5: all per-field properties editable, consistent real public layout. */
.fb-field-grid .fb-full-settings{grid-column:1/-1}
.fb-field-grid [data-default-control][hidden],.fb-field-grid [data-help-control][hidden],.fb-field-grid [data-width-control][hidden],.fb-field-grid [data-placeholder-control][hidden]{display:none!important}
.fb-live-help{display:block;color:var(--muted);font-size:10px;margin-top:5px;white-space:pre-wrap}
.fb-preview-full{grid-column:1/-1}
.fb-public-help{display:block;color:var(--muted);font-size:12px;line-height:1.45;font-weight:400;margin-top:5px;white-space:pre-wrap}
.fb-public-full{grid-column:1/-1}
.fb-public-fieldset.fb-public-full{grid-column:1/-1}
@media(max-width:640px){.fb-field-grid .fb-full-settings{grid-column:1}}

.fb-field-grid textarea[name^="field_el"],.fb-field-grid textarea[name^="field_en"]{width:100%;min-height:60px;line-height:1.45;font-size:13px;resize:vertical}

.fb-preview-editable{cursor:pointer;border-radius:3px;transition:background .15s,box-shadow .15s}.fb-preview-editable:hover{background:var(--soft);box-shadow:0 0 0 5px var(--soft)}

/* v0.4.6: visible save result and validation feedback. */
.fb-save-state.is-error{color:#f7b77f;font-weight:600}
.fb-save-state.is-saved{color:#62d6ac;font-weight:650}
.fb-save-button[aria-busy="true"]{opacity:.8;cursor:progress}
#fb-save-status{scroll-margin-top:85px}


/* v0.4.7 — Verified save and explicit publication status, matching Sougliani dark UI. */
.race-publishing,.fb-publishing{scroll-margin-top:90px}.race-pub-top,.race-editor-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.race-pub-top h2{margin:6px 0 0}.race-pub-top .button{white-space:normal;text-align:center}.race-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
.race-public-item{min-width:0;padding:15px;background:var(--soft);border:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.race-public-item small{color:var(--muted);font-size:11px}.race-public-item strong{font-size:13px;overflow-wrap:anywhere}.race-public-item span{font-size:11px;color:var(--muted)}.race-online{color:#65dbac}.race-offline{color:#f0b67d}
.race-pub-warning{border-left:3px solid #e8853a;background:var(--soft);padding:12px 15px;font-size:12px;line-height:1.6;margin:12px 0}
.race-save-confirm,.fb-linked-success{border-left:3px solid #65dbac;background:var(--soft);padding:12px 15px;line-height:1.5;font-size:12px;margin:15px 0}.race-save-confirm{display:flex;flex-direction:column;gap:5px}.race-save-confirm strong,.fb-linked-success{color:#65dbac}
.race-form-linker{display:flex;align-items:end;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:15px}.race-form-linker>label{flex:1 1 270px;min-width:0}.race-form-linker select,.race-form-linker input[type=text]{width:100%}.race-form-new{align-items:center;background:var(--soft);padding:14px;border-left:3px solid var(--accent);margin-top:8px}.race-form-new>small{flex-basis:100%;font-size:11px;color:var(--muted);line-height:1.5}
.race-editor-head{margin-bottom:16px}.race-editor-head h2{margin:0}.race-editor-head [data-race-dirty]{font-size:12px;color:#65dbac}.race-editor-head .race-dirty{color:#e8853a}
.race-save-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.race-save-actions>span{font-size:12px;color:var(--muted);max-width:540px}.race-submit-dirty{box-shadow:0 0 0 2px rgba(232,133,58,.24)}
.fb-linked-races{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.fb-linked-race{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--soft);border:1px solid var(--line)}.fb-linked-race strong{font-size:12px}.fb-linked-race>span{color:var(--muted);font-size:11px}.fb-linked-links{display:flex;gap:16px;flex-wrap:wrap}.fb-linked-links a,.fb-visitor-shortcut{font-size:12px;color:var(--accent)}.fb-visitor-shortcut{white-space:nowrap}
@media(max-width:720px){.race-public-grid{grid-template-columns:1fr}.race-save-actions .button{width:100%}.race-pub-top .button{width:100%}.race-form-linker>button{flex:1 1 100%}.fb-linked-races{grid-template-columns:1fr}}

.race-pub-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.race-admin-preview-banner{padding:14px;margin:16px 0;border-left:4px solid var(--accent);background:var(--soft);font-weight:650;font-size:13px}.race-admin-preview-fields{border:0;padding:0;margin:0;min-width:0;display:contents}.race-admin-preview-fields[disabled] button{opacity:.5;cursor:not-allowed}

.race-date-box,.race-registration-dates{padding:14px 16px;border-left:3px solid var(--accent);background:var(--soft);border-radius:4px}
.race-date-box strong,.race-registration-dates strong{display:block;font-size:14px;color:var(--ink)}
.race-date-box p,.race-registration-dates p{margin:5px 0 12px;font-size:12px;color:var(--muted)}
.race-date-box label{max-width:370px;margin:0}.race-registration-dates{border-left-color:var(--line)}
.race-day-public{font-size:14px;color:var(--accent);font-weight:650;margin:12px 0!important}
/* v0.4.8 — grouped race navigation, obvious undo/delete flows */
.edition-group{margin:12px 0 22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.edition-group-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.edition-group-head strong{font-size:18px}.edition-group-head span{font-size:12px;color:var(--muted);margin-right:auto}.edition-group-head a{font-size:12px;color:var(--accent)}
.edition-race{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}
.edition-race-main{display:flex;flex-direction:column;gap:3px;text-decoration:none;min-width:0}.edition-race-main strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edition-race-main small{font-size:11px;color:var(--muted)}
.split-races{grid-template-columns:1.85fr 1fr;align-items:start}
.split-races .edition-race{gap:16px;align-items:center}
.split-races .edition-race-main{flex:1 1 auto}
.edition-race-actions{display:flex;flex-wrap:nowrap;gap:12px;align-items:center;white-space:nowrap;flex:none}.edition-race-actions a{font-size:12px;color:var(--accent)}
.edition-race-toggle{margin:0;display:inline-flex}
.edition-race-link{font-size:12px;background:transparent;border:0;border-radius:0;padding:0;font-weight:400;cursor:pointer;color:var(--accent);text-decoration:underline;text-underline-offset:5px;display:inline;min-height:0}
.edition-race-link:hover{filter:none;color:var(--accent);opacity:.75}
.edition-race-disable,.edition-race-delete{color:#e7a0a0}.edition-race-disable:hover,.edition-race-delete:hover{color:#e7a0a0;opacity:.75}
.edition-race-enable{color:var(--good)}.edition-race-enable:hover{color:var(--good);opacity:.75}
.edition-race-hide{color:var(--muted)}.edition-race-hide:hover{color:var(--muted);opacity:.75}
.edition-race-show{color:var(--good)}.edition-race-show:hover{color:var(--good);opacity:.75}
.edition-race-hidden-tag{color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:1px 8px;font-size:10px;white-space:nowrap}
.edition-race-state-sep{color:var(--line);font-size:12px}
@media(max-width:680px){.edition-race-state-sep{display:none}}
.edition-manage-row{border-top:1px solid var(--line);padding:22px 0;scroll-margin-top:16px}.edition-manage-meta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.edition-manage-meta strong{font-size:22px}.edition-manage-meta span{font-size:13px;color:var(--muted)}
.edition-manage-controls{display:flex;gap:12px;flex-wrap:wrap}.edition-danger-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;width:100%;margin:0}.edition-danger-form label{max-width:190px;min-width:140px;margin:0}.edition-danger-form input{min-height:45px;font-variant-numeric:tabular-nums}
button.danger-button{background:transparent;color:#f3a9a2;border:1px solid #a94c4c;min-height:45px;padding:10px 16px}button.danger-button:hover{background:#7c3232;color:#fff}button.danger-button:disabled{opacity:.38;cursor:not-allowed}.edition-manage-warning{display:block;color:#f0b3a8;margin:12px 0 0;font-size:13px}.race-danger-zone{border-color:#744141}.race-danger-zone h2{color:#f0b3a8}
@media(max-width:680px){.split-races{grid-template-columns:1fr}.split-races .edition-race{align-items:stretch}.edition-race{flex-direction:column;align-items:stretch}.edition-race-actions{flex-wrap:wrap;gap:18px}.edition-danger-form{align-items:stretch}.edition-danger-form label{max-width:none;width:100%}.edition-danger-form button{width:100%}}

/* v0.5.1: single obvious race creation/editing workflow */
.race-quick-add{scroll-margin-top:90px;margin:18px 0 24px;border-color:var(--accent)!important}
.race-quick-add h2{margin:6px 0;font-size:24px}.race-quick-add p{font-size:13px;color:var(--muted)}
.race-quick-form{display:grid;gap:16px}.race-quick-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.race-quick-form .button{justify-self:start}.race-quick-form .check{font-weight:600}.race-helper{margin:0;font-size:12px}
.race-editor-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.race-editor-navigation h2{margin:5px 0}.race-editor-navigation p{max-width:610px;margin:6px 0;color:var(--muted);font-size:13px}
.race-navigation-buttons{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.race-publish-control{padding:12px;background:var(--soft);border-radius:5px;border:1px solid var(--line)}
#race-save-editor{scroll-margin-top:85px}
@media(max-width:700px){.race-quick-form .form-grid{grid-template-columns:1fr}.race-quick-form .button,.race-navigation-buttons,.race-navigation-buttons a{width:100%}.race-quick-add h2{font-size:21px}}

.fb-key-help{font-size:12px;line-height:1.6;color:var(--muted);margin:9px 10px 12px}

/* v0.5.2 – clear registration diagnostics */
.race-status-diagnostics{border:1px solid var(--line);background:var(--soft);padding:18px;margin:14px 0;border-left:3px solid var(--accent)}
.race-diagnostics-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.race-diagnostics-head strong{font-size:15px}.race-diagnostics-head span{font:11px/1.4 monospace;color:var(--muted)}
.race-status-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.race-status-check{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);background:var(--panel);min-width:0}
.race-status-check>span{font-size:17px;font-weight:700}.race-status-check.pass>span{color:#65dbac}.race-status-check.fail>span{color:#f0b67d}
.race-status-check strong{display:block;font-size:12px;line-height:1.5}.race-status-check small{display:block;color:var(--muted);margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
.race-open-now-form{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.race-open-now-form small{color:var(--muted);line-height:1.5;max-width:500px}
@media(max-width:720px){.race-status-checks{grid-template-columns:1fr}.race-open-now-form .button{width:100%}}

/* v0.5.3 gifts – integrated in existing borderless dark form editor */
.fb-gift-palette{border-color:rgba(232,133,58,.52)!important;background:rgba(232,133,58,.09)!important;font-weight:700}
.fb-gift-palette:hover,.fb-gift-palette:focus-visible{background:rgba(232,133,58,.18)!important;outline:2px solid rgba(232,133,58,.5);outline-offset:1px}
.fb-gift-palette-info{font-size:11px;line-height:1.55;color:var(--muted);margin:6px 10px 16px}
.fb-custom-hint{font-size:11px;line-height:1.55;color:var(--muted);margin:6px 10px 12px}
.fb-option-instructions{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin:6px 0 9px}
.fb-gift-field .fb-field-options{border-left:2px solid var(--accent);padding-left:12px}
.fb-gift-field .fb-field-options [data-options-label]{font-weight:800;color:var(--text)}
.fb-field-options textarea{min-height:112px}

/* v0.5.4 — clearly surfaced required validation and workflows */
.fb-required-notice {padding:14px 16px;margin:12px 0;background:rgba(232,133,58,.08);border-left:3px solid #e8853a;line-height:1.55}
.fb-check[data-required-control] {display:flex!important;align-items:center;gap:12px;min-height:48px;padding:12px!important;background:rgba(232,133,58,.1);border:1px solid rgba(232,133,58,.38);border-radius:6px}
.fb-check[data-required-control][hidden] {display:none!important}
.fb-check[data-required-control] input[type=checkbox] {min-width:22px;min-height:22px;accent-color:#e8853a}
.fb-check[data-required-control] small{display:block;opacity:.74;font-size:11px;line-height:1.4}
.fb-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.fb-workflow-grid>label{display:flex;flex-direction:column;gap:6px}
.fb-workflow-grid>label.fb-wide{grid-column:1/-1}
.fb-workflow-grid textarea{min-height:160px;line-height:1.55}
.fb-workflow-guide{background:#202b35;padding:13px 16px;border-left:3px solid #e8853a;overflow-wrap:anywhere}
.fb-workflow-guide code{white-space:normal;overflow-wrap:anywhere}
.fb-storage-note{word-break:break-word}
.fb-custom-html{overflow-wrap:anywhere;white-space:normal}
@media(max-width:700px){.fb-workflow-grid{grid-template-columns:1fr}.fb-workflow-grid>label.fb-wide{grid-column:auto}}

/* v0.5.5 — Required can be toggled for every input, including core identity fields. */
.fb-check[data-required-control]{cursor:pointer;transition:background .15s ease,border-color .15s ease}
.fb-check[data-required-control]:not(.is-required){background:rgba(127,147,164,.07);border-color:rgba(127,147,164,.23)}
.fb-check[data-required-control].is-required{background:rgba(232,133,58,.11);border-color:rgba(232,133,58,.5)}
.fb-check[data-required-control] input[type=checkbox]{cursor:pointer;flex-shrink:0}
.fb-check[data-required-control]:focus-within{outline:2px solid #e8853a;outline-offset:2px}

/* v0.5.6: administrator-only safe registration test */
.race-test-shell{max-width:1000px;margin:2rem auto;padding:clamp(18px,3vw,38px)}
.race-test-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.race-test-heading h1{margin:10px 0;font-size:clamp(24px,4vw,38px)}
.race-test-safety,.race-test-success,.race-test-errors,.race-test-note{padding:16px 19px;margin:20px 0;border:1px solid #36434d;border-radius:6px;background:#202b32}
.race-test-safety{border-left:3px solid #58cc9a}.race-test-success{border-left:3px solid #58cc9a}.race-test-errors{border-left:3px solid #f29850}.race-test-note{border-left:3px solid #f29850}
.race-test-safety p,.race-test-success p,.race-test-footnote{color:var(--muted,#aebcc8);line-height:1.6}
.race-test-errors ul{margin:10px 0 0;padding-left:26px}.race-test-form{margin-top:20px}.race-test-form button{margin-top:18px}
.race-test-trigger{background:#e99551!important;color:#111b22!important;font-weight:700;white-space:normal;text-align:center}
@media(max-width:640px){.race-test-shell{padding:16px}.race-test-heading>a{width:100%;text-align:center}}

/* Anchor after deleting queued, test, or sent email history in Settings. */
#recent-emails{scroll-margin-top:24px}

/* Admin panel: full-width layout with a 20px gutter on each edge */
body.admin-ui .top{max-width:none;padding-left:120px;padding-right:120px}
body.admin-ui main{max-width:none;padding-left:120px;padding-right:120px}
body.admin-ui footer{padding-left:120px;padding-right:120px}
@media(max-width:1100px){body.admin-ui .top{padding-left:40px;padding-right:40px}body.admin-ui main{padding-left:40px;padding-right:40px}body.admin-ui footer{padding-left:40px;padding-right:40px}}
@media(max-width:680px){body.admin-ui .top{padding-left:20px;padding-right:20px}body.admin-ui main{padding-left:20px;padding-right:20px}body.admin-ui footer{padding-left:20px;padding-right:20px}}

/* Open / Close registrations buttons in the LIVE STATUS header */
.race-pub-inline-form{margin:0;display:inline-flex}
.race-open-button{background:var(--good);color:var(--bg);border-color:transparent}
.race-open-button:hover{filter:brightness(1.1);color:var(--bg)}
.race-close-button{background:transparent;color:#f3a9a2;border:1px solid #a94c4c}
.race-close-button:hover{background:#7c3232;color:#fff}
.race-open-blocked{opacity:.75}

/* Guided "Fix this →" links in the registration checklist */
.race-check-fix{display:inline-block;margin-top:6px;font-size:12px;font-weight:650;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.race-check-fix:hover{opacity:.78;color:var(--accent)}
#race-field-publish,#race-field-enabled,#race-field-terms,#race-field-dates{scroll-margin-top:24px;border-radius:6px}
#race-field-publish:target,#race-field-enabled:target,#race-field-terms:target,#race-field-dates:target,#setting-privacy:target{animation:fieldFlash 1.8s ease-out}
@keyframes fieldFlash{0%,40%{box-shadow:0 0 0 3px var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}100%{box-shadow:0 0 0 0 transparent;background:transparent}}
@media(prefers-reduced-motion:reduce){#race-field-publish:target,#race-field-enabled:target,#race-field-terms:target,#race-field-dates:target,#setting-privacy:target{animation:none;box-shadow:0 0 0 3px var(--accent)}}

/* Comment palette shortcut (maps to a labelled optional textarea) */
.fb-comment-palette-info{font-size:11px;line-height:1.55;color:var(--muted);margin:6px 10px 16px}
.fb-comment-palette{width:100%}

/* Participant comment column in the registrations table */
.registration-comment-cell{max-width:260px;font-size:12px;color:var(--ink)}
.registration-comment{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.registration-comment-empty{color:var(--muted)}

/* Organiser-email status banner in the race workflow section */
.workflow-mail-status{margin:4px 0 20px}
.workflow-mail-ok{border-left-color:var(--good)}
.workflow-mail-off{border-left-color:var(--accent)}
.workflow-mail-bad{border-left-color:#a94c4c;color:#f0b3a8}

/* Live subject-line preview under the organiser notification subject field */
.subject-preview{margin-top:8px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--soft);font-size:12px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.subject-preview-label{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:10px;white-space:nowrap}
.subject-preview-inbox strong{font-size:13px;color:var(--ink);font-weight:650;overflow-wrap:anywhere}

/* Dynamic border-radius via --radius variable */
button,.button{border-radius:var(--radius)}
.race-card,.panel,.stat{border-radius:var(--radius)}
.table-wrap{border-radius:var(--radius)}
input,select,textarea{border-radius:calc(var(--radius) * 0.67)}
.subject-preview{border-radius:var(--radius)}

/* ─── Theme Editor ─── */
.theme-tabs{display:flex;gap:0;margin:0 0 30px;border-bottom:2px solid var(--line)}
.theme-tab{padding:12px 24px;text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}
.theme-tab:hover{color:var(--ink)}
.theme-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.theme-presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.theme-preset-card{position:relative;background:var(--soft);border:2px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .15s;text-align:left;font:inherit;color:var(--ink)}
.theme-preset-card:hover{border-color:var(--accent);transform:translateY(-2px);filter:none}
.theme-preset-card.active{border-color:var(--accent);background:var(--panel)}
.tp-card-colors{display:flex;gap:5px}
.tp-card-colors i{display:block;width:22px;height:22px;border-radius:50%;border:1px solid rgba(128,128,128,.25)}
.tp-card-name{font-size:13px;font-weight:600}
.tp-card-check{position:absolute;top:8px;right:10px;color:var(--accent);font-size:16px;font-weight:700}
.theme-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.theme-color-input label{font-size:12px;color:var(--muted);margin-bottom:6px;display:block}
.theme-color-pair{display:flex;gap:8px;align-items:center}
.theme-color-pair input[type=color]{width:42px;height:42px;padding:2px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:var(--bg);flex-shrink:0}
.theme-color-pair input[type=text]{flex:1;font-family:monospace;font-size:14px;padding:10px}
.theme-radius-wrap{display:flex;align-items:center;gap:18px;max-width:400px}
.theme-radius-wrap input[type=range]{flex:1;accent-color:var(--accent);height:6px}
.theme-radius-wrap output{font-size:16px;font-weight:600;min-width:50px;text-align:right}
.theme-actions{display:flex;gap:14px;margin:30px 0 20px}

/* ─── Theme Live Preview ─── */
#tp-surface{background:var(--tp-bg);color:var(--tp-ink);border:1px solid var(--tp-line);border-radius:var(--tp-radius);padding:0;overflow:hidden;transition:background .25s,color .25s}
.tp-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--tp-line);background:var(--tp-panel)}
.tp-bar strong{letter-spacing:1.5px;font-size:15px}
.tp-bar span{font-size:12px;color:var(--tp-muted)}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}
.tp-card{background:var(--tp-panel);border:1px solid var(--tp-line);border-radius:var(--tp-radius);padding:20px}
.tp-card-title{font-size:36px;font-weight:300;letter-spacing:-2px;margin:8px 0 10px;color:var(--tp-ink)}
.tp-card p{font-size:13px;color:var(--tp-muted);margin:0 0 14px}
.tp-badge{display:inline-block;border:1px solid var(--tp-line);border-radius:20px;padding:3px 10px;font-size:10px;color:var(--tp-good);letter-spacing:.5px}
.tp-btn{background:var(--tp-button_bg,var(--tp-accent));color:var(--tp-button_ink,var(--tp-bg));border:none;border-radius:var(--tp-radius);padding:10px 18px;font-size:13px;font-weight:650;cursor:default}
.tp-btn:hover{filter:none}
.tp-form-preview{padding:0 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tp-label{font-size:12px;color:var(--tp-muted);margin:0;grid-column:span 1}
.tp-input{background:var(--tp-bg);border:1px solid var(--tp-line);border-radius:calc(var(--tp-radius) * 0.67);padding:10px;color:var(--tp-ink);font-size:14px;width:100%}
.tp-notice{margin:0 20px 20px;background:var(--tp-soft);border-left:3px solid var(--tp-accent);padding:12px 16px;font-size:13px;color:var(--tp-ink);border-radius:calc(var(--tp-radius) * 0.5)}
@media(max-width:680px){
 .theme-presets-grid{grid-template-columns:repeat(2,1fr)}
 .theme-color-grid{grid-template-columns:1fr}
 .tp-grid{grid-template-columns:1fr}
 .tp-form-preview{grid-template-columns:1fr}
 .theme-tabs{overflow-x:auto}
 .theme-actions{flex-direction:column}
}

/* v0.6.12 — public/member light-dark toggle: explicit user light mode wins over admin theme CSS. */
/* Light and dark mode variables now come from separate editable palettes in app/bootstrap.php. */
.theme-toggle{position:relative;width:58px;height:32px;padding:0!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--soft)!important;color:var(--ink)!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;filter:none!important}
.theme-toggle:hover{border-color:var(--muted)!important;background:var(--soft)!important;color:var(--ink)!important;filter:none!important}
.theme-toggle-track{position:relative;width:100%;height:100%;display:block}
.theme-icon{position:absolute;top:50%;width:14px;height:14px;transform:translateY(-50%);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;z-index:2;pointer-events:none;transition:opacity .2s ease}
.theme-icon-sun{left:8px}.theme-icon-moon{right:8px}
.theme-toggle-thumb{position:absolute;z-index:3;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.24);transition:transform .22s ease,background .22s ease}
body.light .theme-toggle-thumb{transform:translateX(26px)}
body:not(.light) .theme-icon-sun{opacity:.45}body:not(.light) .theme-icon-moon{opacity:1}body.light .theme-icon-sun{opacity:1}body.light .theme-icon-moon{opacity:.45}
@media(max-width:680px){.theme-toggle{width:58px;align-self:flex-start;margin:4px 8px}}
@media(prefers-reduced-motion:reduce){.theme-toggle-thumb,.theme-icon{transition:none!important}}


/* v0.6.15 — bulk participation terms manager */
.race-terms-bulk{scroll-margin-top:24px}
.terms-bulk-head{align-items:flex-start;gap:18px}
.terms-bulk-head p{margin:.45rem 0 0;color:var(--muted);max-width:780px}
.terms-selected-count{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--muted);font-size:12px}
.terms-selected-count strong{color:var(--ink);font-family:monospace}
.terms-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.terms-template-grid textarea{min-height:300px;resize:vertical;line-height:1.55}
.terms-race-picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--line)}
.terms-race-picker-head>div{display:flex;gap:8px;flex-wrap:wrap}
.terms-race-picker-head button{padding:7px 10px}
.terms-race-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.terms-race-option{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);cursor:pointer;transition:border-color .15s,background .15s}
.terms-race-option:hover,.terms-race-option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--soft))}
.terms-race-option input{width:auto;margin-top:2px;accent-color:var(--accent)}
.terms-race-option span{display:flex;flex-direction:column;gap:3px;min-width:0}
.terms-race-option strong{font-size:13px;overflow-wrap:anywhere}
.terms-race-option small{font-size:11px}
.terms-status-set{color:var(--good)}
.terms-status-empty{color:var(--muted)}
.terms-bulk-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.privacy-template-note{margin-bottom:18px}
@media(max-width:780px){
 .terms-template-grid{grid-template-columns:1fr}
 .terms-template-grid textarea{min-height:240px}
 .terms-race-picker-head{align-items:flex-start;flex-direction:column}
 .terms-race-list{grid-template-columns:1fr}
 .terms-bulk-actions{align-items:stretch;flex-direction:column}
 .terms-bulk-actions button{width:100%}
 .terms-selected-count{align-self:flex-start}
}


/* v0.6.17 — Privacy Markdown editor + paragraph spacing */
.privacy-richtext p{margin:0 0 1.35em;max-width:none;color:var(--muted)}
.privacy-richtext p:last-child{margin-bottom:0}
.privacy-richtext strong{color:var(--ink);font-weight:750}
.privacy-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 24px}
.privacy-editor{min-width:0}
.privacy-editor label{margin-bottom:10px}
.privacy-editor textarea{min-height:390px;line-height:1.65;white-space:pre-wrap;tab-size:2}
.privacy-preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 10px;padding-top:10px;border-top:1px solid var(--line)}
.privacy-preview-head strong{font-size:13px;color:var(--ink)}
.privacy-preview-head small{font-size:11px;color:var(--muted);text-align:right}
.privacy-live-preview{min-height:220px;max-height:520px;overflow:auto;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}
.privacy-live-preview p{margin:0 0 1.25em;max-width:none;color:var(--muted)}
.privacy-live-preview p:last-child{margin-bottom:0}
.privacy-live-preview strong{color:var(--ink);font-weight:750}
@media(max-width:900px){.privacy-editor-grid{grid-template-columns:1fr}.privacy-editor textarea{min-height:320px}.privacy-live-preview{max-height:420px}}

/* v0.6.18 — Public contact form */
.contact-page{max-width:820px}
.contact-head{margin-bottom:28px}
.contact-head h1{margin-bottom:14px}
.contact-head>p{font-size:17px;max-width:620px}
.contact-intro{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.contact-form{padding:34px;margin-top:30px}
.contact-form label{font-size:13px;font-weight:600;letter-spacing:.01em}
.contact-form input,.contact-form textarea{margin-top:2px}
.contact-form textarea{min-height:220px;line-height:1.65}
.contact-form-actions{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-top:8px}
.contact-form-actions span{color:var(--muted);font-size:12px;line-height:1.5;max-width:360px}
.contact-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-settings-grid label{margin:0}
.contact-settings-grid small{color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:680px){
 .contact-form{padding:22px}
 .contact-form-actions{align-items:stretch;flex-direction:column}
 .contact-form-actions .button{width:100%}
 .contact-settings-grid{grid-template-columns:1fr}
}


/* v0.6.20 — In-place Greek/English privacy bold editor */
.privacy-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 10px}
.privacy-editor-toolbar[hidden],.privacy-editable-input[hidden],.privacy-editor textarea[hidden]{display:none!important}
.privacy-editor-toolbar button{min-height:36px;padding:7px 13px;font-size:13px;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.privacy-editor-toolbar button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}
.privacy-editor-toolbar small{font-size:11px;color:var(--muted);margin-left:auto}
.privacy-editable-input{min-height:390px;max-height:620px;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap;tab-size:2;width:100%;font:inherit;font-size:16px;line-height:1.75;color:var(--ink);padding:14px 16px;border:1px solid var(--line);border-radius:5px;background:var(--bg);outline:none;cursor:text}
.privacy-editable-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}
.privacy-editable-input strong,.privacy-editable-input b{font-weight:800;color:var(--ink)}
@media(max-width:900px){.privacy-editable-input{min-height:320px;max-height:560px}}

/* SOUGLIANI v0.6.21 — WordPress-style builder & editable public blocks. */
.sb-block-region{margin:32px 0 46px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.sb-block-region h2.sb-heading{font-size:clamp(26px,3.5vw,46px);letter-spacing:-1.3px;max-width:1050px;margin:0}
.sb-copy{max-width:78ch;white-space:pre-line;line-height:1.8;font-size:16px;margin:0}
.sb-callout{width:min(100%,900px);padding:21px 24px;background:var(--soft);border-left:3px solid var(--accent);line-height:1.6;white-space:pre-line;border-radius:var(--radius)}
.sb-divider{width:100%;border:0;border-top:1px solid var(--line);margin:10px 0}
.sb-spacer{height:44px}
.sb-button{text-decoration:none}
.sb-builder-shell{display:grid;grid-template-columns:minmax(315px,420px) minmax(420px,1fr);gap:22px;align-items:start;margin-top:20px}
.sb-controls{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}
.sb-builder-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);padding:4px;border-radius:7px;gap:3px;margin-bottom:22px}
button.sb-mode{border:none;background:transparent;color:var(--muted);padding:10px 8px;font-weight:600;font-size:12px;min-width:0;border-radius:5px;white-space:nowrap}
button.sb-mode.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 5px rgba(0,0,0,.1)}
button.sb-mode:hover{color:var(--ink);filter:none}
.sb-mode-panel h2{font-size:19px;margin-bottom:8px}
.sb-mode-panel>label{margin:0 0 20px}
.sb-mode-panel>label input,.sb-mode-panel>label select{width:100%}
.sb-section-label{color:var(--ink);text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:1.5px;margin:23px 0 12px}
.sb-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.sb-palette button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:69px;padding:11px 5px;background:var(--bg);color:var(--accent);border:1px solid var(--line);font-weight:800;font-size:18px;border-radius:6px}
.sb-palette button small{color:var(--muted);font-size:10px;font-weight:600}
.sb-palette button:hover{border-color:var(--accent);background:var(--soft);filter:none}
.sb-small-note{font-size:12px!important;line-height:1.5!important;color:var(--muted);margin:7px 0 13px!important;max-width:unset}
.sb-block-list,.sb-native-list,#sb-nav-list{display:flex;flex-direction:column;gap:8px}
.sb-empty{padding:18px;background:var(--bg);color:var(--muted);border:1px dashed var(--line);font-size:12px;text-align:center;border-radius:7px}
.sb-block-row{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid var(--line);border-radius:7px;padding:7px 8px;background:var(--bg);transition:border-color .15s}
.sb-block-row.selected,.sb-block-row.drag-target{border-color:var(--accent);background:var(--soft)}
.sb-drag{font-size:21px;cursor:grab;color:var(--muted);user-select:none}
button.sb-block-info{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:transparent;color:var(--ink);border:0;padding:6px 0;font-size:12px;line-height:1.4}
button.sb-block-info:hover{filter:none;color:var(--accent)}
.sb-block-info strong{font-size:12px}.sb-block-info small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sb-item-actions{display:flex;gap:2px;margin-left:auto}
button.sb-icon-action{min-width:23px;width:24px;height:28px;padding:2px;background:transparent;color:var(--muted);border:0;font-size:16px}
button.sb-icon-action:hover{filter:none;background:var(--soft);color:var(--accent)}
.sb-native-option{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;padding:8px 5px!important;margin:0!important;color:var(--ink);font-size:12px!important}
.sb-native-option input{width:16px;height:16px;flex:0 0 auto}
.sb-form-link{font-size:12px;display:inline-flex;padding:10px 0;color:var(--accent);text-decoration:none}
.sb-add-nav{margin-top:15px;width:100%;justify-content:center}
.sb-nav-item{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:12px}
.sb-nav-item-head{display:flex;align-items:center;color:var(--muted);font-size:11px;margin-bottom:9px}
.sb-nav-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sb-nav-fields .sb-inline-field:last-child{grid-column:1/-1}
.sb-inline-field{font-size:11px;margin:0;color:var(--muted)}
.sb-inline-field input{padding:9px;font-size:12px}
.sb-workarea{min-width:0}
.sb-workarea-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.sb-workarea-head .eyebrow{margin-bottom:5px}.sb-workarea-head h2{margin:0;font-size:24px}
.sb-preview-switch{display:flex;gap:3px;border:1px solid var(--line);border-radius:7px;padding:3px}
.sb-preview-switch button{font-size:11px;border:0;background:transparent;color:var(--muted);padding:7px 12px}
.sb-preview-switch button.active{background:var(--soft);color:var(--ink)}
.sb-preview-frame{margin:0 auto;border:1px solid var(--line);background:#0f1419;border-radius:9px;overflow:hidden;min-height:350px;max-width:100%;transition:max-width .2s}
.sb-preview-frame.mobile{max-width:380px}
.sb-preview{background:#0f1419;color:#f5f5f5;font-size:12px;min-height:350px}
.sb-preview-top{border-bottom:1px solid #303b45;padding:21px 26px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.sb-preview-top strong{font-size:15px;letter-spacing:2px}
.sb-preview-nav{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;color:#a8b3ba;font-size:10px}
.sb-preview-body{padding:30px 26px;min-height:270px}
.sb-preview-body h1{font-size:34px!important;letter-spacing:-1px;margin-bottom:22px}
.sb-preview-body h2{font-size:25px;color:#f3f3ed;margin:10px 0}
.sb-preview-body p{font-size:12px;color:#abb8c4;white-space:pre-line;max-width:100%}
.sb-preview-block{margin-bottom:17px}.sb-preview-hidden{display:none}
.sb-preview-callout{padding:14px;background:#202b31;border-left:3px solid #e8853a;white-space:pre-line}
.sb-preview-button{display:inline-flex;background:#e8853a;color:#0f1419;padding:10px 14px;border-radius:5px;font-weight:700}
.sb-preview-space{height:25px}.sb-preview-block hr{border:0;border-top:1px solid #303b45}
.sb-preview-native{padding:14px 0;border-block:1px dashed #3b4955}
.sb-preview-native-card{padding:18px;border:1px solid #33404b;background:#171e25;color:#a8b3ba;border-radius:6px;margin:8px 0}
.sb-preview-footer{border-top:1px solid #303b45;padding:20px 26px;color:#8899a4;font-size:10px;letter-spacing:1px}
.sb-edit-pane{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:19px;margin-top:20px}
.sb-edit-pane[hidden],.sb-mode-panel[hidden]{display:none!important}
.sb-edit-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}
.sb-edit-header h3{font-size:17px;margin:0}.sb-edit-header button{min-width:35px;padding:3px;font-size:22px}
.sb-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sb-edit-grid>label{min-width:0}
.sb-edit-pane textarea{min-height:90px}
.sb-edit-pane label{font-size:12px}
.sb-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0;padding:14px 17px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 34px rgba(0,0,0,.13)}
.sb-save-bar strong{font-size:13px;display:block}.sb-save-bar small{font-size:11px;display:block;color:var(--muted)}
.sb-save-buttons{display:flex;gap:9px}.sb-save-buttons button{font-size:12px;padding:10px 15px}
.sb-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}
.sb-advanced-grid label{min-width:0;font-size:12px;color:var(--muted);padding:12px;background:var(--soft);border-radius:7px;margin:0}
.sb-advanced-grid label select{margin-top:7px}
.sb-advanced-grid input[type=range]{width:100%;margin-top:10px;accent-color:var(--accent)}
.sb-advanced-grid output{font-family:monospace;color:var(--accent)}
@media(max-width:1100px){.sb-builder-shell{grid-template-columns:minmax(0,1fr)}.sb-preview-frame{min-height:250px}}
@media(max-width:650px){.sb-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.sb-edit-grid{grid-template-columns:1fr}.sb-save-bar{flex-direction:column;align-items:stretch}.sb-save-buttons{flex-direction:column}.sb-workarea-head{flex-wrap:wrap}.sb-builder-tabs button{font-size:11px}}
#tp-surface .tp-card{border-width:var(--tp-border-width,1px);box-shadow:var(--tp-shadow,none);padding:calc(20px * var(--tp-space-scale,1))}
#tp-surface .tp-btn{font:inherit;font-size:13px}
#tp-surface[data-button-style="pill"] .tp-btn{border-radius:999px}
#tp-surface[data-button-style="outline"] .tp-btn{background:transparent;color:var(--tp-accent);border:1px solid var(--tp-accent)}
#sb-edit-url-wrap[hidden],.sb-edit-grid label[hidden]{display:none!important}
.sb-copy,.sb-callout{white-space:normal}
.sb-photo{margin:12px 0;max-width:100%;width:min(100%,960px)}
.sb-photo img{max-width:100%;height:auto;display:block;border-radius:var(--radius)}


/* v0.6.22 — Admin registrations viewport fix.
   Theme Builder emits `body.admin-ui main#main {max-width:...}` after the CSS file.
   This selector is deliberately more specific, restoring the full-width
   registrations workspace without changing Theme Builder widths elsewhere. */
body.admin-ui main#main.registrations-fullwidth {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  min-width: 0;
  padding: 0 clamp(12px, 1.75vw, 34px) 64px;
}
body.admin-ui main#main.registrations-fullwidth .registrations-table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
body.admin-ui main#main.registrations-fullwidth .registrations-table {
  width: 100%;
  min-width: 1330px;
}
body.admin-ui main#main.registrations-fullwidth .section-head,
body.admin-ui main#main.registrations-fullwidth .filters {
  min-width: 0;
  max-width: 100%;
}
body.admin-ui main#main.registrations-fullwidth .filters label {
  min-width: 135px;
}
@media (max-width: 680px) {
  body.admin-ui main#main.registrations-fullwidth {padding-inline: 12px;}
  body.admin-ui main#main.registrations-fullwidth .filters label {min-width: min(100%, 140px);}
  body.admin-ui main#main.registrations-fullwidth .section-head {flex-wrap: wrap;}
}

/* v0.6.23: Component-level homepage editor and ordered native sections. */
main#main .sb-home-section{padding-top:var(--sb-pt,0px);padding-bottom:var(--sb-pb,0px)}
main#main .sb-home-hero{margin-bottom:48px}
main#main .sb-home-races{margin-bottom:24px}
main#main .sb-home-races>.sb-home-standalone-title{margin-bottom:18px}
main#main .sb-home-races>.sb-home-standalone-filter{margin-bottom:22px;max-width:520px}
main#main .sb-home-races>.sb-home-standalone-filter form{display:flex;align-items:flex-end;gap:10px}
main#main .sb-home-races>.sb-home-standalone-filter form label{flex:1;margin:0}
main#main .sb-home-races>.race-grid{margin:0 0 22px}
main#main .sb-home-races .section-head form{flex-wrap:wrap}
main#main .sb-home-kicker{white-space:pre-line}
main#main .sb-home-stat{display:block}
#sb-home-structure[hidden],#sb-native-options[hidden],#sb-home-editor[hidden]{display:none!important}
.sb-home-structure{padding:14px;border-radius:8px;background:var(--soft);border:1px solid var(--line);margin:0 0 16px}
.sb-home-structure>.sb-section-label{margin-top:0}
#sb-home-section-list{display:flex;flex-direction:column;gap:12px}
.sb-home-section-row{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:9px;min-width:0}
.sb-home-section-row.selected{border-color:var(--accent)}
.sb-home-section-head{display:flex;align-items:center;gap:6px;padding:2px 3px 9px;border-bottom:1px solid var(--line)}
.sb-home-section-head.drag-target{background:var(--soft);outline:2px solid var(--accent);outline-offset:2px}
button.sb-home-heading-action{background:transparent;color:var(--ink);border:0;padding:6px 3px;flex:1;text-align:left;font-size:12px;font-weight:750}
button.sb-home-heading-action:hover{color:var(--accent);filter:none}
.sb-home-tick{margin:0!important;padding:3px 2px!important;display:inline-flex!important;align-items:center!important;flex-direction:row!important;cursor:pointer}
.sb-home-tick input{height:15px;width:15px;accent-color:var(--accent)}
.sb-home-item-list{display:flex;flex-direction:column;gap:4px;padding-top:8px}
.sb-home-item{display:flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:5px;padding:3px 4px;background:var(--bg)}
.sb-home-item.selected,.sb-home-item.drag-target{border-color:var(--accent);background:var(--soft)}
.sb-home-item .sb-drag{font-size:16px}
button.sb-home-item-title{flex:1;text-align:left;background:none;color:var(--ink);border:0;padding:6px 1px;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}
button.sb-home-item-title:hover{color:var(--accent);filter:none}
.sb-home-add-row{display:flex;gap:6px;align-items:center;margin:8px 2px 0}
.sb-home-add-row select{font-size:12px;min-width:0;padding:8px;flex:1}
.sb-home-add-label{display:flex;flex-direction:column;gap:8px;font-size:11px;margin:15px 0 7px}
.sb-home-add-label select{padding:9px;font-size:12px}
button.sb-home-add-btn{font-size:12px;width:100%;padding:10px}
.sb-home-edit-pane{scroll-margin-top:100px}
.sb-home-field{margin:0 0 13px;color:var(--muted);font-size:12px}
.sb-home-field input,.sb-home-field textarea{font-size:13px;margin-top:6px}
.sb-home-field textarea{min-height:85px}
.sb-home-field input[type=range]{accent-color:var(--accent)}
.sb-home-field output{display:block;text-align:right;color:var(--accent);font-family:monospace;font-size:11px;margin-top:2px}
.sb-home-preview-section{position:relative;min-width:0;padding-left:8px;padding-right:8px;border-bottom:1px solid #28333d}
.sb-home-preview-section.sb-home-preview-hero{background:repeating-linear-gradient(131deg,#10161c 0 27px,#1a222a 28px,#10161c 29px 65px);min-height:175px}
.sb-home-preview-section.sb-home-preview-races{background:#10161c}
.sb-home-preview-part{padding:6px 8px;margin:1px -8px;border:1px solid transparent;border-radius:5px;cursor:pointer;outline:0}
.sb-home-preview-part:hover,.sb-home-preview-part:focus,.sb-home-preview-part.selected{border-color:#e8853a;background:rgba(232,133,58,.13)}
.sb-home-preview-part .sb-home-preview-kicker{letter-spacing:2px;font-size:9px;color:#e8853a;text-transform:uppercase}
.sb-home-preview-part h1{font-weight:780;font-size:clamp(25px,3.3vw,37px)!important;white-space:pre-line;margin:0!important;line-height:1.14}
.sb-home-preview-part p{font-size:12px!important;margin:0!important;white-space:pre-line}
.sb-home-preview-part h2{margin:0!important}
.sb-home-preview-part .sb-home-preview-stat{font-weight:500;font-size:27px}
.sb-home-preview-part .sb-home-preview-stat small{display:block;font-size:9px;letter-spacing:1.5px;color:#abb8c4}
.sb-home-preview-part .sb-home-preview-year{border:1px solid #33404b;border-radius:6px;padding:13px;font-size:11px;color:#d6dfe5;background:#171e25}
.sb-home-preview-part .sb-home-preview-empty{border-left:3px solid #e8853a;background:#1a242b;padding:12px;color:#d1dae1;font-size:11px;white-space:pre-line}
@media(max-width:650px){.sb-home-section-head .sb-item-actions,.sb-home-item .sb-item-actions{gap:0}.sb-home-section-head .sb-icon-action,.sb-home-item .sb-icon-action{width:22px;min-width:22px}.sb-home-preview-part h1{font-size:29px!important}}

/* v0.6.24 — public header ordering and custom homepage blocks */
.sb-top-public{display:flex;align-items:center}
.sb-header-composition{display:flex;align-items:center;gap:18px;min-height:36px;flex-wrap:wrap;flex:1;min-width:0}
.sb-header-composition .sb-header-brand{margin-right:auto}
.sb-header-composition nav{display:flex;align-items:center;gap:22px}
.sb-header-logo{display:inline-flex;flex:0 0 auto;text-decoration:none}
.sb-header-logo img{display:block;width:50px;height:50px;object-fit:contain}
.sb-header-label,.sb-header-link,.sb-header-language{font-size:13px;color:var(--ink);white-space:nowrap;text-decoration:none}
.sb-header-link:hover,.sb-header-language:hover{color:var(--accent)}
.sb-nav-empty{display:none!important}
.sb-header-editor-list{display:flex;flex-direction:column;gap:9px;margin-bottom:12px}
.sb-header-editor-row{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:10px;cursor:grab}
.sb-header-editor-row.drag-target{border-color:var(--accent);background:var(--soft)}
.sb-header-editor-head{display:flex;align-items:center;gap:10px;font-size:12px}
.sb-header-editor-head strong{flex:1}
.sb-header-add{display:flex;gap:8px;align-items:center;margin-bottom:25px}
.sb-header-add select{min-width:0;flex:1}
.sb-header-add button{flex-shrink:0;padding:10px}
.sb-custom-heading{font-size:clamp(24px,3.2vw,42px)}
.sb-custom-text{white-space:pre-line;max-width:80ch}
.sb-custom-label{color:var(--accent);font-size:12px;letter-spacing:2px;text-transform:uppercase}
.sb-custom-image{max-width:100%;max-height:560px;object-fit:cover;display:block;border-radius:var(--radius)}
.sb-custom-divider{border:0;border-top:1px solid var(--line);margin:18px 0}
.sb-custom-spacer{height:48px}
.sb-preview-header-composer{gap:14px;justify-content:flex-start;align-items:center;flex-wrap:wrap}
.sb-preview-header-composer .sb-preview-nav{margin-left:auto}
.sb-preview-logo{border:1px solid #58636e;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:#e8853a}
.sb-preview-label{font-size:10px;color:#ccd5df;white-space:nowrap}
/* Color chips render without native color controls or CSS variable inheritance.
   Explicit styling protects Brave/Chromium forced darkening from blank swatches. */
.theme-preset-card .tp-card-colors{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;min-height:31px}
.theme-preset-card .tp-card-colors .tp-chip{display:block!important;min-width:0;width:100%;height:30px;border-radius:4px;border:1px solid rgba(128,128,128,.55);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);forced-color-adjust:none;color-scheme:normal;opacity:1!important;visibility:visible!important}
.theme-preset-card .tp-card-colors .tp-chip:first-child{border-radius:6px 2px 2px 6px}
.theme-preset-card .tp-card-colors .tp-chip:last-child{border-radius:2px 6px 6px 2px}
.theme-color-pair input[type=color]{color-scheme:normal;forced-color-adjust:none;min-width:42px;appearance:auto}
@media(max-width:680px){.sb-header-composition{gap:12px}.sb-header-composition .sb-header-navigation{order:20;display:none;width:100%;flex-direction:column;align-items:stretch}.sb-header-composition .sb-header-navigation.open{display:flex}.sb-top-public .menu-toggle{display:block;margin-top:10px}.sb-header-add{flex-wrap:wrap}.sb-header-add button{width:100%}}

/* v0.6.25 Mode-specific Theme Editor - dark/light independent palettes */
.theme-mode-panel p{max-width:90ch;margin-bottom:15px;font-size:13px}
.theme-mode-segments{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.theme-mode-option{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-decoration:none;font-weight:650;font-size:13px}
.theme-mode-option:hover{color:var(--ink);border-color:var(--accent)}
.theme-mode-option.active{background:var(--soft);border-color:var(--accent);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
.theme-mode-hint{margin:14px 0 0!important;color:var(--muted)}
.theme-mode-hint strong{color:var(--ink)}
/* Keep exceptional controls such as quiet buttons neutral instead of orange. */
button.quiet,.button.quiet{background:transparent;color:var(--ink)}

/* v0.6.26 Public header/nav appearance and position zones */
.sb-top-public{max-width:none;width:100%;padding:var(--sb-header-padding,24px) max(4%,calc((100vw - 1500px)/2));background:var(--sb-header-bg,var(--bg));color:var(--sb-header-ink,var(--ink));border-bottom:1px solid var(--sb-header-border,var(--line));}
.sb-header-composition{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;width:100%;align-items:center;flex:1;min-width:0;}
.sb-header-zone{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0;}
.sb-header-zone-left{justify-content:flex-start}
.sb-header-zone-center{justify-content:center}
.sb-header-zone-right{justify-content:flex-end}
.sb-header-composition .sb-header-brand{margin-right:0;color:inherit}
.sb-header-composition .sb-header-navigation{display:flex;align-items:center;gap:var(--sb-nav-gap,22px);padding:6px 10px;background:var(--sb-navbar-bg,transparent);color:var(--sb-navbar-ink,inherit);border-radius:var(--sb-nav-radius,8px);flex-wrap:wrap}
.sb-header-composition .sb-header-navigation a{color:inherit}
.sb-header-composition .sb-header-navigation a:hover{color:var(--sb-navbar-hover,var(--accent))}
.sb-header-composition .sb-header-navigation .sb-nav-link-button,.sb-header-composition .sb-header-navigation .sb-nav-link-outline{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border-radius:var(--sb-nav-radius,8px);border:1px solid var(--accent)}
.sb-header-composition .sb-header-navigation .sb-nav-link-button{background:var(--button-bg,var(--accent));color:var(--button-ink,var(--bg))}
.sb-header-composition .sb-header-navigation .sb-nav-link-outline{background:transparent;color:var(--sb-navbar-ink,var(--ink))}
.sb-header-composition .sb-header-label,.sb-header-composition .sb-header-link,.sb-header-composition .sb-header-language{color:inherit}
.sb-header-composition .sb-header-label,.sb-header-composition .sb-header-language{white-space:nowrap}
.sb-header-color-grid,.sb-header-colour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sb-header-color-field{display:flex;flex-direction:column;gap:5px;padding:10px;background:var(--soft);border:1px solid var(--line);border-radius:6px;min-width:0}
.sb-header-color-label{font-size:12px;color:var(--ink)}
.sb-header-color-controls{display:flex;gap:5px;align-items:center}
.sb-header-color-controls input[type=color]{width:38px;height:36px;flex:none;padding:1px;border-radius:4px;forced-color-adjust:none;color-scheme:normal}
.sb-header-color-controls input[type=text]{flex:1;min-width:0;font-size:12px;padding:8px}
.sb-header-color-controls button{padding:6px 8px;min-width:28px}
.sb-header-style-panel{margin:16px 0 24px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.sb-header-style-panel h2{font-size:18px}
.sb-header-geometry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.sb-header-geometry label{min-width:0;font-size:12px}
.sb-header-geometry input{padding:0}
.sb-header-geometry output{font-size:11px;color:var(--muted)}
.sb-nav-item{cursor:grab}
.sb-nav-item.drag-target{outline:2px solid var(--accent);outline-offset:2px;background:var(--soft)}
.sb-nav-item-head{display:flex;align-items:center;gap:10px}
.sb-nav-item-head strong{flex:1;font-size:12px}
.sb-preview-header-composer{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));min-height:90px;gap:8px!important}
.sb-preview-zone{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.sb-preview-zone-center{justify-content:center}.sb-preview-zone-right{justify-content:flex-end}
.sb-preview-header-composer .sb-preview-nav{display:flex;align-items:center;gap:10px;margin:0;padding:6px}
.sb-preview-nav-button{padding:4px 7px;background:var(--accent);border-radius:4px;color:var(--bg)}
.sb-preview-nav-outline{padding:4px 7px;border:1px solid var(--accent);border-radius:4px}
@media(max-width:950px){.sb-header-composition{grid-template-columns:1fr auto}.sb-header-zone-center{justify-content:flex-end}.sb-header-zone-right{grid-column:1/-1;justify-content:flex-end}.sb-header-composition .sb-header-navigation{flex-wrap:wrap}}
@media(max-width:680px){.sb-top-public{padding-left:4%;padding-right:4%;flex-wrap:wrap}.sb-header-composition{grid-template-columns:minmax(0,1fr) auto}.sb-header-zone{gap:8px}.sb-header-zone-right{grid-column:1/-1}.sb-header-composition .sb-header-navigation{display:none!important;width:100%;flex-direction:column;align-items:stretch}.sb-header-composition .sb-header-navigation.open{display:flex!important}.sb-header-geometry{grid-template-columns:1fr}.sb-header-colour-grid,.sb-header-color-grid{grid-template-columns:1fr}.sb-header-zone-right:has(.sb-header-navigation.open){width:100%}}

/* v0.6.27 — responsive independent mobile public header.
   Desktop zone positions remain configurable; phone layout does not inherit
   arbitrary grid zones or wrapping. Overrides earlier v0.6.26 media rules. */
.sb-header-mobile,.sb-mobile-header{display:none}
.sb-top-public .sb-mobile-header{min-width:0;width:100%}
@media(max-width:950px){
  .sb-top-public{display:block;padding:14px clamp(12px,4vw,28px)!important;max-width:none;width:100%;}
  .sb-top-public .sb-header-composition{display:none!important}
  .sb-top-public .sb-mobile-header{display:block}
  .sb-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;max-width:100%;}
  .sb-mobile-identity{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto;overflow:hidden}
  .sb-mobile-identity .sb-header-brand{font-size:clamp(13px,3.4vw,18px);line-height:1.12;min-width:0;max-width:100%;overflow-wrap:anywhere;letter-spacing:.05em}
  .sb-mobile-identity .sb-header-brand span{min-width:0}
  .sb-mobile-identity .brand-sub{font-size:8px;letter-spacing:.11em;margin-top:4px;white-space:normal}
  .sb-mobile-identity .sb-header-logo{display:inline-flex;flex:none}
  .sb-mobile-identity .sb-header-logo img{width:clamp(30px,9vw,43px);height:clamp(30px,9vw,43px)}
  .sb-mobile-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0}
  .sb-mobile-actions .sb-header-language{font-size:12px;min-width:25px;min-height:36px;display:grid;place-items:center;text-decoration:none}
  .sb-mobile-actions .theme-toggle{margin:0!important;align-self:center!important}
  .sb-top-public .sb-mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin:0!important;padding:6px 9px;border:1px solid var(--sb-header-border,var(--line));border-radius:7px;background:transparent;color:var(--sb-header-ink,var(--ink));font-size:21px;line-height:1}
  .sb-mobile-drawer{display:none;width:100%;margin-top:14px;padding:12px;border-radius:var(--sb-nav-radius,8px);background:var(--sb-navbar-bg,var(--panel));color:var(--sb-navbar-ink,var(--ink));border:1px solid var(--sb-header-border,var(--line));min-width:0;overflow-wrap:anywhere}
  .sb-mobile-drawer.open{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .sb-mobile-drawer nav.sb-mobile-links{display:flex!important;flex-direction:column;align-items:stretch;gap:3px;width:100%;padding:0;min-width:0;background:transparent;color:inherit}
  .sb-mobile-drawer .sb-mobile-links a,.sb-mobile-drawer .sb-header-link{color:inherit;display:flex;align-items:center;min-height:43px;width:100%;padding:10px 12px;text-decoration:none;font-size:14px;border-radius:var(--sb-nav-radius,8px);white-space:normal;overflow-wrap:anywhere;}
  .sb-mobile-drawer .sb-mobile-links a:hover,.sb-mobile-drawer .sb-header-link:hover{color:var(--sb-navbar-hover,var(--accent));background:var(--soft)}
  .sb-mobile-drawer .sb-mobile-links a.sb-nav-link-button{background:var(--button-bg,var(--accent));color:var(--button-ink,var(--bg));}
  .sb-mobile-drawer .sb-mobile-links a.sb-nav-link-outline{border:1px solid var(--accent)}
  .sb-mobile-drawer .sb-header-label{display:block;font-size:12px;white-space:normal;padding:8px 12px;overflow-wrap:anywhere}
  .sb-header-geometry{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .sb-mobile-actions{gap:5px}
  .sb-mobile-actions .theme-toggle{width:48px;height:30px}
  .sb-mobile-actions .theme-toggle-thumb{width:22px;height:22px}
  body.light .sb-mobile-actions .theme-toggle-thumb{transform:translateX(18px)}
  .sb-mobile-identity{gap:6px}
  .sb-mobile-identity .sb-header-brand{font-size:13px;letter-spacing:0}
  .sb-mobile-identity .brand-sub{letter-spacing:0;font-size:7px}
  .sb-mobile-actions .sb-header-language{min-width:22px;font-size:11px}
  .sb-top-public .sb-mobile-menu-toggle{min-width:36px;min-height:36px;padding:5px}
}
/* The builder's mobile mockup must use a mobile arrangement at 380px even
   when the desktop browser viewport is much wider. */
.sb-preview-frame.mobile .sb-preview-head-mobile{display:flex!important;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:12px 14px!important}
.sb-preview-mobile-top{display:flex;align-items:center;gap:7px;min-width:0;width:100%}
.sb-preview-mobile-identity{display:flex;align-items:center;gap:5px;flex:1;min-width:0;overflow:hidden}
.sb-preview-mobile-identity strong{font-size:12px;letter-spacing:.04em;overflow-wrap:anywhere}
.sb-preview-mobile-actions{display:flex;gap:7px;align-items:center;flex:none}
.sb-preview-mobile-actions span{font-size:11px}
.sb-preview-menu-button{font:inherit!important;font-size:15px!important;padding:4px 8px!important;min-width:28px;border:1px solid currentColor!important;border-radius:5px!important;background:transparent!important;color:inherit!important}
.sb-preview-mobile-nav{width:100%;display:none;flex-direction:column;gap:4px;padding:10px 4px 3px;overflow-wrap:anywhere}
.sb-preview-mobile-nav.open{display:flex}
.sb-preview-mobile-nav span{font-size:11px;padding:6px 8px;border-radius:4px;min-width:0;white-space:normal}
/* Swatches generated by an authorized nonced stylesheet: no inline attributes. */
.theme-preset-card .tp-card-colors .tp-chip{forced-color-adjust:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}

/* v0.6.28 - dark and light variants of every preset */
.theme-variant-hint{font-size:13px;color:var(--muted);max-width:75ch;margin:8px 0 18px;line-height:1.6}
.theme-preset-card .tp-card-name{line-height:1.4;overflow-wrap:anywhere}

/* v0.6.29 — visibly separate all 36 presets: original 18 + 18 new inverse cards */
.tp-preset-collection + .tp-preset-collection{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.tp-collection-title{font-size:15px;font-weight:750;letter-spacing:.01em;color:var(--ink);margin:0 0 16px}
.tp-preset-collection .theme-presets-grid{margin-top:0}
.theme-preset-card .tp-mode-chip{align-self:flex-start;display:inline-flex;align-items:center;font-size:11px;font-weight:650;border-radius:5px;border:1px solid var(--line);padding:3px 7px;color:var(--muted);line-height:1.3}
.theme-preset-card.active .tp-mode-chip{border-color:var(--accent);color:var(--ink)}
#tp-mode-change-message:empty{display:none}
