:root{
  --na-blue:#005b9a;
  --na-blue-dark:#004574;
  --na-blue-soft:#eaf4fb;
  --na-blue-pale:#f5faff;
  --page:#eef3f7;
  --surface:#ffffff;
  --text:#172733;
  --muted:#60717d;
  --border:#cddbe5;
  --success:#e9f7ef;
  --success-border:#96d5ad;
  --error:#fff0f0;
  --error-border:#e8abab;
  --shadow:0 8px 25px rgba(0,53,89,.08);
  --radius:14px;
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--page)}
body{min-height:100vh;margin:0;display:flex;flex-direction:column;background:var(--page);color:var(--text);font:16px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--na-blue)}
.wrap{width:min(100% - 32px,940px);margin-inline:auto}

.site-header{background:#fff;color:var(--na-blue);border-top:3px solid var(--na-blue);border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(0,45,78,.10)}
.header-row{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:18px;color:var(--na-blue);text-decoration:none;min-width:0}
.brand-logo{display:block;width:190px;height:120px;object-fit:contain;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;line-height:1.15}
.brand-title{font-size:1.24rem;font-weight:600;color:var(--na-blue);letter-spacing:.01em}
.brand-subtitle{margin-top:4px;font-size:.88rem;font-weight:500;color:var(--na-blue-dark);opacity:1}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.header-link,.language-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:9px;text-decoration:none;color:var(--na-blue);font-weight:400;transition:.15s ease}
.header-link{padding:8px 13px;border:1px solid var(--na-blue)}
.header-link:hover,.header-link:focus{background:var(--na-blue);color:#fff}
.language-switch{display:flex;padding:3px;background:rgba(0,0,0,.12);border-radius:9px}
.language-link{min-width:42px;padding:6px 9px}
.language-link:hover,.language-link:focus,.language-link.active{background:#fff;color:var(--na-blue)}

main{flex:1;padding:38px 0 64px}
h1,h2,h3{color:var(--na-blue-dark);font-weight:500;line-height:1.2}
h1{font-size:clamp(1.75rem,4vw,2.35rem);margin:0 0 10px}
h2{font-size:1.3rem;margin:0 0 18px}
p{margin-top:0}
.page-intro{max-width:720px;margin:0 0 28px;color:var(--muted);font-size:1.05rem}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,4vw,30px);margin:0 0 22px;box-shadow:var(--shadow)}
.card h1:first-child,.card h2:first-child{margin-top:0}
.order-card{border-left:5px solid var(--na-blue)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 20px}
.field label{display:block;margin:0 0 7px;color:var(--text);font-size:.94rem;font-weight:500}
.field input,.field select{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus{border-color:var(--na-blue);box-shadow:0 0 0 3px rgba(0,91,154,.13)}
.field input:disabled{background:#f0f3f5;color:#677681}

.product{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid #e3ebf0}
.product:first-of-type{padding-top:3px}
.product:last-of-type{border-bottom:0;padding-bottom:4px}
.product strong{font-size:1.04rem;font-weight:600}
.product .muted{margin-top:4px}
.product label{font-size:.9rem}
.product input{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;font:inherit}
.price{margin-top:7px;color:var(--na-blue-dark);font-size:1.08rem;font-weight:600}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--na-blue);border-radius:10px;padding:10px 18px;background:var(--na-blue);color:#fff;text-decoration:none;font:inherit;font-weight:500;cursor:pointer;transition:.15s ease}
.btn:hover,.btn:focus{background:var(--na-blue-dark);border-color:var(--na-blue-dark);color:#fff}
.btn:disabled{opacity:.6;cursor:wait}
.btn.secondary{background:#fff;color:var(--na-blue)}
.btn.secondary:hover,.btn.secondary:focus{background:var(--na-blue);color:#fff}
.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}

.notice{padding:15px 17px;border:1px solid #bfd5e5;border-radius:10px;background:var(--na-blue-soft);margin:17px 0;color:#274657}
.notice.success,.card.success{background:var(--success);border-color:var(--success-border)}
.notice.error,.card.error{background:var(--error);border-color:var(--error-border)}
.muted{color:var(--muted)}
.total-row{margin:19px 0 0;padding-top:15px;border-top:1px solid var(--border);text-align:right;font-size:1.22rem;color:var(--na-blue-dark)}
hr{border:0;border-top:1px solid var(--border);margin:18px 0}
code{font-size:.92em}

.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:12px 13px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}
th{background:var(--na-blue-soft);color:var(--na-blue-dark);font-size:.9rem;font-weight:600}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--na-blue-pale)}
td form{margin:0}
td .btn{min-height:38px;padding:7px 12px;font-size:.9rem}

.site-footer{background:#fff;border-top:1px solid var(--border);padding:24px 0;color:var(--muted);font-size:.92rem}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer p{margin:0}
.site-footer a{text-decoration:none}

@media(max-width:720px){
  .wrap{width:min(100% - 22px,940px)}
  .header-row{min-height:116px;align-items:flex-start;padding:10px 0;gap:10px}
  .brand{gap:9px}
  .brand-logo{width:150px;height:92px}
  .brand-title{font-size:1rem}
  .brand-subtitle{display:none}
  .header-actions{gap:7px}
  .header-link{min-height:38px;padding:7px 10px;font-size:.86rem}
  .language-link{min-width:37px;min-height:36px;font-size:.84rem}
  main{padding:26px 0 46px}
  .grid{grid-template-columns:1fr}
  .product{grid-template-columns:minmax(0,1fr) 84px;gap:13px}
  .actions>.btn{flex:1 1 180px}
  .card{padding:20px 17px}
}

@media(max-width:480px){
  .header-row{display:block}
  .brand{margin-bottom:9px}
  .header-actions{justify-content:space-between}
  .header-link{flex:1}
  .language-switch{flex:0 0 auto}
  .btn{width:100%}
  td .btn{width:auto}
}

/* Språkval med flaggor */
.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px;
  border-radius: 12px;
  background: var(--na-blue-soft);
}
.language-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 34px;
  border: 2px solid transparent;
  border-radius: 9px;
  line-height: 1;
  overflow:hidden;
  text-decoration: none;
  opacity: .78;
  transition: transform .15s ease, background .15s ease, opacity .15s ease, border-color .15s ease;
}
.language-flag:hover,
.language-flag:focus-visible {
  transform: translateY(-1px);
  background: #fff;
  opacity: 1;
}
.language-flag.active {
  background: #fff;
  border-color: var(--na-blue);
  opacity: 1;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}

.language-flag img{display:block;width:30px;height:20px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.language-flag.active img{box-shadow:0 0 0 1px rgba(0,0,0,.08)}

.form-stack{display:flex;flex-direction:column;gap:19px;max-width:680px}
.phone-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.35fr);gap:20px}
.phone-code,.phone-number{min-width:0}
@media(max-width:720px){.phone-row{grid-template-columns:1fr}}

.ticket-card{text-align:center}.ticket-item{display:flex;flex-direction:column;align-items:center;gap:14px;margin:20px 0}.ticket-qr{width:280px;max-width:100%;height:auto;border:10px solid #fff;box-shadow:0 3px 18px rgba(0,47,83,.13);border-radius:10px}.checkin-result{max-width:720px;margin:20px auto}.checkin-status{font-size:1.1rem;padding:12px;border-radius:8px}.scanner-video{width:100%;max-width:520px;border-radius:12px;background:#111}.search-grid{display:grid;grid-template-columns:1fr auto;gap:10px}@media(max-width:650px){.search-grid{grid-template-columns:1fr}}

.qr-reader{width:100%;max-width:520px;margin:16px auto 0;overflow:hidden;border-radius:14px;background:#f3f7fb}
.qr-reader video{width:100%!important;border-radius:14px}
.scanner-panel .btn{margin-right:8px;margin-bottom:8px}
.checkin-scan-heading,.checkin-scan-card{max-width:720px;margin-left:auto;margin-right:auto}
.checkin-scan-heading{align-items:center;justify-content:center;text-align:center}
.checkin-scan-card{padding:24px}
.checkin-code-form{display:none}
.scanner-panel{text-align:center}
.scanner-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.qr-reader:not([hidden])+.scanner-actions{margin-top:14px}
.scanner-actions .btn{min-width:210px;margin:0}
.scanner-file-button{cursor:pointer}
.scanner-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
#cameraInfo{min-height:1.5em;margin:14px 0 0}
@media(max-width:650px){
  .checkin-scan-heading{display:flex;padding:14px 16px}
  .checkin-scan-card{padding:16px 12px}
  .scanner-actions{display:grid;grid-template-columns:1fr;width:100%}
  .scanner-actions .btn{width:100%;min-width:0;min-height:54px}
}

/* Incheckningsöversikt */
.checkin-page-header{justify-content:space-between;margin-bottom:18px}
.checkin-page-header h1{margin-bottom:4px}
.checkin-page-header p{margin:0}
.checkin-nav-actions{margin-top:0}
.checkin-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.checkin-stat-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--na-blue-dark);box-shadow:var(--shadow)}
.checkin-stat-card strong{font-size:1.7rem;color:var(--na-blue)}
.checkin-stat-card.active{border-color:var(--na-blue);box-shadow:0 0 0 2px rgba(0,92,153,.12)}
.checkin-stat-card.success-card strong{color:#1d7542}
.checkin-overview-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) auto;gap:16px;align-items:end}
.checkin-overview-filter .field{margin:0}
.filter-actions{margin:0;align-items:end}
.checkin-overview-table td{white-space:normal;min-width:115px}
.checkin-overview-table td:first-child{min-width:190px}
.checkin-overview-table td:nth-child(2){min-width:220px}
.row-checked-in{background:#f2fbf5}
.status-badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.84rem;font-weight:600;background:#edf3f7;color:#365566}
.status-badge.checked{background:#dff5e7;color:#18673a}
.status-badge.not-checked{background:#fff3d6;color:#775600}
.status-badge.payment-paid{background:#dff5e7;color:#18673a}
.status-badge.payment-unpaid{background:#fde8e7;color:#8b2520}
.status-badge.payment-partially_paid{background:#fff3d6;color:#775600}
.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:22px 0;flex-wrap:wrap}
@media(max-width:820px){
  .checkin-stats-grid{grid-template-columns:1fr}
  .checkin-overview-filter{grid-template-columns:1fr}
  .filter-actions .btn{flex:1}
}

/* Stripe betalningssvar */
.payment-result-card{max-width:760px;margin:10px auto 30px;padding:clamp(26px,5vw,46px);background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 14px 36px rgba(0,53,89,.12);text-align:center}
.payment-result-icon{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 20px;border-radius:50%;font-size:2.5rem;font-weight:700}
.payment-result-success .payment-result-icon{background:#dff5e7;color:#176b3b}
.payment-result-pending .payment-result-icon{background:#fff3d6;color:#775600}
.payment-result-error .payment-result-icon{background:#fde8e7;color:#8b2520}
.payment-result-kicker{margin:0 0 7px;color:var(--na-blue);font-size:.82rem;font-weight:700;letter-spacing:.12em}
.payment-result-card h1{max-width:620px;margin:0 auto 14px}
.payment-result-lead{max-width:620px;margin:0 auto 26px;color:var(--muted);font-size:1.06rem}
.payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:26px 0;background:var(--border);border:1px solid var(--border);border-radius:13px;overflow:hidden;text-align:left}
.payment-summary>div{display:flex;flex-direction:column;gap:5px;padding:16px;background:#fff}
.payment-summary span{color:var(--muted);font-size:.84rem}
.payment-summary strong{color:var(--na-blue-dark);font-size:1rem;overflow-wrap:anywhere}
.payment-result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:650px){.payment-summary{grid-template-columns:1fr}.payment-result-actions .btn{width:100%}}

/* v1.19: paid additions */
.order-readonly-list .product { align-items: center; }
.add-registration-box { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--border, #d9e2ea); }
.add-registration-box h3 { margin: 0 0 8px; }
.addition-payment-form { margin-top: 14px; }
.addition-row { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 18px; border: 1px solid var(--border, #d9e2ea); border-radius: 14px; background: #f7fafc; }
.addition-controls { display: flex; gap: 12px; align-items: end; }
.addition-controls label { display: grid; gap: 6px; font-size: .9rem; }
.addition-controls input { width: 90px; }
@media (max-width: 680px) {
  .addition-row, .addition-controls { flex-direction: column; align-items: stretch; }
  .addition-controls input { width: 100%; }
}

/* v1.20 – flera betalda tillägg i samma betalning */
.addition-products-list {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.addition-product-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px;
  border: 1px solid var(--border, #d9e3ec);
  border-radius: 14px;
  background: #fff;
}
.addition-product-info {
  min-width: 0;
}
.addition-product-info strong {
  display: block;
  margin-bottom: 4px;
}
.addition-quantity {
  display: grid;
  gap: 5px;
  min-width: 92px;
  font-weight: 600;
}
.addition-quantity input {
  width: 92px;
  text-align: center;
}
.addition-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
}
.addition-submit-row .muted {
  margin: 0;
  max-width: 620px;
}
@media (max-width: 680px) {
  .addition-product-row,
  .addition-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .addition-quantity,
  .addition-quantity input {
    width: 100%;
  }
  .addition-submit-row .btn {
    width: 100%;
  }
}

/* v1.22 – QR‑biljett */
.ticket-page {
  width: 100%;
  padding: 10px 0 34px;
}
.ticket-shell {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(24px, 5vw, 46px);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(0, 53, 89, .12);
}
.ticket-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.ticket-heading h1 {
  margin: 0 0 10px;
}
.ticket-kicker {
  margin: 0 0 7px;
  color: var(--na-blue);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.ticket-intro {
  margin: 0;
  max-width: 480px;
  color: var(--muted);
}
.ticket-order-number {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 190px;
  padding: 13px 15px;
  border-radius: 12px;
  background: #f2f7fa;
  text-align: right;
}
.ticket-order-number span {
  color: var(--muted);
  font-size: .82rem;
}
.ticket-order-number strong {
  color: var(--na-blue-dark);
  overflow-wrap: anywhere;
}
.ticket-qr-wrap {
  display: flex;
  justify-content: center;
  padding: 34px 0 28px;
}
.ticket-qr {
  display: block;
  width: min(100%, 420px);
  height: auto;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
}
.ticket-instructions {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px 14px;
  max-width: 590px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 14px;
  background: #f7fafc;
}
.ticket-instructions p {
  margin: 4px 0 0;
}
.ticket-instruction-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--na-blue);
  color: #fff;
  font-weight: 700;
}
.ticket-actions {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}
.ticket-invalid {
  max-width: 640px;
  text-align: center;
}
.ticket-invalid .ticket-status-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: #fde8e7;
  color: #8b2520;
  font-size: 2.2rem;
  font-weight: 700;
}
.ticket-invalid p:not(.ticket-kicker) {
  max-width: 520px;
  margin: 0 auto 24px;
  color: var(--muted);
}
@media (max-width: 680px) {
  .ticket-page { padding-top: 0; }
  .ticket-shell { padding: 22px 18px; border-radius: 16px; }
  .ticket-heading { flex-direction: column; gap: 18px; }
  .ticket-order-number { width: 100%; min-width: 0; text-align: left; }
  .ticket-qr-wrap { padding: 26px 0 22px; }
  .ticket-qr { padding: 10px; border-radius: 14px; }
  .ticket-actions .btn { width: 100%; }
}

/* Order summary with discount code */
.order-totals {
  margin-top: 1rem;
  border-top: 1px solid #d9e2ea;
  padding-top: .65rem;
}
.order-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .5rem 0;
}
.order-total-row.discount-row {
  color: #0b5f9a;
}
.discount-code-badge {
  display: inline-block;
  margin-left: .45rem;
  padding: .16rem .48rem;
  border-radius: 999px;
  background: #e9f3fa;
  border: 1px solid #b8d4e7;
  font-size: .82em;
  font-weight: 700;
  letter-spacing: .03em;
}
.order-total-row.grand-total-row {
  margin-top: .25rem;
  padding-top: .8rem;
  border-top: 2px solid #0b5f9a;
  font-size: 1.08rem;
}
@media (max-width: 560px) {
  .order-total-row {
    align-items: flex-start;
  }
  .discount-code-badge {
    display: block;
    width: fit-content;
    margin: .25rem 0 0;
  }
}


/* v1.29 – frivilligt bidrag */
.product-control{min-width:0;width:100%}
.custom-amount-product{grid-template-columns:minmax(0,1fr) 150px}
.custom-amount-label{display:grid;gap:6px;width:100%;font-size:.9rem;font-weight:500}
.custom-amount-label>span{display:block}
.money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;width:100%;min-width:0;border:1px solid #c8d5df;border-radius:10px;background:#fff;overflow:hidden}
.money-input>span{display:flex;align-items:center;justify-content:center;padding:0 11px;font-weight:700;color:#005b9a;background:#f4f8fb;border-right:1px solid #dbe4ea}
.money-input input{width:100%!important;min-width:0!important;min-height:48px;border:0!important;border-radius:0!important;padding:10px 12px!important;text-align:right}
.custom-amount-field{width:170px;min-width:170px}
.custom-amount-field .money-input{width:100%}
@media(max-width:720px){
  .custom-amount-product{grid-template-columns:1fr}
  .custom-amount-product .product-control{max-width:none}
  .custom-amount-field{width:100%;min-width:0}
  .money-input input{text-align:left}
}

/* v1.36 – fullständig orderdetalj i admin och incheckning */
.admin-orders-header{justify-content:space-between;margin-bottom:18px}
.admin-orders-header h1{margin:0}
.admin-nav-actions{justify-content:flex-end;margin-top:0}
.admin-orders-table td{white-space:normal;vertical-align:middle}
.admin-orders-table td:first-child{min-width:175px}
.admin-orders-table td:nth-child(3){min-width:210px}
.amount-due{color:#8b2520;font-weight:600}

.order-detail-page-header{justify-content:space-between;align-items:flex-start;margin:0 0 20px}
.order-detail-page-header h1{margin-bottom:5px}
.order-detail-page-header p{margin-bottom:0}
.order-detail-breadcrumb{font-size:.9rem}
.order-detail-page-actions{justify-content:flex-end;margin-top:0;max-width:610px}
.order-detail-action-card{display:flex;align-items:center;justify-content:space-between;gap:24px}
.order-detail-action-card h2,.order-detail-action-card p{margin-bottom:0}

.order-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
.order-detail-stat{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px 17px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.order-detail-stat span:first-child{color:var(--muted);font-size:.84rem}
.order-detail-stat strong{color:var(--na-blue-dark);font-size:1.02rem;overflow-wrap:anywhere}
.order-detail-stat.warning-stat{border-color:#e3c278;background:#fffaf0}
.order-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.order-detail-card{min-width:0}
.order-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.order-detail-heading h2{margin:0}
.detail-list{display:grid;gap:0;margin:0}
.detail-list>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.6fr);gap:16px;padding:10px 0;border-bottom:1px solid #e6edf2}
.detail-list>div:last-child{border-bottom:0}
.detail-list dt{color:var(--muted);font-size:.9rem}
.detail-list dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
.detail-list.compact{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.detail-list.compact>div{grid-template-columns:100px minmax(0,1fr)}
.break-value{overflow-wrap:anywhere;word-break:break-word}

.order-items-table{box-shadow:none}
.order-items-table td{white-space:normal}
.order-detail-totals{width:min(100%,430px);margin:20px 0 0 auto}
.order-detail-totals>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0}
.order-detail-totals .discount{color:var(--na-blue)}
.order-detail-totals .grand-total{margin-top:6px;padding-top:13px;border-top:2px solid var(--na-blue);font-size:1.12rem}

.payment-detail-list{display:grid;gap:14px}
.payment-detail-item{padding:17px;border:1px solid var(--border);border-radius:12px;background:#f9fbfc}
.payment-detail-main{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:9px}
.payment-detail-main>div{display:flex;flex-direction:column;gap:3px}
.payment-detail-main strong{font-size:1.16rem;color:var(--na-blue-dark)}

.status-badge.payment-completed,.status-badge.payment-refunded,.status-badge.email-sent{background:#dff5e7;color:#18673a}
.status-badge.payment-pending,.status-badge.payment-partially_refunded,.status-badge.email-queued{background:#fff3d6;color:#775600}
.status-badge.payment-failed,.status-badge.payment-cancelled,.status-badge.email-failed{background:#fde8e7;color:#8b2520}

.admin-log-table{box-shadow:none}
.admin-log-table td{white-space:normal;min-width:130px}
.admin-log-table td:nth-child(2),.admin-log-table td:last-child{min-width:220px}
.admin-log-table details{margin-top:7px}
.log-error{max-width:380px;margin-top:7px;padding:8px;border-radius:7px;background:#fff0f0;color:#7d2520;white-space:normal;overflow-wrap:anywhere}
.history-list{display:grid;gap:11px}
.history-item{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid #e6edf2}
.history-item:last-child{border-bottom:0}
.history-item details{max-width:55%}
.history-item pre{max-width:100%;overflow:auto;padding:12px;border-radius:9px;background:#f2f6f9;white-space:pre-wrap;overflow-wrap:anywhere}
.history-item h3{margin:12px 0 5px;font-size:.95rem}
.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.checkin-action-card{max-width:940px;margin:20px auto 22px;border-width:2px}
.checkin-action-card.ready-card{border-color:#b8d4e7}
.checkin-action-card.checked-in-card{border-color:var(--success-border);background:#f5fcf7}
.checkin-action-heading{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.checkin-action-heading h2{margin:0 0 4px}
.checkin-action-heading p{margin-bottom:0}
.checkin-action-icon{display:flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:var(--na-blue);color:#fff;font-size:1.8rem;font-weight:700}
.checked-in-card .checkin-action-icon{background:#1d7542}
.checkin-primary-action .btn{min-width:220px}

@media(max-width:850px){
  .order-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-detail-grid{grid-template-columns:1fr}
  .detail-list.compact{grid-template-columns:1fr}
  .order-detail-page-header,.order-detail-action-card{flex-direction:column}
  .order-detail-page-actions{justify-content:flex-start;max-width:none}
}
@media(max-width:560px){
  .order-detail-summary{grid-template-columns:1fr}
  .detail-list>div,.detail-list.compact>div{grid-template-columns:1fr;gap:3px}
  .history-item{flex-direction:column;gap:8px}
  .history-item details{max-width:none}
  .checkin-action-heading{align-items:flex-start}
  .checkin-action-icon{flex-basis:48px;width:48px;height:48px;font-size:1.45rem}
  .checkin-primary-action .btn{width:100%;min-width:0}
}


/* v1.38 – knappgrupper och tydligare belopp i admin */
@media(min-width:721px){
  .admin-orders-header{display:block}
  .admin-nav-actions,.order-detail-page-actions{flex-wrap:nowrap;max-width:none;width:100%;justify-content:flex-start}
  .admin-nav-actions .btn,.order-detail-page-actions .btn,.order-detail-page-actions .inline-action-form{flex:1 1 0;min-width:0}
  .admin-nav-actions .btn,.order-detail-page-actions .btn{padding-left:10px;padding-right:10px;white-space:nowrap}
  .order-detail-page-header{display:block}
  .order-detail-page-actions{margin-top:18px}
}
.inline-action-form{display:flex;margin:0}
.inline-action-form .btn{width:100%}
.order-total-cell{min-width:135px;white-space:normal!important}
.order-total-amount{display:block;white-space:nowrap}
.amount-due{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin-top:5px;color:#8b2520;font-weight:500;line-height:1.25}
.amount-due strong{white-space:nowrap;font-size:.95rem}
.admin-orders-table td:nth-child(7){min-width:125px}
@media(max-width:720px){
  .admin-nav-actions,.order-detail-page-actions{gap:10px 8px}
  .admin-nav-actions .btn,.order-detail-page-actions .btn,.order-detail-page-actions .inline-action-form{flex:1 1 100%;width:100%}
  .order-detail-page-actions{margin-top:16px}
  .actions{row-gap:10px}
}


/* v1.40 – rymliga och konsekventa knappgrupper i administrationen */
.admin-page main.wrap{
  width:min(100% - 40px,1180px);
}

.admin-nav-actions,
.order-detail-page-actions{
  width:100%;
}

@media (min-width: 1041px) {
  .admin-orders-header,
  .order-detail-page-header{
    display:block;
  }

  .admin-nav-actions,
  .order-detail-page-actions{
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:12px;
    max-width:none;
    margin-top:18px;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn,
  .order-detail-page-actions .inline-action-form{
    flex:0 0 auto;
    width:auto;
    min-width:0;
    margin:0;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn{
    min-height:54px;
    padding:10px 18px;
    line-height:1.25;
    white-space:nowrap;
    text-align:center;
  }
}

@media (min-width: 721px) and (max-width: 1040px) {
  .admin-orders-header,
  .order-detail-page-header{
    display:block;
  }

  .admin-nav-actions,
  .order-detail-page-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    width:100%;
    max-width:none;
    margin-top:18px;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn,
  .order-detail-page-actions .inline-action-form,
  .inline-action-form .btn{
    width:100%;
    min-width:0;
    margin:0;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn{
    min-height:52px;
    padding:10px 12px;
    line-height:1.25;
    white-space:normal;
    text-align:center;
  }
}

@media (max-width: 720px) {
  .admin-page main.wrap{
    width:min(100% - 22px,1180px);
  }

  .admin-nav-actions,
  .order-detail-page-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    width:100%;
    max-width:none;
    margin-top:16px;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn,
  .order-detail-page-actions .inline-action-form,
  .inline-action-form .btn{
    width:100%;
    min-width:0;
    margin:0;
  }

  .admin-nav-actions .btn,
  .order-detail-page-actions .btn{
    min-height:50px;
    white-space:normal;
    text-align:center;
  }
}

/* Håll totalsummor och kvarvarande belopp tydliga. */
.order-total-cell{min-width:155px}
.order-total-amount,
.amount-due strong{white-space:nowrap}
.amount-due{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  line-height:1.3;
}


/* v1.41: tydlig obetald order och låst QR‑biljett */
.unpaid-order-notice h3{margin:0 0 8px;color:#9d1c0f}
.unpaid-order-notice p{margin:0 0 14px}
.unpaid-order-payment-form{margin-top:14px}
.unpaid-order-payment-form .btn{font-size:1.05rem;font-weight:700}
.paid-order-notice{padding-top:17px;padding-bottom:17px}
.ticket-locked-card{border:2px solid var(--error-border);background:var(--error)}
.ticket-locked-card h2{color:#9d1c0f}
@media(max-width:650px){.unpaid-order-payment-form .btn{width:100%}}

/* v1.42: Informational Stripe transaction cost on the customer's order page. */
.transaction-cost-row {
  align-items: flex-start;
  border-top: 1px dashed rgba(0, 75, 126, .22);
  color: var(--muted, #5f7280);
  font-size: .95rem;
  margin-top: .25rem;
  padding-top: .7rem;
}
.transaction-cost-row span {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}
.transaction-cost-row small {
  color: var(--muted, #5f7280);
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.35;
}
.transaction-cost-row strong {
  color: inherit;
  white-space: nowrap;
}
.transaction-cost-pending strong {
  font-weight: 400;
}

/* v1.44 – förbättrad layout på Mina beställningar */
.contact-details-form > .btn{
  margin-top:22px;
}

/* Samma pris-/beloppskolumn för produktrader och summering. */
.order-readonly-list .product{
  grid-template-columns:minmax(0,1fr) 170px;
  gap:24px;
}
.order-readonly-list .product > strong{
  display:block;
  width:100%;
  text-align:right;
  white-space:nowrap;
}
.order-totals .order-total-row > strong{
  flex:0 0 170px;
  text-align:right;
  white-space:nowrap;
}

/* Antalsfält för tillägg ska se likadana ut som på registreringssidan. */
.addition-quantity{
  width:120px;
  min-width:120px;
}
.addition-quantity input{
  width:100%;
  min-height:44px;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font:inherit;
  text-align:center;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.addition-quantity input:focus{
  border-color:var(--na-blue);
  box-shadow:0 0 0 3px rgba(0,91,154,.13);
}
.addition-product-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  align-items:center;
  gap:24px;
}
.addition-product-row .addition-quantity,
.addition-product-row .custom-amount-field{
  width:170px;
  min-width:170px;
  justify-self:end;
}

@media(max-width:720px){
  .order-readonly-list .product{
    grid-template-columns:minmax(0,1fr) 130px;
    gap:16px;
  }
  .order-totals .order-total-row > strong{
    flex-basis:130px;
  }
  .addition-product-row{
    grid-template-columns:minmax(0,1fr) 140px;
    gap:16px;
  }
  .addition-product-row .addition-quantity,
  .addition-product-row .custom-amount-field{
    width:140px;
    min-width:140px;
  }
}

@media(max-width:560px){
  .contact-details-form > .btn{
    margin-top:20px;
  }
  .order-readonly-list .product{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
  }
  .order-readonly-list .product > strong{
    width:auto;
  }
  .order-totals .order-total-row > strong{
    flex:0 0 auto;
    max-width:48%;
  }
  .addition-product-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .addition-product-row .addition-quantity,
  .addition-product-row .custom-amount-field{
    width:100%;
    min-width:0;
    justify-self:stretch;
  }
}



/* v1.46 – convention landing page */
body{background:linear-gradient(180deg,#f5f8fc 0%,#edf3f8 100%)}
.home-main{display:block;padding:0 0 72px}
.site-header-public{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:0;box-shadow:0 10px 28px rgba(10,53,89,.08)}
.site-header-shell{width:min(100% - 32px,1260px);margin-inline:auto}
.header-primary-row{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:106px;padding:16px 0}
.brand{min-width:0}
.brand-mark{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;width:84px;height:84px;border-radius:50%;border:2px solid rgba(10,78,163,.35);background:radial-gradient(circle at 30% 30%,#fff 0%,#f4f8ff 65%,#e7eef9 100%);box-shadow:inset 0 0 0 6px rgba(10,78,163,.06)}
.brand-mark-number{display:block;font-size:2rem;line-height:1;font-weight:700;color:#0a4ea3}
.brand-mark-copy{display:block;margin-top:2px;font-size:.7rem;letter-spacing:.12em;font-weight:700;color:#c7961d}
.site-header-public .brand-title{font-size:1.2rem;font-weight:700;color:#143567}
.site-header-public .brand-subtitle{margin-top:6px;color:#55708f;font-size:.92rem}
.main-nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1 1 auto;flex-wrap:wrap}
.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:10px;color:#22456a;text-decoration:none;font-weight:500;transition:.15s ease}
.nav-link:hover,.nav-link:focus,.nav-link.active{background:var(--na-blue-soft);color:#0a4ea3}
.header-actions{gap:10px}
.site-header-public .header-link{padding:10px 14px;border-color:#bfd1e8;background:#fff;white-space:nowrap}
.header-cta{min-height:42px;padding-inline:16px;white-space:nowrap}
.hero-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7fbff 0%,#e9f1fb 100%);padding:48px 0 34px}
.hero-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 18%,rgba(255,216,140,.36),transparent 22%),radial-gradient(circle at 16% 10%,rgba(113,166,236,.15),transparent 24%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:38px;align-items:center;position:relative;z-index:1;width:min(100% - 32px,1260px);margin-inline:auto}
.hero-copy h1{font-size:clamp(2.5rem,5vw,5.1rem);line-height:.94;margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;color:#163b73}
.hero-kicker,.section-kicker{margin:0 0 10px;color:#0a4ea3;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero-tagline{margin:0 0 16px;font-size:clamp(1.1rem,2vw,1.8rem);font-family:var(--na40-font-hero-tagline,Georgia,"Times New Roman",serif);color:#1e56a0}
.hero-lead{max-width:660px;font-size:1.12rem;color:#435d78;margin:0 0 24px}
.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 28px}
.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid #d7e2ee;border-radius:14px;background:rgba(255,255,255,.84);box-shadow:0 10px 24px rgba(17,61,105,.06);color:#204364}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-art{position:relative;min-height:460px;border-radius:30px;background:linear-gradient(180deg,#f7fbff 0%,#dce9f9 50%,#b6d1f5 100%);overflow:hidden;box-shadow:0 28px 50px rgba(8,54,97,.15)}
.hero-sun{position:absolute;right:88px;top:72px;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.95) 55%,rgba(255,255,255,0) 75%)}
.hero-water{position:absolute;left:12%;right:8%;bottom:19%;height:18%;border-radius:50% 50% 42% 42%;background:linear-gradient(180deg,rgba(227,242,255,.95) 0%,rgba(163,207,245,.98) 100%)}
.hero-layer{position:absolute;left:-6%;right:-6%;border-radius:50% 50% 0 0 / 100% 100% 0 0}
.hero-layer-back{bottom:28%;height:32%;background:linear-gradient(180deg,#d7e6f8 0%,#a8c5eb 100%)}
.hero-layer-mid{bottom:18%;height:28%;background:linear-gradient(180deg,#8cb2e1 0%,#5d8ed0 100%);clip-path:polygon(0 100%,12% 76%,22% 84%,38% 58%,55% 80%,72% 56%,84% 72%,100% 44%,100% 100%)}
.hero-layer-front{bottom:0;height:34%;background:linear-gradient(180deg,#143f80 0%,#0b2d5e 100%);clip-path:polygon(0 100%,0 64%,12% 70%,24% 58%,38% 76%,54% 44%,67% 62%,79% 46%,90% 56%,100% 34%,100% 100%)}
.hero-forest{position:absolute;right:4%;bottom:5%;width:35%;height:48%;background:linear-gradient(180deg,rgba(26,53,108,.06),rgba(12,40,87,.86));clip-path:polygon(4% 100%,11% 64%,18% 79%,25% 44%,36% 73%,43% 36%,56% 69%,64% 26%,74% 58%,82% 34%,91% 63%,97% 100%)}
.hero-bird{position:absolute;width:44px;height:16px;border-top:3px solid rgba(35,73,123,.8);border-radius:50%;transform:rotate(8deg)}
.hero-bird::after{content:"";position:absolute;left:18px;top:-3px;width:44px;height:16px;border-top:3px solid rgba(35,73,123,.8);border-radius:50%;transform:rotate(-14deg)}
.hero-bird-one{top:95px;left:54%}
.hero-bird-two{top:132px;left:64%;transform:scale(.8)}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px;margin-bottom:36px}
.feature-card,.info-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;text-decoration:none;color:var(--text);box-shadow:var(--shadow)}
.feature-card{display:flex;gap:18px;align-items:flex-start;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.feature-card:hover,.feature-card:focus{transform:translateY(-3px);border-color:#b7cce5;box-shadow:0 18px 32px rgba(10,53,89,.12)}
.feature-card h2{margin:0 0 8px;font-size:1.4rem}
.feature-card p,.info-card p,.contact-panel p,.order-promo p{color:#5d7288}
.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px;background:var(--na-blue-soft);font-size:1.7rem;flex:0 0 auto}
.home-section{margin-bottom:30px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.section-heading h2{margin:0;font-size:2rem}
.home-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.info-card{position:relative;padding-bottom:30px}
.info-card h3{margin:14px 0 10px;color:#163b73;font-size:1.24rem}
.info-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;border-radius:0 0 20px 20px;background:#7fb0ef}
.info-card.accent-green::after{background:#77b488}
.info-card.accent-gold::after{background:#f2b84b}
.info-card.accent-coral::after{background:#ef8d76}
.order-promo{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #f0d8a6;background:linear-gradient(90deg,#fff9ef 0%,#fdf1d8 100%);border-radius:22px;box-shadow:var(--shadow);margin-bottom:34px}
.order-promo h2{margin:0 0 10px;font-size:2rem}
.order-promo p{margin:0;max-width:760px}
.order-promo-btn{background:#d99b1e;border-color:#d99b1e}
.order-promo-btn:hover,.order-promo-btn:focus{background:#b9841a;border-color:#b9841a}
.contact-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:28px;padding:28px 30px;border-radius:22px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.contact-list{padding:18px 20px;border-radius:18px;background:#f7fafe;border:1px solid #d8e4f1}
.contact-list p:last-child{margin-bottom:0}
.footer-public{background:#0b2f61;color:#dfeafa;border-top:0;padding:40px 0}
.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr .8fr;gap:26px}
.footer-public h3{margin:0 0 12px;color:#fff;font-size:1.05rem}
.footer-public .footer-links{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-public .footer-links a,.footer-public a{color:#dfeafa;text-decoration:none}
.footer-public .footer-links a:hover,.footer-public .footer-links a:focus{color:#fff;text-decoration:underline}
.footer-brand{display:flex;align-items:flex-start;gap:16px}.footer-brand p{margin:.35rem 0 0;color:#dfeafa}
.register-page-hero{background:linear-gradient(135deg,#f9fcff 0%,#eef5fd 100%)}
.compact-meta{margin-bottom:0}
.section-header-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}
.small-btn{min-height:40px;padding:8px 14px}
.registration-actions{justify-content:flex-end}
@media(max-width:1100px){
  .header-primary-row{flex-wrap:wrap;justify-content:center}
  .site-header-public .brand{flex:1 1 100%}
  .main-nav{order:3;width:100%;justify-content:flex-start}
  .home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .site-header-shell{width:min(100% - 22px,1260px)}
  .header-primary-row{padding:14px 0;min-height:auto;align-items:flex-start}
  .site-header-public .brand{gap:12px}
  .main-nav{gap:2px}
  .nav-link{padding:9px 10px;font-size:.92rem}
  .hero-grid{grid-template-columns:1fr;gap:22px;width:min(100% - 22px,1260px)}
  .hero-art{min-height:320px}
  .home-feature-grid,.home-card-grid,.footer-grid{grid-template-columns:1fr}
  .contact-panel,.order-promo{grid-template-columns:1fr;display:grid}
  .order-promo-actions .btn{width:100%}
}
@media(max-width:720px){
  .site-header-public{position:static}
  .header-primary-row{gap:12px}
  .brand-copy{min-width:0}
  .site-header-public .brand-title{font-size:1.05rem}
  .site-header-public .brand-subtitle{font-size:.82rem}
  .main-nav{justify-content:space-between}
  .nav-link{padding:8px 9px;font-size:.87rem}
  .header-actions{width:100%;justify-content:space-between}
  .site-header-public .header-link,.header-cta{flex:1 1 auto}
  .hero-section{padding-top:28px}
  .hero-copy h1{font-size:2.45rem}
  .hero-tagline{font-size:1.15rem}
  .hero-lead{font-size:1rem}
  .hero-meta{gap:10px}.hero-pill{width:100%;justify-content:flex-start}
  .feature-card,.info-card,.order-promo,.contact-panel{padding:22px 18px}
  .section-header-inline{flex-direction:column}
  .registration-actions .btn{width:100%}
}

/* v1.47 – färdig konventwebbplats med befintlig NA-logga */
.brand-logo-frame,
.footer-logo-frame{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.brand-logo-frame{width:118px;height:76px}
.brand-logo-public{display:block;width:100%;height:100%;object-fit:contain}
.brand-logo-fallback,
.footer-logo-fallback{display:none;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid rgba(0,91,154,.24);border-radius:14px;background:#f4f8fd;color:var(--na-blue);font-weight:700;letter-spacing:.08em}
.brand-logo-frame.is-missing .brand-logo-fallback,
.footer-logo-frame.is-missing .footer-logo-fallback{display:flex}
.site-header-public .brand{gap:14px;flex:0 1 auto}
.site-header-public .brand-copy{max-width:215px}
.site-header-public .brand-title{font-size:1.08rem;line-height:1.2}
.site-header-public .brand-subtitle{font-size:.8rem;line-height:1.35}
.site-header:not(.site-header-public) .brand-logo-frame{width:190px;height:120px}
.site-header:not(.site-header-public) .header-primary-row{width:100%}
.footer-logo-frame{width:112px;height:74px}
.footer-logo{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.98}
.footer-logo-fallback{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}

.mobile-nav{display:none}
.mobile-nav summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #bfd1e8;border-radius:10px;background:#fff;color:var(--na-blue);font-weight:600}
.mobile-nav summary::-webkit-details-marker{display:none}
.mobile-nav summary::after{content:"+";margin-left:9px;font-size:1.2rem;line-height:1}
.mobile-nav[open] summary::after{content:"–"}
.mobile-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;padding:8px;border:1px solid #d8e4f0;border-radius:14px;background:#fff;box-shadow:0 16px 34px rgba(10,53,89,.13)}
.mobile-nav .nav-link{justify-content:flex-start}

.feature-icon svg,
.mini-icon svg,
.button-icon svg,
.inline-arrow svg,
.order-promo-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature-icon{color:#0a4ea3}
.feature-icon svg{width:31px;height:31px}
.mini-icon{display:inline-flex;width:20px;height:20px;color:#0a4ea3;flex:0 0 auto}
.button-icon{display:inline-flex;width:18px;height:18px;margin-left:9px}
.inline-arrow{display:inline-flex;width:17px;height:17px;margin-left:4px;vertical-align:-3px}
.btn-with-icon{gap:2px}
.card-link{display:inline-flex;align-items:center;margin-top:12px;color:var(--na-blue);font-size:.92rem;font-weight:600}
.coming-label{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:999px;background:#f0f5fb;color:#4f6984;font-size:.78rem;font-weight:600}
.section-heading>p{max-width:460px;margin:0;color:var(--muted);text-align:right}
.order-promo-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:15px;border-radius:19px;background:#fff3d7;color:#c88708;flex:0 0 auto}
.order-promo-copy{flex:1 1 auto}

.hero-art::after{content:"40";position:absolute;right:22px;bottom:-26px;color:rgba(255,255,255,.09);font:700 12rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.08em}
.hero-section .btn{min-height:50px;padding:12px 20px;border-radius:12px}
.home-feature-grid{margin-top:-2px;padding-top:22px}
.feature-card{min-height:174px}
.feature-card p{margin-bottom:0}
.info-card{min-height:268px}
.contact-panel h2{font-size:clamp(1.65rem,3vw,2.35rem);margin-bottom:12px}

@media(max-width:1230px){
  .site-header-public .brand-copy{display:none}
  .header-primary-row{gap:16px}
  .main-nav{gap:1px}
  .nav-link{padding:10px 10px}
}
@media(max-width:980px){
  .desktop-nav{display:none}
  .mobile-nav{display:block;order:4;width:100%}
  .header-primary-row{flex-wrap:wrap;justify-content:space-between}
  .site-header-public .brand{flex:0 1 auto}
  .site-header-public .brand-copy{display:flex;max-width:240px}
  .header-actions{margin-left:auto}
}
@media(max-width:720px){
  .brand-logo-frame{width:98px;height:62px}
  .site-header-public .brand-copy{display:none}
  .site-header-public .header-actions{display:grid;grid-template-columns:1fr 1fr auto;width:100%}
  .site-header-public .header-link,.site-header-public .header-cta{width:100%;min-width:0;padding-inline:9px;font-size:.88rem}
  .mobile-nav nav{grid-template-columns:1fr}
  .section-heading{align-items:flex-start;flex-direction:column}
  .section-heading>p{text-align:left}
  .order-promo-icon{width:58px;height:58px}
  .hero-art::after{font-size:8rem}
}
@media(max-width:470px){
  .site-header-public .header-actions{grid-template-columns:1fr 1fr}
  .site-header-public .language-switch{grid-column:1/-1;justify-self:end}
  .hero-art{min-height:275px}
}

/* v1.48 – enradig header och separata informationssidor */
.site-header-public .site-header-shell{
  width:min(100% - 36px,1480px);
}
.site-header-public .header-primary-row{
  min-height:116px;
  padding:10px 0;
}
.site-header-public .brand-logo-frame{
  width:172px;
  height:94px;
}
.site-header-public .brand{
  flex:0 0 auto;
  gap:16px;
}
.site-header-public .brand-copy{
  max-width:230px;
}
.site-header-public .main-nav{
  flex-wrap:nowrap;
  white-space:nowrap;
  gap:2px;
}
.site-header-public .nav-link{
  padding:11px 12px;
}
.site-header-public .header-actions{
  flex:0 0 auto;
  width:auto;
  margin-left:0;
}
.placeholder-body main{
  flex:1;
  width:min(100% - 32px,980px);
  margin-inline:auto;
  padding:70px 0 90px;
}
.placeholder-page{
  max-width:820px;
  margin:0 auto;
  padding:clamp(32px,6vw,66px);
  text-align:center;
  background:linear-gradient(145deg,#fff 0%,#f4f8fd 100%);
  border-radius:26px;
}
.placeholder-page h1{
  margin:0 0 18px;
  font-size:clamp(2.2rem,5vw,4rem);
  font-family:Georgia,"Times New Roman",serif;
  color:#163b73;
}
.placeholder-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:82px;
  height:82px;
  margin:0 auto 24px;
  border-radius:50%;
  background:var(--na-blue-soft);
  color:var(--na-blue);
  font-size:1.7rem;
  font-weight:700;
  letter-spacing:.16em;
  padding-left:.16em;
}
.placeholder-lead{
  max-width:670px;
  margin:0 auto 16px;
  color:#526c86;
  font-size:1.14rem;
}
.placeholder-note{
  margin:0 auto 20px;
  color:var(--na-blue-dark);
  font-weight:600;
}
.placeholder-actions{
  justify-content:center;
  margin-top:28px;
}
.placeholder-contact{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  margin:12px auto 0;
  padding:18px 26px;
  border:1px solid #d4e1ef;
  border-radius:16px;
  background:#fff;
}
.placeholder-contact span{
  color:var(--muted);
  font-size:.86rem;
}
.placeholder-contact a{
  font-size:1.12rem;
  font-weight:600;
  text-decoration:none;
}

@media (min-width:981px){
  .site-header-public .header-primary-row{
    flex-wrap:nowrap;
    justify-content:space-between;
  }
  .site-header-public .brand{
    flex:0 0 auto;
  }
  .site-header-public .main-nav{
    order:initial;
    width:auto;
    justify-content:center;
  }
  .site-header-public .header-actions{
    width:auto;
    margin-left:0;
  }
}
@media (max-width:1320px) and (min-width:981px){
  .site-header-public .brand-copy{
    display:none;
  }
  .site-header-public .brand-logo-frame{
    width:154px;
    height:86px;
  }
  .site-header-public .nav-link{
    padding:10px 9px;
    font-size:.92rem;
  }
}
@media (max-width:980px){
  .site-header-public .brand-logo-frame{
    width:142px;
    height:80px;
  }
  .site-header-public .header-actions{
    width:auto;
    margin-left:auto;
  }
}
@media (max-width:720px){
  .site-header-public .brand-logo-frame{
    width:124px;
    height:72px;
  }
  .site-header-public .header-actions{
    display:flex;
    width:auto;
  }
  .site-header-public .language-switch{
    justify-self:auto;
  }
  .placeholder-body main{
    width:min(100% - 22px,980px);
    padding:38px 0 60px;
  }
  .placeholder-page{
    padding:30px 20px;
  }
}

/* v1.49 – dimmad konventbild på alla sidor och färgskala hämtad från motivet */
:root{
  --na-blue:#d87526;
  --na-blue-dark:#342720;
  --na-blue-soft:#fff0dd;
  --na-blue-pale:#fff8ef;
  --page:#10151a;
  --surface:rgba(255,250,244,.96);
  --text:#242a2e;
  --muted:#626a70;
  --border:rgba(92,67,50,.22);
  --shadow:0 18px 48px rgba(0,0,0,.24);
  --warm-gold:#f0a13b;
  --warm-gold-light:#ffd08a;
  --charcoal:#11171d;
  --charcoal-soft:#202830;
}

html{background:var(--charcoal)}
body{
  position:relative;
  isolation:isolate;
  background:transparent;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-image:url("../convention-background.jpg");
  background-position:center bottom;
  background-size:cover;
  background-repeat:no-repeat;
  transform:translateZ(0);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,12,16,.66) 0%,rgba(10,13,17,.53) 44%,rgba(36,20,8,.43) 100%),
    rgba(8,11,15,.18);
  pointer-events:none;
}

/* Glasliknande men tydliga ytor framför bakgrunden */
.card,
.table-wrap,
.payment-result-card,
.ticket-shell,
.checkin-stat-card,
.feature-card,
.info-card,
.contact-panel,
.placeholder-page{
  background:rgba(255,250,244,.95);
  border-color:rgba(255,220,178,.32);
  box-shadow:var(--shadow);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.card.success{background:rgba(235,250,240,.96)}
.card.error{background:rgba(255,239,237,.96)}

h1,h2,h3{color:var(--na-blue-dark)}
a{color:#b95818}
.btn{
  background:linear-gradient(135deg,#dd7a29 0%,#b95417 100%);
  border-color:#c8641f;
  color:#fff;
  box-shadow:0 10px 24px rgba(124,54,15,.24);
}
.btn:hover,.btn:focus{
  background:linear-gradient(135deg,#ef963f 0%,#c7601d 100%);
  border-color:#e4812c;
}
.btn.secondary{
  background:rgba(255,250,244,.88);
  border-color:#c96928;
  color:#9f4514;
  box-shadow:none;
}
.btn.secondary:hover,.btn.secondary:focus{
  background:#d87526;
  border-color:#d87526;
  color:#fff;
}
.field input:focus,.field select:focus{
  border-color:#d87526;
  box-shadow:0 0 0 3px rgba(216,117,38,.18);
}
.price,.total-row{color:#9f4514}
.notice{background:rgba(255,241,221,.96);border-color:#e2b279;color:#59412f}

/* En mörk, varm header som fungerar med motivets båda halvor */
.site-header-public{
  background:rgba(14,18,22,.91);
  border-bottom:1px solid rgba(255,181,85,.28);
  box-shadow:0 12px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.site-header-public .brand-logo-frame{
  box-sizing:border-box;
  padding:7px 10px;
  border:1px solid rgba(255,201,133,.34);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
.site-header-public .brand-title{color:#fff7ea}
.site-header-public .brand-subtitle{color:#f4b35d}
.site-header-public .nav-link{color:#f5eee6}
.site-header-public .nav-link:hover,
.site-header-public .nav-link:focus,
.site-header-public .nav-link.active{
  background:rgba(229,126,38,.18);
  color:#ffbd68;
}
.site-header-public .language-switch{background:rgba(255,255,255,.12)}
.site-header-public .language-flag.active{border-color:#ef9b39;box-shadow:0 2px 12px rgba(0,0,0,.34)}
.mobile-nav summary{
  border-color:rgba(255,187,101,.34);
  background:rgba(255,255,255,.1);
  color:#fff4e7;
}
.mobile-nav nav{
  border-color:rgba(255,187,101,.24);
  background:rgba(18,22,27,.97);
}

/* Startsidan låter bakgrundsmotivet bära hela hero-sektionen */
.home-main{background:transparent}
.hero-section{
  overflow:visible;
  padding:64px 0 46px;
  background:transparent;
}
.hero-section::before{display:none}
.hero-grid{
  grid-template-columns:minmax(0,820px);
  justify-content:start;
}
.hero-copy{
  padding:clamp(28px,5vw,58px);
  border:1px solid rgba(255,207,143,.24);
  border-radius:30px;
  background:rgba(13,17,21,.72);
  box-shadow:0 26px 70px rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.hero-copy h1{
  color:#fff8ed;
  text-shadow:0 4px 24px rgba(0,0,0,.38);
}
.hero-kicker,.section-kicker{color:#f4a13d}
.hero-tagline{color:#ffc36d}
.hero-lead{color:#f1e8df}
.hero-pill{
  border-color:rgba(255,206,143,.28);
  background:rgba(255,255,255,.11);
  color:#fff6ec;
  box-shadow:none;
}
.mini-icon{color:#ffb75d}
.hero-art{display:none}
.hero-section .btn.secondary{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,205,139,.58);
  color:#fff4e7;
}
.hero-section .btn.secondary:hover,.hero-section .btn.secondary:focus{
  background:#d87526;
  color:#fff;
}

.home-feature-grid,.home-section,.order-promo,.contact-panel{position:relative}
.feature-card:hover,.feature-card:focus{
  border-color:#e0a162;
  box-shadow:0 22px 44px rgba(0,0,0,.28);
}
.feature-icon{
  background:#fff0dd;
  color:#bd591b;
}
.feature-icon svg{color:#bd591b}
.card-link{color:#a94813}
.info-card h3{color:#402b20}
.info-card::after{background:#c96827}
.info-card.accent-green::after{background:#87654e}
.info-card.accent-gold::after{background:#efa13c}
.info-card.accent-coral::after{background:#bd4e31}
.section-heading h2,.section-heading>p{
  color:#fff7ed;
  text-shadow:0 3px 16px rgba(0,0,0,.55);
}
.section-heading>p{color:#eee1d5}
.order-promo{
  border-color:rgba(255,190,103,.52);
  background:linear-gradient(105deg,rgba(255,248,236,.97) 0%,rgba(255,221,170,.95) 100%);
}
.order-promo-icon{background:#fff7e9;color:#c75d18}
.order-promo-btn{background:linear-gradient(135deg,#e58a2e,#b64f15);border-color:#c35d1b}
.contact-list{background:#fff5e8;border-color:#e7c296}

/* Registrering och informationssidor */
.register-page-hero{background:rgba(255,248,239,.96)}
.placeholder-page{
  background:linear-gradient(145deg,rgba(255,251,245,.97) 0%,rgba(255,233,203,.95) 100%);
}
.placeholder-page h1{color:#3d2a20}
.placeholder-symbol{background:#ffe7c7;color:#b65317}
.placeholder-lead{color:#62584f}
.placeholder-note{color:#9b4516}
.placeholder-contact{background:rgba(255,255,255,.76);border-color:#e4bd8e}

/* Rubriker som ligger direkt på bakgrunden behöver hög kontrast */
body:not(.admin-page) main.wrap>h1,
body:not(.admin-page) main.wrap>.page-intro{
  color:#fff7ed;
  text-shadow:0 3px 18px rgba(0,0,0,.7);
}
body:not(.admin-page) main.wrap>.actions{padding:10px 0}

/* Footer i samma mörka färgskala som bildens vänstra sida */
.footer-public{
  background:rgba(12,16,20,.94);
  border-top:1px solid rgba(255,187,101,.24);
  color:#eadfd5;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.footer-public h3{color:#ffc06a}
.footer-public .footer-links a,.footer-public a{color:#f1e8df}
.footer-public .footer-links a:hover,.footer-public .footer-links a:focus{color:#ffbd68}
.footer-brand p{color:#d8c9bd}
.footer-logo-frame{
  padding:6px 8px;
  border-radius:12px;
  background:rgba(255,255,255,.95);
}
.footer-logo{filter:none;opacity:1}

/* Admin och incheckning får samma bakgrund men fortsatt extra tydliga arbetsytor */
.admin-page .site-header,
body:not(.home-page) .site-header:not(.site-header-public){background:rgba(255,250,244,.96)}
.admin-page main{padding-top:30px}
.admin-page .card,.admin-page .table-wrap{background:rgba(255,252,248,.98)}

@media(max-width:860px){
  body::before{background-position:57% center}
  .hero-section{padding:32px 0 30px}
  .hero-copy{border-radius:23px}
}
@media(max-width:720px){
  body::after{
    background:
      linear-gradient(180deg,rgba(8,12,16,.64) 0%,rgba(12,13,15,.56) 58%,rgba(35,20,9,.48) 100%),
      rgba(8,11,15,.17);
  }
  .site-header-public .brand-logo-frame{padding:5px 7px;border-radius:12px}
  .hero-copy h1{font-size:clamp(2.3rem,12vw,3.4rem)}
  .section-heading h2{font-size:1.75rem}
}

@media(prefers-reduced-motion:reduce){
  body::before{transform:none}
}

/* v1.50 – centrerad layout, svart loggplatta och läsbara informationsknappar */
.site-header-public .site-header-shell{
  width:min(100% - 36px,1360px);
}
.site-header-public .header-primary-row{
  justify-content:center;
  gap:26px;
}
.site-header-public .brand-logo-frame,
.footer-public .footer-logo-frame{
  background:#080b0e;
  border:1px solid rgba(255,181,85,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.34);
}
.site-header-public .brand-logo-frame{
  width:210px;
  height:108px;
  padding:12px 15px;
  border-radius:20px;
}
.site-header-public .brand-logo-public,
.footer-public .footer-logo{
  object-fit:contain;
}
.footer-public .footer-logo-frame{
  padding:9px 11px;
  border-radius:15px;
}
.site-header-public .main-nav{
  flex:0 1 auto;
}
.site-header-public .header-actions{
  justify-content:center;
}

/* Centrera startsidans innehåll utan att försämra läsbarheten i formulär och tabeller */
.hero-grid{
  justify-content:center;
  margin-inline:auto;
}
.hero-copy{
  width:min(100%,820px);
  margin-inline:auto;
  text-align:center;
}
.hero-lead{
  margin-left:auto;
  margin-right:auto;
}
.hero-meta,
.hero-actions{
  justify-content:center;
}
.home-feature-grid{
  justify-items:stretch;
}
.feature-card{
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}
.feature-card > div{
  width:100%;
}
.card-link{
  justify-content:center;
}
.section-heading{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.section-heading > p{
  max-width:680px;
  text-align:center;
}
.info-card{
  text-align:center;
}
.info-card .feature-icon{
  margin-inline:auto;
}
.order-promo{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
}
.order-promo-copy,
.order-promo-copy p{
  max-width:820px;
  margin-inline:auto;
}
.contact-panel{
  grid-template-columns:minmax(0,820px);
  justify-content:center;
  text-align:center;
}
.contact-list{
  width:min(100%,560px);
  margin-inline:auto;
  text-align:center;
}
.footer-grid{
  text-align:center;
}
.footer-brand{
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

/* Registreringssidans topp och informationsknappar */
.register-page-hero{
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.register-page-hero .page-intro{
  margin-left:auto;
  margin-right:auto;
}
.register-page-hero .compact-meta{
  justify-content:center;
  align-items:stretch;
}
.register-page-hero .hero-pill{
  justify-content:center;
  min-height:48px;
  background:#fff4e7;
  border:1px solid #df9a55;
  color:#4a2d1c;
  font-weight:700;
  box-shadow:0 8px 20px rgba(86,42,13,.10);
  text-align:center;
}
.registration-actions{
  justify-content:center;
}
.registration-actions .btn{
  min-width:220px;
}

/* Övriga informationssidor */
.placeholder-page,
.placeholder-actions{
  text-align:center;
}
.placeholder-actions{
  justify-content:center;
}

@media (max-width:1320px) and (min-width:981px){
  .site-header-public .brand-logo-frame{
    width:188px;
    height:98px;
  }
}
@media(max-width:980px){
  .site-header-public .header-primary-row{
    justify-content:center;
  }
  .site-header-public .brand,
  .site-header-public .header-actions{
    margin-left:0;
  }
  .site-header-public .brand-logo-frame{
    width:176px;
    height:92px;
  }
  .mobile-nav{
    text-align:center;
  }
  .mobile-nav .nav-link{
    justify-content:center;
    text-align:center;
  }
}
@media(max-width:720px){
  .site-header-public .brand-logo-frame{
    width:158px;
    height:84px;
    padding:9px 11px;
  }
  .site-header-public .header-actions{
    width:100%;
    justify-content:center;
  }
  .site-header-public .language-switch{
    justify-self:center;
  }
  .hero-pill,
  .register-page-hero .hero-pill{
    width:100%;
  }
  .footer-grid{
    text-align:center;
  }
}

/* v1.51 – sammanhållen varm färgskala i hela det publika registreringsflödet */
.flow-page main.wrap{
  width:min(100% - 32px,1040px);
  padding-top:52px;
  padding-bottom:76px;
}
.flow-page main.wrap>h1{
  margin:0 auto 24px;
  text-align:center;
  color:#fff7ed;
  text-shadow:0 3px 18px rgba(0,0,0,.72);
}
.flow-page main.wrap>.page-intro{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.flow-page .card,
.flow-page .payment-result-card,
.flow-page .ticket-shell{
  background:rgba(255,247,238,.96);
  border-color:rgba(225,159,98,.48);
  box-shadow:0 22px 58px rgba(0,0,0,.30);
}
.flow-page .card h1,
.flow-page .card h2,
.flow-page .card h3,
.flow-page .payment-result-card h1,
.flow-page .ticket-shell h1,
.flow-page .ticket-shell h2{
  color:#3a2820;
}
.flow-page .muted,
.flow-page .payment-result-lead,
.flow-page .ticket-intro,
.flow-page .ticket-invalid p:not(.ticket-kicker){
  color:#6a5b52;
}
.flow-page .order-card{
  border-left-color:#d87526;
}
.flow-page .product,
.flow-page hr,
.flow-page .add-registration-box,
.flow-page .order-totals,
.flow-page .ticket-heading{
  border-color:rgba(174,102,51,.25);
}
.flow-page .product input,
.flow-page .field input,
.flow-page .field select,
.flow-page .addition-quantity input{
  background:#fffdf9;
  border-color:#d8b99e;
  color:#2d2825;
}
.flow-page .field input:disabled{
  background:#eee6df;
  color:#71675f;
}
.flow-page .money-input{
  border-color:#d8b99e;
  background:#fffdf9;
}
.flow-page .money-input>span{
  color:#994313;
  background:#f7dfc5;
  border-right-color:#dfbea0;
}
.flow-page .price,
.flow-page .total-row,
.flow-page .order-total-row.discount-row,
.flow-page .order-detail-totals .discount{
  color:#a34815;
}
.flow-page .order-total-row.grand-total-row,
.flow-page .order-detail-totals .grand-total{
  border-top-color:#d87526;
}
.flow-page .discount-code-badge{
  background:#f7dfc5;
  border-color:#dba56f;
  color:#8b3d12;
}
.flow-page .addition-row,
.flow-page .addition-product-row,
.flow-page .ticket-order-number,
.flow-page .ticket-instructions{
  background:#fff4e8;
  border-color:#e2bd98;
}
.flow-page .ticket-qr{
  border-color:#d9b695;
  background:#fff;
}
.flow-page .ticket-instruction-number{
  background:#d87526;
}
.flow-page .payment-result-kicker,
.flow-page .ticket-kicker{
  color:#b94f15;
}
.flow-page .payment-summary{
  gap:1px;
  background:#d7b393;
  border-color:#d7b393;
}
.flow-page .payment-summary>div{
  background:#fff8ef;
}
.flow-page .payment-summary span{
  color:#75645a;
}
.flow-page .payment-summary strong{
  color:#3c2a21;
}

/* Statusfärger med dämpade toner som harmonierar med bakgrundsbilden. */
.flow-page .notice.success,
.flow-page .card.success{
  background:rgba(238,246,232,.97);
  border-color:#a9c49d;
  color:#345034;
}
.flow-page .notice.error,
.flow-page .card.error,
.flow-page .ticket-locked-card{
  background:rgba(250,233,225,.97);
  border-color:#d49a80;
  color:#713421;
}
.flow-page .notice.error h1,
.flow-page .notice.error h2,
.flow-page .notice.error h3,
.flow-page .card.error h1,
.flow-page .card.error h2,
.flow-page .card.error h3,
.flow-page .ticket-locked-card h2,
.flow-page .unpaid-order-notice h3{
  color:#7b321e;
}
.flow-page .payment-result-success .payment-result-icon{
  background:#e1efda;
  color:#41683f;
}
.flow-page .payment-result-pending .payment-result-icon{
  background:#f8e5bf;
  color:#8a5a14;
}
.flow-page .payment-result-error .payment-result-icon,
.flow-page .ticket-invalid .ticket-status-icon{
  background:#f3d8cc;
  color:#853b24;
}
.flow-page .paid-order-notice{
  background:rgba(238,246,232,.97);
  border-color:#a9c49d;
}
.flow-page .transaction-cost-row{
  border-top-color:rgba(181,91,30,.30);
}
.flow-page .actions{
  justify-content:center;
}
.flow-page .contact-details-form>.btn{
  display:flex;
  width:fit-content;
  margin-left:auto;
  margin-right:auto;
}
.flow-page .registration-actions .btn,
.flow-page .payment-result-actions .btn,
.flow-page .ticket-actions .btn{
  min-width:220px;
}

@media(max-width:720px){
  .flow-page main.wrap{
    width:min(100% - 22px,1040px);
    padding-top:30px;
    padding-bottom:52px;
  }
  .flow-page .registration-actions .btn,
  .flow-page .payment-result-actions .btn,
  .flow-page .ticket-actions .btn,
  .flow-page .contact-details-form>.btn{
    width:100%;
  }
}

/* v1.52 – rotinstallation och varm adminheader */
.admin-page .site-header{
  position:relative;
  background:rgba(12,16,20,.96);
  color:#f8eee4;
  border-top:0;
  border-bottom:1px solid rgba(255,181,85,.28);
  box-shadow:0 12px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.admin-page .header-row{
  width:min(100% - 36px,1360px);
  min-height:auto;
}
.admin-page .header-primary-row{
  width:100%;
  min-height:116px;
  padding:10px 0;
  justify-content:space-between;
  gap:24px;
}
.admin-page .brand{
  gap:16px;
  color:#fff7ea;
}
.admin-page .brand-logo-frame{
  width:190px;
  height:96px;
  padding:10px 14px;
  border:1px solid rgba(255,181,85,.28);
  border-radius:18px;
  background:#080b0e;
  box-shadow:0 10px 28px rgba(0,0,0,.34);
}
.admin-page .brand-logo{
  width:100%;
  height:100%;
  object-fit:contain;
}
.admin-page .brand-title{
  color:#fff7ea;
  font-size:1.12rem;
  line-height:1.2;
}
.admin-page .brand-subtitle{
  color:#f4b35d;
  font-size:.84rem;
}
.admin-page .language-switch{
  background:rgba(255,255,255,.12);
}
.admin-page .language-flag.active{
  border-color:#ef9b39;
  box-shadow:0 2px 12px rgba(0,0,0,.34);
}
.admin-page .site-footer{
  background:rgba(12,16,20,.96);
  border-top:1px solid rgba(255,187,101,.24);
  color:#d8c9bd;
}
.admin-page .site-footer a{color:#ffc06a}
.admin-page main.wrap>h1{
  color:#fff7ed;
  text-shadow:0 3px 18px rgba(0,0,0,.7);
}
.admin-page .card h1,
.admin-page .card h2,
.admin-page .card h3{color:#402b20;text-shadow:none}
.admin-page th{
  background:#f7e3ca;
  color:#633518;
}
.admin-page tbody tr:hover{background:#fff4e8}

@media(max-width:720px){
  .admin-page .header-row{width:min(100% - 22px,1360px)}
  .admin-page .header-primary-row{
    min-height:auto;
    padding:10px 0;
    gap:12px;
  }
  .admin-page .brand-logo-frame{
    width:150px;
    height:78px;
    padding:8px 10px;
  }
  .admin-page .brand-copy{display:none}
}

/* v1.55 – responsiv logga utan ram */
.site-header-public .brand,
.footer-public .footer-brand{max-width:100%}
.site-header-public .brand-logo-frame,
.footer-public .footer-logo-frame{
  max-width:100%;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.site-header-public .brand-logo-frame{
  width:min(320px,100%);
  height:150px;
}
.footer-public .footer-logo-frame{
  width:min(300px,100%);
  height:140px;
}
@media(max-width:720px){
  .site-header-public{padding-top:6px}
  .site-header-public .brand-logo-frame{
    width:min(330px,100%);
    height:clamp(118px,42vw,155px);
  }
  .footer-public .footer-logo-frame{
    width:min(320px,100%);
    height:clamp(112px,40vw,150px);
  }
  .hero-grid{margin-top:-24px}
}

/* v1.56 – kompaktare header och centrerad footer utan logotypblock */
@media (min-width:981px){
  .site-header-public .site-header-shell{
    width:min(100% - 72px,1540px);
  }
  .site-header-public .header-primary-row{
    display:grid;
    grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);
    align-items:center;
    min-height:96px;
    padding:7px 0;
    gap:22px;
  }
  .site-header-public .brand{
    justify-self:start;
    margin-left:8px;
  }
  .site-header-public .brand-logo-frame{
    width:250px;
    height:108px;
  }
  .site-header-public .main-nav{
    justify-self:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
  }
  .site-header-public .header-actions{
    justify-self:end;
    margin-right:8px;
  }
}

.footer-public{
  padding:34px 0;
}
.footer-public .footer-grid-links-only{
  width:min(100% - 40px,930px);
  grid-template-columns:repeat(3,minmax(190px,1fr));
  justify-content:center;
  align-items:start;
  gap:clamp(30px,6vw,72px);
  margin-inline:auto;
  text-align:center;
}
.footer-public .footer-grid-links-only > div{
  min-width:0;
}

@media (max-width:1320px) and (min-width:981px){
  .site-header-public .site-header-shell{
    width:min(100% - 48px,1360px);
  }
  .site-header-public .header-primary-row{
    grid-template-columns:minmax(195px,1fr) auto minmax(150px,1fr);
    gap:12px;
  }
  .site-header-public .brand-logo-frame{
    width:205px;
    height:92px;
  }
  .site-header-public .nav-link{
    padding:9px 8px;
    font-size:.9rem;
  }
}

@media (max-width:980px){
  .site-header-public .site-header-shell{
    width:min(100% - 30px,1260px);
  }
  .site-header-public .header-primary-row{
    min-height:auto;
    padding:7px 0;
  }
  .site-header-public .brand-logo-frame{
    width:158px;
    height:78px;
  }
}

@media (max-width:720px){
  .site-header-public{
    padding-top:2px;
  }
  .site-header-public .site-header-shell{
    width:min(100% - 24px,1260px);
  }
  .site-header-public .brand-logo-frame{
    width:min(280px,100%);
    height:clamp(96px,34vw,126px);
  }
  .footer-public .footer-grid-links-only{
    width:min(100% - 32px,520px);
    grid-template-columns:1fr;
    gap:28px;
  }
}

/* v1.57 – justerad placering av topploggan */
@media (min-width:1321px){
  .site-header-public .brand{
    margin-left:24px;
  }
}

@media (max-width:1320px) and (min-width:981px){
  .site-header-public .brand{
    margin-left:16px;
  }
}

@media (max-width:720px){
  .site-header-public .header-primary-row{
    justify-content:center;
  }
  .site-header-public .brand{
    display:flex;
    width:100%;
    margin:0 auto;
    justify-content:center;
  }
  .site-header-public .brand-logo-frame{
    margin-inline:auto;
  }
}

/* v1.59 – produktval och T-shirtstorlekar */
.product-selection-card h2{margin-bottom:8px}
.product-selection-list{display:grid;gap:18px;margin-top:20px}
.product-selection-group{margin:0;padding:18px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.55)}
.product-selection-group legend{padding:0 8px;font-weight:600;color:var(--na-blue-dark)}
.size-selection-grid,.addition-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.size-selection-field,.addition-size-field{margin:0}
.item-option-summary{margin-top:5px;color:var(--muted);font-size:.9rem}
.addition-size-selector{grid-column:1/-1;padding:14px 0 2px;border-top:1px solid var(--border)}
.addition-size-selector:empty{display:none}
.addition-size-heading{display:block;margin-bottom:10px;color:var(--na-blue-dark)}
.addition-size-grid{width:100%}
@media(max-width:650px){
  .product-selection-group{padding:14px}
  .size-selection-grid,.addition-size-grid{grid-template-columns:1fr}
}

/* v1.60 – produktbilder */
.product.has-product-image{grid-template-columns:96px minmax(0,1fr) 105px}
.product.custom-amount-product.has-product-image{grid-template-columns:96px minmax(0,1fr) 150px}
.product-image-wrap,.addition-product-image,.selection-product-preview img,.checkout-product-summary-row img,.admin-product-image-preview{
  overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#f5f7f8
}
.product-image-wrap{width:96px;aspect-ratio:1/1}
.product-image-wrap img,.addition-product-image img,.selection-product-preview img,.checkout-product-summary-row img,.admin-product-image-preview img{
  display:block;width:100%;height:100%;object-fit:contain
}
.product-info{min-width:0}
.selection-product-preview{display:flex;align-items:center;gap:13px;margin:3px 0 16px;color:var(--muted);font-size:.92rem}
.selection-product-preview img{width:74px;height:74px;flex:0 0 74px}
.checkout-product-summary{display:grid;gap:10px}
.checkout-product-summary-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;padding:7px 0}
.checkout-product-summary-row.has-product-image{grid-template-columns:56px minmax(0,1fr)}
.checkout-product-summary-row img{width:56px;height:56px}
.checkout-product-summary-row p{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0}
.checkout-product-summary-row p span{min-width:0}
.checkout-product-summary-row p strong{white-space:nowrap}

.addition-product-row.has-product-image{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center}
.addition-product-image{width:82px;height:82px}
.addition-product-row.has-product-image .addition-size-selector{grid-column:2/-1}

.admin-products-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px}
.admin-products-header h1{margin-bottom:5px}
.admin-products-header p{margin:0}
.admin-product-image-grid{display:grid;gap:20px}
.admin-product-image-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start}
.admin-product-image-preview{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:var(--muted)}
.admin-product-image-preview.is-empty{border-style:dashed;background:#fafbfc}
.admin-product-image-content{min-width:0}
.admin-product-image-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.admin-product-image-title h2{margin:0 0 5px}
.admin-product-image-title p{margin:0}
.admin-product-image-form{display:grid;gap:16px}
.admin-product-image-form small{display:block;margin-top:6px;color:var(--muted)}
.admin-product-alt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-remove-image{display:flex;align-items:center;gap:9px;font-weight:500}
.admin-remove-image input{width:18px;height:18px}
.admin-product-image-form .btn{justify-self:start}

@media(max-width:720px){
  .product.has-product-image{grid-template-columns:72px minmax(0,1fr) 84px;gap:12px}
  .product.custom-amount-product.has-product-image{grid-template-columns:72px minmax(0,1fr)}
  .product.custom-amount-product.has-product-image .product-control{grid-column:1/-1}
  .product-image-wrap{width:72px}
  .addition-product-row.has-product-image{grid-template-columns:70px minmax(0,1fr);align-items:center}
  .addition-product-image{width:70px;height:70px}
  .addition-product-row.has-product-image .addition-quantity,
  .addition-product-row.has-product-image .addition-size-selector{grid-column:1/-1;width:100%}
  .admin-product-image-card{grid-template-columns:150px minmax(0,1fr);gap:18px}
  .admin-product-alt-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .product.has-product-image{grid-template-columns:76px minmax(0,1fr)}
  .product.has-product-image .product-control{grid-column:1/-1}
  .product-image-wrap{width:76px}
  .checkout-product-summary-row p{align-items:flex-start;flex-direction:column;gap:4px}
  .admin-product-image-card{grid-template-columns:1fr}
  .admin-product-image-preview{width:min(100%,260px);margin-inline:auto}
  .admin-product-image-title{align-items:flex-start;flex-direction:column}
  .admin-product-image-form .btn{width:100%}
}

/* v1.61 – storleksval direkt på första registreringssidan */
.product-size-selector{grid-column:1/-1;padding:14px 0 2px;border-top:1px solid var(--border)}
.product-size-selector:empty{display:none}
.product-size-heading{display:block;margin-bottom:10px;color:var(--na-blue-dark)}
.product-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;width:100%}
.product-size-field{margin:0}
.checkout-product-summary-row .item-option-summary{display:block;font-size:.88rem;font-weight:400}
@media(max-width:650px){.product-size-grid{grid-template-columns:1fr}}


/* v1.62 – enhetlig adminheader och kompakt adminnavigation */
.admin-page .site-header{
  position:sticky;
  top:0;
  z-index:30;
}
.admin-page .header-row{
  width:min(100% - 72px,1540px);
  margin-inline:auto;
}
.admin-page .header-primary-row{
  min-height:90px;
  padding:6px 0;
  gap:20px;
}
.admin-page .brand-copy{
  display:none;
}
.admin-page .brand{
  margin-left:24px;
}
.admin-page .brand-logo-frame{
  width:170px;
  height:76px;
  padding:7px 11px;
  border-radius:14px;
}
.admin-page .header-actions{
  margin-right:24px;
}

/* Åtta funktioner visas i två lugna rader i stället för en lång knappremsa. */
.admin-page .admin-nav-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:100%;
  max-width:920px;
  margin:16px auto 0;
}
.admin-page .admin-nav-actions .btn,
.admin-page .admin-nav-actions .inline-action-form,
.admin-page .admin-nav-actions .inline-action-form .btn{
  width:100%;
  min-width:0;
  margin:0;
}
.admin-page .admin-nav-actions .btn{
  min-height:46px;
  padding:8px 11px;
  line-height:1.2;
  white-space:normal;
  text-align:center;
}

@media(max-width:1100px){
  .admin-page .header-row{
    width:min(100% - 40px,1360px);
  }
  .admin-page .brand{
    margin-left:12px;
  }
  .admin-page .header-actions{
    margin-right:12px;
  }
  .admin-page .admin-nav-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:760px;
  }
}

@media(max-width:720px){
  .admin-page .site-header{
    position:relative;
  }
  .admin-page .header-row{
    width:min(100% - 24px,1180px);
  }
  .admin-page .header-primary-row{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    min-height:auto;
    padding:7px 0 9px;
    gap:6px;
  }
  .admin-page .brand{
    width:100%;
    margin:0;
    justify-content:center;
  }
  .admin-page .brand-logo-frame{
    width:min(210px,76vw);
    height:86px;
    margin-inline:auto;
  }
  .admin-page .header-actions{
    width:auto;
    margin:0;
    justify-content:center;
  }
  .admin-page .admin-nav-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
    gap:9px;
  }
  .admin-page .admin-nav-actions .btn{
    min-height:48px;
    padding:8px 9px;
    font-size:.92rem;
  }
}

@media(max-width:480px){
  .admin-page .admin-nav-actions{
    grid-template-columns:1fr;
  }
}

/* v1.64 – identisk adminheader/footer och tydlig kontrast på alla adminsidor */
.admin-page main.wrap{
  width:min(100% - 36px,1360px);
  color:#2b241f;
}

/* Samma administrationsmeny visas på varje inloggad adminsida. */
.admin-toolbar{
  margin:0 0 22px;
  padding:14px;
  border:1px solid rgba(255,207,151,.32);
  border-radius:16px;
  background:rgba(15,18,22,.94);
  box-shadow:0 16px 38px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.admin-toolbar-links{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.admin-toolbar-mobile{display:none}
.admin-toolbar-mobile summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  box-sizing:border-box;
  padding:10px 14px;
  border:1px solid rgba(255,191,108,.50);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff4e8;
  font-weight:750;
  cursor:pointer;
  list-style:none;
}
.admin-toolbar-mobile summary::-webkit-details-marker{display:none}
.admin-toolbar-menu-icon{font-size:1.25rem;line-height:1}
.admin-toolbar-menu-chevron{font-size:1.2rem;line-height:1;transition:transform .16s ease}
.admin-toolbar-mobile[open] .admin-toolbar-menu-chevron{transform:rotate(180deg)}
.admin-toolbar-mobile:not([open])>.admin-toolbar-links-mobile{display:none}
.admin-toolbar-links-mobile{margin-top:9px;grid-template-columns:1fr}
.admin-toolbar .btn,
.admin-toolbar .inline-action-form,
.admin-toolbar .inline-action-form .btn{
  width:100%;
  min-width:0;
  margin:0;
}
.admin-toolbar .btn{
  min-height:43px;
  padding:8px 10px;
  border-color:rgba(255,191,108,.50);
  background:rgba(255,255,255,.08);
  color:#fff4e8;
  box-shadow:none;
  line-height:1.2;
  white-space:normal;
  text-align:center;
}
.admin-toolbar .btn:hover,
.admin-toolbar .btn:focus,
.admin-toolbar .admin-toolbar-link.active{
  background:#d87526;
  border-color:#e9994b;
  color:#fff;
}

/* Gemensam tydlig sidrubrik under adminmenyn. */
.admin-page-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 22px;
  padding:20px 24px;
  border:1px solid rgba(255,220,178,.42);
  border-radius:16px;
  background:rgba(255,250,244,.97);
  color:#2b241f;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.admin-page-heading h1,
.admin-page-heading h2,
.admin-page-heading h3{
  margin:0 0 6px;
  color:#3b2a21;
  text-shadow:none;
}
.admin-page-heading p,
.admin-page-heading .muted{
  margin:0;
  color:#62564e;
}

/* Säkerställ läsbar text på ljusa adminytor, inklusive Produktbilder. */
.admin-page .card,
.admin-page .table-wrap,
.admin-page .checkin-stat-card,
.admin-page .notice{
  color:#2b241f;
}
.admin-page .card p,
.admin-page .card li,
.admin-page .card label,
.admin-page .card small,
.admin-page .card .muted,
.admin-page .table-wrap td,
.admin-page .table-wrap small{
  color:#554b44;
}
.admin-page .card strong,
.admin-page .table-wrap strong{
  color:#2b241f;
}
.admin-page .field label,
.admin-page label{
  color:#332820;
  font-weight:600;
}
.admin-page .field input,
.admin-page .field select,
.admin-page textarea,
.admin-page input[type="file"]{
  background:#fff;
  color:#211d1a;
  border-color:#bfae9f;
}
.admin-page input::placeholder,
.admin-page textarea::placeholder{
  color:#766b63;
  opacity:1;
}
.admin-page .muted{
  color:#62564e;
}
.admin-page .admin-product-image-card{
  background:#fffaf4;
  color:#2b241f;
  border-color:#d9c2ae;
}
.admin-page .admin-product-image-title h2{
  color:#36271f;
}
.admin-page .admin-product-image-title p,
.admin-page .admin-product-image-form small{
  color:#62564e;
}
.admin-page .admin-product-image-preview{
  background:#f4eee8;
  border-color:#cdb9a7;
  color:#554b44;
}
.admin-page .admin-remove-image{
  color:#332820;
}

/* Samma footer på samtliga adminsidor. */
.admin-page .site-footer{
  margin-top:auto;
  padding:20px 0;
  background:rgba(12,16,20,.96);
  border-top:1px solid rgba(255,187,101,.24);
  color:#eadfd5;
}
.admin-footer-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px 28px;
  flex-wrap:wrap;
  text-align:center;
}
.admin-footer-row p{margin:0}
.admin-page .site-footer a{color:#ffc06a}

@media(max-width:1100px){
  .admin-toolbar-links{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .admin-toolbar-links-desktop{display:none}
  .admin-toolbar-mobile{display:block}
  .admin-toolbar-links-mobile{grid-template-columns:1fr;gap:8px}
}
@media(max-width:720px){
  .admin-page main.wrap{width:min(100% - 22px,1360px)}
  .admin-toolbar{padding:10px}
  .admin-toolbar .btn{min-height:46px;font-size:.91rem}
  .admin-page-heading{padding:18px 16px;flex-direction:column}
  .admin-products-header{align-items:stretch}
}


/* v1.66 – en enda header och footer på hela webbplatsen */
/* Alla sidor använder exakt samma komponenter och mått som index.php. */
body.admin-page .site-header.site-header-public,
body.flow-page .site-header.site-header-public,
body.placeholder-body .site-header.site-header-public,
.site-header.site-header-public{
  position:sticky;
  top:0;
  z-index:30;
  padding-top:0;
  background:rgba(14,18,22,.91);
  color:inherit;
  border-top:0;
  border-bottom:1px solid rgba(255,181,85,.28);
  box-shadow:0 12px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

body.admin-page .site-header-public .site-header-shell,
body.flow-page .site-header-public .site-header-shell,
body.placeholder-body .site-header-public .site-header-shell,
.site-header-public .site-header-shell{
  width:min(100% - 72px,1540px);
  margin-inline:auto;
}

body.admin-page .site-header-public .header-primary-row,
body.flow-page .site-header-public .header-primary-row,
body.placeholder-body .site-header-public .header-primary-row,
.site-header-public .header-primary-row{
  display:grid;
  grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);
  align-items:center;
  justify-content:center;
  min-height:96px;
  padding:7px 0;
  gap:22px;
}

body.admin-page .site-header-public .brand,
body.flow-page .site-header-public .brand,
body.placeholder-body .site-header-public .brand,
.site-header-public .brand{
  display:flex;
  align-items:center;
  justify-self:start;
  width:auto;
  max-width:100%;
  margin:0 0 0 24px;
  gap:0;
  color:inherit;
  text-decoration:none;
}

body.admin-page .site-header-public .brand-logo-frame,
body.flow-page .site-header-public .brand-logo-frame,
body.placeholder-body .site-header-public .brand-logo-frame,
.site-header-public .brand-logo-frame{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:250px;
  height:108px;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:20px;
  background:transparent;
  box-shadow:none;
}

body.admin-page .site-header-public .brand-logo,
body.flow-page .site-header-public .brand-logo,
body.placeholder-body .site-header-public .brand-logo,
.site-header-public .brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  flex:0 0 auto;
}

body.admin-page .site-header-public .brand-copy,
body.flow-page .site-header-public .brand-copy,
body.placeholder-body .site-header-public .brand-copy,
.site-header-public .brand-copy{
  display:none;
}

body.admin-page .site-header-public .main-nav,
body.flow-page .site-header-public .main-nav,
body.placeholder-body .site-header-public .main-nav,
.site-header-public .main-nav{
  display:flex;
  align-items:center;
  justify-self:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  flex:0 1 auto;
  flex-wrap:nowrap;
  gap:2px;
  white-space:nowrap;
}

body.admin-page .site-header-public .nav-link,
body.flow-page .site-header-public .nav-link,
body.placeholder-body .site-header-public .nav-link,
.site-header-public .nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 12px;
  border-radius:10px;
  color:#f5eee6;
  text-decoration:none;
  font-weight:500;
  transition:.15s ease;
}

body.admin-page .site-header-public .nav-link:hover,
body.admin-page .site-header-public .nav-link:focus,
body.admin-page .site-header-public .nav-link.active,
body.flow-page .site-header-public .nav-link:hover,
body.flow-page .site-header-public .nav-link:focus,
body.flow-page .site-header-public .nav-link.active,
body.placeholder-body .site-header-public .nav-link:hover,
body.placeholder-body .site-header-public .nav-link:focus,
body.placeholder-body .site-header-public .nav-link.active,
.site-header-public .nav-link:hover,
.site-header-public .nav-link:focus,
.site-header-public .nav-link.active{
  background:rgba(229,126,38,.18);
  color:#ffbd68;
}

body.admin-page .site-header-public .header-actions,
body.flow-page .site-header-public .header-actions,
body.placeholder-body .site-header-public .header-actions,
.site-header-public .header-actions{
  display:flex;
  align-items:center;
  justify-self:end;
  justify-content:center;
  width:auto;
  margin:0 8px 0 0;
  gap:10px;
}

body.admin-page .site-footer.footer-public,
body.flow-page .site-footer.footer-public,
body.placeholder-body .site-footer.footer-public,
.site-footer.footer-public{
  margin-top:0;
  padding:34px 0;
  background:rgba(12,16,20,.94);
  border-top:1px solid rgba(255,187,101,.24);
  color:#eadfd5;
  font-size:.92rem;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

body.admin-page .footer-public .footer-grid-links-only,
body.flow-page .footer-public .footer-grid-links-only,
body.placeholder-body .footer-public .footer-grid-links-only,
.footer-public .footer-grid-links-only{
  display:grid;
  width:min(100% - 40px,930px);
  grid-template-columns:repeat(3,minmax(190px,1fr));
  justify-content:center;
  align-items:start;
  gap:clamp(30px,6vw,72px);
  margin-inline:auto;
  text-align:center;
}

body.admin-page .footer-public h3,
body.flow-page .footer-public h3,
body.placeholder-body .footer-public h3,
.footer-public h3{color:#ffc06a}

body.admin-page .footer-public .footer-links a,
body.admin-page .footer-public a,
body.flow-page .footer-public .footer-links a,
body.flow-page .footer-public a,
body.placeholder-body .footer-public .footer-links a,
body.placeholder-body .footer-public a,
.footer-public .footer-links a,
.footer-public a{color:#f1e8df}

@media (max-width:1320px) and (min-width:981px){
  body.admin-page .site-header-public .site-header-shell,
  body.flow-page .site-header-public .site-header-shell,
  body.placeholder-body .site-header-public .site-header-shell,
  .site-header-public .site-header-shell{width:min(100% - 48px,1360px)}

  body.admin-page .site-header-public .header-primary-row,
  body.flow-page .site-header-public .header-primary-row,
  body.placeholder-body .site-header-public .header-primary-row,
  .site-header-public .header-primary-row{
    grid-template-columns:minmax(195px,1fr) auto minmax(150px,1fr);
    gap:12px;
  }

  body.admin-page .site-header-public .brand,
  body.flow-page .site-header-public .brand,
  body.placeholder-body .site-header-public .brand,
  .site-header-public .brand{margin-left:16px}

  body.admin-page .site-header-public .brand-logo-frame,
  body.flow-page .site-header-public .brand-logo-frame,
  body.placeholder-body .site-header-public .brand-logo-frame,
  .site-header-public .brand-logo-frame{width:205px;height:92px}

  body.admin-page .site-header-public .nav-link,
  body.flow-page .site-header-public .nav-link,
  body.placeholder-body .site-header-public .nav-link,
  .site-header-public .nav-link{padding:9px 8px;font-size:.9rem}
}

@media (max-width:980px){
  body.admin-page .site-header-public .site-header-shell,
  body.flow-page .site-header-public .site-header-shell,
  body.placeholder-body .site-header-public .site-header-shell,
  .site-header-public .site-header-shell{width:min(100% - 30px,1260px)}

  body.admin-page .site-header-public .header-primary-row,
  body.flow-page .site-header-public .header-primary-row,
  body.placeholder-body .site-header-public .header-primary-row,
  .site-header-public .header-primary-row{
    display:flex;
    flex-wrap:wrap;
    min-height:auto;
    padding:7px 0;
    gap:14px;
  }

  body.admin-page .site-header-public .brand,
  body.flow-page .site-header-public .brand,
  body.placeholder-body .site-header-public .brand,
  .site-header-public .brand{margin-left:0}

  body.admin-page .site-header-public .brand-logo-frame,
  body.flow-page .site-header-public .brand-logo-frame,
  body.placeholder-body .site-header-public .brand-logo-frame,
  .site-header-public .brand-logo-frame{width:158px;height:78px}

  body.admin-page .site-header-public .header-actions,
  body.flow-page .site-header-public .header-actions,
  body.placeholder-body .site-header-public .header-actions,
  .site-header-public .header-actions{width:auto;margin-left:auto;margin-right:0}
}

@media (max-width:720px){
  body.admin-page .site-header.site-header-public,
  body.flow-page .site-header.site-header-public,
  body.placeholder-body .site-header.site-header-public,
  .site-header.site-header-public{position:static;padding-top:2px}

  body.admin-page .site-header-public .site-header-shell,
  body.flow-page .site-header-public .site-header-shell,
  body.placeholder-body .site-header-public .site-header-shell,
  .site-header-public .site-header-shell{width:min(100% - 24px,1260px)}

  body.admin-page .site-header-public .header-primary-row,
  body.flow-page .site-header-public .header-primary-row,
  body.placeholder-body .site-header-public .header-primary-row,
  .site-header-public .header-primary-row{
    display:flex;
    justify-content:center;
    min-height:auto;
    padding:7px 0;
    gap:10px;
  }

  body.admin-page .site-header-public .brand,
  body.flow-page .site-header-public .brand,
  body.placeholder-body .site-header-public .brand,
  .site-header-public .brand{
    display:flex;
    width:100%;
    margin:0 auto;
    justify-content:center;
  }

  body.admin-page .site-header-public .brand-logo-frame,
  body.flow-page .site-header-public .brand-logo-frame,
  body.placeholder-body .site-header-public .brand-logo-frame,
  .site-header-public .brand-logo-frame{
    width:min(280px,100%);
    height:clamp(96px,34vw,126px);
    margin-inline:auto;
  }

  body.admin-page .site-header-public .header-actions,
  body.flow-page .site-header-public .header-actions,
  body.placeholder-body .site-header-public .header-actions,
  .site-header-public .header-actions{
    display:flex;
    width:auto;
    margin:0;
    justify-content:center;
  }

  body.admin-page .footer-public .footer-grid-links-only,
  body.flow-page .footer-public .footer-grid-links-only,
  body.placeholder-body .footer-public .footer-grid-links-only,
  .footer-public .footer-grid-links-only{
    width:min(100% - 32px,520px);
    grid-template-columns:1fr;
    gap:28px;
  }
}

/* Mobilmenyn används bara på smala skärmar. */
@media (max-width:980px){
  .site-header-public .desktop-nav{display:none}
  .site-header-public .mobile-nav{display:block;order:4;width:100%}
  body.admin-page .site-header-public .header-primary-row,
  body.flow-page .site-header-public .header-primary-row,
  body.placeholder-body .site-header-public .header-primary-row,
  .site-header-public .header-primary-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    min-height:auto;
    padding:7px 0;
    gap:14px;
  }
  body.admin-page .site-header-public .brand,
  body.flow-page .site-header-public .brand,
  body.placeholder-body .site-header-public .brand,
  .site-header-public .brand{
    flex:0 1 auto;
    margin-left:0;
  }
  body.admin-page .site-header-public .header-actions,
  body.flow-page .site-header-public .header-actions,
  body.placeholder-body .site-header-public .header-actions,
  .site-header-public .header-actions{
    width:auto;
    margin-left:auto;
    margin-right:0;
  }
}


/* v1.70 – definitiv mobilmenyfix */
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:980px){
  .site-header-public .desktop-nav{display:none!important;visibility:hidden!important}
  .site-header-public .mobile-nav{display:block!important;width:100%;max-width:100%;min-width:0}
  .site-header-public .mobile-nav nav{max-width:100%;overflow:hidden}
}
@media (min-width:981px){
  .site-header-public .desktop-nav{display:flex!important}
  .site-header-public .mobile-nav{display:none!important}
}

/* v1.71 – tidigare betalda registreringar och förberett 46elks-flöde */
.previous-registration-api-status{display:flex;align-items:center;justify-content:space-between;gap:18px}
.previous-registration-api-status h2{margin-bottom:5px}
.previous-registration-api-status p{margin:0}
.previous-registration-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.previous-registration-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 0 24px}
.previous-registration-admin-grid .card{margin:0}
.previous-registration-table table{min-width:1260px}
.previous-registration-message-cell{min-width:310px;max-width:430px}
.previous-registration-message-cell details{margin-top:8px}
.previous-registration-message-cell summary{cursor:pointer;color:var(--na-blue);font-weight:600}
.previous-registration-message-cell textarea{width:100%;margin:9px 0;resize:vertical;font-size:.86rem;line-height:1.4}
.previous-registration-message-cell .btn{margin:0 7px 7px 0}
.previous-registration-row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:145px}
.previous-registration-row-actions form{margin:0}
.previous-registration-row-actions button:disabled{opacity:.5;cursor:not-allowed}
.previous-registration-public-card{max-width:860px;margin-inline:auto}
.previous-registration-form{
  display:flex!important;
  flex-direction:column!important;
  visibility:visible!important;
  opacity:1!important;
  max-width:860px;
  margin:22px auto 0!important;
  gap:22px;
}
.previous-registration-form>.previous-registration-contact-card{
  display:block!important;
  order:1;
  margin:0!important;
}
.previous-registration-form>.previous-registration-payment-summary{
  display:grid!important;
  order:2;
  margin:0!important;
}
.previous-registration-form>.previous-registration-order-summary{order:3;margin:0!important}
.previous-registration-form>.actions{order:4;margin-top:0!important}
.previous-registration-payment-summary{max-width:860px;margin:22px auto}
.previous-registration-order-summary .checkout-product-summary-row{padding:11px 0;border-bottom:1px solid var(--border)}
.previous-registration-order-summary .checkout-product-summary-row p{display:flex;justify-content:space-between;gap:18px;margin:0;width:100%}
.previous-registration-order-summary .total-row{text-align:right;margin:18px 0}
@media(max-width:850px){
  .previous-registration-admin-grid{grid-template-columns:1fr}
  .previous-registration-api-status{align-items:flex-start;flex-direction:column}
  .previous-registration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .previous-registration-summary{grid-template-columns:1fr}
  .previous-registration-order-summary .checkout-product-summary-row p{flex-direction:column;gap:4px}
}


/* v1.76 – fristående SMS-ruta med teckenräknare */
.previous-registration-custom-sms{margin:0 0 24px}
.previous-registration-custom-sms-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.previous-registration-custom-sms-heading h2{margin-bottom:5px}
.previous-registration-custom-sms-heading p{margin:0}
.previous-registration-custom-sms-form{max-width:760px}
.previous-registration-custom-sms-form textarea{width:100%;resize:vertical;min-height:150px;line-height:1.45}
.sms-character-counter{text-align:right;margin-top:7px;color:var(--muted);font-size:.9rem}
.previous-registration-custom-sms-form button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){
  .previous-registration-custom-sms-heading{flex-direction:column}
  .previous-registration-custom-sms-form{max-width:none}
}

/* v1.77: Gemensam SMS-logg */
.sms-log-card{margin-top:24px}
.sms-log-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.sms-log-heading h2{margin-bottom:5px}
.sms-log-heading p{margin:0}
.sms-log-table table{min-width:1180px}
.sms-log-message{min-width:280px;max-width:430px;white-space:normal}
.sms-log-table details{min-width:210px}
.sms-log-table summary{cursor:pointer;color:var(--na-blue);font-weight:600}
.sms-log-table pre{max-width:520px;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(0,0,0,.05);padding:10px;border-radius:8px;font-size:.78rem;line-height:1.35}
.sms-log-provider-id{overflow-wrap:anywhere}
.sms-log-error{color:var(--danger,#a71d2a);max-width:520px}
@media (max-width:720px){.sms-log-heading{flex-direction:column}.sms-log-message{min-width:240px}}


/* v1.79 – gemensam sida för direkta SMS- och e‑postutskick */
.communication-send-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.communication-send-card{margin:0}
.communication-card-heading,.communication-log-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.communication-card-heading h2,.communication-log-heading h2{margin-bottom:5px}
.communication-card-heading p,.communication-log-heading p{margin:0}
.communication-form{max-width:none}
.communication-form textarea{width:100%;resize:vertical;min-height:170px;line-height:1.5}
.communication-form button:disabled{opacity:.5;cursor:not-allowed}
.message-character-counter{text-align:right;margin-top:7px;color:var(--muted);font-size:.9rem}
.communication-log-card{margin-top:24px}
.communication-log-table{margin:0;box-shadow:none;background:transparent;border:0}
.communication-log-table table{min-width:1050px}
.communication-log-message{min-width:260px;max-width:460px;white-space:normal;overflow-wrap:anywhere}
.communication-provider-id{display:inline-block;max-width:190px;overflow-wrap:anywhere}
.communication-log-table details{min-width:150px}
.communication-log-table pre{max-width:560px;max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(20,24,28,.06);border:1px solid var(--border);border-radius:10px;padding:11px}
.communication-log-error{color:#9d2d20}
.communication-email-body{margin-top:10px;max-height:320px;overflow:auto;white-space:normal;overflow-wrap:anywhere;background:rgba(20,24,28,.04);border:1px solid var(--border);border-radius:10px;padding:12px}
@media(max-width:980px){
  .communication-send-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .communication-card-heading,.communication-log-heading{flex-direction:column}
}


/* v1.80 – juridisk information och godkännande */
.legal-document{max-width:900px;margin:0 auto}.legal-document h2{margin-top:28px}.legal-document p{line-height:1.7}.terms-consent{display:flex;align-items:flex-start;gap:12px;margin-top:22px;padding:16px;border:1px solid var(--line,#d8e0e8);border-radius:12px;background:rgba(255,255,255,.04)}.terms-consent input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}.terms-consent span{line-height:1.55}


/* v1.82 – publik registreringsstatistik med lokala SVG-flaggor */
.statistics-page .statistics-hero,
.statistics-page .statistics-ranking-card{max-width:900px;margin-left:auto;margin-right:auto}
.statistics-page .statistics-hero{text-align:center}
.statistics-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:840px;margin:28px auto 0}
.statistics-summary-item{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.06)}
.statistics-summary-item span{font-size:.9rem;color:var(--muted)}
.statistics-summary-item strong{font-size:clamp(1.9rem,5vw,2.8rem);line-height:1;color:var(--text)}
.statistics-ranking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.statistics-ranking-heading h2{margin-bottom:0}
.country-ranking{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.country-ranking-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.045)}
.country-ranking-flag{display:grid;place-items:center;width:48px;height:36px;line-height:1;text-align:center}
.country-ranking-flag img{display:block;width:48px;height:36px;object-fit:cover;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.18)}
.country-ranking-flag-fallback{font-size:2rem;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.country-ranking-name{font-size:1.05rem;font-weight:650;min-width:0}
.country-ranking-count{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;text-align:right;color:var(--muted);white-space:nowrap}
.country-ranking-count strong{font-size:1.35rem;color:var(--text);font-variant-numeric:tabular-nums}
.statistics-note{margin:18px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55;text-align:center}
.statistics-empty{display:grid;place-items:center;gap:10px;padding:36px 18px;text-align:center;color:var(--muted)}
.statistics-empty-icon{font-size:3rem}
.statistics-empty p{margin:0}
@media(max-width:620px){
  .statistics-summary{grid-template-columns:1fr}
  .country-ranking-row{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:13px 12px}
  .country-ranking-flag{width:42px;height:31px}
  .country-ranking-flag img{width:42px;height:31px}
  .country-ranking-flag-fallback{font-size:1.75rem}
  .country-ranking-count{grid-column:2;justify-content:flex-start;margin-top:-5px}
}

/* v1.90 – en enda gemensam headerlayout på samtliga sidor */
@media (min-width:981px){
  html,
  body{
    scroll-padding-top:142px!important;
  }
  body{
    padding-top:142px!important;
  }
  .site-header.site-header-public{
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:0!important;
    z-index:10000!important;
    width:100%!important;
    height:142px!important;
    margin:0!important;
    padding:0!important;
    background:#111416!important;
    border:0!important;
    border-bottom:1px solid rgba(239,155,57,.22)!important;
    box-shadow:0 5px 18px rgba(0,0,0,.28)!important;
    overflow:visible!important;
  }
  .site-header-public .site-header-shell{
    width:calc(100% - 40px)!important;
    max-width:1880px!important;
    height:100%!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .site-header-public .header-primary-row{
    display:grid!important;
    grid-template-columns:minmax(300px,395px) minmax(0,1fr) 116px!important;
    align-items:center!important;
    width:100%!important;
    height:142px!important;
    min-height:142px!important;
    margin:0!important;
    padding:0!important;
    gap:18px!important;
  }
  .site-header-public .brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    height:118px!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header-public .brand-logo-frame{
    display:block!important;
    width:100%!important;
    max-width:395px!important;
    min-width:0!important;
    height:118px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .site-header-public .brand-logo,
  .site-header-public .brand-logo-public{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header-public .main-nav.desktop-nav{
    position:static!important;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    gap:4px!important;
    white-space:nowrap!important;
    background:transparent!important;
    transform:none!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link{
    flex:0 0 auto!important;
    margin:0!important;
    padding:12px 11px!important;
    font-size:1rem!important;
    line-height:1.2!important;
    font-weight:400!important;
    white-space:nowrap!important;
  }
  .site-header-public .header-actions{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:116px!important;
    min-width:116px!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header-public .mobile-nav{
    display:none!important;
  }
}

@media (min-width:981px) and (max-width:1500px){
  html,
  body{
    scroll-padding-top:124px!important;
  }
  body{
    padding-top:124px!important;
  }
  .site-header.site-header-public,
  .site-header-public .header-primary-row{
    height:124px!important;
    min-height:124px!important;
  }
  .site-header-public .site-header-shell{
    width:calc(100% - 24px)!important;
  }
  .site-header-public .header-primary-row{
    grid-template-columns:minmax(230px,285px) minmax(0,1fr) 94px!important;
    gap:8px!important;
  }
  .site-header-public .brand,
  .site-header-public .brand-logo-frame{
    height:100px!important;
  }
  .site-header-public .main-nav.desktop-nav{
    gap:0!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link{
    padding:10px 6px!important;
    font-size:.88rem!important;
  }
  .site-header-public .header-actions{
    width:94px!important;
    min-width:94px!important;
  }
}

@media (min-width:981px) and (max-width:1180px){
  html,
  body{
    scroll-padding-top:108px!important;
  }
  body{
    padding-top:108px!important;
  }
  .site-header.site-header-public,
  .site-header-public .header-primary-row{
    height:108px!important;
    min-height:108px!important;
  }
  .site-header-public .site-header-shell{
    width:calc(100% - 16px)!important;
  }
  .site-header-public .header-primary-row{
    grid-template-columns:205px minmax(0,1fr) 78px!important;
    gap:4px!important;
  }
  .site-header-public .brand,
  .site-header-public .brand-logo-frame{
    height:88px!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link{
    padding:8px 3px!important;
    font-size:.7rem!important;
  }
  .site-header-public .header-actions{
    width:78px!important;
    min-width:78px!important;
  }
  .site-header-public .language-switch{
    gap:2px!important;
    padding:4px!important;
  }
  .site-header-public .language-flag{
    width:29px!important;
    height:22px!important;
  }
}

@media (max-width:980px){
  html,
  body{
    scroll-padding-top:0!important;
  }
  body{
    padding-top:0!important;
  }
  .site-header.site-header-public{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
  }
}

/* v1.91 – flytta loggan något åt höger i datorläget */
@media (min-width:981px){
  .site-header-public .brand{
    padding-left:12px!important;
    box-sizing:border-box!important;
  }
}

/* v1.92 – finjusterad placering av logga och språkval i datorläget */
@media (min-width:981px){
  .site-header-public .brand{
    padding-left:24px!important;
  }
  .site-header-public .header-actions{
    transform:translateX(-12px)!important;
  }
}

/* v1.95: controlled hero title wrapping */
.hero-title-fixed span{display:block;}
@media (max-width:700px){.hero-title-fixed span{display:block;}}

/* v2.0 – final desktop header spacing and translated file picker */
@media (min-width:981px){
  .site-header-public .brand{padding-left:36px!important;}
  .site-header-public .header-actions{transform:translateX(-24px)!important;}
  .site-header-public .main-nav.desktop-nav{gap:7px!important;}
  .site-header-public .main-nav.desktop-nav .nav-link{font-size:1.04rem!important;padding-left:12px!important;padding-right:12px!important;}
}
@media (min-width:981px) and (max-width:1500px){
  .site-header-public .main-nav.desktop-nav{gap:3px!important;}
  .site-header-public .main-nav.desktop-nav .nav-link{font-size:.93rem!important;padding-left:7px!important;padding-right:7px!important;}
}
@media (min-width:981px) and (max-width:1180px){
  .site-header-public .main-nav.desktop-nav{gap:1px!important;}
  .site-header-public .main-nav.desktop-nav .nav-link{font-size:.76rem!important;padding-left:4px!important;padding-right:4px!important;}
}
.translated-file-input{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.translated-file-input input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.translated-file-name{color:var(--muted);font-size:.94rem;overflow-wrap:anywhere}


/* v2.1 system status */
.system-page-heading{margin-bottom:18px}
.system-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}
.system-status-card{display:flex;align-items:center;gap:11px;padding:15px 16px;border-radius:14px;background:rgba(255,255,255,.94);border:1px solid rgba(39,53,122,.14);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.system-status-card div{display:flex;flex-direction:column;gap:2px;min-width:0}.system-status-card strong{font-size:1rem}.system-status-card span:not(.system-status-dot){font-size:.83rem;color:#5e6470}
.system-status-dot{width:12px;height:12px;border-radius:50%;flex:0 0 12px;background:#777;box-shadow:0 0 0 4px rgba(119,119,119,.12)}
.system-status-card.ok .system-status-dot{background:#24864b;box-shadow:0 0 0 4px rgba(36,134,75,.14)}
.system-status-card.warning .system-status-dot{background:#c88112;box-shadow:0 0 0 4px rgba(200,129,18,.14)}
.system-status-card.error .system-status-dot{background:#b53131;box-shadow:0 0 0 4px rgba(181,49,49,.14)}
.system-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.system-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px;padding:14px;text-align:center;border-radius:14px;background:rgba(255,250,241,.96);border:1px solid rgba(176,92,32,.2)}
.system-metric strong{font-size:1.75rem;line-height:1;color:#27357a}.system-metric span{margin-top:7px;font-size:.85rem;color:#666}
.system-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.system-section{margin:0;padding:22px}.system-section h2{margin:0 0 16px}
.system-detail-list{display:grid;gap:0;margin:0}.system-detail-list div{display:grid;grid-template-columns:minmax(135px,1fr) minmax(0,1.2fr);gap:16px;padding:10px 0;border-bottom:1px solid rgba(39,53,122,.1)}.system-detail-list div:last-child{border-bottom:0}.system-detail-list dt{font-weight:650}.system-detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere}
.system-action-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.system-table-badges{display:flex;flex-wrap:wrap;gap:9px}.system-table-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:.82rem;background:#eee}.system-table-badge.ok{background:#e6f5eb;color:#1d6e3d}.system-table-badge.error{background:#fbe7e7;color:#9d2929}
.system-event-list,.system-error-list{display:grid;gap:10px}.system-event-list article,.system-error-list article{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 0;border-bottom:1px solid rgba(39,53,122,.1)}.system-event-list article:last-child,.system-error-list article:last-child{border-bottom:0}.system-event-list small,.system-error-list small{white-space:nowrap;color:#777}.system-error-list span{overflow-wrap:anywhere}.system-security-note{text-align:center;margin:6px auto 26px;max-width:900px}
@media(max-width:1200px){.system-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.system-status-grid,.system-metric-grid,.system-columns{grid-template-columns:1fr}.system-detail-list div{grid-template-columns:1fr;gap:4px}.system-detail-list dd{text-align:left}.system-event-list article,.system-error-list article{grid-template-columns:1fr;gap:4px}.system-event-list small,.system-error-list small{white-space:normal}}

/* v2.5 Apple Wallet */
.wallet-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin:8px auto 24px;padding:0 18px}
.wallet-button-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.wallet-test-notice{width:min(100%,560px);box-sizing:border-box;padding:11px 14px;border-radius:10px;background:#fff3cd;border:1px solid #e3bd54;color:#614a0b;text-align:center;font-size:.9rem}
.apple-wallet-badge-link,.google-wallet-badge-link{display:inline-flex;align-items:center;justify-content:center;height:55px;line-height:0;transition:transform .16s ease,filter .16s ease}
.apple-wallet-badge-link:hover,.apple-wallet-badge-link:focus-visible,.google-wallet-badge-link:hover,.google-wallet-badge-link:focus-visible{transform:translateY(-1px);filter:brightness(1.07)}
.apple-wallet-badge-image,.google-wallet-badge-image{display:block;width:auto;height:55px;max-width:100%;border:0}
.wallet-admin-section{margin-bottom:18px}.wallet-admin-section>p{margin-top:0}.wallet-admin-form{display:grid;gap:14px;max-width:720px}.system-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.system-form-grid label{min-width:0}.system-form-grid input,.system-form-grid select{min-height:44px}
.wallet-admin-toggle{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(39,53,122,.13);cursor:pointer}
.wallet-admin-toggle input{width:22px;height:22px;margin:1px 0 0;flex:0 0 22px}.wallet-admin-toggle span{display:flex;flex-direction:column;gap:3px}.wallet-admin-toggle small{color:var(--muted);line-height:1.4}
.stripe-live-toggle{border-color:rgba(178,72,41,.28)}
.stripe-test-banner{max-width:940px;margin:0 auto 18px;text-align:center}
@media(max-width:600px){.wallet-actions{padding:0}.wallet-button-row{width:100%;gap:12px}.apple-wallet-badge-link,.google-wallet-badge-link{max-width:100%}.apple-wallet-badge-image,.google-wallet-badge-image{height:52px}}

/* v2.5.3 – tydligt Stripe TEST/LIVE-reglage direkt i admin */
.admin-toolbar-stripe-mode{display:flex;align-items:center;justify-content:center;min-height:43px;padding:8px 10px;border:1px solid;border-radius:9px;text-decoration:none!important;font-size:.82rem;font-weight:800;letter-spacing:.04em;box-sizing:border-box}
.admin-toolbar-stripe-mode.test{color:#fff3cd;background:#765416;border-color:#d9aa4b}
.admin-toolbar-stripe-mode.live{color:#fff;background:#a22b2b;border-color:#f18a8a;box-shadow:0 0 0 2px rgba(241,138,138,.12)}
.admin-stripe-environment{margin:0 0 18px;padding:22px;border-width:2px}
.admin-stripe-environment.is-test{border-color:#d6a545}.admin-stripe-environment.is-live{border-color:#b93636}
.admin-stripe-environment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.admin-stripe-environment-heading h2{margin:0 0 5px}.admin-stripe-environment-heading p{margin-top:0}
.admin-stripe-mode-badge{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:11px 15px;border-radius:999px;color:#fff;white-space:nowrap;letter-spacing:.05em}
.admin-stripe-mode-badge.test{background:#8a641c}.admin-stripe-mode-badge.live{background:#aa2e2e;box-shadow:0 0 0 4px rgba(170,46,46,.12)}
.admin-stripe-credential-status{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.admin-stripe-credential-status span{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.78);border:1px solid rgba(39,53,122,.13)}
.admin-stripe-switch-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.admin-stripe-switch{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.84);border:1px solid rgba(39,53,122,.16);cursor:pointer}
.admin-stripe-switch input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.admin-stripe-switch-track{position:relative;width:58px;height:30px;border-radius:999px;background:#9a741f;box-shadow:inset 0 1px 4px rgba(0,0,0,.25);transition:background .18s ease}
.admin-stripe-switch-track span{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.28);transition:transform .18s ease}
.admin-stripe-switch input:checked + .admin-stripe-switch-track{background:#ae3030}
.admin-stripe-switch input:checked + .admin-stripe-switch-track span{transform:translateX(28px)}
.admin-stripe-switch input:focus-visible + .admin-stripe-switch-track{outline:3px solid rgba(39,53,122,.35);outline-offset:3px}
.admin-stripe-switch input:disabled + .admin-stripe-switch-track{opacity:.45}
.admin-stripe-switch-label{font-size:.9rem;font-weight:800}.admin-stripe-switch-label.test{color:#765416}.admin-stripe-switch-label.live{color:#9d2929}
@media(max-width:650px){.admin-stripe-environment-heading{flex-direction:column}.admin-stripe-switch-form{align-items:stretch;flex-direction:column}.admin-stripe-switch-form .btn,.admin-stripe-switch{width:100%;box-sizing:border-box;justify-content:center}}

/* v2.6 – märkning och säker rensning av Stripe-testdata */
.test-data-badge{margin-left:6px;background:#fff0bd;color:#6e4d08;border:1px solid #d8a836;font-size:.7rem;font-weight:800;letter-spacing:.05em}
.test-data-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}
.test-data-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}
.test-data-info-card,.test-data-danger-card,.test-data-migration-card{margin:0;padding:22px}.test-data-info-card h2,.test-data-danger-card h2,.test-data-migration-card h2{margin-top:0}
.test-data-info-card ul{padding-left:20px}.test-data-info-card li+li{margin-top:9px}
.test-data-danger-card{border:2px solid #bd3b36;background:#fff8f7!important}.test-data-danger-card h2{color:#8f2825!important}
.test-data-cleanup-form{display:grid;gap:15px}.test-data-cleanup-form .field{margin:0}.test-data-cleanup-form code{padding:3px 6px;border-radius:5px;background:#f2e6e4;color:#7d211f;font-weight:800}
.test-data-confirmation{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;background:#fff;border:1px solid #d7aaa7}.test-data-confirmation input{width:21px;height:21px;flex:0 0 21px;margin:1px 0 0}
.test-data-delete-button{background:#a82e2a!important;border-color:#8d2421!important}.test-data-delete-button:hover,.test-data-delete-button:focus-visible{background:#84221f!important}.test-data-delete-button:disabled{opacity:.45;cursor:not-allowed}
.test-data-backfill-note{max-width:960px;margin:18px auto 28px;text-align:center}
@media(max-width:1180px){.test-data-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.test-data-columns{grid-template-columns:1fr}}
@media(max-width:650px){.test-data-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.test-data-heading{align-items:flex-start}.test-data-delete-button{width:100%}}


/* v2.8.1 – ombyggda adminsidor */
.checkin-scan-heading{max-width:1040px;justify-content:flex-start;text-align:left}
.checkin-scan-card{max-width:720px;margin-top:0;padding:28px 32px}
.checkin-scan-heading>div{width:100%}
.checkin-scan-heading p{margin-top:4px}
.scanner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.scanner-actions .btn{width:100%;min-width:0;min-height:50px}
.scanner-actions #startCamera{grid-column:1/-1}
.scanner-actions #stopCamera:not([hidden]){grid-column:1/2}
.scanner-actions #qrImageButton{grid-column:2/3}
.resend-confirmation-card{padding:28px 30px}
.resend-confirmation-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}
.resend-confirmation-form .field{margin:0;display:grid;gap:8px}
.resend-confirmation-form select{min-height:52px;padding:11px 42px 11px 14px;font-size:1rem}
.resend-confirmation-form .btn{min-height:52px;white-space:nowrap}
.system-section:has(.system-table-badges){padding:26px 28px}
.system-table-badges{gap:12px 10px;margin-top:4px;line-height:1.35}
.system-table-badge{padding:8px 11px}
@media(max-width:760px){
  .checkin-scan-heading{max-width:720px;text-align:left}
  .scanner-actions{grid-template-columns:1fr}
  .scanner-actions #startCamera,.scanner-actions #stopCamera:not([hidden]),.scanner-actions #qrImageButton{grid-column:1}
  .resend-confirmation-form{grid-template-columns:1fr}
  .resend-confirmation-form .btn{width:100%}
}

/* v2.9.0 – sammanhållet modernt administrationsgränssnitt */
@media (min-width:981px){
  .admin-page main.wrap{
    width:min(100% - 36px,1540px);
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:24px 28px;
    align-items:start;
  }
  .admin-page main.wrap>.admin-toolbar{grid-column:1;grid-row:1 / span 100;position:sticky;top:22px}
  .admin-page main.wrap>:not(.admin-toolbar){grid-column:2;min-width:0}
}
.admin-toolbar{padding:16px 12px 13px;border-radius:20px;background:rgba(13,16,19,.97);box-shadow:0 22px 52px rgba(0,0,0,.34)}
.admin-toolbar-brand{display:flex;align-items:center;gap:11px;padding:4px 7px 17px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.10);color:#fff}
.admin-toolbar-brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#d87526;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.06em}
.admin-toolbar-brand strong,.admin-toolbar-brand small{display:block}.admin-toolbar-brand strong{font-size:1rem}.admin-toolbar-brand small{margin-top:2px;color:#b8b1aa;font-size:.75rem}
.admin-toolbar-section-label{padding:0 10px 8px;color:#918b85;font-size:.69rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.admin-toolbar-links{display:flex;flex-direction:column;gap:4px}
.admin-toolbar-link,.admin-toolbar .admin-toolbar-link{display:flex;align-items:center;gap:11px;width:100%;min-height:45px;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:#dcd7d2;text-align:left;text-decoration:none;font:inherit;font-size:.91rem;cursor:pointer;box-shadow:none}
.admin-toolbar-link-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.07);color:#d9a264;font-weight:800}
.admin-toolbar-link:hover,.admin-toolbar-link:focus,.admin-toolbar-link.active,.admin-toolbar .admin-toolbar-link.active{background:rgba(216,117,38,.18);color:#fff}
.admin-toolbar-link.active .admin-toolbar-link-icon{background:#d87526;color:#fff}
.admin-toolbar-logout{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.10)}
.admin-page-heading{margin-bottom:0;padding:24px 28px;border-radius:19px;box-shadow:0 18px 42px rgba(0,0,0,.20)}
.admin-page-heading h1{font-size:clamp(1.8rem,3vw,2.4rem)}
.admin-page .card,.admin-page .table-wrap{border-radius:18px;box-shadow:0 16px 38px rgba(0,0,0,.18)}
.admin-page .table-wrap{overflow:auto}

/* QR-arbetsyta */
.checkin-scan-heading{max-width:none}
.checkin-scan-card{padding:0;overflow:hidden}
.scanner-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);min-height:570px}
.scanner-stage{position:relative;display:grid;place-items:center;min-height:570px;padding:24px;background:linear-gradient(145deg,#11171c,#20272c);overflow:hidden}
.scanner-placeholder{text-align:center;color:#fff;max-width:420px}.scanner-placeholder[hidden]{display:none}
.scanner-placeholder-icon{display:grid;place-items:center;width:90px;height:90px;margin:0 auto 20px;border:1px solid rgba(255,255,255,.20);border-radius:26px;background:rgba(255,255,255,.07);font-size:3rem;color:#ef9b39}
.scanner-placeholder h2{margin:0 0 8px;color:#fff!important}.scanner-placeholder p{margin:0;color:#b9c0c5}
.scanner-stage .qr-reader{width:100%;max-width:820px;margin:0;background:#090c0f;border-radius:16px}
.scanner-stage .qr-reader video{width:100%!important;max-height:520px;object-fit:cover;border-radius:16px}
.scanner-control-panel{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:34px 30px;background:#fffaf5;border-left:1px solid #ead8c7}
.scanner-control-panel h2{margin:5px 0 8px}.scanner-eyebrow{color:#a65b20;font-size:.72rem;font-weight:900;letter-spacing:.13em}
.scanner-control-panel .scanner-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.scanner-control-panel .scanner-actions .btn{width:100%;min-width:0;margin:0;min-height:52px}
.scanner-status{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:11px;background:#f2eee9;color:#4f4741}.scanner-status p{margin:0;font-size:.88rem}.scanner-status-dot{width:10px;height:10px;border-radius:50%;background:#32a060;box-shadow:0 0 0 4px rgba(50,160,96,.12)}
.checkin-result{max-width:none;margin:0}

@media(max-width:980px){
  .admin-toolbar-brand,.admin-toolbar-section-label,.admin-toolbar-links-desktop{display:none}
  .admin-toolbar-mobile{display:block}
  .admin-toolbar-links-mobile{display:flex;flex-direction:column}
  .scanner-workspace{grid-template-columns:1fr}
  .scanner-stage{min-height:420px}
  .scanner-control-panel{border-left:0;border-top:1px solid #ead8c7}
}
@media(max-width:620px){
  .scanner-stage{min-height:330px;padding:14px}.scanner-control-panel{padding:22px 18px}.admin-page-heading{padding:20px 18px}
}


/* v2.9.1 – fast adminmeny och återställd webbplatsikon */
@media (min-width:981px){
  .admin-page main.wrap>.admin-toolbar{
    position:sticky!important;
    top:126px!important;
    align-self:start!important;
    height:max-content;
    max-height:calc(100vh - 146px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    z-index:20;
  }
  .admin-page main.wrap>.admin-toolbar::-webkit-scrollbar{width:7px}
  .admin-page main.wrap>.admin-toolbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
}

/* v2.9.2 – sidomenyn är fixerad mot webbläsarfönstret på desktop */
@media (min-width:981px){
  .admin-page main.wrap>.admin-toolbar{
    position:fixed!important;
    top:126px!important;
    left:max(18px, calc((100vw - 1540px) / 2))!important;
    width:250px!important;
    box-sizing:border-box;
    max-height:calc(100vh - 148px)!important;
    overflow-y:auto!important;
    z-index:40!important;
  }
}

/* v2.9.3 – konsekvent mobil-layout i administrationen */
@media (max-width:760px){
  body.admin-page main.wrap{
    width:min(100% - 24px, 760px);
    display:flex;
    flex-direction:column;
    gap:14px;
    padding-top:14px;
  }

  body.admin-page main.wrap > *{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  body.admin-page main.wrap > .admin-toolbar{
    order:-10;
    position:static!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:10px;
    border-radius:15px;
  }

  .admin-toolbar-mobile summary{
    min-height:48px;
    padding:0 14px;
    display:flex;
    align-items:center;
    gap:10px;
    border-radius:11px;
    cursor:pointer;
    color:#fff;
    font-weight:750;
    list-style:none;
  }
  .admin-toolbar-mobile summary::-webkit-details-marker{display:none}
  .admin-toolbar-menu-chevron{margin-left:auto;transition:transform .18s ease}
  .admin-toolbar-mobile[open] .admin-toolbar-menu-chevron{transform:rotate(180deg)}
  .admin-toolbar-links-mobile{gap:6px;padding-top:8px}
  .admin-toolbar-link,.admin-toolbar .admin-toolbar-link{
    min-height:44px;
    padding:8px 10px;
    border-radius:10px;
    font-size:.9rem;
  }
  .admin-toolbar-link-icon{width:27px;height:27px;flex-basis:27px}

  .admin-page-heading{
    padding:18px 16px;
    border-radius:15px;
    gap:12px;
  }
  .admin-page-heading h1{font-size:1.75rem;line-height:1.12}
  .admin-page-heading p{margin-top:6px;line-height:1.45}
  .admin-page-heading > .btn,
  .admin-page-heading > a.btn,
  .admin-page-heading .actions{
    width:100%;
  }

  body.admin-page .card,
  body.admin-page .table-wrap,
  body.admin-page .system-section,
  body.admin-page .panel,
  body.admin-page fieldset{
    border-radius:15px;
  }
  body.admin-page .card,
  body.admin-page .system-section,
  body.admin-page .panel{
    padding:18px 16px;
  }

  body.admin-page .grid,
  body.admin-page .admin-grid,
  body.admin-page .stats-grid,
  body.admin-page .system-grid,
  body.admin-page .form-grid,
  body.admin-page .previous-registration-admin-grid,
  body.admin-page .product-grid,
  body.admin-page .communications-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  body.admin-page form,
  body.admin-page .field,
  body.admin-page .form-group{
    min-width:0;
  }
  body.admin-page .field{margin-bottom:14px}
  body.admin-page .field:last-child{margin-bottom:0}
  body.admin-page label{display:block;margin-bottom:7px;line-height:1.3}
  body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.admin-page select,
  body.admin-page textarea,
  body.admin-page input[type="file"]{
    width:100%;
    max-width:100%;
    min-height:48px;
    box-sizing:border-box;
    font-size:16px;
  }
  body.admin-page textarea{min-height:120px}

  body.admin-page .btn,
  body.admin-page button:not(.admin-toolbar-link),
  body.admin-page input[type="submit"]{
    min-height:46px;
    max-width:100%;
    padding:10px 15px;
    font-size:.94rem;
    line-height:1.2;
    white-space:normal;
  }

  body.admin-page .actions,
  body.admin-page .button-row,
  body.admin-page .form-actions,
  body.admin-page .admin-actions,
  body.admin-page .toolbar-actions,
  body.admin-page .inline-actions,
  body.admin-page .admin-products-actions,
  body.admin-page .admin-stripe-switch-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  body.admin-page .actions > *,
  body.admin-page .button-row > *,
  body.admin-page .form-actions > *,
  body.admin-page .admin-actions > *,
  body.admin-page .toolbar-actions > *,
  body.admin-page .inline-actions > *{
    width:100%;
    margin:0!important;
    box-sizing:border-box;
  }

  body.admin-page .table-wrap{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.admin-page table{min-width:720px}
  body.admin-page th,body.admin-page td{padding:12px 10px;vertical-align:middle}

  .resend-confirmation-card{padding:18px 16px}
  .resend-confirmation-form{gap:12px}
  .resend-confirmation-form select,.resend-confirmation-form .btn{min-height:48px}

  .system-section:has(.system-table-badges){padding:18px 16px}
  .system-table-badges{gap:9px}
  .system-table-badge{padding:8px 10px}

  .scanner-workspace{min-height:0}
  .scanner-stage{min-height:285px;padding:12px}
  .scanner-control-panel{padding:18px 16px;gap:18px}
  .scanner-control-panel .scanner-actions{gap:10px}
  .scanner-control-panel .scanner-actions .btn{min-height:48px}

  .admin-product-image-card{padding:16px!important}
  .admin-product-image-preview{min-height:180px}
}

@media (max-width:420px){
  body.admin-page main.wrap{width:min(100% - 18px, 420px);gap:12px}
  .admin-page-heading,body.admin-page .card,body.admin-page .system-section,body.admin-page .panel{padding:16px 13px}
  .admin-page-heading h1{font-size:1.55rem}
  body.admin-page .btn,body.admin-page button:not(.admin-toolbar-link),body.admin-page input[type="submit"]{font-size:.9rem;padding-inline:12px}
}

/* Clean Time v2.10 */
.cleantime-total-hero{text-align:center;padding-block:clamp(28px,6vw,56px)}
.cleantime-total-hero .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--na-blue);margin:0 0 8px}
.cleantime-total-hero h1{font-size:clamp(3rem,10vw,7rem);line-height:.95;margin:.1em 0}
.cleantime-total-detail{font-size:clamp(1.2rem,3vw,2rem);font-weight:600}
.cleantime-pills{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.cleantime-pills span{background:#eef4ff;border:1px solid #c7d8f5;border-radius:999px;padding:9px 16px;font-weight:600}
.cleantime-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.cleantime-toggle-row h2{margin-bottom:6px}
.switch-control{display:inline-flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap}.switch-control input{position:absolute;opacity:0}.switch-slider{width:56px;height:30px;border-radius:999px;background:#aeb7c4;position:relative;transition:.2s}.switch-slider:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:.2s}.switch-control input:checked+.switch-slider{background:var(--na-blue)}.switch-control input:checked+.switch-slider:after{transform:translateX(26px)}
.cleantime-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.cleantime-admin-stats .card{margin:0;display:flex;flex-direction:column;gap:5px}.cleantime-admin-stats strong{font-size:clamp(1.45rem,3vw,2.2rem)}
.checkbox-line{display:flex!important;align-items:center;gap:10px}.checkbox-line input{width:auto!important}
@media(max-width:760px){.cleantime-toggle-row{align-items:flex-start;flex-direction:column}.cleantime-admin-stats{grid-template-columns:1fr}.cleantime-total-hero h1{font-size:clamp(2.8rem,18vw,5rem)}}


/* Clean Time v2.10.1 */
.cleantime-form-card{max-width:980px;margin:clamp(24px,5vw,60px) auto;padding:clamp(28px,5vw,52px)}
.cleantime-form-heading{max-width:760px;margin-bottom:30px}.cleantime-form-heading h1{margin:4px 0 10px;font-size:clamp(2rem,5vw,3.35rem)}.cleantime-form-heading p{font-size:1.08rem;line-height:1.65;color:var(--muted)}
.cleantime-kicker{font-size:.78rem;letter-spacing:.18em;font-weight:800;color:var(--na-orange,#d76518)}
.cleantime-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.cleantime-field{display:flex;flex-direction:column;gap:8px;min-width:0}.cleantime-field-wide,.cleantime-field-full{grid-column:1/-1}.cleantime-field label{font-weight:700;font-size:.98rem}.cleantime-field input,.cleantime-field select,.cleantime-field textarea{display:block;width:100%;min-height:56px;padding:14px 16px;border:1px solid rgba(57,42,32,.24);border-radius:12px;background:#fff;color:#302720;font:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.cleantime-field textarea{min-height:118px;resize:vertical}.cleantime-field input:focus,.cleantime-field select:focus,.cleantime-field textarea:focus{outline:none;border-color:#d76518;box-shadow:0 0 0 4px rgba(215,101,24,.14)}.cleantime-field small{color:var(--muted);font-size:.86rem}.cleantime-submit{min-height:56px;padding-inline:28px;justify-self:start}.cleantime-closed{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:14px;background:rgba(215,101,24,.10);border:1px solid rgba(215,101,24,.28)}.cleantime-closed strong{font-size:1.15rem}.cleantime-admin-form-card{max-width:980px}.cleantime-admin-form .cleantime-form-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
@media(max-width:720px){.cleantime-form{grid-template-columns:1fr}.cleantime-field-wide,.cleantime-field-full{grid-column:auto}.cleantime-submit,.cleantime-form-actions .btn{width:100%;justify-content:center}.cleantime-form-card{padding:24px 20px}}

body.cleantime-screen{margin:0;min-height:100svh;overflow:hidden;background:#15181c url('/assets/convention-background.jpg') center/cover fixed no-repeat;color:#fff;font-family:Arial,Helvetica,sans-serif;display:grid;place-items:center;position:relative}.cleantime-screen-shade{position:fixed;inset:0;background:linear-gradient(120deg,rgba(8,12,17,.88),rgba(13,22,31,.62) 48%,rgba(94,42,8,.55));backdrop-filter:blur(1px)}.cleantime-screen-content{position:relative;z-index:1;width:min(1160px,calc(100% - 40px));text-align:center;padding:clamp(20px,4vh,46px) 0}.cleantime-screen-brand{font-size:clamp(16px,2.2vw,28px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:clamp(22px,4vh,44px);color:rgba(255,255,255,.88)}.cleantime-screen-top,.cleantime-screen-bottom{font-size:clamp(28px,5vw,64px);font-weight:750;line-height:1.1}.cleantime-screen-top{margin-bottom:clamp(18px,3vh,32px)}.cleantime-screen-bottom{margin-top:clamp(18px,3vh,32px)}.cleantime-day-counter{display:flex;justify-content:center;gap:clamp(4px,1vw,12px);perspective:1200px}.cleantime-digit-card{position:relative;width:clamp(46px,10vw,128px);height:clamp(70px,14vw,170px);border-radius:clamp(8px,1.3vw,18px);background:linear-gradient(#282d34 0 49.5%,#171a1f 50% 100%);border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 44px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.12);overflow:hidden}.cleantime-digit-card:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(0,0,0,.8);z-index:2}.cleantime-digit{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(42px,10vw,132px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 4px 12px rgba(0,0,0,.55)}.cleantime-digit-card.flip{animation:ctFlip .9s ease}@keyframes ctFlip{0%{transform:rotateX(0)}45%{transform:rotateX(-88deg)}55%{transform:rotateX(72deg)}100%{transform:rotateX(0)}}.cleantime-screen-pills{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:clamp(22px,4vh,42px)}.cleantime-screen-pill{padding:13px 24px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);font-size:clamp(16px,2.5vw,28px);font-weight:700}.cleantime-screen-updated{margin-top:18px;color:rgba(255,255,255,.72);font-size:clamp(12px,1.6vw,16px)}.cleantime-screen-lang{position:fixed;z-index:2;top:18px;right:18px;display:flex;gap:6px}.cleantime-screen-lang a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.32);font-weight:700;font-size:13px}.cleantime-screen-lang a:hover{background:rgba(255,255,255,.2)}
@media(max-width:600px){body.cleantime-screen{overflow:auto}.cleantime-screen-content{width:min(100% - 24px,1160px);padding:70px 0 28px}.cleantime-screen-brand{font-size:14px;letter-spacing:.07em}.cleantime-day-counter{gap:3px}.cleantime-digit-card{width:clamp(34px,14vw,62px);height:clamp(54px,21vw,88px)}.cleantime-digit{font-size:clamp(32px,15vw,66px)}.cleantime-screen-pills{flex-direction:column;align-items:stretch}.cleantime-screen-pill{font-size:18px}}

/* Clean Time v2.10.3 */
.cleantime-form .cleantime-field{align-self:start}
.cleantime-form .cleantime-field input,.cleantime-form .cleantime-field select{height:58px;min-height:58px}
.cleantime-form .cleantime-field small{display:block;min-height:1.25em;line-height:1.25}
.cleantime-screen-content{height:100svh;max-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.ct-slide{display:none;width:100%;animation:ctFade .55s ease both}.ct-slide.active{display:block}
@keyframes ctFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.info-row{opacity:1;transition:opacity .35s ease}.info-row.hidden-info{opacity:0}
.cleantime-digit-card.flip .cleantime-digit{animation:flipDigit .95s ease-in-out}
@keyframes flipDigit{0%{transform:rotateX(0);filter:brightness(1)}22%{transform:rotateX(-72deg);filter:brightness(.72)}46%{transform:rotateX(-92deg);filter:brightness(.55)}54%{transform:rotateX(92deg);filter:brightness(.55)}78%{transform:rotateX(28deg);filter:brightness(.9)}100%{transform:rotateX(0);filter:brightness(1)}}
.cleantime-screen-lang a.active{background:#fff;color:#26374a}
.ct-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,22px);width:min(1120px,100%);margin:0 auto}
.ct-country-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:'flag name' 'flag meta' 'flag time';column-gap:18px;align-items:center;text-align:left;padding:clamp(15px,2.4vw,24px);border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.ct-country-flag{grid-area:flag;font-size:clamp(40px,5vw,68px);line-height:1}.ct-country-name{grid-area:name;font-size:clamp(19px,2.3vw,30px);font-weight:850}.ct-country-meta{grid-area:meta;color:rgba(255,255,255,.82);font-size:clamp(14px,1.7vw,20px)}.ct-country-time{grid-area:time;font-size:clamp(15px,1.8vw,22px);font-weight:750;margin-top:4px}
.ct-page-dots{height:18px;display:flex;justify-content:center;gap:8px;margin-top:18px}.ct-page-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.34)}.ct-page-dots span.active{background:#fff;transform:scale(1.2)}
#countrySlide .cleantime-screen-brand{margin-bottom:clamp(18px,3vh,32px)}
@media(min-width:1250px) and (min-height:800px){.ct-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ct-country-grid{grid-template-columns:1fr}.ct-country-card{padding:14px 16px;border-radius:16px}.ct-country-flag{font-size:40px}.cleantime-screen-content{padding-top:54px;padding-bottom:14px}.cleantime-screen-updated{margin-top:12px}.cleantime-form-heading h1{font-size:clamp(1.8rem,9vw,2.6rem)}}

/* Clean Time v2.10.4 fixes */
.cleantime-screen-back{position:fixed;z-index:5;top:18px;left:18px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;color:rgba(255,255,255,.82);background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.16);text-decoration:none;font-size:13px;font-weight:700;backdrop-filter:blur(8px);transition:.2s ease}.cleantime-screen-back:hover{color:#fff;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.ct-country-flag{width:clamp(58px,7vw,92px);height:clamp(43px,5.25vw,69px);display:flex;align-items:center;justify-content:center}.ct-country-flag img{display:block;width:100%;height:100%;object-fit:cover;border-radius:7px;box-shadow:0 5px 16px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.28)}
.cleantime-digit-card{transform-style:preserve-3d;will-change:transform}.cleantime-digit{backface-visibility:hidden;transform-origin:center center;will-change:transform,filter}.cleantime-digit-card.flip .cleantime-digit{animation:flipDigit .95s ease-in-out!important}
@media(max-width:600px){.cleantime-screen-back{top:12px;left:12px;padding:7px 10px}.cleantime-screen-back span{display:none}.ct-country-flag{width:58px;height:43px}}


html:has(body.cleantime-screen){height:100%;overflow:hidden;background:#11161b}
body.cleantime-screen{width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;display:block}
.cleantime-screen-shade{z-index:0}
.cleantime-screen-content{position:fixed;z-index:1;inset:0;width:auto;height:100dvh;max-height:100dvh;padding:clamp(62px,8vh,82px) clamp(14px,3vw,48px) clamp(44px,6vh,66px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ct-slide{position:absolute;inset:clamp(58px,7vh,78px) clamp(14px,3vw,48px) clamp(48px,6vh,70px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(12px) scale(.985);transition:opacity .55s ease,transform .55s ease,visibility .55s}
.ct-slide.active{opacity:1;visibility:visible;transform:none}
.cleantime-screen-back{display:inline-flex!important;visibility:visible!important;opacity:1!important;z-index:100;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));background:rgba(10,14,18,.62);border-color:rgba(255,255,255,.28);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.cleantime-screen-back .ct-back-arrow{font-size:1.15em;line-height:1}
.cleantime-screen-lang{z-index:100;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}
.cleantime-screen-brand{margin-bottom:clamp(12px,2.6vh,28px)}
.cleantime-screen-top{margin-bottom:clamp(12px,2.4vh,26px)}
.cleantime-screen-bottom{margin-top:clamp(12px,2.4vh,26px)}
.cleantime-day-counter{margin:0;flex-wrap:nowrap;transform-style:preserve-3d}
.cleantime-digit-card{width:clamp(34px,8.6vw,104px);height:clamp(54px,13vw,152px);background:linear-gradient(180deg,#1f2937 0%,#0f172a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -2px 0 rgba(0,0,0,.45),0 14px 32px rgba(0,0,0,.34);transform-style:preserve-3d;will-change:transform}
.cleantime-digit-card::before{height:2px;background:rgba(0,0,0,.72);box-shadow:0 -1px 0 rgba(255,255,255,.08);z-index:4}
.cleantime-digit-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%,rgba(0,0,0,.18));pointer-events:none;z-index:5}
.cleantime-digit{display:flex;align-items:center;justify-content:center;font-size:clamp(32px,9vw,116px);font-weight:950;letter-spacing:-.04em;backface-visibility:hidden;transform-origin:center center}
.cleantime-digit-card.flip{animation:none}
.cleantime-digit-card.flip .cleantime-digit{animation:ctFlipDigit .95s ease-in-out}
@keyframes ctFlipDigit{0%{transform:rotateX(0);filter:brightness(1)}22%{transform:rotateX(-72deg);filter:brightness(.72)}46%{transform:rotateX(-92deg);filter:brightness(.55)}54%{transform:rotateX(92deg);filter:brightness(.55)}78%{transform:rotateX(28deg);filter:brightness(.9)}100%{transform:rotateX(0);filter:brightness(1)}}
.cleantime-screen-pills{margin-top:clamp(14px,3vh,30px)}
.cleantime-screen-updated{position:fixed;z-index:3;left:50%;bottom:max(12px,env(safe-area-inset-bottom));width:min(92vw,900px);margin:0;transform:translateX(-50%);text-align:center}
#countrySlide{justify-content:center}
.ct-country-heading{flex:0 0 auto}
.ct-country-grid{width:min(100%,1320px);min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.5vw,20px);align-content:center}
.ct-country-card{min-width:0;min-height:clamp(150px,23vh,235px);padding:clamp(14px,2vw,25px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:clamp(16px,2vw,26px);background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);box-shadow:0 18px 42px rgba(0,0,0,.24);backdrop-filter:blur(13px)}
.ct-country-flag{position:relative;width:clamp(74px,7vw,112px);aspect-ratio:4/3;margin-bottom:clamp(8px,1.4vh,15px);display:grid;place-items:center;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.09);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.ct-country-flag img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ct-country-flag-fallback{font-size:clamp(35px,4vw,62px);line-height:1}.ct-country-flag-fallback.is-hidden{visibility:hidden}
.ct-country-name{font-size:clamp(18px,2vw,30px);font-weight:850;line-height:1.1;margin-bottom:7px}
.ct-country-meta{font-size:clamp(14px,1.35vw,20px);color:rgba(255,255,255,.84)}
.ct-country-time{margin-top:8px;font-size:clamp(15px,1.5vw,22px);font-weight:750;line-height:1.25}
.ct-country-count-1{grid-template-columns:minmax(280px,560px);justify-content:center}.ct-country-count-1 .ct-country-card{min-height:min(48vh,410px)}
.ct-country-count-1 .ct-country-flag{width:clamp(110px,13vw,190px)}
.ct-country-count-1 .ct-country-name{font-size:clamp(32px,5vw,64px)}
.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{font-size:clamp(22px,3vw,38px)}
.ct-country-count-2{grid-template-columns:repeat(2,minmax(260px,500px));justify-content:center}.ct-country-count-2 .ct-country-card{min-height:min(43vh,360px)}
.ct-country-count-2 .ct-country-flag{width:clamp(100px,10vw,155px)}
.ct-country-count-2 .ct-country-name{font-size:clamp(28px,3.6vw,48px)}
.ct-country-count-3,.ct-country-count-4{grid-template-columns:repeat(2,minmax(230px,460px));justify-content:center}.ct-country-count-3 .ct-country-card,.ct-country-count-4 .ct-country-card{min-height:min(31vh,285px)}
.ct-page-indicator{position:fixed;z-index:4;right:max(18px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));padding:7px 12px;border:1px solid rgba(255,255,255,.19);border-radius:999px;background:rgba(0,0,0,.34);color:rgba(255,255,255,.85);font-size:13px;font-weight:750;opacity:0;transform:translateY(5px);transition:.25s ease}.ct-page-indicator.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.ct-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
  .cleantime-screen-content{padding:58px 10px 42px}
  .ct-slide{inset:54px 10px 45px}
  .cleantime-screen-back{top:10px;left:10px;padding:7px 10px}
  .cleantime-screen-lang{top:10px;right:10px}
  .cleantime-screen-brand{font-size:clamp(12px,3.4vw,16px);letter-spacing:.07em}
  .cleantime-screen-top,.cleantime-screen-bottom{font-size:clamp(21px,7vw,36px)}
  .cleantime-day-counter{gap:3px}
  .cleantime-digit-card{width:clamp(29px,12.2vw,56px);height:clamp(45px,17vw,80px)}
  .cleantime-digit{font-size:clamp(28px,12vw,56px)}
  .cleantime-screen-pills{gap:8px;flex-direction:row;align-items:center}
  .cleantime-screen-pill{padding:8px 12px;font-size:clamp(13px,3.8vw,18px)}
  .ct-country-grid,.ct-country-count-3,.ct-country-count-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .ct-country-card{min-height:0;height:100%;padding:11px 8px;border-radius:14px}
  .ct-country-flag{width:clamp(54px,16vw,76px);margin-bottom:7px}
  .ct-country-name{font-size:clamp(15px,4.8vw,21px)}
  .ct-country-meta{font-size:clamp(12px,3.5vw,15px)}
  .ct-country-time{font-size:clamp(12px,3.4vw,15px);margin-top:5px}
  .ct-country-count-1{grid-template-columns:minmax(220px,88vw)}
  .ct-country-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{min-height:min(45vh,330px)}
  .ct-country-count-1 .ct-country-name{font-size:clamp(28px,9vw,46px)}
  .ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{font-size:clamp(18px,5vw,26px)}
  .cleantime-screen-updated{bottom:8px;font-size:10px;width:calc(100% - 100px);line-height:1.2}
  .ct-page-indicator{right:8px;bottom:7px;font-size:11px;padding:5px 8px}
}
@media(max-width:430px){
  .cleantime-screen-back span:not(.ct-back-arrow){display:none}
  .ct-country-grid,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{grid-template-columns:1fr}
  .ct-country-card{min-height:0;padding:10px 12px;display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto auto;text-align:left;column-gap:12px}
  .ct-country-flag{grid-row:1/4;width:62px;margin:0}
  .ct-country-name,.ct-country-meta,.ct-country-time{width:100%;text-align:left;margin:0}
  .ct-country-name{font-size:18px}.ct-country-meta,.ct-country-time{font-size:13px}
  .ct-country-count-1 .ct-country-card{display:flex;text-align:center;min-height:min(52vh,350px)}
  .ct-country-count-1 .ct-country-flag{width:clamp(100px,32vw,145px)}
  .ct-country-count-1 .ct-country-name,.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{text-align:center}
}
@media(max-height:680px){
  .cleantime-screen-brand{margin-bottom:8px}.cleantime-screen-top{margin-bottom:8px}.cleantime-screen-bottom{margin-top:8px}
  .cleantime-screen-pills{margin-top:10px}.cleantime-screen-pill{padding-block:8px}
  .ct-country-card{min-height:120px;padding-block:10px}.ct-country-flag{width:58px;margin-bottom:5px}.ct-country-name{font-size:18px}.ct-country-time{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){.cleantime-digit-card.flip .cleantime-digit{animation-duration:.01ms}}


/* Clean Time v2.10.7 final responsive polish */
.cleantime-screen-back{width:44px;height:44px;padding:0!important;justify-content:center;font-size:24px!important;color:#fff!important;background:rgba(8,12,16,.76)!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 8px 28px rgba(0,0,0,.42)!important}
.cleantime-screen-back:hover{transform:translateX(-2px);background:rgba(255,255,255,.18)!important}
.ct-slide{transform:translateX(34px) scale(.985);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1),visibility .7s}
.ct-slide.active{transform:translateX(0) scale(1)}
#totalSlide{justify-content:center;transform-origin:center}
.ct-page-indicator{opacity:1!important;transform:none!important}
@media(max-width:700px){
  #countrySlide{justify-content:flex-start;padding-top:8px}
  .ct-country-heading{margin:0 0 10px!important;font-size:13px!important}
  .ct-country-grid,.ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{grid-template-columns:1fr!important;width:min(100%,520px);gap:8px;align-content:start}
  .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{display:grid!important;grid-template-columns:72px minmax(0,1fr);grid-template-areas:'flag name' 'flag meta' 'flag time';grid-template-rows:auto auto auto;column-gap:13px;min-height:108px!important;height:auto!important;padding:11px 13px!important;text-align:left!important;border-radius:15px}
  .ct-country-flag,.ct-country-count-1 .ct-country-flag,.ct-country-count-2 .ct-country-flag{grid-area:flag;width:72px!important;margin:0!important;align-self:center}
  .ct-country-name,.ct-country-count-1 .ct-country-name{grid-area:name;text-align:left!important;font-size:19px!important;margin:0 0 2px!important;align-self:end}
  .ct-country-meta,.ct-country-count-1 .ct-country-meta{grid-area:meta;text-align:left!important;font-size:14px!important;margin:0!important}
  .ct-country-time,.ct-country-count-1 .ct-country-time{grid-area:time;text-align:left!important;font-size:14px!important;margin:2px 0 0!important;line-height:1.18}
  .cleantime-screen-back{top:10px!important;left:10px!important;width:42px;height:42px}
  .ct-page-indicator{right:9px!important;bottom:8px!important}
}
@media(max-width:430px){
  .ct-slide{inset:52px 8px 42px}
  .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{grid-template-columns:58px minmax(0,1fr);column-gap:10px;min-height:92px!important;padding:9px 10px!important}
  .ct-country-flag,.ct-country-count-1 .ct-country-flag,.ct-country-count-2 .ct-country-flag{width:58px!important}
  .ct-country-name,.ct-country-count-1 .ct-country-name{font-size:17px!important}
  .ct-country-meta,.ct-country-time,.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{font-size:12.5px!important}
  .cleantime-screen-updated{width:calc(100% - 112px)!important;left:50%;font-size:9px!important}
}


/* Clean Time v2.10.7 – slutlig storbilds- och mobilanpassning */
body.cleantime-screen{overflow:hidden!important}
.cleantime-screen-content{padding:0!important}
.ct-slide{inset:0!important;padding:clamp(68px,9vh,92px) clamp(14px,3vw,46px) clamp(62px,8vh,82px);box-sizing:border-box;display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.985);transition:opacity .5s ease,transform .5s ease,visibility 0s linear .5s}
.ct-slide.active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);transition-delay:0s}
#totalSlide{justify-content:center!important;align-items:center;transform-origin:center center}
#totalSlide>*{flex:0 0 auto}
.cleantime-screen-back{top:max(12px,env(safe-area-inset-top))!important;left:max(12px,env(safe-area-inset-left))!important;width:46px!important;height:46px!important;border-radius:50%!important;background:rgba(10,14,18,.84)!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:0 7px 24px rgba(0,0,0,.5)!important}
.cleantime-screen-back .ct-back-arrow{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cleantime-screen-lang{display:flex!important;gap:7px!important}
.cleantime-screen-lang a{width:42px;height:32px;padding:3px!important;display:grid;place-items:center;border-radius:8px!important;background:rgba(9,13,17,.72)!important;border:1px solid rgba(255,255,255,.25)}
.cleantime-screen-lang a.active{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18);background:rgba(255,255,255,.15)!important}
.cleantime-screen-lang img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
.ct-page-indicator{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;z-index:120!important;white-space:nowrap}
.cleantime-screen-updated{bottom:max(14px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 220px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#countrySlide{justify-content:center!important}
.ct-country-grid{max-height:calc(100dvh - 170px);overflow:hidden}
@media(max-width:700px){
 .ct-slide{padding:62px 8px 52px!important}
 #totalSlide{justify-content:center!important;padding-top:70px!important;padding-bottom:66px!important}
 .cleantime-screen-brand{font-size:11px!important;line-height:1.2;margin-bottom:10px!important}
 .cleantime-screen-top,.cleantime-screen-bottom{font-size:clamp(21px,7vw,31px)!important}
 .cleantime-day-counter{gap:2px!important;width:100%;justify-content:center}
 .cleantime-digit-card{width:clamp(28px,12vw,52px)!important;height:clamp(44px,17vw,76px)!important}
 .cleantime-digit{font-size:clamp(27px,12vw,52px)!important}
 .cleantime-screen-pills{margin-top:12px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px!important}
 .cleantime-screen-pill{min-width:0;padding:8px 5px!important;font-size:clamp(11px,3vw,14px)!important;white-space:normal}
 #countrySlide{justify-content:flex-start!important;padding-top:58px!important}
 .ct-country-heading{font-size:12px!important;margin:0 0 7px!important}
 .ct-country-grid,.ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;align-content:start!important;max-height:calc(100dvh - 132px)!important}
 .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-areas:'flag name' 'flag meta' 'flag time'!important;column-gap:7px!important;min-height:76px!important;height:auto!important;padding:7px!important;border-radius:11px!important;overflow:hidden}
 .ct-country-flag,.ct-country-count-1 .ct-country-flag,.ct-country-count-2 .ct-country-flag{grid-area:flag!important;width:42px!important;height:32px!important;margin:0!important;align-self:center!important}
 .ct-country-name,.ct-country-count-1 .ct-country-name{font-size:13px!important;line-height:1.08!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left!important}
 .ct-country-meta,.ct-country-time,.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{font-size:10.5px!important;line-height:1.12!important;margin:0!important;text-align:left!important;white-space:normal;overflow-wrap:anywhere}
 .cleantime-screen-back{width:44px!important;height:44px!important;top:max(8px,env(safe-area-inset-top))!important;left:max(8px,env(safe-area-inset-left))!important}
 .cleantime-screen-lang{top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important}
 .cleantime-screen-lang a{width:36px;height:28px}
 .cleantime-screen-updated{left:8px!important;transform:none!important;bottom:max(10px,env(safe-area-inset-bottom))!important;max-width:calc(100vw - 118px)!important;text-align:left!important;font-size:8.5px!important}
 .ct-page-indicator{right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;font-size:10px!important;padding:5px 7px!important}
}
@media(max-width:390px){
 .ct-country-grid,.ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{gap:5px!important}
 .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{grid-template-columns:36px minmax(0,1fr)!important;column-gap:6px!important;min-height:68px!important;padding:6px!important}
 .ct-country-flag,.ct-country-count-1 .ct-country-flag,.ct-country-count-2 .ct-country-flag{width:36px!important;height:27px!important}
 .ct-country-name,.ct-country-count-1 .ct-country-name{font-size:12px!important}
 .ct-country-meta,.ct-country-time,.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{font-size:9.5px!important}
}

/* Clean Time v2.10.8 – större och korrekt proportionerade formulär */
.cleantime-form-card{
  max-width:1040px!important;
  padding:clamp(34px,5vw,58px)!important;
}
.cleantime-form-heading{
  max-width:860px!important;
  margin-bottom:34px!important;
}
.cleantime-form{
  grid-template-columns:1fr!important;
  gap:22px!important;
  max-width:820px;
}
.cleantime-form .cleantime-field,
.cleantime-form .cleantime-field-wide,
.cleantime-form .cleantime-field-full{
  grid-column:1/-1!important;
  width:100%!important;
}
.cleantime-form .cleantime-field label{
  font-size:1.08rem!important;
  line-height:1.3;
  margin-bottom:2px;
}
.cleantime-form .cleantime-field input,
.cleantime-form .cleantime-field select{
  width:100%!important;
  height:68px!important;
  min-height:68px!important;
  padding:17px 20px!important;
  border-radius:14px!important;
  font-size:1.08rem!important;
  line-height:1.2!important;
}
.cleantime-form .cleantime-field select{
  padding-right:52px!important;
}
.cleantime-form .cleantime-field textarea{
  width:100%!important;
  min-height:140px!important;
  padding:17px 20px!important;
  border-radius:14px!important;
  font-size:1.05rem!important;
}
.cleantime-form .cleantime-field small{
  min-height:0!important;
  font-size:.94rem!important;
  line-height:1.4!important;
}
.cleantime-form .cleantime-submit,
.cleantime-admin-form .cleantime-form-actions{
  width:100%!important;
}
.cleantime-form .cleantime-submit{
  min-height:62px!important;
  justify-self:stretch!important;
  justify-content:center!important;
  font-size:1.05rem!important;
  border-radius:14px!important;
}
@media(min-width:900px){
  .cleantime-form-card .cleantime-form{margin-right:auto}
}
@media(max-width:720px){
  .cleantime-form-card{
    margin:18px 10px!important;
    padding:26px 18px 30px!important;
    border-radius:18px!important;
  }
  .cleantime-form-heading{margin-bottom:26px!important}
  .cleantime-form-heading h1{font-size:clamp(2rem,10vw,3rem)!important;line-height:1.08!important}
  .cleantime-form-heading p{font-size:1rem!important;line-height:1.55!important}
  .cleantime-form{gap:18px!important;max-width:none!important}
  .cleantime-form .cleantime-field input,
  .cleantime-form .cleantime-field select{
    height:64px!important;
    min-height:64px!important;
    padding:15px 16px!important;
    font-size:1rem!important;
  }
  .cleantime-form .cleantime-submit{min-height:60px!important}
}


/* v2.10.9 – stabil meny, adminformulär och Clean Time-total */
@media (min-width:1321px){
  .site-header-public .header-primary-row{gap:18px!important;flex-wrap:nowrap!important}
  .site-header-public .brand{flex:0 1 350px!important;min-width:250px!important}
  .site-header-public .brand-logo-public{max-width:100%!important;height:auto!important}
  .site-header-public .main-nav.desktop-nav{display:flex!important;flex-wrap:nowrap!important;gap:2px!important;justify-content:center!important;min-width:0!important}
  .site-header-public .main-nav.desktop-nav .nav-link{font-size:clamp(.82rem,.88vw,1rem)!important;padding:10px 8px!important;line-height:1.08!important;white-space:nowrap!important;text-align:center!important}
  .site-header-public .main-nav.desktop-nav .nav-link-shop{white-space:normal!important;min-width:128px!important}
  .site-header-public .header-actions{flex:0 0 auto!important}
}
@media (max-width:1320px){
  .site-header-public .header-primary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .site-header-public .brand{min-width:0!important;max-width:360px!important}
  .site-header-public .mobile-nav{grid-column:1/-1!important;margin-top:10px!important}
}

.cleantime-admin-editor-card{max-width:1100px!important}
.cleantime-admin-search-form{display:grid!important;grid-template-columns:minmax(280px,680px) auto!important;gap:16px!important;align-items:end!important;margin-top:22px!important}
.cleantime-admin-search-form .cleantime-field{gap:8px!important}
.cleantime-admin-search-form input{width:100%!important;min-height:60px!important;padding:15px 18px!important;border-radius:12px!important;font-size:1.05rem!important}
.cleantime-admin-search-form .btn{min-height:60px!important;padding-inline:25px!important}
.cleantime-admin-edit-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin-top:24px!important;align-items:start!important}
.cleantime-admin-edit-form .cleantime-field{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important}
.cleantime-admin-edit-form .cleantime-field>span{font-weight:700!important}
.cleantime-admin-edit-form input,.cleantime-admin-edit-form select{width:100%!important;min-height:60px!important;padding:15px 17px!important;border-radius:12px!important;font-size:1.05rem!important;box-sizing:border-box!important}
.cleantime-admin-edit-form textarea{width:100%!important;min-height:130px!important;padding:15px 17px!important;border-radius:12px!important;font-size:1rem!important;box-sizing:border-box!important}
.cleantime-admin-edit-form small{color:var(--muted)!important}
.cleantime-admin-edit-form .cleantime-field-full{grid-column:1/-1!important}
@media(max-width:720px){
 .cleantime-admin-search-form,.cleantime-admin-edit-form{grid-template-columns:1fr!important}
 .cleantime-admin-search-form .btn{width:100%!important}
 .cleantime-admin-edit-form .cleantime-field-full{grid-column:auto!important}
}

body.cleantime-screen{overflow:hidden!important;height:100dvh!important;min-height:100dvh!important}
.cleantime-screen-content{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
.ct-slide{transition:opacity .55s ease!important;transform:none!important}
.ct-slide.active{transform:none!important}
#totalSlide{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding-top:72px!important;padding-bottom:74px!important}
.ct-page-indicator{position:fixed!important;right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;z-index:999!important;display:block!important;opacity:1!important;visibility:visible!important}
.ct-country-card{align-items:center!important;justify-content:center!important;text-align:center!important}
.ct-country-name,.ct-country-meta,.ct-country-time{text-align:center!important;width:100%!important}
@media(max-width:700px){
 #countrySlide{padding:58px 10px 54px!important;justify-content:flex-start!important}
 .ct-country-grid,.ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;gap:8px!important;width:100%!important;height:calc(100dvh - 132px)!important;max-height:none!important;align-content:stretch!important}
 .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{display:grid!important;grid-template-columns:66px minmax(0,1fr)!important;grid-template-areas:'flag name' 'flag meta' 'flag time'!important;grid-template-rows:auto auto auto!important;column-gap:13px!important;min-height:0!important;height:100%!important;padding:10px 14px!important;border-radius:15px!important;overflow:hidden!important;text-align:left!important;align-items:center!important}
 .ct-country-flag,.ct-country-count-1 .ct-country-flag,.ct-country-count-2 .ct-country-flag{grid-area:flag!important;width:62px!important;height:46px!important;margin:0!important;align-self:center!important}
 .ct-country-name,.ct-country-meta,.ct-country-time,.ct-country-count-1 .ct-country-name,.ct-country-count-1 .ct-country-meta,.ct-country-count-1 .ct-country-time{text-align:left!important;width:auto!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .ct-country-name{font-size:clamp(16px,4.7vw,20px)!important;line-height:1.08!important}
 .ct-country-meta{font-size:clamp(12px,3.5vw,15px)!important;line-height:1.1!important}
 .ct-country-time{font-size:clamp(12px,3.5vw,15px)!important;line-height:1.1!important}
 .ct-page-indicator{right:10px!important;bottom:10px!important;font-size:11px!important;padding:6px 9px!important}
 .cleantime-screen-updated{left:10px!important;bottom:12px!important;max-width:calc(100vw - 120px)!important}
}


/* v2.10.10 – sammanhållen meny, mobilformulär och mjuka Clean Time-övergångar */
.site-header-public .nav-link-shop{line-height:1.05!important;white-space:normal!important}
.site-header-public .nav-shop-break{display:block}
@media (min-width:1181px){
  .site-header-public .site-header-shell{width:min(100% - 24px,1780px)!important}
  .site-header-public .header-primary-row{gap:10px!important;min-height:112px!important}
  .site-header-public .brand-logo-frame{width:330px!important;height:98px!important}
  .site-header-public .main-nav.desktop-nav{display:flex!important;gap:1px!important;flex:1 1 auto!important;min-width:0!important}
  .site-header-public .main-nav.desktop-nav .nav-link{padding:10px 9px!important;font-size:clamp(.82rem,.92vw,1.02rem)!important;line-height:1.08!important}
  .site-header-public .main-nav.desktop-nav .nav-link-shop{min-width:112px!important}
  .site-header-public .header-actions{margin-left:4px!important}
}
@media (min-width:1181px) and (max-width:1500px){
  .site-header-public .brand-logo-frame{width:255px!important;height:88px!important}
  .site-header-public .main-nav.desktop-nav .nav-link{padding-inline:6px!important;font-size:.84rem!important}
  .site-header-public .main-nav.desktop-nav .nav-link-shop{min-width:100px!important}
  .site-header-public .language-flag{width:42px!important;height:34px!important}
}
@media (max-width:1180px){
  .site-header-public .desktop-nav{display:none!important}
  .site-header-public .mobile-nav{display:block!important;width:100%!important}
}

.cleantime-admin-search-form .cleantime-field,
.cleantime-admin-edit-form .cleantime-field{min-width:0!important}
.cleantime-admin-search-form input,
.cleantime-admin-edit-form input,
.cleantime-admin-edit-form select,
.cleantime-admin-edit-form textarea{appearance:none;-webkit-appearance:none}
@media(max-width:720px){
  .cleantime-admin-editor-card{padding:22px 16px!important;border-radius:18px!important}
  .cleantime-admin-search-form,.cleantime-admin-edit-form{display:flex!important;flex-direction:column!important;gap:18px!important;margin-top:18px!important}
  .cleantime-admin-search-form .cleantime-field,
  .cleantime-admin-edit-form .cleantime-field,
  .cleantime-admin-edit-form .cleantime-field-full{width:100%!important;grid-column:auto!important}
  .cleantime-admin-search-form input,
  .cleantime-admin-edit-form input,
  .cleantime-admin-edit-form select{height:58px!important;min-height:58px!important;padding:14px 15px!important;font-size:16px!important;border-radius:12px!important}
  .cleantime-admin-edit-form textarea{min-height:110px!important;padding:14px 15px!important;font-size:16px!important;border-radius:12px!important}
  .cleantime-admin-search-form .btn,
  .cleantime-admin-edit-form .btn{width:100%!important;min-height:56px!important}
  .cleantime-admin-edit-form small{font-size:.88rem!important;line-height:1.4!important}
}

.ct-slide{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important;transition:opacity .48s ease!important;will-change:opacity}
.ct-slide.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.ct-slide.is-leaving{opacity:0!important}
.ct-slide.is-entering{opacity:0!important}
#totalSlide{display:flex!important;align-items:center!important;justify-content:center!important;padding:64px 20px 72px!important}
#countrySlide{display:flex!important;align-items:center!important;justify-content:center!important;padding:64px 20px 72px!important}
.ct-country-grid{align-items:stretch!important}
.ct-country-card{height:100%!important;box-sizing:border-box!important}
@media(max-width:700px){
  #countrySlide{padding:58px 10px 52px!important}
  .ct-country-grid,.ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{height:auto!important;max-height:calc(100dvh - 128px)!important;grid-template-rows:none!important;align-content:center!important}
  .ct-country-card,.ct-country-count-1 .ct-country-card,.ct-country-count-2 .ct-country-card{min-height:74px!important;height:auto!important;padding:10px 12px!important}
}

/* v2.10.12 – meny, reglage och landskort */
.site-header-public .nav-link-shop{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.04!important;
  white-space:normal!important;
}
.site-header-public .nav-shop-break{display:block!important}

/* Clean Time av/på i admin */
.cleantime-toggle-row form{flex:0 0 auto}
.cleantime-toggle-row .switch-control{
  display:grid!important;
  grid-template-columns:auto auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:52px!important;
  padding:7px 12px!important;
  border:1px solid rgba(57,42,32,.18)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
}
.cleantime-toggle-row .switch-control strong{
  min-width:28px!important;
  text-align:center!important;
}
@media(max-width:760px){
  .cleantime-toggle-row{gap:16px!important}
  .cleantime-toggle-row form{width:100%!important}
  .cleantime-toggle-row .switch-control{
    width:100%!important;
    box-sizing:border-box!important;
    grid-template-columns:1fr auto!important;
    justify-content:space-between!important;
    min-height:58px!important;
    padding:9px 14px!important;
  }
  .cleantime-toggle-row .switch-control:before{
    content:'Publik registrering';
    font-weight:700;
    color:var(--text,#302720);
  }
  .cleantime-toggle-row .switch-control .switch-slider{grid-column:2}
  .cleantime-toggle-row .switch-control strong{grid-column:2;font-size:.86rem}
}

/* Landskort: flaggor och innehåll utgår från samma topplinje */
@media(min-width:701px){
  .ct-country-grid{
    align-items:stretch!important;
    align-content:center!important;
  }
  .ct-country-card{
    justify-content:flex-start!important;
    align-items:center!important;
    padding-top:clamp(20px,2.6vh,34px)!important;
    padding-bottom:clamp(18px,2.4vh,30px)!important;
  }
  .ct-country-flag{
    flex:0 0 auto!important;
    width:clamp(76px,7.2vw,112px)!important;
    height:clamp(54px,5.2vw,80px)!important;
    margin:0 0 clamp(12px,1.8vh,20px)!important;
    display:grid!important;
    place-items:center!important;
  }
  .ct-country-flag img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }
  .ct-country-name{margin-top:0!important}
}

/* Mindre desktop/surfplatta: mer luft och jämnare kort */
@media(min-width:701px) and (max-width:1280px){
  #countrySlide{padding-inline:14px!important}
  .ct-country-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    width:min(100%,1040px)!important;
  }
  .ct-country-card{
    min-height:clamp(190px,27vh,250px)!important;
    padding-inline:14px!important;
  }
  .ct-country-name{font-size:clamp(22px,2.3vw,30px)!important}
  .ct-country-meta{font-size:clamp(16px,1.65vw,21px)!important}
  .ct-country-time{font-size:clamp(17px,1.75vw,23px)!important;line-height:1.22!important}
}
@media(min-width:701px) and (max-width:920px){
  .ct-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Telefon: fem tydliga rader, inga element får gå utanför */
@media(max-width:700px){
  #countrySlide{padding:56px 10px 50px!important}
  .ct-country-grid,
  .ct-country-count-1,.ct-country-count-2,.ct-country-count-3,.ct-country-count-4{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    height:calc(100dvh - 118px)!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .ct-country-card,
  .ct-country-count-1 .ct-country-card,
  .ct-country-count-2 .ct-country-card{
    display:grid!important;
    grid-template-columns:60px minmax(0,1fr)!important;
    grid-template-areas:'flag name' 'flag meta' 'flag time'!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    padding:8px 12px!important;
    overflow:hidden!important;
    text-align:left!important;
    align-items:center!important;
    justify-content:stretch!important;
  }
  .ct-country-flag,
  .ct-country-count-1 .ct-country-flag,
  .ct-country-count-2 .ct-country-flag{
    grid-area:flag!important;
    width:58px!important;
    height:42px!important;
    margin:0!important;
    align-self:start!important;
    margin-top:2px!important;
  }
  .ct-country-flag img{width:100%!important;height:100%!important;object-fit:cover!important}
  .ct-country-name,.ct-country-meta,.ct-country-time{
    min-width:0!important;
    max-width:100%!important;
    width:auto!important;
    text-align:left!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ct-country-name{font-size:clamp(16px,4.8vw,20px)!important;line-height:1.05!important;white-space:nowrap!important}
  .ct-country-meta{font-size:clamp(12px,3.5vw,15px)!important;line-height:1.05!important;white-space:nowrap!important}
  .ct-country-time{font-size:clamp(12px,3.55vw,15px)!important;line-height:1.12!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
}

/* v2.10.13 – responsive header, admin status/footer and Clean Time country view */
@media (min-width:1181px){
  .site-header-public .header-primary-row{
    grid-template-columns:minmax(300px,390px) minmax(0,1fr) auto!important;
    column-gap:10px!important;
  }
  .site-header-public .main-nav.desktop-nav{
    justify-content:flex-end!important;
    gap:2px!important;
  }
  .site-header-public .header-actions{
    width:auto!important;min-width:0!important;transform:none!important;
  }
}
@media (min-width:1181px) and (max-width:1550px){
  .site-header-public .header-primary-row{grid-template-columns:minmax(235px,285px) minmax(0,1fr) auto!important;gap:5px!important}
  .site-header-public .main-nav.desktop-nav .nav-link{font-size:.82rem!important;padding:9px 5px!important}
}

@media (max-width:1180px){
  .system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .system-status-card{min-height:92px!important;padding:14px!important;align-items:flex-start!important}
  .system-status-card strong{font-size:.95rem!important;line-height:1.2!important}
  .system-status-card span:not(.system-status-dot){font-size:.8rem!important;line-height:1.35!important}
  body.admin-page .site-footer.footer-public{position:relative!important;z-index:3!important;margin-left:0!important;width:100%!important;clear:both!important}
  body.admin-page .footer-grid-links-only{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(100% - 32px,980px)!important;gap:20px!important;padding-left:0!important}
}
@media (max-width:760px){
  .system-status-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .system-status-card{min-height:78px!important;padding:11px 10px!important;gap:9px!important}
  .system-status-dot{width:10px!important;height:10px!important;flex-basis:10px!important}
  body.admin-page .footer-grid-links-only{grid-template-columns:1fr!important;text-align:center!important;width:min(100% - 28px,520px)!important}
  body.admin-page .footer-links{justify-items:center!important}
}
@media (max-width:430px){.system-status-grid{grid-template-columns:1fr!important}}

/* Country cards: all content stays inside and aligns from the top. */
.ct-country-card{
  display:grid!important;
  grid-template-rows:auto auto auto minmax(2.4em,auto)!important;
  align-content:start!important;
  justify-items:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.ct-country-flag{align-self:start!important;margin-top:0!important}
.ct-country-name,.ct-country-meta,.ct-country-time{width:100%!important;box-sizing:border-box!important}
.ct-country-time{margin-top:auto!important;align-self:end!important;line-height:1.25!important;overflow-wrap:anywhere!important}

@media (min-width:701px) and (max-width:1450px){
  .ct-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;gap:14px!important;max-width:1240px!important;height:min(68vh,570px)!important}
  .ct-country-card{min-height:0!important;padding:12px 14px!important}
  .ct-country-flag{height:82px!important;margin-bottom:8px!important}
  .ct-country-flag img{max-height:82px!important;max-width:122px!important}
  .ct-country-name{font-size:clamp(1.25rem,2.4vw,2rem)!important;line-height:1.1!important;margin:0 0 6px!important}
  .ct-country-meta{font-size:clamp(1rem,1.7vw,1.35rem)!important;margin:0 0 7px!important}
  .ct-country-time{font-size:clamp(1rem,1.7vw,1.35rem)!important}
}
@media (max-width:700px){
  .cleantime-screen-content{padding:58px 10px 52px!important}
  .ct-country-heading{font-size:clamp(1.35rem,7vw,2rem)!important;margin-bottom:10px!important}
  .ct-country-grid{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;gap:7px!important;width:100%!important;height:calc(100dvh - 155px)!important;max-height:none!important;padding:0!important}
  .ct-country-card{grid-template-columns:64px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:2px!important;align-items:center!important;justify-items:start!important;text-align:left!important;padding:8px 12px!important;border-radius:15px!important;min-width:0!important;min-height:0!important}
  .ct-country-flag{grid-row:1/3!important;grid-column:1!important;width:64px!important;height:44px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .ct-country-flag img{max-width:64px!important;max-height:44px!important}
  .ct-country-name{grid-column:2!important;grid-row:1!important;font-size:1.08rem!important;line-height:1.1!important;margin:0!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ct-country-meta{grid-column:2!important;grid-row:2!important;font-size:.82rem!important;line-height:1.15!important;margin:0!important;text-align:left!important}
  .ct-country-time{grid-column:2!important;grid-row:3!important;font-size:.82rem!important;line-height:1.15!important;margin:0!important;text-align:left!important;align-self:start!important}
  .ct-page-indicator{right:10px!important;bottom:9px!important;font-size:.78rem!important;padding:5px 9px!important;max-width:calc(100vw - 20px)!important}
}
/* v2.10.14 – robust responsive header, system status and admin footer */
.system-status-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:14px!important;
}
.system-status-card{
  min-height:118px!important;
  padding:18px 20px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.system-status-card strong{font-size:1.08rem!important;line-height:1.2!important;overflow-wrap:anywhere}
.system-status-card span:not(.system-status-dot){font-size:.92rem!important;line-height:1.35!important;overflow-wrap:anywhere}
.system-table-summary{margin:-6px 0 15px!important;color:#5d5149!important}
.system-security-note{
  width:min(100%,960px)!important;
  box-sizing:border-box!important;
  margin:8px auto 28px!important;
  padding:14px 18px!important;
  border:1px solid rgba(216,117,38,.25)!important;
  border-radius:14px!important;
  background:rgba(255,250,245,.94)!important;
  color:#4c4038!important;
  font-size:.92rem!important;
  line-height:1.5!important;
  text-align:left!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}

@media (min-width:1361px){
  .site-header-public .site-header-shell{width:min(100% - 32px,1840px)!important}
  .site-header-public .header-primary-row{
    display:grid!important;
    grid-template-columns:clamp(245px,21vw,390px) minmax(0,1fr) auto!important;
    gap:clamp(8px,1vw,18px)!important;
    align-items:center!important;
  }
  .site-header-public .brand{min-width:0!important;max-width:none!important;padding:0!important}
  .site-header-public .brand-logo-frame{width:100%!important;max-width:390px!important;height:104px!important}
  .site-header-public .main-nav.desktop-nav{
    display:flex!important;min-width:0!important;justify-content:center!important;
    gap:clamp(0px,.25vw,5px)!important;flex-wrap:nowrap!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link{
    min-width:0!important;padding:9px clamp(4px,.48vw,10px)!important;
    font-size:clamp(.78rem,.82vw,1rem)!important;line-height:1.08!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link-shop{min-width:96px!important}
  .site-header-public .header-actions{margin:0!important;transform:none!important}
}
@media (max-width:1360px){
  .site-header-public .desktop-nav{display:none!important}
  .site-header-public .mobile-nav{display:block!important;grid-column:1/-1!important;width:100%!important;margin-top:8px!important}
  .site-header-public .header-primary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .site-header-public .brand{min-width:0!important;max-width:390px!important;padding:0!important}
  .site-header-public .header-actions{margin:0!important;transform:none!important}
}

@media (min-width:981px){
  body.admin-page .site-footer.footer-public{width:100%!important;margin-left:0!important}
  body.admin-page .footer-public .footer-grid-links-only{
    width:100%!important;max-width:1540px!important;box-sizing:border-box!important;
    padding-left:278px!important;padding-right:24px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:980px){
  body.admin-page .footer-public .footer-grid-links-only{
    width:min(100% - 28px,760px)!important;padding-left:0!important;padding-right:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  .system-status-grid{grid-template-columns:1fr!important;gap:10px!important}
  .system-status-card{min-height:86px!important;padding:14px 16px!important}
  .system-security-note{font-size:.86rem!important;padding:12px 14px!important}
  body.admin-page .footer-public .footer-grid-links-only{grid-template-columns:1fr!important;text-align:center!important}
}

/* v2.10.15 – slutlig responsiv struktur för publik header och admin */

/* Desktop: en enda rad, mindre logotyp och första menyvalet direkt efter logotypen. */
@media (min-width:1240px){
  .site-header-public .site-header-shell{
    width:min(calc(100% - 24px),1900px)!important;
    margin-inline:auto!important;
  }
  .site-header-public .header-primary-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:104px!important;
    padding:6px 0!important;
    gap:8px!important;
  }
  .site-header-public .brand{
    flex:0 0 270px!important;
    width:270px!important;
    min-width:270px!important;
    max-width:270px!important;
    margin:0!important;
    padding:0!important;
    justify-self:auto!important;
  }
  .site-header-public .brand-logo-frame{
    width:270px!important;
    max-width:270px!important;
    height:86px!important;
    margin:0!important;
  }
  .site-header-public .desktop-nav{
    display:flex!important;
    visibility:visible!important;
  }
  .site-header-public .mobile-nav{
    display:none!important;
    visibility:hidden!important;
  }
  .site-header-public .main-nav.desktop-nav{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    justify-content:flex-start!important;
    justify-self:auto!important;
    gap:0!important;
    white-space:nowrap!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:9px 7px!important;
    font-size:clamp(.79rem,.78vw,.98rem)!important;
    line-height:1.08!important;
    white-space:nowrap!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link-shop{
    display:inline-flex!important;
    flex-direction:column!important;
    min-width:98px!important;
    white-space:normal!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-shop-break{
    display:block!important;
  }
  .site-header-public .header-actions{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0 0 0 auto!important;
    padding-left:4px!important;
    transform:none!important;
    justify-self:auto!important;
  }
}

/* Kompakt laptopdesktop utan att förstora logotypen eller slå på mobilmenyn för tidigt. */
@media (min-width:1240px) and (max-width:1510px){
  .site-header-public .site-header-shell{width:calc(100% - 16px)!important}
  .site-header-public .header-primary-row{gap:4px!important}
  .site-header-public .brand,
  .site-header-public .brand-logo-frame{
    flex-basis:228px!important;
    width:228px!important;
    min-width:228px!important;
    max-width:228px!important;
  }
  .site-header-public .brand-logo-frame{height:80px!important}
  .site-header-public .main-nav.desktop-nav .nav-link{
    padding:8px 5px!important;
    font-size:.78rem!important;
  }
  .site-header-public .main-nav.desktop-nav .nav-link-shop{min-width:90px!important}
  .site-header-public .language-switch{gap:4px!important;padding:4px!important}
  .site-header-public .language-flag{width:39px!important;height:32px!important}
}

/* Mobil/smal laptop: aldrig dubbel meny. */
@media (max-width:1239px){
  .site-header-public .desktop-nav{
    display:none!important;
    visibility:hidden!important;
  }
  .site-header-public .mobile-nav{
    display:block!important;
    visibility:visible!important;
    grid-column:1/-1!important;
    order:3!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .site-header-public .site-header-shell{
    width:min(calc(100% - 24px),1180px)!important;
  }
  .site-header-public .header-primary-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:auto!important;
    padding:7px 0!important;
    gap:8px 12px!important;
  }
  .site-header-public .brand{
    width:250px!important;
    min-width:0!important;
    max-width:250px!important;
    margin:0!important;
    padding:0!important;
    justify-self:start!important;
  }
  .site-header-public .brand-logo-frame{
    width:250px!important;
    max-width:100%!important;
    height:82px!important;
    margin:0!important;
  }
  .site-header-public .header-actions{
    width:auto!important;
    margin:0!important;
    justify-self:end!important;
    transform:none!important;
  }
  .site-header-public .mobile-nav summary{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 15px!important;
    border-radius:13px!important;
    line-height:1.15!important;
  }
  .site-header-public .mobile-nav nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    padding:9px 0 2px!important;
    overflow:visible!important;
  }
  .site-header-public .mobile-nav .nav-link{
    min-height:44px!important;
    padding:9px 10px!important;
    white-space:normal!important;
  }
}

@media (max-width:620px){
  .site-header-public .site-header-shell{width:calc(100% - 18px)!important}
  .site-header-public .brand{width:210px!important;max-width:210px!important}
  .site-header-public .brand-logo-frame{width:210px!important;height:72px!important}
  .site-header-public .language-flag{width:40px!important;height:33px!important}
  .site-header-public .mobile-nav nav{grid-template-columns:1fr!important}
}

/* Admin: fast sidomeny endast när arbetsytan faktiskt rymmer den. */
@media (min-width:1240px){
  body.admin-page main.wrap{
    width:min(calc(100% - 36px),1540px)!important;
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr)!important;
    gap:24px 28px!important;
    align-items:start!important;
  }
  body.admin-page main.wrap>.admin-toolbar{
    display:block!important;
    position:fixed!important;
    top:122px!important;
    left:max(18px,calc((100vw - 1540px)/2))!important;
    width:250px!important;
    max-height:calc(100dvh - 142px)!important;
    overflow-y:auto!important;
  }
  body.admin-page main.wrap>:not(.admin-toolbar){grid-column:2!important;min-width:0!important}
  .admin-toolbar-brand,.admin-toolbar-section-label,.admin-toolbar-links-desktop{display:flex}
  .admin-toolbar-section-label{display:block}
  .admin-toolbar-mobile{display:none!important}
}

@media (max-width:1239px){
  body.admin-page main.wrap{
    width:min(calc(100% - 24px),1180px)!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    padding-top:14px!important;
  }
  body.admin-page main.wrap>*{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    grid-column:auto!important;
  }
  body.admin-page main.wrap>.admin-toolbar{
    order:-10!important;
    position:static!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:10px!important;
    border-radius:15px!important;
  }
  .admin-toolbar-brand,.admin-toolbar-section-label,.admin-toolbar-links-desktop{display:none!important}
  .admin-toolbar-mobile{display:block!important}
  .admin-toolbar-links-mobile{display:flex!important;flex-direction:column!important}
}

/* Systemstatus: balanserade rader, aldrig en ensam liten ruta efter sex kort. */
.system-status-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.system-status-card{
  display:grid!important;
  grid-template-columns:14px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  min-height:108px!important;
  padding:17px 18px!important;
  box-sizing:border-box!important;
}
.system-status-card>div{min-width:0!important}
.system-status-card strong,
.system-status-card span:not(.system-status-dot){display:block!important;overflow-wrap:anywhere!important}
@media (max-width:1599px){.system-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:980px){.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){.system-status-grid{grid-template-columns:1fr!important}.system-status-card{min-height:82px!important}}

/* Tidigare registreringar: tydlig separation mellan etikett och räknare. */
.previous-registration-summary-item,
.previous-registration-summary>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
}
.previous-registration-summary-item span,
.previous-registration-summary>div>span{display:block!important;line-height:1.25!important}
.previous-registration-summary-item strong,
.previous-registration-summary>div>strong{display:block!important;font-size:1.45rem!important;line-height:1!important}

/* Testdata: informationsraden ska vara läsbar mot bakgrunden. */
.test-data-backfill-note{
  display:block!important;
  width:min(100%,980px)!important;
  box-sizing:border-box!important;
  margin:18px auto 28px!important;
  padding:15px 18px!important;
  border:1px solid rgba(216,117,38,.32)!important;
  border-radius:14px!important;
  background:rgba(255,250,245,.96)!important;
  color:#443a33!important;
  font-size:.94rem!important;
  line-height:1.55!important;
  text-align:left!important;
  box-shadow:0 10px 26px rgba(0,0,0,.14)!important;
}

/* Adminfooter följer innehållskolumnen när sidomenyn är fast. */
@media (min-width:1240px){
  body.admin-page .site-footer.footer-public{width:100%!important;margin:0!important}
  body.admin-page .footer-public .footer-grid-links-only{
    width:calc(100% - max(296px,calc((100vw - 1540px)/2 + 278px)) - 24px)!important;
    max-width:1260px!important;
    margin-left:max(296px,calc((100vw - 1540px)/2 + 278px))!important;
    margin-right:24px!important;
    padding:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:1239px){
  body.admin-page .site-footer.footer-public{width:100%!important;margin:0!important}
  body.admin-page .footer-public .footer-grid-links-only{
    width:min(calc(100% - 28px),900px)!important;
    margin-inline:auto!important;
    padding:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  body.admin-page .footer-public .footer-grid-links-only{grid-template-columns:1fr!important;text-align:center!important}
}

/* v2.10.15b – högre specificitet än äldre menyregler */
@media (min-width:1240px){
  .site-header.site-header-public{position:sticky!important;top:0!important;height:auto!important;min-height:0!important}
  .site-header-public .main-nav.desktop-nav{display:flex!important;visibility:visible!important}
  .site-header-public details.mobile-nav{display:none!important;visibility:hidden!important}
}
@media (max-width:1239px){
  .site-header.site-header-public{position:static!important;top:auto!important;height:auto!important;min-height:0!important}
  .site-header-public .header-primary-row{height:auto!important;min-height:0!important;max-height:none!important}
  .site-header-public .main-nav.desktop-nav{display:none!important;visibility:hidden!important}
  .site-header-public details.mobile-nav{display:block!important;visibility:visible!important}
}

/* v2.10.15c – ta bort gamla reserverade headerutrymmen */
body{padding-top:0!important}
@media (min-width:1240px){
  .site-header-public .header-primary-row{height:auto!important;min-height:96px!important;max-height:none!important}
  .site-header-public .brand{height:auto!important;min-height:0!important}
}
@media (max-width:1239px){
  html,body{scroll-padding-top:0!important}
  .site-header-public .brand{height:auto!important;min-height:0!important}
}

/* v2.10.15d – balanserad systemstatus på riktig desktopbredd */
@media (min-width:1240px){.system-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:900px) and (max-width:1239px){.system-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (min-width:561px) and (max-width:899px){.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v2.10.16 – Clean Time-landskort: flagga överst, text centrerad under */
@media (min-width:701px){
  #countrySlide .ct-country-grid{
    align-items:stretch!important;
  }
  #countrySlide .ct-country-card,
  #countrySlide .ct-country-count-1 .ct-country-card,
  #countrySlide .ct-country-count-2 .ct-country-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      'flag'
      'name'
      'meta'
      'time'!important;
    grid-template-rows:auto auto auto auto!important;
    align-content:start!important;
    align-items:start!important;
    justify-items:center!important;
    text-align:center!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:clamp(16px,2vw,26px)!important;
  }
  #countrySlide .ct-country-flag,
  #countrySlide .ct-country-count-1 .ct-country-flag,
  #countrySlide .ct-country-count-2 .ct-country-flag{
    grid-area:flag!important;
    align-self:start!important;
    justify-self:center!important;
    width:clamp(76px,7vw,112px)!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    margin:0 0 clamp(10px,1.5vh,16px)!important;
  }
  #countrySlide .ct-country-name,
  #countrySlide .ct-country-count-1 .ct-country-name{
    grid-area:name!important;
    width:100%!important;
    margin:0 0 7px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  #countrySlide .ct-country-meta,
  #countrySlide .ct-country-count-1 .ct-country-meta{
    grid-area:meta!important;
    width:100%!important;
    margin:0 0 8px!important;
    text-align:center!important;
    white-space:normal!important;
  }
  #countrySlide .ct-country-time,
  #countrySlide .ct-country-count-1 .ct-country-time{
    grid-area:time!important;
    width:100%!important;
    margin:0!important;
    align-self:start!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
}

/* På laptop/mindre desktop får korten mer verklig bredd i stället för fem trånga kolumner. */
@media (min-width:701px) and (max-width:1599px){
  #countrySlide .ct-country-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(100%,1180px)!important;
    height:auto!important;
    max-height:calc(100dvh - 150px)!important;
    gap:clamp(10px,1.3vw,16px)!important;
    align-content:center!important;
  }
  #countrySlide .ct-country-card{
    min-height:clamp(180px,27vh,250px)!important;
  }
}
@media (min-width:701px) and (max-width:960px){
  #countrySlide .ct-country-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v2.10.19 – säkra flaggstorlekar på Clean Time-skärmen. */
body.cleantime-screen .cleantime-screen-lang {
  --ct-language-width: 42px;
  --ct-language-height: 32px;
  inline-size: auto !important;
  block-size: auto !important;
}
body.cleantime-screen .cleantime-screen-lang > a {
  flex: 0 0 var(--ct-language-width) !important;
  inline-size: var(--ct-language-width) !important;
  min-inline-size: var(--ct-language-width) !important;
  max-inline-size: var(--ct-language-width) !important;
  block-size: var(--ct-language-height) !important;
  min-block-size: var(--ct-language-height) !important;
  max-block-size: var(--ct-language-height) !important;
  padding: 3px !important;
  overflow: hidden !important;
}
body.cleantime-screen .cleantime-screen-lang > a > img {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  object-fit: cover !important;
}
body.cleantime-screen .ct-country-flag {
  flex: 0 0 auto !important;
  inline-size: clamp(72px, 7vw, 112px) !important;
  block-size: auto !important;
  max-inline-size: 112px !important;
  max-block-size: 84px !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}
body.cleantime-screen .ct-country-flag > img {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  min-inline-size: 0 !important;
  min-block-size: 0 !important;
  max-inline-size: 100% !important;
  max-block-size: 100% !important;
  object-fit: cover !important;
}
@media (max-width: 700px) {
  body.cleantime-screen .cleantime-screen-lang {
    --ct-language-width: 36px;
    --ct-language-height: 28px;
  }
  body.cleantime-screen .ct-country-flag {
    inline-size: 64px !important;
    block-size: 44px !important;
    max-inline-size: 64px !important;
    max-block-size: 44px !important;
    aspect-ratio: auto !important;
  }
}


/* v2.10.23 – Clean Time active checkbox layout */
.ct-active-toggle{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:2px 0 4px!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(57,42,32,.14)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.62)!important;
  color:#302720!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:left!important;
  cursor:pointer!important;
}
.ct-active-toggle input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  flex:0 0 auto!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#d76518!important;
}
@media(max-width:720px){
  .ct-active-toggle{
    grid-column:auto!important;
    align-items:flex-start!important;
    gap:11px!important;
    padding:14px!important;
    margin:0!important;
    font-size:1rem!important;
  }
  .ct-active-toggle input[type="checkbox"]{
    margin-top:1px!important;
  }
}


/* v2.10.24 – manual Clean Time entries and final country-card layout */
.cleantime-manual-list-card{margin-top:24px}
.cleantime-manual-list-card .section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.cleantime-manual-list-card code{font-weight:700;white-space:nowrap}
.cleantime-manual-table td:last-child{text-align:right}
.ct-country-time{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.22em .38em!important;line-height:1.3!important}
.ct-duration-part{white-space:nowrap!important;display:inline-block!important}
@media (min-width:701px){
  #countrySlide .ct-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(14px,1.8vw,24px)!important;align-content:center!important}
  #countrySlide .ct-country-card,
  #countrySlide .ct-country-count-1 .ct-country-card,
  #countrySlide .ct-country-count-2 .ct-country-card{
    display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;text-align:center!important;
    min-width:0!important;min-height:230px!important;height:100%!important;padding:24px 20px!important;overflow:hidden!important
  }
  #countrySlide .ct-country-flag{flex:0 0 auto!important;width:clamp(92px,8vw,126px)!important;max-width:126px!important;height:auto!important;max-height:none!important;margin:0 0 14px!important}
  #countrySlide .ct-country-name{width:100%!important;margin:0 0 8px!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:clamp(25px,2.2vw,38px)!important;line-height:1.06!important}
  #countrySlide .ct-country-meta{width:100%!important;margin:0 0 12px!important;text-align:center!important}
  #countrySlide .ct-country-time{width:100%!important;margin-top:auto!important;text-align:center!important;font-size:clamp(20px,1.7vw,29px)!important}
}
@media (min-width:1400px){#countrySlide .ct-country-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}#countrySlide .ct-country-card{min-height:260px!important}}
@media (max-width:700px){
  .cleantime-manual-list-card .section-heading{align-items:center}
  .cleantime-manual-table{min-width:720px}
  #countrySlide .ct-country-time{justify-content:flex-start!important;gap:.15em .32em!important}
  #countrySlide .ct-country-card{overflow:hidden!important}
}

/* v2.10.27 – stable Clean Time country grid on laptop/desktop */
@media (min-width: 701px) {
  #countrySlide .cleantime-slide-inner {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  #countrySlide .ct-country-grid {
    width: min(94vw, 1420px) !important;
    height: auto !important;
    max-height: none !important;
    grid-auto-rows: minmax(280px, auto) !important;
    align-items: stretch !important;
    align-content: center !important;
    margin: 0 auto !important;
    padding: 0 0 22px !important;
    overflow: visible !important;
  }
  #countrySlide .ct-country-card,
  #countrySlide .ct-country-count-1 .ct-country-card,
  #countrySlide .ct-country-count-2 .ct-country-card {
    box-sizing: border-box !important;
    min-height: 280px !important;
    height: auto !important;
    padding: 28px 24px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    overflow: hidden !important;
  }
  #countrySlide .ct-country-flag {
    width: clamp(104px, 8vw, 138px) !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 0 18px !important;
  }
  #countrySlide .ct-country-name {
    margin: 0 0 10px !important;
    font-size: clamp(27px, 2.1vw, 40px) !important;
    line-height: 1.05 !important;
    min-height: 1.1em !important;
  }
  #countrySlide .ct-country-meta {
    margin: 0 0 14px !important;
    font-size: clamp(20px, 1.5vw, 28px) !important;
    line-height: 1.2 !important;
  }
  #countrySlide .ct-country-time {
    margin-top: auto !important;
    padding-top: 4px !important;
    font-size: clamp(20px, 1.55vw, 29px) !important;
    line-height: 1.25 !important;
  }
  #countrySlide .ct-country-count-4 {
    grid-template-columns: repeat(2, minmax(300px, 520px)) !important;
    justify-content: center !important;
  }
  #countrySlide .ct-country-count-3 {
    grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  }
  #countrySlide .ct-country-count-2 {
    grid-template-columns: repeat(2, minmax(300px, 520px)) !important;
    justify-content: center !important;
  }
  #countrySlide .ct-country-count-1 {
    grid-template-columns: minmax(320px, 560px) !important;
    justify-content: center !important;
  }
}
@media (min-width: 701px) and (max-width: 1120px) {
  #countrySlide .ct-country-grid,
  #countrySlide .ct-country-count-3,
  #countrySlide .ct-country-count-4 {
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
    grid-auto-rows: minmax(250px, auto) !important;
  }
  #countrySlide .ct-country-card,
  #countrySlide .ct-country-count-1 .ct-country-card,
  #countrySlide .ct-country-count-2 .ct-country-card {
    min-height: 250px !important;
  }
}
@media (min-width: 1400px) {
  #countrySlide .ct-country-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(285px, auto) !important;
  }
  #countrySlide .ct-country-count-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}


/* v2.10.27 – authoritative Clean Time country cards */
body.cleantime-screen #countrySlide .ct-country-grid{
  display:grid!important;
  width:min(94vw,1560px)!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0 0 18px!important;
  gap:clamp(14px,1.7vw,24px)!important;
  align-items:stretch!important;
  align-content:center!important;
  justify-content:center!important;
  grid-auto-rows:auto!important;
  overflow:visible!important;
}
body.cleantime-screen #countrySlide .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  padding:clamp(20px,2.1vw,30px)!important;
  overflow:hidden!important;
  text-align:center!important;
  border-radius:24px!important;
}
body.cleantime-screen #countrySlide .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:clamp(94px,8vw,132px)!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  margin:0 0 16px!important;
  overflow:hidden!important;
  border-radius:9px!important;
}
body.cleantime-screen #countrySlide .ct-country-flag img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.cleantime-screen #countrySlide .ct-country-name,
body.cleantime-screen #countrySlide .ct-country-meta,
body.cleantime-screen #countrySlide .ct-country-time{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body.cleantime-screen #countrySlide .ct-country-name{
  margin:0 0 9px!important;
  font-size:clamp(25px,2.15vw,38px)!important;
  font-weight:850!important;
  line-height:1.08!important;
  overflow-wrap:anywhere!important;
}
body.cleantime-screen #countrySlide .ct-country-meta{
  margin:0 0 13px!important;
  font-size:clamp(18px,1.5vw,25px)!important;
  line-height:1.2!important;
}
body.cleantime-screen #countrySlide .ct-country-time{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:.2em .42em!important;
  margin:auto 0 0!important;
  font-size:clamp(18px,1.55vw,26px)!important;
  font-weight:760!important;
  line-height:1.25!important;
}
body.cleantime-screen #countrySlide .ct-duration-part{
  display:inline-block!important;
  white-space:nowrap!important;
}
@media(min-width:1400px) and (min-height:820px){
  body.cleantime-screen #countrySlide .ct-country-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body.cleantime-screen #countrySlide .ct-country-card{min-height:300px!important}
}
@media(min-width:700px) and (max-width:1399px),
       (min-width:1400px) and (max-height:819px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4{
    grid-template-columns:repeat(2,minmax(280px,560px))!important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    min-height:clamp(220px,31vh,280px)!important;
  }
}
@media(min-width:700px){
  body.cleantime-screen #countrySlide .ct-country-count-1{grid-template-columns:minmax(320px,620px)!important}
  body.cleantime-screen #countrySlide .ct-country-count-2{grid-template-columns:repeat(2,minmax(280px,560px))!important}
  body.cleantime-screen #countrySlide .ct-country-count-3{grid-template-columns:repeat(3,minmax(230px,1fr))!important}
}
@media(max-width:699px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4{
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
    width:min(94vw,540px)!important;
    height:calc(100dvh - 142px)!important;
    gap:7px!important;
    padding:0 0 8px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-areas:'flag name' 'flag meta' 'flag time'!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    min-height:0!important;
    height:100%!important;
    padding:9px 13px!important;
    border-radius:15px!important;
    text-align:left!important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
    grid-area:flag!important;
    align-self:center!important;
    width:62px!important;
    height:46px!important;
    margin:0!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time{
    text-align:left!important;
    width:auto!important;
    margin:0!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{grid-area:name!important;font-size:clamp(16px,4.7vw,20px)!important;align-self:end!important}
  body.cleantime-screen #countrySlide .ct-country-meta{grid-area:meta!important;font-size:clamp(12px,3.5vw,15px)!important}
  body.cleantime-screen #countrySlide .ct-country-time{
    grid-area:time!important;
    justify-content:flex-start!important;
    font-size:clamp(12px,3.4vw,15px)!important;
    line-height:1.12!important;
  }
}

/* v2.10.28 – centrerad admininloggning. */
body.admin-login-page {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body.admin-login-page .admin-login-main {
  width: 100%;
  max-width: none;
  flex: 1 0 auto;
  min-height: calc(100dvh - var(--na40-fixed-header-height, 0px));
  padding: clamp(34px, 6vh, 76px) clamp(18px, 4vw, 64px);
  display: grid;
  place-items: center;
}
body.admin-login-page .admin-login-shell {
  width: min(100%, 1040px);
  margin: 0 auto;
}
body.admin-login-page .admin-login-shell > h1 {
  display:none;
}
body.admin-login-page .admin-login-card {
  width: 100%;
  margin: 0;
  padding: clamp(38px, 5vw, 68px);
  border-radius: clamp(24px, 2.8vw, 36px);
  max-width: 860px;
  margin-inline: auto;
}
body.admin-login-page .admin-login-card-header{
  text-align:center;
  margin:0 0 28px;
}
body.admin-login-page .admin-login-card-header .section-kicker{
  margin-bottom:12px;
}
body.admin-login-page .admin-login-card-header h1{
  margin:0;
  color:var(--na40-statistics-heading);
  font-size:clamp(2.75rem,4.8vw,5rem);
  line-height:1.02;
}

body.admin-login-page .admin-login-card .field + .field {
  margin-top: 20px;
}
body.admin-login-page .admin-login-card input {
  min-height: 62px;
  font-size: 1.15rem;
}
body.admin-login-page .admin-login-actions {
  justify-content: center;
  margin-top: 30px;
}
body.admin-login-page .admin-login-actions .btn {
  min-width: 180px;
}
@media (max-width: 768px) {
  body.admin-login-page .admin-login-main {
    min-height: auto;
    padding: 30px 14px 42px;
    place-items: start center;
  }
  body.admin-login-page .admin-login-shell > h1 {
    display:none;
  }
  body.admin-login-page .admin-login-card {
    padding: 28px 18px;
  }
  body.admin-login-page .admin-login-card-header h1{
    font-size:clamp(2.25rem,10vw,3.4rem);
  }
}

/* v2.10.28 – slutgiltig landslayout: rubrik separat, kort centrerade och allt ryms. */
body.cleantime-screen #countrySlide {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-items: center !important;
  align-content: stretch !important;
  row-gap: clamp(14px, 2.2vh, 26px) !important;
  padding: clamp(66px, 8vh, 88px) clamp(16px, 3vw, 46px) clamp(58px, 7vh, 76px) !important;
  overflow: hidden !important;
}
body.cleantime-screen #countrySlide .ct-country-heading {
  align-self: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.08 !important;
}
body.cleantime-screen #countrySlide .ct-country-grid {
  align-self: stretch !important;
  width: min(96vw, 1660px) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  align-content: center !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: clamp(12px, 1.55vw, 24px) !important;
  overflow: hidden !important;
}
body.cleantime-screen #countrySlide .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: clamp(15px, 1.8vw, 26px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
}
body.cleantime-screen #countrySlide .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag {
  position: relative !important;
  place-self: center !important;
  align-self: center !important;
  justify-self: center !important;
  flex: 0 0 auto !important;
  width: clamp(76px, 7vw, 126px) !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 auto clamp(9px, 1.3vh, 16px) !important;
}
body.cleantime-screen #countrySlide .ct-country-name,
body.cleantime-screen #countrySlide .ct-country-meta,
body.cleantime-screen #countrySlide .ct-country-time {
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
body.cleantime-screen #countrySlide .ct-country-name {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
  font-size: clamp(21px, 1.8vw, 34px) !important;
  line-height: 1.06 !important;
}
body.cleantime-screen #countrySlide .ct-country-meta {
  margin-bottom: 8px !important;
  font-size: clamp(16px, 1.25vw, 23px) !important;
}
body.cleantime-screen #countrySlide .ct-country-time {
  margin-top: 0 !important;
  font-size: clamp(16px, 1.3vw, 24px) !important;
  line-height: 1.18 !important;
}

/* Stor skärm: fem på en rad. */
@media (min-width: 1500px) {
  body.cleantime-screen #countrySlide .ct-country-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }
}

/* Laptop: fem kort i ett centrerat 3 + 2-rutnät. */
@media (min-width: 900px) and (max-width: 1499px) {
  body.cleantime-screen #countrySlide .ct-country-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-card {
    grid-column: span 2 !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(4) {
    grid-column: 2 / span 2 !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-4 .ct-country-card {
    grid-column: auto !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-3 .ct-country-card {
    grid-column: auto !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card {
    grid-column: auto !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1 {
    grid-template-columns: minmax(320px, 620px) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card {
    grid-column: auto !important;
  }
}

@media (min-width: 900px) and (max-height: 760px) {
  body.cleantime-screen #countrySlide {
    row-gap: 10px !important;
    padding-top: 54px !important;
    padding-bottom: 48px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-heading {
    font-size: clamp(20px, 2.5vw, 34px) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-card {
    padding: 10px 14px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag {
    width: clamp(62px, 6vw, 92px) !important;
    margin-bottom: 7px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name {
    font-size: clamp(18px, 1.55vw, 27px) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time {
    font-size: clamp(14px, 1.1vw, 19px) !important;
  }
}

@media (min-width: 700px) and (max-width: 899px) {
  body.cleantime-screen #countrySlide .ct-country-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Behåll den kompakta femrads-layouten på telefon efter laptop-ombyggnaden. */
@media (max-width: 699px) {
  body.cleantime-screen #countrySlide {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    row-gap: 8px !important;
    padding: 52px 8px 42px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5 {
    width: min(100%, 540px) !important;
    height: 100% !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    grid-template-areas: 'flag name' 'flag meta' 'flag time' !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 12px !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 8px 12px !important;
    text-align: left !important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag {
    grid-area: flag !important;
    align-self: center !important;
    justify-self: center !important;
    width: 60px !important;
    height: 45px !important;
    margin: 0 !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time {
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name {
    grid-area: name !important;
    align-self: end !important;
    font-size: clamp(16px, 4.7vw, 20px) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta {
    grid-area: meta !important;
    font-size: clamp(12px, 3.5vw, 15px) !important;
  }
  body.cleantime-screen #countrySlide .ct-country-time {
    grid-area: time !important;
    justify-content: flex-start !important;
    font-size: clamp(12px, 3.4vw, 15px) !important;
    line-height: 1.12 !important;
  }
}


/* v2.10.29 – final header and Clean Time country grid polish */
@media (min-width:981px){
  .site-header-public .nav-link{
    font-size:1rem!important;
    font-weight:600!important;
    padding:12px 13px!important;
  }
}
@media (min-width:1180px){
  .site-header-public .nav-link{
    font-size:1.05rem!important;
    padding:12px 14px!important;
  }
}

body.cleantime-screen #countrySlide{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:52px 16px 76px!important;
}
body.cleantime-screen .ct-country-heading{
  margin:0 auto clamp(16px,2.2vh,28px)!important;
  text-align:center!important;
  line-height:1.05!important;
}
body.cleantime-screen #countrySlide .ct-country-grid{
  width:min(1500px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  gap:clamp(16px,1.5vw,24px)!important;
  align-content:center!important;
  justify-content:center!important;
}
body.cleantime-screen #countrySlide .ct-country-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:0!important;
  min-height:clamp(180px,25vh,250px)!important;
  padding:clamp(16px,1.8vw,24px)!important;
  box-sizing:border-box!important;
}
body.cleantime-screen #countrySlide .ct-country-flag{
  margin:0 auto 12px!important;
  align-self:center!important;
  justify-self:center!important;
}
body.cleantime-screen #countrySlide .ct-country-name,
body.cleantime-screen #countrySlide .ct-country-meta,
body.cleantime-screen #countrySlide .ct-country-time{
  width:100%!important;
  text-align:center!important;
}
body.cleantime-screen #countrySlide .ct-country-time{
  justify-content:center!important;
}

@media (min-width:981px){
  body.cleantime-screen #countrySlide .ct-country-count-1{
    grid-template-columns:minmax(360px,680px)!important;
    max-width:680px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card{
    min-height:300px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-2{
    grid-template-columns:repeat(2,minmax(320px,520px))!important;
    max-width:1080px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-3{
    grid-template-columns:repeat(3,minmax(240px,1fr))!important;
    max-width:1380px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-4{
    grid-template-columns:repeat(2,minmax(320px,1fr))!important;
    max-width:1280px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns:repeat(3,minmax(240px,1fr))!important;
    max-width:1480px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{
    font-size:clamp(22px,2vw,30px)!important;
    line-height:1.08!important;
    margin:0 0 8px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta{
    font-size:clamp(16px,1.45vw,21px)!important;
    margin:0 0 8px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-time{
    font-size:clamp(17px,1.45vw,23px)!important;
    line-height:1.22!important;
  }
}

@media (max-width:980px){
  body.cleantime-screen #countrySlide{padding:54px 12px 52px!important}
  body.cleantime-screen #countrySlide .ct-country-grid{width:min(100%,720px)!important}
}


/* v2.10.30 – responsive country cards rebuild */
body.cleantime-screen #countrySlide{
  padding:38px 18px 78px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.cleantime-screen .ct-country-heading{
  margin:0 auto 18px !important;
  text-align:center !important;
}
body.cleantime-screen #countrySlide .ct-country-grid{
  width:min(1500px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  gap:16px !important;
  align-content:center !important;
  justify-content:center !important;
  max-height:none !important;
  overflow:visible !important;
}
body.cleantime-screen #countrySlide .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
  min-width:0 !important;
  min-height:220px !important;
  height:auto !important;
  padding:18px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:24px !important;
}
body.cleantime-screen #countrySlide .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
  width:110px !important;
  height:78px !important;
  margin:0 auto 12px !important;
  align-self:center !important;
}
body.cleantime-screen #countrySlide .ct-country-name,
body.cleantime-screen #countrySlide .ct-country-meta,
body.cleantime-screen #countrySlide .ct-country-time{
  width:100% !important;
  text-align:center !important;
}
body.cleantime-screen #countrySlide .ct-country-name{
  font-size:clamp(22px,2.1vw,38px) !important;
  line-height:1.08 !important;
  margin:0 0 8px !important;
  white-space:normal !important;
}
body.cleantime-screen #countrySlide .ct-country-meta{
  font-size:clamp(16px,1.3vw,22px) !important;
  margin:0 0 8px !important;
}
body.cleantime-screen #countrySlide .ct-country-time{
  font-size:clamp(18px,1.4vw,24px) !important;
  line-height:1.25 !important;
  justify-content:center !important;
  margin:0 !important;
}

@media (min-width:1101px){
  body.cleantime-screen #countrySlide .ct-country-count-1{
    grid-template-columns:minmax(420px,720px) !important;
    max-width:720px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card{min-height:280px !important;}

  body.cleantime-screen #countrySlide .ct-country-count-2{
    grid-template-columns:repeat(2,minmax(320px,520px)) !important;
    max-width:1080px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-3{
    grid-template-columns:repeat(3,minmax(250px,1fr)) !important;
    max-width:1380px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-4{
    grid-template-columns:repeat(2,minmax(320px,520px)) !important;
    max-width:1080px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    max-width:1480px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(-n+3){grid-column:span 2 !important;}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(4){grid-column:2 / span 2 !important;}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(5){grid-column:4 / span 2 !important;}
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns:repeat(3,minmax(250px,1fr)) !important;
    max-width:1380px !important;
  }
}

@media (min-width:801px) and (max-width:1100px){
  body.cleantime-screen #countrySlide{
    padding:34px 14px 72px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
    max-width:1080px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1{
    grid-template-columns:minmax(320px,620px) !important;
    max-width:620px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-card{min-height:205px !important;}
}

@media (max-width:800px){
  body.cleantime-screen #countrySlide{
    padding:32px 10px 54px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns:1fr !important;
    max-width:560px !important;
    gap:10px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    min-height:112px !important;
    padding:12px 14px !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-areas:'flag name' 'flag meta' 'flag time' !important;
    align-items:center !important;
    justify-items:start !important;
    column-gap:12px !important;
    text-align:left !important;
    border-radius:18px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
    grid-area:flag !important;
    width:72px !important;
    height:52px !important;
    margin:0 !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time{
    text-align:left !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{grid-area:name !important;font-size:22px !important;margin:0 !important;}
  body.cleantime-screen #countrySlide .ct-country-meta{grid-area:meta !important;font-size:16px !important;margin:2px 0 !important;}
  body.cleantime-screen #countrySlide .ct-country-time{grid-area:time !important;font-size:15px !important;justify-content:flex-start !important;line-height:1.18 !important;}
}


/* v2.10.31 – Clean Time country cards: one clean equal-size layout */
@media (min-width: 1024px){
  body.cleantime-screen #countrySlide{
    padding: 26px 18px 72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body.cleantime-screen .ct-country-heading{
    margin: 0 auto 18px !important;
    text-align: center !important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    display:grid !important;
    gap:18px !important;
    width:min(1500px, 100%) !important;
    margin:0 auto !important;
    justify-content:center !important;
    align-content:center !important;
    max-height:none !important;
    overflow:visible !important;
  }
  /* exact same card size within each page */
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    width:100% !important;
    min-width:0 !important;
    height:250px !important;
    min-height:250px !important;
    max-height:250px !important;
    box-sizing:border-box !important;
    padding:18px 16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:24px !important;
    background:rgba(255,255,255,.13) !important;
    border:1px solid rgba(255,255,255,.24) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
    backdrop-filter:blur(13px) !important;
    overflow:hidden !important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
    width:110px !important;
    height:78px !important;
    margin:0 auto 12px !important;
    align-self:center !important;
    justify-self:center !important;
    flex:0 0 auto !important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag img{max-width:110px !important;max-height:78px !important;object-fit:cover !important;}
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time{
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{
    font-size:clamp(22px, 2vw, 34px) !important;
    line-height:1.08 !important;
    margin:0 0 8px !important;
    white-space:normal !important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta{
    font-size:clamp(16px, 1.2vw, 21px) !important;
    margin:0 0 8px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-time{
    font-size:clamp(18px, 1.3vw, 23px) !important;
    line-height:1.22 !important;
    justify-content:center !important;
    margin:0 !important;
  }

  /* page-specific equal grids */
  body.cleantime-screen #countrySlide .ct-country-count-1{
    grid-template-columns: minmax(320px, 380px) !important;
    max-width: 380px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-2{
    grid-template-columns: repeat(2, minmax(280px, 360px)) !important;
    max-width: 740px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-3{
    grid-template-columns: repeat(3, minmax(220px, 300px)) !important;
    max-width: 980px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-4{
    grid-template-columns: repeat(2, minmax(280px, 360px)) !important;
    max-width: 740px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5{
    grid-template-columns: repeat(5, minmax(190px, 230px)) !important;
    max-width: 1220px !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns: repeat(3, minmax(220px, 300px)) !important;
    max-width: 980px !important;
  }
}

/* keep tablet simple and stable */
@media (min-width: 701px) and (max-width: 1023px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    max-width: 900px !important;
    gap:14px !important;
    justify-content:center !important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1{grid-template-columns:minmax(280px, 420px) !important;max-width:420px !important;}
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    min-height:220px !important;height:220px !important;max-height:220px !important;
  }
}


/* v2.10.32 – mobile fix: country heading should not sit behind top buttons */
@media (max-width: 700px){
  body.cleantime-screen #countrySlide{
    padding-top: 92px !important;
    justify-content: flex-start !important;
  }
  body.cleantime-screen .ct-country-heading{
    position: relative !important;
    z-index: 1 !important;
    width: calc(100% - 132px) !important;
    max-width: 760px !important;
    margin: 0 auto 12px !important;
    text-align: center !important;
    line-height: 1.08 !important;
  }
}
@media (max-width: 430px){
  body.cleantime-screen #countrySlide{
    padding-top: 96px !important;
  }
  body.cleantime-screen .ct-country-heading{
    width: calc(100% - 124px) !important;
    font-size: clamp(1.25rem, 7vw, 1.95rem) !important;
    margin-bottom: 10px !important;
  }
}

/* v2.10.33 – stable Clean Time updates and non-overlapping phone/landscape country cards */
@media (max-width:700px) and (orientation:portrait){
  body.cleantime-screen #countrySlide{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-items:stretch!important;
    justify-items:center!important;
    row-gap:8px!important;
    padding:max(84px,calc(env(safe-area-inset-top) + 66px)) 8px max(48px,calc(env(safe-area-inset-bottom) + 38px))!important;
    overflow:hidden!important;
  }
  body.cleantime-screen #countrySlide .ct-country-heading{
    width:calc(100% - 120px)!important;
    margin:0 auto!important;
    font-size:clamp(1.18rem,6.2vw,1.75rem)!important;
    line-height:1.08!important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    align-self:stretch!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    grid-auto-rows:minmax(0,1fr)!important;
    width:min(100%,540px)!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    gap:6px!important;
    margin:0 auto!important;
    padding:0!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-areas:'flag name' 'flag meta' 'flag time'!important;
    grid-template-rows:auto auto auto!important;
    align-content:center!important;
    align-items:center!important;
    justify-items:start!important;
    column-gap:11px!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:7px 11px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
    grid-area:flag!important;
    align-self:center!important;
    justify-self:center!important;
    width:56px!important;
    height:42px!important;
    max-width:56px!important;
    max-height:42px!important;
    margin:0!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    text-align:left!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{
    grid-area:name!important;
    align-self:end!important;
    font-size:clamp(15px,4.5vw,19px)!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta{
    grid-area:meta!important;
    font-size:clamp(11px,3.25vw,14px)!important;
    line-height:1.08!important;
    white-space:nowrap!important;
  }
  body.cleantime-screen #countrySlide .ct-country-time{
    grid-area:time!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:.08em .3em!important;
    font-size:clamp(11px,3.2vw,14px)!important;
    line-height:1.12!important;
    overflow:hidden!important;
  }
}

/* Compact two-by-two layout for phones/tablets held in landscape. */
@media (max-width:1100px) and (max-height:650px) and (orientation:landscape){
  body.cleantime-screen #countrySlide{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-items:stretch!important;
    justify-items:center!important;
    row-gap:7px!important;
    padding:max(48px,calc(env(safe-area-inset-top) + 38px)) 10px max(42px,calc(env(safe-area-inset-bottom) + 32px))!important;
    overflow:hidden!important;
  }
  body.cleantime-screen #countrySlide .ct-country-heading{
    width:calc(100% - 136px)!important;
    margin:0 auto!important;
    font-size:clamp(1.05rem,3.2vw,1.55rem)!important;
    line-height:1.05!important;
  }
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    align-self:stretch!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:minmax(0,1fr)!important;
    width:min(100%,980px)!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    gap:8px!important;
    margin:0 auto!important;
    padding:0!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-1{
    grid-template-columns:minmax(260px,460px)!important;
  }
  body.cleantime-screen #countrySlide .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-card,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:8px 10px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  body.cleantime-screen #countrySlide .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-1 .ct-country-flag,
  body.cleantime-screen #countrySlide .ct-country-count-2 .ct-country-flag{
    width:clamp(54px,8vh,76px)!important;
    height:auto!important;
    max-width:76px!important;
    max-height:57px!important;
    aspect-ratio:4/3!important;
    margin:0 auto 5px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name,
  body.cleantime-screen #countrySlide .ct-country-meta,
  body.cleantime-screen #countrySlide .ct-country-time{
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
  body.cleantime-screen #countrySlide .ct-country-name{
    font-size:clamp(16px,3.5vh,23px)!important;
    line-height:1.04!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.cleantime-screen #countrySlide .ct-country-meta{
    margin-top:3px!important;
    font-size:clamp(11px,2.5vh,15px)!important;
    line-height:1.05!important;
  }
  body.cleantime-screen #countrySlide .ct-country-time{
    justify-content:center!important;
    margin-top:4px!important;
    gap:.08em .28em!important;
    font-size:clamp(11px,2.45vh,15px)!important;
    line-height:1.08!important;
  }
}

/* v2.10.33 – remove inherited full-height grid rows on normal tablet/desktop screens. */
@media (min-width:701px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:none!important;
    align-self:center!important;
    align-content:center!important;
  }
}
@media (min-width:701px) and (max-width:1023px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-auto-rows:220px!important;
  }
}
@media (min-width:1024px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-grid,
  body.cleantime-screen #countrySlide .ct-country-count-1,
  body.cleantime-screen #countrySlide .ct-country-count-2,
  body.cleantime-screen #countrySlide .ct-country-count-3,
  body.cleantime-screen #countrySlide .ct-country-count-4,
  body.cleantime-screen #countrySlide .ct-country-count-5,
  body.cleantime-screen #countrySlide .ct-country-count-6{
    grid-auto-rows:250px!important;
  }
}
@media (min-width:1024px) and (max-width:1399px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-count-5{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    max-width:1120px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(-n+3){grid-column:span 2!important}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(4){grid-column:2 / span 2!important}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(5){grid-column:4 / span 2!important}
}
@media (min-width:1400px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}
@media (min-width:1400px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(n){
    grid-column:auto!important;
    grid-row:auto!important;
  }
}
/* Five countries use a balanced 3 + 2 layout instead of five narrow cards. */
@media (min-width:1400px) and (min-height:651px){
  body.cleantime-screen #countrySlide .ct-country-count-5{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    max-width:1380px!important;
  }
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(-n+3){grid-column:span 2!important}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(4){grid-column:2 / span 2!important}
  body.cleantime-screen #countrySlide .ct-country-count-5 .ct-country-card:nth-child(5){grid-column:4 / span 2!important}
}

/* Clean Time statistics summary */
.cleantime-statistics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.cleantime-statistics-summary .card{justify-content:flex-start;min-height:150px}
.cleantime-statistics-summary .card>strong{font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.15}
.cleantime-statistics-summary .cleantime-stat-label{color:var(--muted);font-size:.84rem;font-weight:750}
.cleantime-statistics-summary small{color:var(--muted);font-size:.82rem;line-height:1.35}
.cleantime-calculation-list{display:grid;gap:10px;margin:18px 0 0;padding-left:22px}
.cleantime-calculation-list li{line-height:1.55}
@media(max-width:980px){.cleantime-statistics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cleantime-statistics-summary{grid-template-columns:1fr}.cleantime-statistics-summary .card{min-height:0}}

/* v2.11.0 – admin two-factor authentication and security centre */
body.admin-login-page .admin-auth-notice{
  width:min(100%,920px);
  margin:0 auto 18px;
  box-sizing:border-box;
}
body.admin-login-page .admin-two-factor-shell>h1{
  font-size:clamp(2.1rem,3.6vw,3.9rem);
}
body.admin-login-page .admin-two-factor-card{
  width:min(100%,680px);
  margin-inline:auto;
}
body.admin-login-page .admin-two-factor-setup-card{
  width:100%;
}
.admin-auth-step{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.admin-auth-step>span{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,#d87526,#b75716);
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
  box-shadow:0 8px 18px rgba(184,87,22,.24);
}
.admin-auth-step strong,.admin-auth-step small{display:block}
.admin-auth-step strong{color:#25211e;font-size:1.08rem}
.admin-auth-step small{margin-top:3px;color:var(--muted);line-height:1.35}
body.admin-login-page .admin-otp-input,
.admin-security-form .admin-otp-input{
  text-align:center;
  font-size:1.65rem!important;
  font-weight:850;
  letter-spacing:.28em;
  font-variant-numeric:tabular-nums;
}
.admin-auth-footnote{
  margin:22px 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
  text-align:center;
}
.admin-recovery-help{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.admin-recovery-help summary,.admin-manual-secret summary{
  color:#8f4717;
  font-weight:800;
  cursor:pointer;
}
.admin-recovery-help p,.admin-manual-secret p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.5;
}
.admin-recovery-login-form{display:grid;gap:14px;margin-top:16px}
.admin-recovery-login-form .field{margin:0}
.admin-recovery-login-form input{text-align:center;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.admin-recovery-login-form .btn{width:100%}
.admin-auth-cancel{
  display:block;
  margin:20px auto 0;
  padding:6px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.86rem;
  text-decoration:underline;
  cursor:pointer;
}
.admin-auth-inline-cancel{text-align:center}
.admin-setup-grid{
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(300px,1.08fr);
  gap:clamp(26px,4vw,54px);
  align-items:center;
}
.admin-setup-qr-column{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.admin-setup-qr-column .admin-auth-step{align-self:stretch}
.admin-two-factor-qr{
  display:grid;
  place-items:center;
  width:min(100%,300px);
  aspect-ratio:1;
  margin:4px auto 18px;
  padding:14px;
  box-sizing:border-box;
  border:1px solid #d6d0ca;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(30,25,20,.12);
  overflow:hidden;
}
.admin-two-factor-qr svg{
  display:block;
  width:100%;
  height:100%;
}
.admin-manual-secret{
  width:100%;
  text-align:center;
}
.admin-manual-secret code{
  display:block;
  margin:12px 0 4px;
  padding:12px;
  border:1px dashed #c9b7a7;
  border-radius:10px;
  background:#f8f4ef;
  color:#2c2723;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.08em;
  overflow-wrap:anywhere;
  user-select:all;
}
.admin-setup-confirm-column>.btn{width:100%;margin-top:22px}

.admin-security-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}
.admin-security-grid>.card{margin:0}
.admin-security-card-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.admin-security-card-heading h2{margin:2px 0 0}
.admin-security-kicker{
  margin:0;
  color:#99613b;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.12em;
}
.admin-security-icon{
  display:grid;
  place-items:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:15px;
  color:#fff;
  font-size:1.35rem;
  font-weight:900;
}
.admin-security-icon.success{background:#287a50;box-shadow:0 10px 24px rgba(40,122,80,.2)}
.admin-security-icon.warning{background:#b46a1c;box-shadow:0 10px 24px rgba(180,106,28,.2)}
.admin-security-details{display:grid;gap:0;margin:0}
.admin-security-details>div{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);
  gap:18px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--border);
}
.admin-security-details>div:last-child{border-bottom:0}
.admin-security-details dt{color:var(--muted);font-size:.86rem;font-weight:750}
.admin-security-details dd{margin:0;text-align:right;overflow-wrap:anywhere}
.admin-security-action-card h2,.admin-security-change-card h2,.admin-security-log-card h2{margin-top:0}
.admin-security-action-card>p,.admin-security-change-card>p{color:var(--muted);line-height:1.55}
.admin-security-form{display:grid;gap:15px;margin-top:20px}
.admin-security-form .field{margin:0}
.admin-security-form input{width:100%;box-sizing:border-box}
.admin-security-recovery-card{
  margin-bottom:18px;
  border-color:rgba(40,122,80,.3);
  box-shadow:0 18px 42px rgba(20,80,52,.12);
}
.admin-recovery-code-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 12px;
  margin:22px 0;
}
.admin-recovery-code-grid code{
  display:block;
  padding:12px 14px;
  border:1px solid #d8d0c8;
  border-radius:10px;
  background:#f8f5f1;
  color:#27231f;
  font-size:1rem;
  font-weight:850;
  letter-spacing:.08em;
  text-align:center;
  user-select:all;
}
.admin-security-code-actions{align-items:center}
.admin-security-code-actions form{margin:0}
.admin-security-change-card,.admin-security-log-card{margin-top:18px}
.admin-security-reconfigure-start{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
}
.admin-security-reconfigure-start .btn{grid-column:1/-1;justify-self:start}
.admin-security-reconfigure-grid{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);
  gap:26px 36px;
  align-items:center;
}
.admin-security-reconfigure-grid .admin-two-factor-qr{max-width:270px}
.admin-security-confirm-new-phone{align-self:center}
.admin-security-cancel-reconfigure{grid-column:1/-1;text-align:center}
.admin-security-event-list{display:grid;gap:0}
.admin-security-event-list article{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--border);
}
.admin-security-event-list article:last-child{border-bottom:0}
.admin-security-event-list strong,.admin-security-event-list small{display:block}
.admin-security-event-list small{margin-top:3px;color:var(--muted)}
.admin-security-event-list time{color:var(--muted);font-size:.82rem;white-space:nowrap}
.admin-security-event-status{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  color:#fff;
  font-weight:900;
}
.admin-security-event-status.success{background:#287a50}
.admin-security-event-status.error{background:#a83c34}

@media(max-width:900px){
  .admin-setup-grid,.admin-security-reconfigure-grid{grid-template-columns:1fr}
  .admin-setup-confirm-column{border-top:1px solid var(--border);padding-top:26px}
  .admin-security-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  body.admin-login-page .admin-two-factor-shell>h1{font-size:clamp(1.85rem,9vw,2.7rem)}
  body.admin-login-page .admin-two-factor-card{padding:22px 17px}
  .admin-auth-step{align-items:flex-start}
  .admin-two-factor-qr{max-width:260px}
  .admin-recovery-code-grid{grid-template-columns:1fr}
  .admin-security-details>div{grid-template-columns:1fr;gap:5px}
  .admin-security-details dd{text-align:left}
  .admin-security-reconfigure-start{grid-template-columns:1fr}
  .admin-security-reconfigure-start .btn{grid-column:auto;width:100%}
  .admin-security-event-list article{grid-template-columns:30px minmax(0,1fr)}
  .admin-security-event-list time{grid-column:2;white-space:normal}
  .admin-security-code-actions,.admin-security-code-actions form,.admin-security-code-actions .btn{width:100%}
}
@media print{
  body.admin-page>*:not(main),body.admin-page main.wrap>*:not(.admin-security-recovery-card){display:none!important}
  body.admin-page main.wrap{display:block!important;width:100%!important;padding:0!important}
  .admin-security-recovery-card{display:block!important;box-shadow:none!important;border:0!important}
  .admin-security-code-actions,.admin-security-recovery-card .notice{display:none!important}
  .admin-recovery-code-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* v2.13.0 – emailed admin invitations and account deletion */
.admin-users-heading{align-items:center}
.admin-temporary-credentials{
  margin-bottom:18px;
  border-color:rgba(180,106,28,.34);
  box-shadow:0 18px 42px rgba(120,72,20,.12);
}
.admin-temporary-credentials>p{color:var(--muted);line-height:1.55}
.admin-credential-list{display:grid;gap:10px;margin:20px 0}
.admin-credential-list>div{
  display:grid;
  grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);
  gap:18px;
  align-items:center;
  padding:13px 15px;
  border:1px solid var(--border);
  border-radius:11px;
  background:#f8f5f1;
}
.admin-credential-list dt{color:var(--muted);font-size:.86rem;font-weight:800}
.admin-credential-list dd{margin:0}
.admin-credential-list code{font-size:1rem;font-weight:850;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}
.admin-user-editor-card{margin-bottom:18px}
.admin-user-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.admin-user-editor-heading h2{margin:3px 0 0}
.admin-user-editor-heading p.muted{margin:4px 0 0}
.admin-user-form{display:grid;gap:22px}
.admin-user-basics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}
.admin-user-basics-grid .field{margin:0}
.admin-user-basics-grid input,.admin-user-basics-grid select{width:100%;box-sizing:border-box}
.admin-permission-fieldset{
  min-width:0;
  margin:0;
  padding:20px;
  border:1px solid rgba(39,53,122,.16);
  border-radius:14px;
  background:rgba(255,255,255,.5);
}
.admin-permission-fieldset legend{padding:0 8px;font-size:1rem;font-weight:850}
.admin-permission-fieldset>p{margin:0 0 15px;line-height:1.45}
.admin-permission-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.admin-permission-actions .btn{min-height:38px;padding:7px 12px;font-size:.82rem}
.admin-permission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.admin-permission-option{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(39,53,122,.13);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.admin-permission-option:hover{border-color:rgba(216,117,38,.48);box-shadow:0 7px 18px rgba(45,35,25,.07)}
.admin-permission-option:has(input:checked){border-color:rgba(40,122,80,.42);background:rgba(40,122,80,.055)}
.admin-permission-option input{flex:0 0 21px;width:21px;height:21px;margin:1px 0 0;accent-color:#287a50}
.admin-permission-option span,.admin-permission-option strong,.admin-permission-option small{display:block;min-width:0}
.admin-permission-option strong{color:#28231f;font-size:.94rem}
.admin-permission-option small{margin-top:4px;color:var(--muted);font-size:.8rem;line-height:1.42}
.admin-permission-fieldset.is-disabled{opacity:.58;background:rgba(235,232,228,.6)}
.admin-permission-fieldset.is-disabled .admin-permission-option{cursor:not-allowed;box-shadow:none}
.admin-permission-fieldset.is-disabled .admin-permission-actions{pointer-events:none}
.admin-user-active-toggle{margin:0}
.admin-user-security-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:26px;
  padding-top:24px;
  border-top:1px solid var(--border);
}
.admin-user-security-actions>div{padding:18px;border:1px solid var(--border);border-radius:13px;background:#f9f6f2}
.admin-user-security-actions h3{margin:0 0 7px}
.admin-user-security-actions p{min-height:3.8em;margin:0 0 15px;line-height:1.5}
.admin-user-passkey-summary{display:grid;gap:7px;margin:0 0 15px;padding:0;list-style:none}
.admin-user-passkey-summary li{padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#fff}
.admin-user-passkey-summary strong,.admin-user-passkey-summary small{display:block}
.admin-user-passkey-summary small{margin-top:2px;color:var(--muted);font-size:.78rem}
.admin-user-invitation-status{margin-top:20px}
.admin-user-danger-zone{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(168,60,52,.38);
  border-radius:13px;
  background:#fff8f7;
}
.admin-user-danger-zone h3{margin:0 0 7px;color:#8f2825}
.admin-user-danger-zone p{margin:0;line-height:1.5}
.admin-user-danger-zone form{flex:0 0 auto}
.btn.danger{background:#a83c34;border-color:#a83c34;color:#fff}
.btn.danger:hover,.btn.danger:focus{background:#842d28;border-color:#842d28;color:#fff}
.admin-users-list-card{margin-top:18px}
.admin-users-list{display:grid;gap:8px}
.admin-user-row{
  display:grid;
  grid-template-columns:44px minmax(180px,1.2fr) minmax(230px,1fr) minmax(120px,.55fr) auto;
  gap:14px;
  align-items:center;
  padding:13px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
}
.admin-user-row.inactive{opacity:.68;background:#f3f0ed}
.admin-user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#27357a;color:#fff;font-weight:900}
.admin-user-identity strong,.admin-user-identity span,.admin-user-meta small,.admin-user-meta span{display:block}
.admin-user-identity span,.admin-user-meta small{margin-top:3px;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}
.admin-user-badges{display:flex;flex-wrap:wrap;gap:6px}
.admin-user-meta span{margin-top:3px;font-size:.84rem}
.admin-security-password-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
}
.admin-security-password-form .btn{grid-column:1/-1;justify-self:start}
.admin-access-denied-card{max-width:760px}
.admin-access-denied-card>p{color:var(--muted);line-height:1.55}

@media(max-width:1100px){
  .admin-user-row{grid-template-columns:44px minmax(0,1fr) auto}
  .admin-user-badges{grid-column:2}
  .admin-user-meta{grid-column:2}
  .admin-user-row>.btn{grid-column:3;grid-row:1 / span 3}
}
@media(max-width:760px){
  .admin-users-heading{align-items:stretch;flex-direction:column}
  .admin-users-heading>.btn{width:100%}
  .admin-user-basics-grid,.admin-permission-grid,.admin-user-security-actions,.admin-security-password-form{grid-template-columns:1fr}
  .admin-security-password-form .btn{grid-column:auto;width:100%}
  .admin-user-security-actions p{min-height:0}
  .admin-user-row{grid-template-columns:42px minmax(0,1fr);gap:10px 12px}
  .admin-user-row>.btn{grid-column:1/-1;grid-row:auto;width:100%}
  .admin-user-badges,.admin-user-meta{grid-column:2}
  .admin-user-editor-heading{align-items:stretch;flex-direction:column}
  .admin-user-editor-heading>.btn{width:100%}
  .admin-user-danger-zone{align-items:stretch;flex-direction:column}
  .admin-user-danger-zone form,.admin-user-danger-zone .btn{width:100%}
  .admin-credential-list>div{grid-template-columns:1fr;gap:5px}
  .admin-permission-fieldset{padding:16px 12px}
}

/* v2.14.0 – passwordless WebAuthn/passkey sign-in */
.admin-passkey-login{display:grid;gap:16px;text-align:center}
.admin-passkey-login-heading{display:flex;align-items:center;justify-content:center;gap:13px;text-align:left}
.admin-passkey-login-heading strong,.admin-passkey-login-heading small{display:block}
.admin-passkey-login-heading strong{color:#25211e;font-size:1.08rem}
.admin-passkey-login-heading small{margin-top:3px;color:var(--muted);font-size:.86rem}
.admin-passkey-icon{
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(145deg,#27357a,#15235f);
  color:#fff;
  font-size:1.25rem;
  font-weight:900;
  box-shadow:0 9px 22px rgba(39,53,122,.2);
}
.admin-passkey-button{justify-self:center;min-width:min(100%,260px);background:#27357a;border-color:#27357a}
.admin-passkey-button:hover,.admin-passkey-button:focus{background:#172561;border-color:#172561}
.admin-passkey-status{margin:0;padding:10px 13px;border-radius:10px;font-size:.88rem;line-height:1.45;text-align:center}
.admin-passkey-status[data-state="working"]{background:#f3f0fb;color:#3a3472}
.admin-passkey-status[data-state="success"]{background:#edf8f1;color:#1d693f}
.admin-passkey-status[data-state="error"]{background:#fff0ee;color:#8f2825}
.admin-login-divider{display:flex;align-items:center;gap:14px;margin:25px 0;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.admin-login-divider::before,.admin-login-divider::after{content:"";height:1px;flex:1;background:var(--border)}
.admin-passkey-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}
.admin-passkey-section-heading h2{margin:3px 0 0}
.admin-passkey-register-form{margin-top:22px;padding:20px;border:1px solid rgba(39,53,122,.16);border-radius:14px;background:#f8f8fc}
.admin-passkey-register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.admin-passkey-register-grid-single{grid-template-columns:minmax(0,480px)}
.admin-passkey-register-grid .field{margin:0}
.admin-passkey-register-form .admin-passkey-button{justify-self:start}
.admin-passkey-list{display:grid;gap:10px;margin-top:24px}
.admin-passkey-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:13px;background:#fff}
.admin-passkey-item .admin-passkey-icon{width:42px;height:42px;border-radius:12px}
.admin-passkey-item-main strong,.admin-passkey-item-main small{display:block}
.admin-passkey-item-main small{margin-top:4px;color:var(--muted);font-size:.8rem;line-height:1.4}
.admin-passkey-item-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.admin-passkey-remove{position:relative}
.admin-passkey-remove>summary{padding:8px 11px;border:1px solid var(--border);border-radius:9px;color:#8f2825;font-size:.82rem;font-weight:800;cursor:pointer;list-style:none}
.admin-passkey-remove>summary::-webkit-details-marker{display:none}
.admin-passkey-remove[open]{grid-column:1/-1;margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}
.admin-passkey-remove[open]>summary{display:inline-block;margin-bottom:12px}
.admin-passkey-remove-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end}
.admin-passkey-remove-form .field{margin:0}
.admin-passkey-remove-form input{width:100%;box-sizing:border-box}
.admin-passkey-remove-form .btn{align-self:end}
.admin-user-security-actions{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

@media(max-width:980px){
  .admin-passkey-register-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-passkey-item{grid-template-columns:46px minmax(0,1fr) auto}
  .admin-passkey-item-meta{grid-column:2}
  .admin-passkey-remove{grid-column:3;grid-row:1 / span 2}
  .admin-passkey-remove[open]{grid-column:1/-1;grid-row:auto}
}
@media(max-width:680px){
  .admin-passkey-register-grid,.admin-passkey-remove-form{grid-template-columns:1fr}
  .admin-passkey-register-form{padding:16px 13px}
  .admin-passkey-register-form .admin-passkey-button{width:100%}
  .admin-passkey-item{grid-template-columns:42px minmax(0,1fr)}
  .admin-passkey-item-meta{grid-column:2;justify-content:flex-start}
  .admin-passkey-remove{grid-column:1/-1;grid-row:auto}
  .admin-passkey-remove>summary{text-align:center}
  .admin-passkey-remove-form .btn{width:100%}
}

/* v2.15.5 – grupperade orderåtgärder och tydlig Wallet-status */
.order-action-groups{display:grid;gap:14px;margin-top:22px}
.order-action-group{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.62)}
.order-action-group-label{display:block;margin:0 0 9px;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.order-action-group .order-detail-page-actions{margin:0;display:flex;flex-wrap:wrap;gap:10px;max-width:none}
.order-action-group .order-detail-page-actions .btn{min-height:48px}
.wallet-admin-status-card{margin:0 0 22px}
.wallet-admin-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.wallet-admin-status-heading h2{margin:0 0 4px}
.wallet-admin-status-heading p{margin:0}
.wallet-admin-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wallet-admin-provider{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f9fbfc;min-width:0}
.wallet-admin-provider small{color:var(--muted);overflow-wrap:anywhere}
@media(max-width:720px){
  .wallet-admin-status-heading{flex-direction:column}
  .wallet-admin-status-heading .inline-action-form,.wallet-admin-status-heading .btn{width:100%}
  .wallet-admin-status-grid{grid-template-columns:1fr}
  .order-action-group .order-detail-page-actions{display:grid;grid-template-columns:1fr}
}

/* Admin dashboard v2.17.0 */
.admin-dashboard-heading{align-items:flex-end}.admin-dashboard-date{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}.admin-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}.admin-metric-card{background:var(--surface,#fff);border:1px solid rgba(20,45,78,.12);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(16,38,68,.06);display:flex;flex-direction:column;gap:6px}.admin-metric-card>span{font-weight:700;color:var(--muted)}.admin-metric-card>strong{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;color:var(--blue,#163d68)}.admin-metric-card>small{color:var(--muted)}.admin-metric-card-attention{border-color:rgba(184,111,0,.25)}.admin-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px}.admin-dashboard-panel{padding:22px}.admin-dashboard-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-dashboard-panel-heading h2{margin:0}.admin-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-shortcut{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid rgba(20,45,78,.12);border-radius:14px;text-decoration:none;background:rgba(247,250,253,.8);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-shortcut:hover{transform:translateY(-2px);border-color:rgba(22,61,104,.3);box-shadow:0 10px 24px rgba(16,38,68,.08)}.admin-shortcut strong{color:var(--blue,#163d68)}.admin-shortcut span{color:var(--muted);font-size:.92rem}.admin-recent-orders{display:grid;gap:8px}.admin-recent-order{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(20,45,78,.1);text-decoration:none}.admin-recent-order:last-child{border-bottom:0}.admin-recent-order>span{display:flex;flex-direction:column;gap:3px}.admin-recent-order>span:last-child{text-align:right}.admin-recent-order small{color:var(--muted)}
@media(max-width:1050px){.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-layout{grid-template-columns:1fr}}
@media(max-width:640px){.admin-metric-grid,.admin-shortcut-grid{grid-template-columns:1fr}.admin-dashboard-heading{align-items:flex-start}.admin-dashboard-date{margin-top:6px}.admin-dashboard-panel{padding:17px}.admin-recent-order{gap:10px}}

/* v2.18.1 – återköp av valfria orderrader */
.partial-refund-card{border-color:rgba(168,60,52,.24)}
.partial-refund-card>.order-detail-heading{align-items:flex-start}
.partial-refund-card .section-kicker{margin:0 0 4px}
.partial-refund-batch-form{display:grid;gap:18px}
.partial-refund-options{display:grid;gap:12px;margin-top:2px}
.partial-refund-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:18px;align-items:end;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fbfcfd}
.partial-refund-option-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0}
.partial-refund-option-heading strong,.partial-refund-option-heading small{display:block}
.partial-refund-option-heading small{margin-top:4px;color:var(--muted)}
.partial-refund-quantity-field{margin:0}
.partial-refund-quantity-field select,.partial-refund-batch-controls input[type="text"]{width:100%;box-sizing:border-box}
.partial-refund-size-grid{display:grid;gap:8px;margin-top:6px}.partial-refund-size-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(20,45,78,.1);border-radius:10px;background:#fff}.partial-refund-size-row span{font-weight:700}.partial-refund-size-row small{font-weight:400;color:var(--muted)}.partial-refund-size-row select{width:100%}
.partial-refund-batch-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px 18px;align-items:end;padding-top:2px}
.partial-refund-batch-controls .field{margin:0}
.partial-refund-confirm{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid rgba(168,60,52,.22);border-radius:10px;background:#fff8f7;cursor:pointer}
.partial-refund-confirm input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:#a83c34}
.partial-refund-batch-controls .btn{grid-column:1/-1;justify-self:start}
.partial-refund-history{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}
.partial-refund-history h3{margin:0 0 14px}
@media(max-width:820px){
  .partial-refund-option{grid-template-columns:1fr}
  .partial-refund-batch-controls{grid-template-columns:1fr}
  .partial-refund-confirm,.partial-refund-batch-controls .btn{grid-column:auto;width:100%}
}
@media(max-width:560px){
  .partial-refund-option-heading{flex-direction:column}
  .partial-refund-option{padding:15px}
}

/* NA40 on-site point of sale */
.onsite-heading{align-items:flex-end}
.onsite-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.onsite-summary-grid article{padding:17px 18px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.onsite-summary-grid span{display:block;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.onsite-summary-grid strong{display:block;margin-top:7px;color:var(--na-blue-dark);font-size:1.35rem}
.onsite-station-tabs{display:flex;gap:8px;margin:0 0 20px;padding:6px;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:auto}
.onsite-station-tabs a{flex:1;min-width:145px;padding:11px 15px;border-radius:10px;text-align:center;text-decoration:none;font-weight:700;color:var(--na-blue-dark)}
.onsite-station-tabs a.active{background:var(--na-blue);color:#fff}
.onsite-pos{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.onsite-product-section{min-width:0}
.onsite-section-heading,.onsite-sale-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.onsite-section-heading h2,.onsite-sale-topline h2{margin:0}
.onsite-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.onsite-product-card{padding:18px;border:2px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.onsite-product-card.has-selection{border-color:var(--na-blue);transform:translateY(-1px)}
.onsite-product-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.onsite-product-card-heading h3{margin:3px 0 6px;font-size:1.1rem}
.onsite-product-card-heading strong{color:var(--na-blue-dark);font-size:1.08rem}
.onsite-product-card-heading img{width:72px;height:72px;border-radius:12px;object-fit:contain;background:var(--na-blue-pale)}
.onsite-product-category{display:inline-block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.onsite-stock{margin:0 0 12px;padding:7px 10px;border-radius:8px;background:var(--success);font-size:.85rem}
.onsite-stock.is-low{background:#fff3d8;color:#674b00}
.onsite-stepper{display:grid;grid-template-columns:42px 52px 42px;justify-content:end;align-items:center;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:#fff}
.onsite-stepper button{width:42px;height:42px;border:0;background:var(--na-blue-soft);color:var(--na-blue-dark);font-size:1.45rem;font-weight:700;cursor:pointer}
.onsite-stepper button:hover,.onsite-stepper button:focus{background:var(--na-blue);color:#fff}
.onsite-stepper input{width:52px;height:42px;border:0;border-inline:1px solid var(--border);text-align:center;font:700 1.05rem Arial,sans-serif;background:#fff;color:var(--text)}
.onsite-stepper-large{grid-template-columns:64px 76px 64px;justify-content:center;margin-top:8px}
.onsite-stepper-large button{width:64px;height:54px}
.onsite-stepper-large input{width:76px;height:54px;font-size:1.2rem}
.onsite-variant-grid{display:grid;gap:8px}
.onsite-variant-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #e5edf2}
.onsite-variant-row>span{font-weight:700}
.onsite-cart-panel{position:sticky;top:24px;margin:0;padding:22px}
.onsite-cart-panel h2{margin-bottom:6px}
.onsite-cart-total{padding:16px 0 18px;color:var(--na-blue-dark);font-size:2rem;font-weight:800;border-bottom:1px solid var(--border)}
.onsite-cart-count{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.onsite-country-field[hidden]{display:none!important}
.onsite-country-field{display:grid;gap:7px;margin:4px 0 14px}
.onsite-country-field select{display:block;width:100%;min-height:48px;padding:10px 42px 10px 12px;border:1px solid var(--border);border-radius:8px;background-color:#fff;color:var(--text);font-size:1rem;line-height:1.25}
.onsite-country-field select:focus{border-color:var(--na-blue);outline:3px solid color-mix(in srgb,var(--na-blue) 20%,transparent)}
.onsite-country-field small{display:block;color:var(--muted);line-height:1.45}
.onsite-payment-methods{display:grid;gap:8px;margin:8px 0 16px;padding:0;border:0}
.onsite-payment-methods legend{margin-bottom:8px;font-weight:700}
.onsite-payment-methods label{display:block;cursor:pointer}
.onsite-payment-methods label>input{position:absolute;opacity:0;pointer-events:none}
.onsite-payment-methods label>span{display:block;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.onsite-payment-methods label>input:checked+span{border:2px solid var(--na-blue);padding:10px 11px;background:var(--na-blue-soft)}
.onsite-payment-methods strong,.onsite-payment-methods small{display:block}
.onsite-payment-methods small{margin-top:2px;color:var(--muted)}
.onsite-checkin-option,.onsite-test-option,.onsite-product-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--na-blue-pale);cursor:pointer}
.onsite-test-option{margin-bottom:10px;border-color:#d39a2f;background:#fff7df}
.onsite-checkin-option input,.onsite-test-option input,.onsite-product-toggle input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}
.onsite-checkin-option span,.onsite-test-option span,.onsite-product-toggle span{display:block}
.onsite-checkin-option strong,.onsite-checkin-option small,.onsite-test-option strong,.onsite-test-option small,.onsite-product-toggle strong,.onsite-product-toggle small{display:block}
.onsite-checkin-option small,.onsite-test-option small,.onsite-product-toggle small{margin-top:2px;color:var(--muted)}
.onsite-test-notice{margin:16px 0}
.onsite-create-sale{width:100%;margin-top:16px;min-height:56px;font-size:1.05rem}
.onsite-active-sale{max-width:900px;margin-inline:auto}
.onsite-receipt-lines{display:grid;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:18px 0}
.onsite-receipt-lines>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--border);background:#fff}
.onsite-receipt-lines>div:last-child{border-bottom:0}
.onsite-receipt-lines small{display:block;color:var(--muted);margin-top:2px}
.onsite-receipt-lines .onsite-receipt-total{padding:16px 14px;background:var(--na-blue-soft);font-size:1.2rem;color:var(--na-blue-dark)}
.onsite-payment-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--na-blue-pale);margin:18px 0}
.onsite-swish-panel,.onsite-stripe-panel{grid-template-columns:290px minmax(0,1fr);align-items:center}
.onsite-payment-panel h3{margin-bottom:10px;font-size:1.35rem}
.onsite-qr{display:flex;align-items:center;justify-content:center;min-height:260px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.onsite-qr svg{display:block;width:min(100%,260px);height:auto}
.onsite-payment-details{display:grid;gap:8px;margin:16px 0}
.onsite-payment-details div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.onsite-payment-details dt{color:var(--muted)}
.onsite-payment-details dd{margin:0;font-weight:800}
.onsite-confirm-form{margin-top:12px}
.onsite-cash-form{max-width:460px}
.onsite-change-display{display:flex;align-items:center;justify-content:space-between;margin:12px 0 16px;padding:15px;border-radius:10px;background:#fff;border:1px solid var(--border);font-size:1.15rem}
.onsite-change-display strong{font-size:1.45rem;color:var(--na-blue-dark)}
.onsite-card-amount{margin:18px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--na-blue-dark);font-size:2rem;font-weight:800;text-align:center}
.onsite-waiting-status{margin:14px 0;padding:11px 13px;border-radius:9px;background:#fff;border:1px solid var(--border);font-weight:700}
.onsite-complete-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.onsite-cancel-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.btn.danger{border-color:#a62b2b;background:#a62b2b;color:#fff}
.btn.danger:hover,.btn.danger:focus{border-color:#7f1e1e;background:#7f1e1e}
.onsite-recent-sales{margin-top:22px}
.onsite-sales-list{display:grid;gap:8px}
.onsite-sales-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;background:#fff;color:var(--text)}
.onsite-sales-list a:hover{border-color:var(--na-blue);background:var(--na-blue-pale)}
.onsite-sales-list span{display:block}
.onsite-sales-list small{display:block;color:var(--muted);margin-top:2px}
.onsite-sales-list a>span:last-child{text-align:right}
.onsite-product-settings{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--na-blue-pale)}
.onsite-product-settings legend{padding:0 7px;color:var(--na-blue-dark);font-weight:800}
.onsite-product-settings-grid{margin:14px 0}

@media(max-width:1100px){
  .onsite-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .onsite-pos{grid-template-columns:minmax(0,1fr) 300px}
  .onsite-product-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .onsite-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onsite-pos{display:block}
  .onsite-cart-panel{position:static;margin-top:18px}
  .onsite-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onsite-swish-panel,.onsite-stripe-panel{grid-template-columns:220px minmax(0,1fr)}
  .onsite-qr{min-height:210px}
}
@media(max-width:600px){
  .onsite-summary-grid{grid-template-columns:1fr 1fr;gap:8px}
  .onsite-summary-grid article{padding:13px}
  .onsite-summary-grid strong{font-size:1.05rem}
  .onsite-product-grid{grid-template-columns:1fr}
  .onsite-swish-panel,.onsite-stripe-panel{grid-template-columns:1fr}
  .onsite-qr{min-height:240px}
  .onsite-sale-topline,.onsite-section-heading{align-items:flex-start}
  .onsite-receipt-lines>div{gap:10px}
  .onsite-payment-details div{grid-template-columns:90px 1fr}
  .onsite-station-tabs a{min-width:125px;padding-inline:10px}
  .onsite-product-settings-grid{grid-template-columns:1fr}
}
@media print{
  body.admin-page .site-header,body.admin-page .site-footer,body.admin-page .admin-toolbar,body.admin-page .onsite-summary-grid,body.admin-page .onsite-station-tabs,body.admin-page .onsite-recent-sales,body.admin-page .onsite-complete-actions{display:none!important}
  body.admin-page main.wrap{display:block!important;width:100%!important;margin:0!important;padding:0!important}
  /* Override the earlier 2FA recovery-code print rule, which otherwise hides
     every direct child in the admin main area and produces a blank receipt. */
  body.admin-page main.wrap>.onsite-active-sale{display:block!important;box-shadow:none!important;border:0!important;max-width:none!important;margin:0!important;padding:0!important;break-inside:avoid}
}

/* Product catalogue editor v2.20 */
.admin-products-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.admin-new-product{margin-bottom:22px;border:2px solid var(--na-blue)}
.product-visibility-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px}
.product-status-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.product-editor-details{border-top:1px solid var(--border);padding-top:14px}
.product-editor-details>summary{cursor:pointer;font-weight:800;color:var(--na-blue-dark);padding:8px 0;list-style-position:inside}
.product-editor-form{margin-top:14px}
.product-editor-section{margin:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.product-editor-section legend{padding:0 7px;color:var(--na-blue-dark);font-weight:800}
.product-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.product-price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-editor-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.product-archive-form{margin-top:12px;padding-top:14px;border-top:1px solid var(--border)}
.product-archive-form .btn{font-size:.9rem}
.status-badge.status-info{background:#e6f2ff;color:#0d4f8b;border-color:#b9d9f5}
.product-editor-section textarea{resize:vertical;min-height:96px}
@media(max-width:900px){
  .product-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .admin-products-header{align-items:stretch;flex-direction:column}
  .admin-products-header .btn{width:100%}
  .product-editor-grid,.product-price-grid{grid-template-columns:1fr}
  .product-editor-actions,.product-editor-actions .btn,.product-archive-form .btn{width:100%}
}

.onsite-product-toggle.is-disabled{opacity:.62}

/* v2.21 – central färg- och typografiadministration */
.appearance-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.appearance-page-heading p{max-width:760px;margin:6px 0 0}
.appearance-eyebrow,.appearance-preview-kicker{display:block;margin-bottom:5px;color:var(--na-blue);font-size:.73rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.appearance-publish-state{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:210px;padding:13px 15px;border:1px solid var(--border);border-radius:13px;background:var(--na-blue-pale);text-align:right}
.appearance-publish-state span{color:var(--muted);font-size:.82rem}
.appearance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,390px);gap:22px;align-items:start;margin-top:22px}
.appearance-editor{min-width:0}
.appearance-preview-column{position:sticky;top:126px;display:grid;gap:18px;min-width:0}
.appearance-preview-column>.card{margin:0}
.appearance-toolbar-card{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 20px}
.appearance-toolbar-card>div{display:grid;gap:6px;min-width:230px}
.appearance-toolbar-card select{min-height:44px;padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}
.appearance-toolbar-card p{max-width:520px;margin:0;text-align:right}
/* v2.21.2 – robust theme presets */
.appearance-preset-panel{display:block;padding:22px}
.appearance-preset-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.appearance-preset-heading>div{display:block;min-width:0}
.appearance-preset-heading h2{margin:0 0 6px;font-size:1.25rem}
.appearance-preset-heading p{max-width:760px;margin:0;text-align:left}
.appearance-preset-heading-actions{display:grid;justify-items:end;gap:9px;flex:0 0 auto}
.appearance-preset-heading-actions .btn{white-space:nowrap}
.appearance-js-state{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--na-blue-pale);color:var(--muted);font-size:.76rem;font-weight:800;white-space:nowrap}
.appearance-js-state::before{content:"";width:8px;height:8px;border-radius:50%;background:#b7791f;box-shadow:0 0 0 3px rgba(183,121,31,.14)}
.appearance-js-state.is-ready{color:#17663a;background:#ebfaf0;border-color:#96d5ad}
.appearance-js-state.is-ready::before{background:#239253;box-shadow:0 0 0 3px rgba(35,146,83,.14)}
.appearance-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.appearance-preset-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;min-width:0;min-height:168px;padding:13px;border:2px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}
.appearance-preset-card:hover,.appearance-preset-card:focus-visible{border-color:var(--na-blue);background:var(--na-blue-pale);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12);outline:none}
.appearance-preset-card.is-selected,.appearance-preset-card[aria-pressed="true"]{border-color:var(--na-blue);background:var(--na-blue-pale);box-shadow:0 0 0 3px rgba(0,103,163,.14)}
.appearance-preset-swatches{display:grid;grid-template-columns:repeat(4,1fr);height:42px;overflow:hidden;border:1px solid rgba(0,0,0,.14);border-radius:9px}
.appearance-preset-swatches i{display:block;min-width:0}
.appearance-preset-card strong{display:block;color:var(--na-blue-dark);font-size:1rem}
.appearance-preset-card small{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}
.appearance-preset-action{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:30px;padding:5px 9px;border-radius:8px;background:var(--na-blue-soft);color:var(--na-blue-dark);font-size:.75rem;font-weight:900}
.appearance-preset-card.is-selected .appearance-preset-action,.appearance-preset-card.is-active-preset .appearance-preset-action,.appearance-preset-card[aria-current="true"] .appearance-preset-action{background:var(--na-blue);color:#fff}
.appearance-preset-status{display:block;min-height:24px;margin-top:13px;padding:0;color:var(--muted);font-size:.84rem;font-weight:700}
.appearance-layout.has-unpublished-theme .appearance-actions-card{border-color:var(--na-blue);box-shadow:0 0 0 3px rgba(0,103,163,.1)}
.appearance-preview-card.is-theme-changing{animation:appearance-theme-change .5s ease both}
@keyframes appearance-theme-change{0%{transform:scale(.985);opacity:.72}55%{transform:scale(1.008);opacity:1}100%{transform:scale(1)}}
.appearance-section{padding:0;overflow:hidden}
.appearance-section>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;list-style:none;background:rgba(255,255,255,.38)}
.appearance-section>summary::-webkit-details-marker{display:none}
.appearance-section>summary::after{content:"+";display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:var(--na-blue-soft);color:var(--na-blue-dark);font-size:1.25rem;font-weight:800}
.appearance-section[open]>summary::after{content:"−"}
.appearance-section>summary span,.appearance-section>summary strong,.appearance-section>summary small{display:block}
.appearance-section>summary strong{font-size:1.08rem}
.appearance-section>summary small{margin-top:3px;color:var(--muted);font-size:.84rem;font-weight:400}
.appearance-section>summary~*{margin-left:22px;margin-right:22px}
.appearance-section>summary+.appearance-color-grid,.appearance-section>summary+.appearance-switch{margin-top:20px}
.appearance-section>*:last-child{margin-bottom:22px}
.appearance-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}
.appearance-color-field{display:grid;gap:8px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.55)}
.appearance-color-field>label{font-size:.88rem;font-weight:700}
.appearance-color-control{display:flex;align-items:center;gap:9px}
.appearance-color-control input[type=color]{width:48px;height:40px;padding:2px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer}
.appearance-color-control output{min-width:0;overflow:hidden;color:var(--muted);font:700 .76rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.appearance-override-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;cursor:pointer}
.appearance-override-toggle input{grid-row:1 / span 2;width:19px;height:19px;margin:0}
.appearance-override-toggle span,.appearance-override-toggle small{display:block;min-width:0}
.appearance-override-toggle small{color:var(--muted);font-size:.72rem;font-weight:400}
.appearance-color-field.is-inheriting{background:rgba(255,255,255,.22);opacity:.72}
.appearance-color-field.is-inheriting .appearance-color-control input{filter:grayscale(1)}
.appearance-number-grid,.appearance-font-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}
.appearance-number-grid>label,.appearance-font-grid>label{display:grid;gap:7px;padding:13px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.55);font-size:.88rem;font-weight:700}
.appearance-number-grid label span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.82rem;font-weight:500}
.appearance-number-grid input,.appearance-font-grid select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:inherit}
.appearance-number-grid input{max-width:110px}
.appearance-switch{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--na-blue-pale);cursor:pointer}
.appearance-switch input{width:20px;height:20px;margin-top:2px}
.appearance-switch span,.appearance-switch strong,.appearance-switch small{display:block}
.appearance-switch small{margin-top:2px;color:var(--muted)}
.appearance-actions-card{display:flex;align-items:center;justify-content:space-between;gap:22px}
.appearance-actions-card>div{display:flex;gap:10px;flex-wrap:wrap}
.appearance-actions-card p{max-width:500px;margin:0;color:var(--muted);font-size:.88rem;text-align:right}
.appearance-preview-card{padding:0!important;overflow:hidden;background:var(--preview-page,#10151a)!important;border-color:var(--preview-border,var(--border))!important;box-shadow:var(--preview-shadow,var(--shadow))!important;font-family:var(--preview-font-body,Arial,sans-serif);font-size:var(--preview-base-size,16px);font-weight:var(--preview-body-weight,400);letter-spacing:var(--preview-letter-spacing,0);line-height:var(--preview-line-height,1.5)}
.appearance-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--preview-header,#101416);color:var(--preview-header-text,#fff)}
.appearance-preview-header strong{color:var(--preview-header-active,#ffc267);font-size:1.1rem}
.appearance-preview-header span{font-size:.72rem;text-align:right}
.appearance-preview-body{position:relative;padding:24px 20px;background-image:linear-gradient(var(--preview-overlay,rgba(0,0,0,.5)),var(--preview-overlay,rgba(0,0,0,.5))),url("../convention-background.jpg");background-position:center bottom;background-size:cover}
.appearance-preview-card.without-background-image .appearance-preview-body{background-image:none;background-color:var(--preview-page,#10151a)}
.appearance-preview-body::before{content:"";position:absolute;inset:13px;border-radius:var(--preview-radius,14px);background:var(--preview-surface,#fff);border:1px solid var(--preview-border,var(--border));box-shadow:var(--preview-shadow,var(--shadow))}
.appearance-preview-body>*{position:relative;z-index:1}
.appearance-preview-kicker{color:var(--preview-primary,#d87526)}
.appearance-preview-body h2{margin:0 0 10px;color:var(--preview-heading,#342720);font-family:var(--preview-font-heading,Arial,sans-serif);font-weight:var(--preview-heading-weight,600);font-size:1.45rem}
.appearance-preview-body p{color:var(--preview-text,#242a2e);font-size:.86rem}
.appearance-preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.appearance-preview-stats article{padding:12px;border:1px solid var(--preview-border,var(--border));border-radius:calc(var(--preview-radius,14px) - 3px);background:rgba(255,255,255,.22)}
.appearance-preview-stats span,.appearance-preview-stats strong{display:block}
.appearance-preview-stats span{color:var(--preview-muted,#626a70);font-size:.72rem}
.appearance-preview-stats strong{margin-top:3px;color:var(--preview-text,#242a2e);font:800 1.5rem/1 var(--preview-font-stat,Arial,sans-serif)}
.appearance-preview-button{width:100%;min-height:44px;border:1px solid var(--preview-button,#d87526);border-radius:var(--preview-button-radius,10px);background:var(--preview-button,#d87526);color:var(--preview-button-text,#fff);font-family:var(--preview-font-button,Arial,sans-serif);font-weight:var(--preview-button-weight,600);cursor:default}
.appearance-preview-button:hover,.appearance-preview-button:focus-visible{background:var(--preview-button-hover,#b95417);border-color:var(--preview-button-hover,#b95417);color:var(--preview-button-hover-text,var(--preview-button-text,#fff));transform:translateY(-1px)}
.appearance-preview-notices{display:grid;gap:7px;margin-top:12px}
.appearance-preview-notices span{display:block;padding:8px 10px;border:1px solid;border-radius:8px;font-size:.74rem;font-weight:700}
.appearance-preview-notices .success{background:var(--preview-success,#ebfaf0);border-color:var(--preview-success-border,#96d5ad);color:var(--preview-text,#242a2e)}
.appearance-preview-notices .warning{background:var(--preview-warning,#fff3cd);border-color:var(--preview-warning-border,#d99b1e);color:var(--preview-text,#242a2e)}
.appearance-preview-notices .error{background:var(--preview-error,#ffefed);border-color:var(--preview-error-border,#e8abab);color:var(--preview-text,#242a2e)}
.appearance-preview-footer{padding:11px 18px;background:var(--preview-footer,#fffaf4);color:var(--preview-footer-text,#626a70);font-size:.75rem;text-align:center}
.appearance-contrast-card h2,.appearance-safety-card h2{font-size:1.05rem}
.appearance-contrast-card .notice{margin:0}
.appearance-contrast-card ul{margin:8px 0 0;padding-left:19px}
.appearance-safety-card{display:grid;gap:10px}
.appearance-safety-card .btn{width:100%}
.appearance-safety-card p{margin:0}
.appearance-import-card{margin-top:22px}
.appearance-import-card form{display:grid;gap:12px}
.appearance-import-card textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.appearance-import-card .btn{justify-self:start}
@media(max-width:1260px){.appearance-layout{grid-template-columns:1fr}.appearance-preview-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-preview-card{grid-row:1 / span 2}.appearance-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.appearance-page-heading,.appearance-toolbar-card,.appearance-actions-card{align-items:stretch;flex-direction:column}.appearance-publish-state{align-items:flex-start;text-align:left}.appearance-toolbar-card p,.appearance-actions-card p{text-align:left}.appearance-color-grid,.appearance-number-grid,.appearance-font-grid,.appearance-preview-column{grid-template-columns:1fr}.appearance-preview-card{grid-row:auto}.appearance-actions-card>div{display:grid}.appearance-section>summary{padding:17px}.appearance-section>summary~*{margin-left:17px;margin-right:17px}.appearance-import-card .btn{justify-self:stretch}.appearance-preset-heading{display:grid}.appearance-preset-heading-actions{justify-items:start}.appearance-js-state{justify-self:start}.appearance-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-preset-card{min-height:154px}}
@media(max-width:480px){.appearance-preset-grid{grid-template-columns:1fr}.appearance-preset-card{min-height:0}}


/* v2.21.4 – reliable standalone preset activation. */
.appearance-preset-activation-form{display:none}
.appearance-preset-card.is-activating{opacity:.72;cursor:progress;box-shadow:0 0 0 3px var(--na40-header-active, #ffc267),0 12px 30px rgba(0,0,0,.2)}
.appearance-preset-card:disabled{cursor:wait;filter:saturate(.7)}
.appearance-preset-status:not(:empty){display:block;margin-top:12px;font-weight:700}

/* v2.21.6 – temaöversyn: läsbara redigeringsrutor och Clean Time-förhandsvisning. */
.appearance-section>summary{background:var(--na-blue-pale);color:var(--text)}
.appearance-color-field,
.appearance-number-grid>label,
.appearance-font-grid>label{background:var(--na40-card-background);color:var(--text)}
.appearance-color-field.is-inheriting{background:var(--na-blue-pale);opacity:.82}
.appearance-publish-state,
.appearance-js-state,
.appearance-switch{background:var(--na-blue-pale);color:var(--text)}
.appearance-preset-card{background:var(--na40-card-background);color:var(--text)}
.appearance-preset-card strong{color:var(--na40-heading)}
.appearance-preset-card:hover,.appearance-preset-card:focus-visible,
.appearance-preset-card.is-selected,.appearance-preset-card[aria-pressed="true"]{background:var(--na-blue-pale)}
.appearance-preset-action{background:var(--na-blue-soft);color:var(--na40-heading)}
.appearance-preview-body{
  background-image:linear-gradient(90deg,var(--preview-overlay-strong,rgba(0,0,0,.5)),var(--preview-overlay-middle,rgba(0,0,0,.38)),var(--preview-overlay-light,rgba(0,0,0,.23))),url("../convention-background.jpg");
}
.appearance-preview-notices .success{color:var(--preview-success-text,#174c2a)}
.appearance-preview-notices .warning{color:var(--preview-warning-text,#5c4300)}
.appearance-preview-notices .error{color:var(--preview-error-text,#6f1d1b)}
.appearance-preview-cleantime{display:grid;gap:8px;margin-top:13px;padding:13px;border:1px solid color-mix(in srgb,var(--preview-clean-text,#fff) 25%,transparent);border-radius:calc(var(--preview-radius,14px) - 2px);background:var(--preview-clean-panel,rgba(34,44,52,.9));color:var(--preview-clean-text,#fff);box-shadow:0 9px 24px rgba(0,0,0,.2)}
.appearance-preview-cleantime small{color:var(--preview-clean-muted,#d9e0e5);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-align:center}
.appearance-preview-cleantime>span{padding:6px 8px;border-radius:999px;background:var(--preview-clean-pill,#26313a);color:var(--preview-clean-pill-text,#fff);font-size:.67rem;font-weight:800;text-align:center}
.appearance-preview-digits{display:flex;justify-content:center;gap:3px}
.appearance-preview-digits i{display:grid;place-items:center;width:26px;height:38px;border:1px solid color-mix(in srgb,var(--preview-clean-text,#fff) 23%,transparent);border-radius:5px;background:linear-gradient(180deg,var(--preview-clean-digit-top,#2a343d) 0 49%,var(--preview-clean-digit-bottom,#10161b) 50% 100%);color:var(--preview-clean-digit-text,#fff);font:900 1.05rem/1 var(--preview-font-stat,Arial,sans-serif);font-style:normal;box-shadow:0 6px 12px rgba(0,0,0,.25)}
.appearance-preview-digits i:nth-child(4){box-shadow:0 0 0 1px var(--preview-clean-accent,#ffc267),0 6px 12px rgba(0,0,0,.25)}
@supports not (color:color-mix(in srgb,#fff 25%,transparent)){
  .appearance-preview-cleantime,.appearance-preview-digits i{border-color:rgba(255,255,255,.25)}
}


/* v2.23.3 – träffsäkra mobilrubriker för statistik och drogfri tid */
@media (max-width:768px){
  body.statistics-page .statistics-hero h1{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    font-size:clamp(1.7rem,7.1vw,2.15rem)!important;
    line-height:1.08!important;
    letter-spacing:-.025em;
    white-space:nowrap;
    text-align:center!important;
  }

  body.cleantime-register-page .cleantime-form-heading{
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  body.cleantime-register-page .cleantime-kicker,
  body.cleantime-register-page .cleantime-form-heading h1,
  body.cleantime-register-page .cleantime-form-heading p{
    width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center!important;
  }
}
@media (max-width:390px){
  body.statistics-page .statistics-hero h1{
    font-size:clamp(1.58rem,6.9vw,1.72rem)!important;
  }
}


/* v2.23.5 – radbrytning av statistikrubrik endast i mobil */
.statistics-title-break,.statistics-title-mobile-hyphen{display:none}
@media (max-width:768px){
  body.statistics-page .statistics-hero .statistics-title{
    white-space:normal!important;
    font-size:clamp(2rem,8.4vw,2.65rem)!important;
    line-height:1.02!important;
    letter-spacing:-.02em;
    text-align:center!important;
  }
  body.statistics-page .statistics-hero .statistics-title-break{display:block}
  body.statistics-page .statistics-hero .statistics-title-mobile-hyphen{display:inline}
}

/* v2.24.0: independently configurable home hero fonts */
.home-page .hero-kicker{font-family:var(--na40-font-hero-kicker,var(--na40-font-body))}
.home-page .hero-title-fixed{font-family:var(--na40-font-hero-title,var(--na40-font-heading))}
.home-page .hero-tagline{font-family:var(--na40-font-hero-tagline,Georgia,"Times New Roman",serif)}
.home-page .hero-pill{font-family:var(--na40-font-hero-meta,var(--na40-font-body))}
.home-page .hero-pill[href]{text-decoration:none;cursor:pointer}
.home-page .hero-pill[href]:hover,.home-page .hero-pill[href]:focus-visible{transform:translateY(-1px);filter:brightness(1.06)}


/* v2.24.1 – enhetliga sidhuvuden på registrering, statistik, Clean Time och admin. */
.unified-page-hero{
  text-align:center;
}
.unified-page-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:82px;
  height:82px;
  margin:0 auto 24px;
  border-radius:50%;
  background:color-mix(in srgb,var(--na40-accent-soft,#ffd0ca) 88%,transparent);
  color:var(--na40-statistics-heading,var(--na40-accent,#7330a6));
  font-size:1.7rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1;
  padding-left:.16em;
}
.register-page-hero.unified-page-hero{
  padding-top:clamp(34px,5vw,58px);
}
.register-page-hero.unified-page-hero .page-intro,
.register-page-hero.unified-page-hero .compact-meta{
  margin-left:auto;
  margin-right:auto;
}
.cleantime-form-card.unified-page-hero .cleantime-form-heading{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center;
}
body.admin-login-page .admin-login-card-header .unified-page-symbol{
  margin-bottom:24px;
}
@media(max-width:720px){
  .unified-page-symbol{
    width:72px;
    height:72px;
    margin-bottom:20px;
    font-size:1.5rem;
  }
}


/* v2.24.3 – exakt samma konventunderrubrik på Program och enhetliga sidhuvuden. */
.convention-page-kicker{
  display:block;
  width:100%;
  margin:0 0 10px!important;
  color:var(--na40-header-active,#f4a13d)!important;
  font-family:var(--na40-font-body,Arial,sans-serif)!important;
  font-size:.8rem!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
@media(max-width:720px){
  .convention-page-kicker{
    font-size:.74rem!important;
    letter-spacing:.13em!important;
  }
}


/* v2.24.4 – centrally configurable shared public page header. */
.unified-page-symbol,
.placeholder-page .placeholder-symbol{
  width:var(--na40-page-header-symbol-size,82px)!important;
  height:var(--na40-page-header-symbol-size,82px)!important;
  margin-bottom:var(--na40-page-header-symbol-gap,24px)!important;
  background:var(--na40-page-header-symbol-background,#ffd0ca)!important;
  color:var(--na40-page-header-symbol-color,#7330a6)!important;
}
.convention-page-kicker{
  margin-bottom:var(--na40-page-header-kicker-gap,10px)!important;
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
  font-family:var(--na40-font-page-header-kicker,Arial,sans-serif)!important;
  font-size:var(--na40-page-header-kicker-size,13px)!important;
  font-weight:var(--na40-page-header-kicker-weight,700)!important;
  letter-spacing:var(--na40-page-header-kicker-letter-spacing,.16em)!important;
}
.unified-page-hero h1,
.placeholder-page h1,
body.admin-login-page .admin-login-card-header h1{
  color:var(--na40-page-header-title-color,#7330a6)!important;
  font-family:var(--na40-font-page-header-title,"Courier New",Courier,monospace)!important;
  font-size:clamp(2rem,6vw,var(--na40-page-header-title-size,58px))!important;
  font-weight:var(--na40-page-header-title-weight,500)!important;
  line-height:var(--na40-page-header-title-line-height,1.05)!important;
}
@media(max-width:720px){
  .unified-page-symbol,.placeholder-page .placeholder-symbol{
    width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
  }
  .convention-page-kicker{font-size:min(var(--na40-page-header-kicker-size,13px),12px)!important}
}


/* v2.24.5 – tydliga fetstilsval och samma konventunderrubriksfärg på Drogfri tid. */
body.cleantime-register-page .cleantime-kicker.convention-page-kicker{
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
  font-family:var(--na40-font-page-header-kicker,Arial,sans-serif)!important;
  font-size:var(--na40-page-header-kicker-size,13px)!important;
  font-weight:var(--na40-page-header-kicker-weight,700)!important;
  letter-spacing:var(--na40-page-header-kicker-letter-spacing,.16em)!important;
}

/* v2.24.8 – enhetlig färg och bredd för gemensamma publika sidhuvuden. */
body.placeholder-body .placeholder-page,
body.registration-flow-page .register-page-hero.unified-page-hero,
body.statistics-page .statistics-hero.unified-page-hero,
body.cleantime-register-page .cleantime-form-card.unified-page-hero,
body.admin-login-page .admin-login-card{
  width:100%;
  max-width:940px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.placeholder-body .convention-page-kicker,
body.registration-flow-page .convention-page-kicker,
body.statistics-page .convention-page-kicker,
body.cleantime-register-page .convention-page-kicker,
body.admin-login-page .convention-page-kicker{
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
}

/* v2.24.9 – samma bredd, färger och headeravstånd på startsidan och gemensamma sidor. */
body.home-page .hero-grid{
  grid-template-columns:minmax(0,940px)!important;
  width:min(100% - 32px,940px)!important;
}
body.home-page .hero-copy{
  width:min(100%,940px)!important;
  max-width:940px!important;
}

body.placeholder-body main,
body.registration-flow-page main,
body.statistics-page main,
body.cleantime-register-page main,
body.admin-login-page main{
  padding-top:38px!important;
}

body.placeholder-body .placeholder-page,
body.registration-flow-page .register-page-hero.unified-page-hero,
body.statistics-page .statistics-hero.unified-page-hero,
body.cleantime-register-page .cleantime-form-card.unified-page-hero,
body.admin-login-page .admin-login-card{
  width:min(100%,940px)!important;
  max-width:940px!important;
  margin-top:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-color:var(--border)!important;
  border-radius:30px!important;
  background:var(--surface)!important;
  box-shadow:var(--shadow)!important;
}

body.placeholder-body .convention-page-kicker,
body.registration-flow-page .convention-page-kicker,
body.statistics-page .convention-page-kicker,
body.cleantime-register-page .convention-page-kicker,
body.admin-login-page .convention-page-kicker{
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
}

body.placeholder-body .placeholder-lead,
body.registration-flow-page .register-page-hero.unified-page-hero .page-intro,
body.statistics-page .statistics-hero.unified-page-hero .page-intro,
body.cleantime-register-page .cleantime-form-heading > p{
  color:var(--muted)!important;
}

@media(max-width:720px){
  body.home-page .hero-grid{
    width:min(100% - 22px,940px)!important;
  }
  body.placeholder-body main,
  body.registration-flow-page main,
  body.statistics-page main,
  body.cleantime-register-page main,
  body.admin-login-page main{
    padding-top:24px!important;
  }
  body.placeholder-body .placeholder-page,
  body.registration-flow-page .register-page-hero.unified-page-hero,
  body.statistics-page .statistics-hero.unified-page-hero,
  body.cleantime-register-page .cleantime-form-card.unified-page-hero,
  body.admin-login-page .admin-login-card{
    border-radius:24px!important;
  }
}

/* v2.25.1 – startsidan behåller sin egen hero; gemensamma sidhuvuden linjeras exakt. */
/* Startsidan ska endast dela avståndet från webbplatsens header, inte kortets bredd/färger/layout. */
body.home-page .hero-section{
  padding-top:38px!important;
}
body.home-page .hero-grid{
  grid-template-columns:minmax(0,820px)!important;
  width:min(100% - 32px,1260px)!important;
}
body.home-page .hero-copy{
  width:auto!important;
  max-width:820px!important;
}

/* Samma inre toppavstånd ger cirkeln exakt samma lodräta position på alla gemensamma sidor. */
body.placeholder-body .placeholder-page,
body.registration-flow-page .register-page-hero.unified-page-hero,
body.statistics-page .statistics-hero.unified-page-hero,
body.cleantime-register-page .cleantime-form-card.unified-page-hero,
body.admin-login-page .admin-login-card{
  padding-top:64px!important;
}

/* Konventraden ska använda samma orange färg som startsidans överrubrik. */
body.placeholder-body .convention-page-kicker,
body.registration-flow-page .convention-page-kicker,
body.statistics-page .convention-page-kicker,
body.cleantime-register-page .convention-page-kicker,
body.admin-login-page .convention-page-kicker{
  color:var(--na40-header-active,#f4a13d)!important;
}

@media(max-width:720px){
  body.home-page .hero-section{
    padding-top:24px!important;
  }
  body.home-page .hero-grid{
    width:min(100% - 22px,1260px)!important;
  }
  body.placeholder-body .placeholder-page,
  body.registration-flow-page .register-page-hero.unified-page-hero,
  body.statistics-page .statistics-hero.unified-page-hero,
  body.cleantime-register-page .cleantime-form-card.unified-page-hero,
  body.admin-login-page .admin-login-card{
    padding-top:48px!important;
  }
}

/* v2.25.1 – slutlig normalisering av gemensamma sidhuvuden. */
/* Startsidan behåller hela sin egen hero-design. Endast det yttre toppavståndet delas. */
body.home-page .hero-section{
  padding-top:38px!important;
}

/* Alla andra publika sidhuvuden använder exakt samma geometri. */
body.placeholder-body .placeholder-page,
body.registration-flow-page .register-page-hero.unified-page-hero,
body.statistics-page .statistics-hero.unified-page-hero,
body.cleantime-register-page .cleantime-form-card.unified-page-hero,
body.admin-login-page .admin-login-card{
  box-sizing:border-box!important;
  width:min(calc(100% - 32px),940px)!important;
  max-width:940px!important;
  margin:0 auto!important;
  padding-top:64px!important;
}

/* Cirkeln får identisk faktisk storlek, placering och prickstorlek oavsett äldre sid-CSS. */
body.placeholder-body .placeholder-symbol,
body.registration-flow-page .unified-page-symbol,
body.statistics-page .unified-page-symbol,
body.cleantime-register-page .unified-page-symbol,
body.admin-login-page .unified-page-symbol{
  box-sizing:border-box!important;
  display:flex!important;
  flex:0 0 var(--na40-page-header-symbol-size,82px)!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--na40-page-header-symbol-size,82px)!important;
  min-width:var(--na40-page-header-symbol-size,82px)!important;
  max-width:var(--na40-page-header-symbol-size,82px)!important;
  height:var(--na40-page-header-symbol-size,82px)!important;
  min-height:var(--na40-page-header-symbol-size,82px)!important;
  max-height:var(--na40-page-header-symbol-size,82px)!important;
  margin:0 auto var(--na40-page-header-symbol-gap,24px)!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--na40-page-header-symbol-background,#ffd0ca)!important;
  color:var(--na40-page-header-symbol-color,#7330a6)!important;
  font-family:Arial,sans-serif!important;
  font-size:1.7rem!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
  line-height:1!important;
  text-indent:.16em!important;
}

/* Konventraden matchar startsidans överrubrik exakt på alla gemensamma sidor. */
body.placeholder-body .convention-page-kicker,
body.registration-flow-page .convention-page-kicker,
body.statistics-page .convention-page-kicker,
body.cleantime-register-page .convention-page-kicker,
body.admin-login-page .convention-page-kicker{
  display:block!important;
  width:100%!important;
  margin:0 0 var(--na40-page-header-kicker-gap,10px)!important;
  color:var(--na40-header-active,#f4a13d)!important;
  font-family:var(--na40-font-hero-kicker,var(--na40-font-body,Arial,sans-serif))!important;
  font-size:.8rem!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}

@media(max-width:720px){
  body.home-page .hero-section{padding-top:24px!important}
  body.placeholder-body .placeholder-page,
  body.registration-flow-page .register-page-hero.unified-page-hero,
  body.statistics-page .statistics-hero.unified-page-hero,
  body.cleantime-register-page .cleantime-form-card.unified-page-hero,
  body.admin-login-page .admin-login-card{
    width:min(calc(100% - 22px),940px)!important;
    padding-top:48px!important;
  }
  body.placeholder-body .placeholder-symbol,
  body.registration-flow-page .unified-page-symbol,
  body.statistics-page .unified-page-symbol,
  body.cleantime-register-page .unified-page-symbol,
  body.admin-login-page .unified-page-symbol{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    font-size:1.5rem!important;
  }
  body.placeholder-body .convention-page-kicker,
  body.registration-flow-page .convention-page-kicker,
  body.statistics-page .convention-page-kicker,
  body.cleantime-register-page .convention-page-kicker,
  body.admin-login-page .convention-page-kicker{
    font-size:.74rem!important;
    letter-spacing:.13em!important;
  }
}

/* v2.25.2 – one canonical, admin-controlled page header implementation. */
/* Home page is intentionally excluded. */
.shared-page-header-card{
  box-sizing:border-box!important;
  width:min(calc(100% - 32px),940px)!important;
  max-width:940px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:64px!important;
}
.shared-page-header-card > .placeholder-symbol,
.shared-page-header-card > .unified-page-symbol,
.shared-page-header-card .admin-login-card-header > .unified-page-symbol,
.shared-page-header-card .cleantime-form-heading > .unified-page-symbol{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--na40-page-header-symbol-size,82px)!important;
  min-width:var(--na40-page-header-symbol-size,82px)!important;
  max-width:var(--na40-page-header-symbol-size,82px)!important;
  height:var(--na40-page-header-symbol-size,82px)!important;
  min-height:var(--na40-page-header-symbol-size,82px)!important;
  max-height:var(--na40-page-header-symbol-size,82px)!important;
  flex:0 0 var(--na40-page-header-symbol-size,82px)!important;
  margin:0 auto var(--na40-page-header-symbol-gap,24px)!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--na40-page-header-symbol-background,#ffd0ca)!important;
  color:var(--na40-page-header-symbol-color,#7330a6)!important;
  font-family:Arial,sans-serif!important;
  font-size:calc(var(--na40-page-header-symbol-size,82px) * .33)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  text-indent:.14em!important;
}
.shared-page-header-card .convention-page-kicker{
  display:block!important;
  width:100%!important;
  margin:0 0 var(--na40-page-header-kicker-gap,10px)!important;
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
  font-family:var(--na40-font-page-header-kicker,Arial,sans-serif)!important;
  font-size:var(--na40-page-header-kicker-size,13px)!important;
  font-style:normal!important;
  font-weight:var(--na40-page-header-kicker-weight,700)!important;
  line-height:1.35!important;
  letter-spacing:var(--na40-page-header-kicker-letter-spacing,.16em)!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.shared-page-header-card > h1,
.shared-page-header-card .admin-login-card-header > h1,
.shared-page-header-card .cleantime-form-heading > h1{
  margin-top:0!important;
  color:var(--na40-page-header-title-color,#7330a6)!important;
  font-family:var(--na40-font-page-header-title,"Courier New",Courier,monospace)!important;
  font-size:clamp(2rem,6vw,var(--na40-page-header-title-size,58px))!important;
  font-weight:var(--na40-page-header-title-weight,500)!important;
  line-height:var(--na40-page-header-title-line-height,1.05)!important;
  text-align:center!important;
}
/* Neutralise page-specific transforms, offsets and inherited colours. */
.shared-page-header-card .placeholder-symbol,
.shared-page-header-card .unified-page-symbol,
.shared-page-header-card .convention-page-kicker{
  transform:none!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  position:static!important;
}
body.placeholder-body main,
body.registration-flow-page main,
body.statistics-page main,
body.cleantime-register-page main,
body.admin-login-page main{
  padding-top:38px!important;
}
body.home-page .hero-section{padding-top:38px!important}
@media(max-width:720px){
  .shared-page-header-card{
    width:min(calc(100% - 22px),940px)!important;
    padding-top:48px!important;
  }
  .shared-page-header-card > .placeholder-symbol,
  .shared-page-header-card > .unified-page-symbol,
  .shared-page-header-card .admin-login-card-header > .unified-page-symbol,
  .shared-page-header-card .cleantime-form-heading > .unified-page-symbol{
    width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    flex-basis:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    font-size:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .33)!important;
  }
  .shared-page-header-card .convention-page-kicker{
    font-size:min(var(--na40-page-header-kicker-size,13px),12px)!important;
  }
  body.placeholder-body main,
  body.registration-flow-page main,
  body.statistics-page main,
  body.cleantime-register-page main,
  body.admin-login-page main,
  body.home-page .hero-section{padding-top:24px!important}
}

/* v2.25.3 – robust mobil hero på startsidan.
   Startsidan behåller egen design men använder en enda sammanhållen responsiv geometri. */
@media (max-width:720px){
  body.home-page,
  body.home-page main,
  body.home-page .hero-section,
  body.home-page .hero-grid,
  body.home-page .hero-copy{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.home-page .hero-section{
    padding:24px 0 30px!important;
    overflow:hidden!important;
  }
  body.home-page .hero-grid{
    display:block!important;
    width:calc(100% - 22px)!important;
    margin:0 auto!important;
  }
  body.home-page .hero-copy{
    width:100%!important;
    max-width:none!important;
    padding:clamp(24px,7vw,34px) clamp(18px,5.5vw,26px)!important;
    border-radius:24px!important;
    overflow:hidden!important;
    text-align:center!important;
  }
  body.home-page .hero-kicker{
    margin:0 0 18px!important;
    font-size:clamp(.76rem,3.4vw,.9rem)!important;
    line-height:1.35!important;
    letter-spacing:.15em!important;
    overflow-wrap:anywhere!important;
  }
  body.home-page .hero-title-fixed{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 20px!important;
    padding:0!important;
    font-size:clamp(2.05rem,10.2vw,2.8rem)!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  body.home-page .hero-title-fixed span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  body.home-page .hero-tagline{
    width:min(100%,30ch)!important;
    margin:0 auto 20px!important;
    font-size:clamp(1.05rem,5.6vw,1.38rem)!important;
    line-height:1.35!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.home-page .hero-lead{
    width:min(100%,34ch)!important;
    max-width:34ch!important;
    margin:0 auto 24px!important;
    font-size:clamp(.98rem,4.6vw,1.08rem)!important;
    line-height:1.48!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body.home-page .hero-meta,
  body.home-page .hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.home-page .hero-meta{margin-bottom:18px!important}
  body.home-page .hero-pill,
  body.home-page .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.home-page .hero-pill{
    justify-content:flex-start!important;
    padding:13px 15px!important;
    line-height:1.3!important;
    text-align:left!important;
    white-space:normal!important;
  }
  body.home-page .hero-actions .btn{
    justify-content:center!important;
    min-height:52px!important;
  }
}

@media (max-width:390px){
  body.home-page .hero-title-fixed{
    font-size:clamp(1.95rem,10vw,2.35rem)!important;
  }
  body.home-page .hero-copy{
    padding-left:17px!important;
    padding-right:17px!important;
  }
}

/* v2.25.5 – återställ normal mobilheader och säkerställ luft mellan separata kort. */
/* Den gemensamma sidhuvudsklassen får inte nollställa kortets ordinarie bottenmarginal. */
.shared-page-header-card{
  margin-bottom:22px!important;
}

@media(max-width:720px){
  .shared-page-header-card{
    margin-bottom:18px!important;
  }
}

/* v2.25.6 – konsekvent mellanrum mellan separata kort på alla publika sidor. */
/*
 * Tidigare sidunika regler kunde skriva över .card-marginalen, framför allt när
 * det första kortet också var ett gemensamt sidhuvud. Den här regeln gäller
 * endast direkta kortsyskon i sidans main-element och ger därför ett stabilt
 * avstånd på både dator och mobil utan att påverka kort inuti grids/formulär.
 */
main.wrap > .card + .card{
  margin-top:24px!important;
}

@media(max-width:720px){
  main.wrap > .card + .card{
    margin-top:18px!important;
  }
}

/* v2.25.7 – verkligt avstånd mellan registreringssidans sidhuvud och formulärkort. */
/*
 * Registreringskortet ligger inuti ett form-element och är därför inte ett
 * direkt .card-syskon till hero-kortet. Den generella regeln i v2.25.6 kunde
 * därför inte träffa denna sida. Avståndet läggs på själva formulärwrappen så
 * att det fungerar stabilt på både dator och mobil.
 */
body.registration-flow-page .shared-page-header-card + .registration-form{
  margin-top:24px!important;
}
body.registration-flow-page .registration-form > .card:first-child{
  margin-top:0!important;
}

@media(max-width:720px){
  body.registration-flow-page .shared-page-header-card + .registration-form{
    margin-top:18px!important;
  }
}

/* v2.26.0 – Clean Time registration uses the exact canonical page-header structure. */
body.cleantime-register-page .cleantime-form-card.shared-page-header-card{
  width:min(calc(100% - 32px),940px)!important;
  max-width:940px!important;
}
body.cleantime-register-page .cleantime-form-card.shared-page-header-card > .unified-page-symbol{
  font-size:calc(var(--na40-page-header-symbol-size,82px) * .33)!important;
  letter-spacing:.14em!important;
  text-indent:.14em!important;
}
body.cleantime-register-page .cleantime-form-card.shared-page-header-card > .cleantime-page-intro{
  width:min(100%,760px)!important;
  margin:0 auto 30px!important;
  color:var(--muted)!important;
  font-size:1.08rem!important;
  line-height:1.65!important;
  text-align:center!important;
}
@media(max-width:720px){
  body.cleantime-register-page .cleantime-form-card.shared-page-header-card{
    width:min(calc(100% - 22px),940px)!important;
  }
  body.cleantime-register-page .cleantime-form-card.shared-page-header-card > .unified-page-symbol{
    font-size:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .33)!important;
  }
  body.cleantime-register-page .cleantime-form-card.shared-page-header-card > .cleantime-page-intro{
    margin-bottom:26px!important;
    font-size:1rem!important;
    line-height:1.55!important;
  }
}

/* v2.26.1 – canonical shared page-card geometry on desktop and mobile.
   All public shared headers (except the home hero) now use the same parent width,
   card width, horizontal padding and symbol rendering. */
body.placeholder-body main.wrap,
body.registration-flow-page main.wrap,
body.statistics-page main.wrap,
body.cleantime-register-page main.wrap,
body.admin-login-page main.admin-login-main{
  box-sizing:border-box!important;
  width:min(calc(100% - 32px),940px)!important;
  max-width:940px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

body.admin-login-page .admin-login-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.shared-page-header-card,
body.admin-login-page .admin-login-card.shared-page-header-card,
body.cleantime-register-page .cleantime-form-card.shared-page-header-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(32px,6vw,66px)!important;
  padding-right:clamp(32px,6vw,66px)!important;
  border-radius:26px!important;
}

/* One exact symbol implementation, including identical dot size on every page. */
.shared-page-header-card > .placeholder-symbol,
.shared-page-header-card > .unified-page-symbol,
.shared-page-header-card .admin-login-card-header > .unified-page-symbol,
.shared-page-header-card .cleantime-form-heading > .unified-page-symbol{
  width:var(--na40-page-header-symbol-size,82px)!important;
  min-width:var(--na40-page-header-symbol-size,82px)!important;
  max-width:var(--na40-page-header-symbol-size,82px)!important;
  height:var(--na40-page-header-symbol-size,82px)!important;
  min-height:var(--na40-page-header-symbol-size,82px)!important;
  max-height:var(--na40-page-header-symbol-size,82px)!important;
  flex-basis:var(--na40-page-header-symbol-size,82px)!important;
  font-size:calc(var(--na40-page-header-symbol-size,82px) * .36)!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  text-indent:.10em!important;
}

@media(max-width:720px){
  body.placeholder-body main.wrap,
  body.registration-flow-page main.wrap,
  body.statistics-page main.wrap,
  body.cleantime-register-page main.wrap,
  body.admin-login-page main.admin-login-main{
    width:min(calc(100% - 22px),940px)!important;
    max-width:940px!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .shared-page-header-card,
  body.admin-login-page .admin-login-card.shared-page-header-card,
  body.cleantime-register-page .cleantime-form-card.shared-page-header-card{
    width:100%!important;
    max-width:none!important;
    padding-left:clamp(18px,5.5vw,28px)!important;
    padding-right:clamp(18px,5.5vw,28px)!important;
  }

  .shared-page-header-card > .placeholder-symbol,
  .shared-page-header-card > .unified-page-symbol,
  .shared-page-header-card .admin-login-card-header > .unified-page-symbol,
  .shared-page-header-card .cleantime-form-heading > .unified-page-symbol{
    width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    flex-basis:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    font-size:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .36)!important;
  }
}

/* v2.27.0 – canonical page header component.
   Every non-home public page uses the same markup and the same admin-controlled
   theme variables. Page-specific legacy selectors are intentionally overridden here. */
body.placeholder-body main.wrap,
body.registration-flow-page main.wrap,
body.statistics-page main.wrap,
body.cleantime-register-page main.wrap,
body.admin-login-page main.admin-login-main{
  box-sizing:border-box!important;
  width:min(calc(100% - 32px),940px)!important;
  max-width:940px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.canonical-page-card,
body.cleantime-register-page .cleantime-form-card.canonical-page-card,
body.admin-login-page .admin-login-card.canonical-page-card{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:62px clamp(32px,6vw,66px) 48px!important;
  border-radius:26px!important;
}

.canonical-page-header{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}

.canonical-page-symbol{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:calc(var(--na40-page-header-symbol-size,82px) * .075)!important;
  width:var(--na40-page-header-symbol-size,82px)!important;
  min-width:var(--na40-page-header-symbol-size,82px)!important;
  max-width:var(--na40-page-header-symbol-size,82px)!important;
  height:var(--na40-page-header-symbol-size,82px)!important;
  min-height:var(--na40-page-header-symbol-size,82px)!important;
  max-height:var(--na40-page-header-symbol-size,82px)!important;
  flex:0 0 var(--na40-page-header-symbol-size,82px)!important;
  margin:0 0 var(--na40-page-header-symbol-gap,24px)!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--na40-page-header-symbol-background,#ffd0ca)!important;
  color:var(--na40-page-header-symbol-color,#7330a6)!important;
  font-size:0!important;
  line-height:0!important;
}
.canonical-page-symbol > span{
  display:block!important;
  width:calc(var(--na40-page-header-symbol-size,82px) * .105)!important;
  height:calc(var(--na40-page-header-symbol-size,82px) * .105)!important;
  flex:0 0 calc(var(--na40-page-header-symbol-size,82px) * .105)!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:currentColor!important;
}

.canonical-page-kicker{
  display:block!important;
  width:100%!important;
  margin:0 0 var(--na40-page-header-kicker-gap,10px)!important;
  padding:0!important;
  color:var(--na40-page-header-kicker-color,#c13b70)!important;
  font-family:var(--na40-font-page-header-kicker,Arial,sans-serif)!important;
  font-size:var(--na40-page-header-kicker-size,13px)!important;
  font-weight:var(--na40-page-header-kicker-weight,700)!important;
  line-height:1.35!important;
  letter-spacing:var(--na40-page-header-kicker-letter-spacing,.16em)!important;
  text-transform:uppercase!important;
  text-align:center!important;
}

.canonical-page-title{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:var(--na40-page-header-title-color,#7330a6)!important;
  font-family:var(--na40-font-page-header-title,"Courier New",Courier,monospace)!important;
  font-size:clamp(2rem,6vw,var(--na40-page-header-title-size,58px))!important;
  font-weight:var(--na40-page-header-title-weight,500)!important;
  line-height:var(--na40-page-header-title-line-height,1.05)!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
}

.canonical-page-intro{
  width:100%!important;
  max-width:760px!important;
  margin:24px auto 0!important;
  padding:0!important;
  color:var(--muted,#6d626d)!important;
  font-family:var(--na40-font-body,Arial,sans-serif)!important;
  font-size:1.05rem!important;
  font-weight:500!important;
  line-height:1.55!important;
  text-align:center!important;
}

/* Space between the canonical header and page-specific content inside the card. */
.canonical-page-header + *{
  margin-top:30px!important;
}
.canonical-page-header + .statistics-summary{
  margin-top:42px!important;
}

/* Admin login uses the same card and header without a second wrapper offset. */
body.admin-login-page .admin-login-shell{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.admin-login-page .admin-login-card-header{display:contents!important}

@media(max-width:720px){
  body.placeholder-body main.wrap,
  body.registration-flow-page main.wrap,
  body.statistics-page main.wrap,
  body.cleantime-register-page main.wrap,
  body.admin-login-page main.admin-login-main{
    width:min(calc(100% - 22px),940px)!important;
    max-width:940px!important;
  }
  .canonical-page-card,
  body.cleantime-register-page .cleantime-form-card.canonical-page-card,
  body.admin-login-page .admin-login-card.canonical-page-card{
    padding:38px clamp(18px,5.5vw,28px) 34px!important;
  }
  .canonical-page-symbol{
    width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-width:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    min-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    max-height:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    flex-basis:min(var(--na40-page-header-symbol-size,82px),72px)!important;
    gap:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .075)!important;
  }
  .canonical-page-symbol > span{
    width:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .105)!important;
    height:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .105)!important;
    flex-basis:calc(min(var(--na40-page-header-symbol-size,82px),72px) * .105)!important;
  }
  .canonical-page-kicker{
    font-size:min(var(--na40-page-header-kicker-size,13px),12px)!important;
  }
  .canonical-page-title{
    font-size:clamp(2rem,10vw,min(var(--na40-page-header-title-size,58px),48px))!important;
  }
  .canonical-page-intro{
    margin-top:20px!important;
    font-size:1rem!important;
  }
  .canonical-page-header + *{margin-top:26px!important}
  .canonical-page-header + .statistics-summary{margin-top:32px!important}
}

/* v2.27.1 – force identical canonical card geometry across every page.
   Legacy page selectors such as .placeholder-page and .cleantime-form-card used
   higher specificity and could still override max-width. These selectors match
   each real page structure and therefore win consistently on desktop and mobile. */
body.placeholder-body main.wrap > .placeholder-page.card.canonical-page-card,
body.registration-flow-page main.wrap > .register-page-hero.card.canonical-page-card,
body.statistics-page main.wrap > .statistics-hero.card.canonical-page-card,
body.cleantime-register-page main.wrap > .cleantime-form-card.card.canonical-page-card,
body.admin-login-page main.admin-login-main .admin-login-card.card.canonical-page-card {
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep the canonical outer container identical regardless of older page rules. */
body.placeholder-body main.wrap,
body.registration-flow-page main.wrap,
body.statistics-page main.wrap,
body.cleantime-register-page main.wrap,
body.admin-login-page main.admin-login-main {
  box-sizing:border-box!important;
  width:min(calc(100% - 32px),940px)!important;
  min-width:0!important;
  max-width:940px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:720px){
  body.placeholder-body main.wrap,
  body.registration-flow-page main.wrap,
  body.statistics-page main.wrap,
  body.cleantime-register-page main.wrap,
  body.admin-login-page main.admin-login-main {
    width:min(calc(100% - 22px),940px)!important;
  }
}

/* v2.27.2 – identical vertical placement for every canonical page card.
   cleantime-form-card had a legacy shorthand margin that preserved a top margin
   even after the shared width rules. Reset the complete margin, not only left/right. */
body.placeholder-body main.wrap > .placeholder-page.card.canonical-page-card,
body.registration-flow-page main.wrap > .register-page-hero.card.canonical-page-card,
body.statistics-page main.wrap > .statistics-hero.card.canonical-page-card,
body.cleantime-register-page main.wrap > .cleantime-form-card.card.canonical-page-card,
body.admin-login-page main.admin-login-main .admin-login-card.card.canonical-page-card {
  margin:0!important;
}

/* v2.27.3: make the currently published theme unmistakable in Admin > Appearance. */
.appearance-preset-card{position:relative}
.appearance-preset-card.is-active-preset,
.appearance-preset-card[aria-current="true"]{
  border-color:var(--na40-header-active,#ffc267);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--na40-header-active,#ffc267) 28%,transparent),0 12px 30px rgba(0,0,0,.15);
}
.appearance-active-theme-badge{
  position:absolute;
  top:9px;
  right:9px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--na40-header-active,#ffc267);
  color:#24112d;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
}
.appearance-preset-status:not(:empty){
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--primary-pale);
  color:var(--heading);
}
.appearance-preset-status.is-custom-theme{background:var(--surface)}

/* v2.28.0: saved personal themes in Admin > Appearance. */
.appearance-custom-themes{display:grid;gap:18px}
.appearance-custom-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.appearance-save-theme{display:grid;gap:7px;min-width:min(100%,430px)}
.appearance-save-theme>div{display:flex;gap:9px}.appearance-save-theme input{flex:1;min-width:0}
.appearance-custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.appearance-custom-card{position:relative;display:grid;gap:11px;padding:17px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.appearance-custom-card.is-active-custom{border-color:var(--na40-header-active,#ffc267);box-shadow:0 0 0 3px color-mix(in srgb,var(--na40-header-active,#ffc267) 24%,transparent)}
.appearance-custom-card h3{margin:0;padding-right:54px}.appearance-custom-card>small{color:var(--muted)}
.appearance-custom-actions{display:flex;flex-wrap:wrap;gap:7px}.btn.small{min-height:34px;padding:7px 10px;font-size:.78rem}
.appearance-custom-rename{display:flex;gap:7px}.appearance-custom-rename input{min-width:0;flex:1}
.appearance-delete-theme{justify-self:start;border:0;background:transparent;color:var(--error-text,#9f1239);font-weight:800;text-decoration:underline;cursor:pointer}
.appearance-empty-themes{margin:0;padding:14px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}
@media(max-width:1100px){.appearance-custom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.appearance-custom-heading{display:grid;align-items:stretch}.appearance-save-theme{min-width:0}.appearance-save-theme>div{display:grid}.appearance-custom-grid{grid-template-columns:1fr}}


/* v2.29.0 Stripe payout reconciliation */
.stripe-report-filter{margin-bottom:24px}
.stripe-report-filter-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.stripe-report-filter-form label{display:grid;gap:7px;flex:1 1 520px;font-weight:700}
.stripe-report-filter-form select{width:100%;min-height:48px}
.stripe-report-metrics{margin-bottom:24px}
.stripe-transaction-list{display:grid;gap:24px}
.stripe-transaction-card{padding:24px}
.stripe-transaction-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}
.stripe-transaction-heading h2{margin:.2rem 0}
.stripe-transaction-amounts{display:grid;gap:7px;min-width:250px;text-align:right}
.stripe-transaction-amounts span{display:flex;justify-content:space-between;gap:18px}
.stripe-transaction-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.stripe-transaction-meta div{background:rgba(255,255,255,.5);border:1px solid rgba(63,31,89,.12);border-radius:12px;padding:10px;min-width:0}
.stripe-transaction-meta dt{font-size:.78rem;font-weight:800;color:var(--muted);margin-bottom:4px}
.stripe-transaction-meta dd{margin:0;overflow-wrap:anywhere}
.stripe-line-items-table small{display:block;color:var(--muted);margin-top:3px}
.stripe-fee-details{margin-top:14px}
.stripe-fee-details summary{cursor:pointer;font-weight:800}
@media(max-width:760px){
 .stripe-transaction-card{padding:18px}
 .stripe-transaction-heading{display:grid}
 .stripe-transaction-amounts{min-width:0;text-align:left;width:100%}
 .stripe-transaction-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.stripe-transaction-meta{grid-template-columns:1fr}}


/* v2.29.2 – targeted mobile fixes requested for Clean Time total and registration spacing. */
@media (max-width:600px) and (orientation:portrait){
  body.cleantime-screen #totalSlide .cleantime-screen-pills{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.34fr) minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
  }
  body.cleantime-screen #totalSlide .cleantime-screen-pill{
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:64px!important;
    padding:8px 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.18!important;
    font-size:clamp(13px,3.7vw,16px)!important;
    overflow:visible!important;
  }
  body.cleantime-screen #totalSlide #detailPill{
    flex-wrap:wrap!important;
    align-content:center!important;
    column-gap:4px!important;
    row-gap:1px!important;
    font-size:clamp(12px,3.45vw,15px)!important;
  }
  body.cleantime-screen #totalSlide #detailPill .ct42-duration-part{
    white-space:nowrap!important;
  }
}

/* The registration form is a sibling of .register-page-hero, not of the inner
   shared header component. Target the actual DOM structure on desktop/mobile. */
body.registration-flow-page main.wrap > .register-page-hero.card + .registration-form{
  margin-top:24px!important;
}
@media(max-width:720px){
  body.registration-flow-page main.wrap > .register-page-hero.card + .registration-form{
    margin-top:18px!important;
  }
}


/* v2.29.5 – Stripe report mobile width and Excel export controls. */
body.admin-page .stripe-report-filter,
body.admin-page .stripe-report-metrics,
body.admin-page .stripe-transaction-list,
body.admin-page .stripe-transaction-card{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
.stripe-report-filter-form>*{min-width:0;max-width:100%}
.stripe-report-export-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.stripe-transaction-heading>div{min-width:0;max-width:100%}
.stripe-transaction-heading h2,.stripe-transaction-heading p{overflow-wrap:anywhere}
.stripe-line-items-table{box-sizing:border-box;max-width:100%;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.stripe-line-items-table table{min-width:620px;width:100%}
@media(max-width:760px){
 body.admin-page .stripe-report-filter{padding:16px}
 .stripe-report-filter-form{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%}
 .stripe-report-filter-form label{width:100%;min-width:0;max-width:100%;flex-basis:auto}
 .stripe-report-filter-form select{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
 .stripe-report-export-actions{display:grid;grid-template-columns:1fr;width:100%}
 .stripe-report-export-actions .btn{box-sizing:border-box;width:100%;max-width:100%;white-space:normal;text-align:center}
 .stripe-transaction-card{overflow:hidden}
 .stripe-transaction-meta{width:100%}
}


/* v2.31.6 – expanded registration-funding note in the public webshop. */
.registration-support-note{
  margin:18px 0 8px;
  padding:18px 20px;
  border:1px solid color-mix(in srgb,var(--na-blue) 24%,var(--border));
  border-left:5px solid var(--na-blue);
  border-radius:14px;
  background:color-mix(in srgb,var(--na-blue-pale) 55%,var(--surface));
}
.registration-support-note h3{
  margin:0 0 8px;
  color:var(--na-blue-dark);
  font-size:1.08rem;
}
.registration-support-note p{
  margin:0;
  line-height:1.6;
}
.registration-support-note p + p{margin-top:8px}
@media(max-width:720px){
  .registration-support-note{margin-top:16px;padding:16px 17px}
  .registration-support-note h3{font-size:1.03rem}
  .registration-support-note p{font-size:.96rem;line-height:1.55}
}


/* v2.31.7 – neutral country statistics list and equal card width. */
body.statistics-page main.wrap > .statistics-ranking-card.card{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Restored v2.31.11 with the approved newer menu only. */
.na40-site-header{
  background:rgba(7, 10, 18, .9) !important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.34) !important;
}

.na40-header-inner{
  width:min(100% - 28px, 1380px) !important;
  margin-inline:auto !important;
  min-height:78px !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

.na40-brand{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:auto !important;
}

.na40-brand-logo{
  display:block !important;
  width:auto !important;
  height:56px !important;
  max-height:56px !important;
  object-fit:contain !important;
  border-radius:0;
  background:transparent;
  padding:0;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.32));
}

.na40-desktop-nav{
  display:flex;
  flex:1 1 auto;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.na40-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff3dc !important;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.na40-nav-link:hover,
.na40-nav-link:focus-visible,
.na40-nav-link.is-active{
  color:#ffe812 !important;
  border-color:#ff2acb;
  background:rgba(255, 232, 18, .14);
  box-shadow:0 0 0 1px rgba(255, 42, 203, .26), 0 10px 24px rgba(0,0,0,.2);
  transform:translateY(-1px);
}

.na40-header-tools{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.na40-language-switch{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}

.na40-language-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid transparent;
  background:rgba(255,255,255,.04);
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.na40-language-button img{
  width:20px;
  height:20px;
}

.na40-language-button:hover,
.na40-language-button:focus-visible,
.na40-language-button.is-active{
  border-color:#ff2acb;
  background:rgba(255, 232, 18, .14);
  transform:translateY(-1px);
}

.na40-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:0;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff3dc;
}

.na40-menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  margin:2px 0;
  background:#ffe7ba;
  border-radius:999px;
}

.na40-menu-backdrop{
  background:rgba(4,6,12,.55) !important;
  backdrop-filter:blur(4px);
}

.na40-mobile-drawer{
  background:linear-gradient(180deg, rgba(18,8,27,.98) 0%, rgba(7,14,24,.98) 100%) !important;
  border-left:1px solid rgba(255,255,255,.08) !important;
  box-shadow:-14px 0 34px rgba(0,0,0,.34) !important;
}

.na40-drawer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 20px 10px;
  color:#fff3dc;
}

.na40-drawer-header strong{
  text-transform:uppercase;
  letter-spacing:.06em;
}

.na40-drawer-close{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff3dc;
  font-size:1.6rem;
  line-height:1;
}

.na40-mobile-nav{
  display:grid;
  gap:10px;
  padding:14px 18px 22px;
}

.na40-mobile-link{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#fff3dc !important;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
}

.na40-mobile-link.is-active,
.na40-mobile-link:hover,
.na40-mobile-link:focus-visible{
  color:#ffe812 !important;
  border-color:#ff2acb;
  background:rgba(255, 232, 18, .14);
}

@media (min-width:1280px){
  .na40-menu-toggle,
  .na40-mobile-drawer,
  .na40-menu-backdrop{
    display:none !important;
  }
}

@media (max-width:1279px){
  .na40-desktop-nav{
    display:none !important;
  }
  .na40-header-inner{
    min-height:74px !important;
  }
}

@media (max-width:768px){
  .na40-brand-logo{
    height:52px !important;
    max-height:52px !important;
  }
  .na40-header-inner{
    width:min(100% - 20px, 1380px) !important;
    gap:12px !important;
  }
}

/* Swedish 7th Tradition contribution card */
.seventh-tradition-card{
  margin-top:24px;
  display:grid;
  gap:24px;
}
.seventh-tradition-copy{max-width:850px}
.seventh-tradition-copy h2{margin:.2rem 0 .8rem}
.seventh-tradition-copy p:last-child{margin-bottom:0}
.seventh-tradition-payment-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);
  gap:18px;
  align-items:stretch;
}
.seventh-tradition-payment{
  border:1px solid var(--line,rgba(20,48,67,.18));
  border-radius:18px;
  background:rgba(255,255,255,.72);
  padding:20px;
}
.seventh-tradition-swish{
  display:grid;
  grid-template-columns:minmax(190px,250px) minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.seventh-tradition-qr-wrap{
  padding:10px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(20,48,67,.14);
  line-height:0;
}
.seventh-tradition-qr-wrap img{
  display:block;
  width:100%;
  height:auto;
}
.seventh-tradition-payment-details h3{margin:0 0 14px}
.seventh-tradition-payment-details dl{display:grid;gap:12px;margin:0}
.seventh-tradition-payment-details dl>div{display:grid;gap:3px}
.seventh-tradition-payment-details dt{
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:var(--muted,#53646f);
}
.seventh-tradition-payment-details dd{
  margin:0;
  font-size:clamp(1.05rem,2vw,1.35rem);
  font-weight:800;
  overflow-wrap:anywhere;
}
.seventh-tradition-payment-details .muted{margin:16px 0 0}
.seventh-tradition-bankgiro{
  display:flex;
  align-items:center;
}
@media (max-width:850px){
  .seventh-tradition-payment-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .seventh-tradition-card{margin-top:18px;gap:18px}
  .seventh-tradition-payment{padding:16px}
  .seventh-tradition-swish{grid-template-columns:1fr}
  .seventh-tradition-qr-wrap{width:min(100%,300px);margin-inline:auto}
}

/* v2.31.11.8 – fourth Swedish quick link for 7th Tradition */
.home-feature-grid-four{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.home-feature-grid-four .feature-card{
  min-width:0;
  padding:22px 18px;
}
.home-feature-grid-four .feature-card h2{
  font-size:clamp(1.08rem,1.45vw,1.3rem);
}
.home-feature-grid-four .feature-card p{
  font-size:.96rem;
}
.home-feature-grid-four .feature-icon{
  width:54px;
  height:54px;
}
#seventh-tradition{
  scroll-margin-top:120px;
}
@media (min-width:861px) and (max-width:1180px){
  .home-feature-grid-four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:860px){
  .home-feature-grid-four{
    grid-template-columns:1fr;
  }
}


/* v2.31.11.9 – force four Swedish quick links in one desktop row */
.home-main .wrap{
  width:min(100% - 32px,1260px);
}
.home-feature-grid-four{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px;
}
@media (max-width:1180px){
  .home-feature-grid-four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px){
  .home-feature-grid-four{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:860px){
  .home-main .wrap{
    width:min(100% - 22px,1260px);
  }
}

/* v2.31.11.10 – in-place previous-registration actions and continuous QR check-in */
.admin-action-toast{
  position:fixed;
  left:50%;
  bottom:max(18px,env(safe-area-inset-bottom));
  z-index:10050;
  width:min(92vw,520px);
  transform:translateX(-50%);
  border-radius:14px;
  padding:13px 18px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  font-weight:700;
  text-align:center;
}
.admin-action-toast.success{background:#eaf8ef;color:#176335;border:1px solid rgba(23,99,53,.2)}
.admin-action-toast.error{background:#fff0f0;color:#8a2020;border:1px solid rgba(138,32,32,.2)}
.admin-action-toast[hidden]{display:none!important}

body.checkin-modal-open{overflow:hidden}
.checkin-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:8px;
}
.checkin-modal[hidden]{display:none!important}
.checkin-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:rgba(8,8,16,.72);
  backdrop-filter:blur(4px);
  cursor:pointer;
}
.checkin-modal-panel{
  position:relative;
  z-index:1;
  width:min(960px,100%);
  max-height:calc(100dvh - 16px);
  overflow:auto;
  overscroll-behavior:contain;
  border-radius:20px;
  background:var(--surface,#fff);
  box-shadow:0 24px 80px rgba(0,0,0,.42);
  -webkit-overflow-scrolling:touch;
}
.checkin-modal-toolbar{
  position:sticky;
  top:0;
  z-index:5;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 12px 10px 18px;
  border-bottom:1px solid rgba(90,70,100,.14);
  background:var(--surface,#fff);
  background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);
  backdrop-filter:blur(10px);
  font-weight:800;
}
.checkin-modal-close{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(90,70,100,.18);
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.checkin-modal-body{padding:16px}
.checkin-modal-body>.card{margin-top:14px;margin-bottom:0}
.checkin-modal-body .order-detail-card{box-shadow:none;border:1px solid rgba(90,70,100,.14)}
.checkin-modal-body .table-wrap{max-width:100%;overflow-x:auto}
.checkin-popup-summary{
  border:1px solid rgba(90,70,100,.14);
  border-radius:18px;
  padding:18px;
  background:var(--surface,#fff);
  background:color-mix(in srgb,var(--surface,#fff) 96%,var(--accent,#7132a8) 4%);
}
.checkin-popup-summary.checked-in-card{border-color:rgba(30,130,75,.3)}
.checkin-modal-notice{margin:0 0 12px}
.checkin-popup-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-top:1px solid rgba(90,70,100,.12);
}
.checkin-popup-status-row:first-of-type{margin-top:14px}
.checkin-popup-time{margin:4px 0 0;text-align:right}
.checkin-popup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.checkin-popup-actions form{margin:0}
.checkin-error-icon{background:#9d2b2b!important}

@media (max-width:700px){
  .checkin-modal{padding:0;align-items:stretch}
  .checkin-modal-panel{
    width:100%;
    max-height:100dvh;
    min-height:100dvh;
    border-radius:0;
  }
  .checkin-modal-toolbar{padding-top:max(10px,env(safe-area-inset-top))}
  .checkin-modal-body{padding:12px 10px max(16px,env(safe-area-inset-bottom))}
  .checkin-popup-summary{padding:14px}
  .checkin-popup-actions{display:grid;grid-template-columns:1fr}
  .checkin-popup-actions form,.checkin-popup-actions .btn{width:100%}
  .checkin-popup-status-row{align-items:flex-start}
  .checkin-action-heading{align-items:flex-start}
  .checkin-action-heading h2{font-size:clamp(1.3rem,7vw,1.8rem)}
  .checkin-modal-body .order-items-table table{min-width:620px}
}

/* v2.31.11.21 – self-service admin password reset */
body.admin-login-page .admin-forgot-password-actions{
  display:flex;
  justify-content:center;
  margin-top:14px;
}
body.admin-login-page .admin-forgot-password-actions .btn{
  min-width:180px;
}
body.admin-forgot-password-page .admin-forgot-password-intro{
  max-width:650px;
  margin:0 auto 26px;
  color:var(--muted);
  text-align:center;
  line-height:1.55;
}
body.admin-forgot-password-page .admin-auth-notice{
  max-width:650px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:650px){
  body.admin-login-page .admin-forgot-password-actions .btn{
    width:100%;
  }
}

/* v2.31.11.22 – Public contact directory */
.contact-directory-page .shared-page-header{margin-bottom:24px}
.contact-directory{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  width:min(100%,900px);
  margin:0 auto;
  text-align:left;
}
.contact-directory-item{
  min-width:0;
  padding:20px 22px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--na-blue-pale);
}
.contact-directory-item h2{
  margin:0 0 7px;
  color:var(--na40-heading,var(--na-blue-dark));
  font-size:1.08rem;
}
.contact-directory-item p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.45;
}
.contact-directory-item a{
  display:inline-block;
  max-width:100%;
  overflow-wrap:anywhere;
  color:var(--na40-link,var(--na-blue-dark));
  font-weight:700;
  text-decoration:none;
}
.contact-directory-item a:hover,
.contact-directory-item a:focus-visible{text-decoration:underline}
@media(max-width:720px){
  .contact-directory{grid-template-columns:1fr}
  .contact-directory-item{padding:18px}
}

/* v2.31.11.26 – nya svenska och engelska hero-loggor, centrerade och responsiva. */
body.home-page .hero-logo-title{
  position:relative!important;
  display:block!important;
  margin:0 auto 20px!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
  line-height:0!important;
}
body.home-page .hero-logo-title-sv{
  width:min(100%,700px)!important;
  aspect-ratio:576 / 285!important;
}
body.home-page .hero-logo-title-en{
  width:min(100%,700px)!important;
  aspect-ratio:576 / 272!important;
}
body.home-page .hero-logo-title img{
  position:absolute!important;
  left:-6.0764%!important;
  display:block!important;
  width:111.1111%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.home-page .hero-logo-title-sv img{
  top:-29.1228%!important;
}
body.home-page .hero-logo-title-en img{
  top:-35.2941%!important;
}
@media(max-width:720px){
  body.home-page .hero-logo-title{
    width:100%!important;
    margin-bottom:18px!important;
  }
}
