:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#172b45;background:#f2f5fa;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#235dc8;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,select,input{border:1px solid #ccd5e2;border-radius:8px;padding:10px;background:white;color:inherit}button{cursor:pointer}button:hover{background:#edf3ff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #67a0f2;outline-offset:2px}header{background:#102c52;color:white;padding:22px max(24px,calc((100vw - 1420px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}header a{color:white}.brand{font-weight:750;font-size:24px;letter-spacing:-.7px}.brand span{color:#7edce0}nav{display:flex;gap:24px;font-size:14px}main{max-width:1420px;margin:auto;padding:28px 24px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:22px;margin:0 0 16px}p{line-height:1.6}.intro{color:#526781;margin:0 0 24px}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr) 180px;gap:20px;align-items:start}.panel{background:white;border:1px solid #dce3ee;border-radius:12px;padding:20px}.panel label{display:block;margin:14px 0 6px;font-size:14px}.panel input,.panel select{width:100%}.chip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:7px 10px;border-radius:8px;background:#f2f5fa;border-left:4px solid var(--color);font-size:14px}.chip button{border:0;background:transparent;padding:4px 7px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 16px}.toolbar h2{margin:0}.actions{display:flex;gap:6px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #dce3ee;border-top:1px solid #dce3ee}.weekday{padding:10px 4px;text-align:center;font-size:14px;background:#edf3fa;font-weight:600;border-bottom:1px solid #dce3ee}.day{min-height:115px;border-right:1px solid #dce3ee;border-bottom:1px solid #dce3ee;padding:8px 5px;background:white;overflow-wrap:anywhere}.day.empty{background:#f7f9fc}.num{font-size:14px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center}.today .num{background:#102c52;color:white;border-radius:50%}.event{font-size:12px;padding:5px;margin-top:4px;border-left:3px solid var(--color);background:var(--tint);border-radius:3px;line-height:1.35}.event b{font-size:12px}.ad{border:1px dashed #b7c4d6;background:#edf1f6;color:#61758e;text-align:center;padding:24px 8px;border-radius:8px;font-size:12px;letter-spacing:1px}.ad.side{min-height:440px}.ad.bottom{margin:24px 0;min-height:100px}.muted{color:#61758e;font-size:14px;line-height:1.5}.status{min-height:20px;color:#526781;font-size:14px;margin:12px 0}.list{width:100%;border-collapse:collapse}.list td,.list th{text-align:left;padding:12px 10px;border-bottom:1px solid #e2e8f0;font-size:14px}.list th{background:#edf3fa}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.country-grid a{padding:12px;border:1px solid #dce3ee;border-radius:8px}.below{margin-top:24px}footer{max-width:1420px;padding:24px;margin:auto;display:flex;gap:24px;flex-wrap:wrap;font-size:14px;color:#61758e}.notice{border-left:4px solid #3275dd;padding:12px 16px;background:#edf3ff;line-height:1.5}.table-wrap{overflow:auto}.year-links{display:flex;gap:16px;margin:20px 0}.legal{max-width:850px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1200px){.workspace{grid-template-columns:240px minmax(0,1fr)}.ad.side{display:none}}@media(max-width:760px){header{padding:18px;align-items:flex-start}nav{gap:12px;flex-wrap:wrap}.brand{font-size:21px}main{padding:20px 12px}h1{font-size:26px}.workspace{grid-template-columns:1fr}.panel{padding:14px}.day{min-height:100px;padding:5px 2px}.event{font-size:12px;padding:3px 2px}.toolbar{flex-wrap:wrap}.toolbar h2{font-size:20px}.actions button{padding:8px}.list td{padding:10px 6px}.country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{header nav,.ad,footer,.controls,.actions{display:none}.workspace{display:block}main{padding:0}.panel{border:0}.day{min-height:100px}body{background:white}.event{print-color-adjust:exact}}

.ad[hidden]{display:none}.ad-label{display:block;margin-bottom:12px}.ad.bottom{background:white;min-height:120px;padding:12px 0}.adsbygoogle{letter-spacing:normal}

/* Comfortable navigation and month controls on desktop and touch screens. */
header nav{font-size:16px;gap:16px;flex-wrap:wrap}
header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;font-weight:600}
header nav a:hover{background:rgba(255,255,255,.1)}
.toolbar{flex-wrap:wrap;gap:16px}
.actions{gap:8px;flex-wrap:wrap}
.actions button{min-width:48px;min-height:48px;padding:10px 16px;font-size:17px;font-weight:600;line-height:1.25}
.actions #prev,.actions #next{font-size:28px;padding:6px 12px;line-height:1}
@media(max-width:760px){header{flex-wrap:wrap}header nav{gap:8px}.actions button{min-height:48px;padding:10px 14px}.toolbar h2{width:100%}}

.calendar-header{padding-top:14px;padding-bottom:14px;gap:24px;flex-wrap:wrap}
.calendar-header .brand{flex-shrink:0}
.header-intro{flex:1;min-width:260px;padding:10px 18px;border:1px solid rgba(126,220,224,.3);border-radius:10px;background:rgba(255,255,255,.05)}
.header-intro h1{font-size:22px;letter-spacing:-.5px;margin:0 0 4px;color:white}
.header-intro p{font-size:14px;line-height:1.45;margin:0;color:#d6e5f5}
.calendar-main{padding-top:16px}
.calendar-main .day{min-height:88px}
.calendar-main .panel{padding:16px}
.calendar-main .ad.bottom{margin:16px 0}
.calendar-main .below{margin-top:16px}
@media(max-width:1000px){.calendar-header .header-intro{order:3;flex-basis:100%;min-width:0}.calendar-header{justify-content:space-between;gap:12px}}
@media(max-width:760px){.header-intro h1{font-size:20px}.calendar-main .panel{padding:12px}.calendar-main .day{min-height:88px}}
@media print{.calendar-header .header-intro{border:0;background:none}.header-intro h1,.header-intro p{color:white}.calendar-main .day{min-height:100px}}

.search-results{max-height:230px;overflow-y:auto;margin-top:8px;border:1px solid #ccd5e2;border-radius:8px;background:white}
.search-results[hidden]{display:none}
.country-result{display:block;width:100%;text-align:left;border:0;border-radius:0;padding:10px 12px;min-height:44px;font-size:14px}
.country-result+.country-result{border-top:1px solid #edf1f6}
.country-result:disabled{color:#61758e;background:#f2f5fa;cursor:default}
.search-results p{padding:0 12px}

.actions button[aria-pressed="true"]{background:#102c52;color:white;border-color:#102c52}
.calendar[hidden],.annual[hidden]{display:none}
.print-heading,.print-return{display:none}
.print-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin-bottom:12px;font-size:12px}
.legend-item{border-left:3px solid var(--color);padding-left:6px}
.annual{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.annual-month{border:1px solid #dce3ee;border-radius:8px;padding:10px;min-width:0}
.annual-month h3{margin:0 0 8px;font-size:16px}
.annual-month-link{border:0;padding:0;background:none;font-weight:650;font-size:16px;text-align:left;color:#235dc8}
.annual-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.annual-weekday{font-size:11px;text-align:center;padding:5px 0;color:#526781}
.annual-day{min-height:40px;padding:3px 1px;text-align:center;border-top:1px solid #edf1f6;font-size:12px}
.annual-day.empty{background:#f7f9fc}
.annual-markers{display:flex;flex-wrap:wrap;gap:1px;justify-content:center}
.annual-marker{font-size:9px;color:var(--color);font-weight:700;line-height:1.3}
@page{size:A4 landscape;margin:10mm}
@page annual-calendar{size:A4 portrait;margin:10mm}
@media print{
  header,footer,.ad,.controls,.actions,.below,.calendar-main>section.panel,.toolbar{display:none!important}
  .calendar-main{padding:0;max-width:none}
  .calendar-main .panel{padding:0;border:0}
  .workspace{display:block}
  .print-heading{display:block;margin-bottom:4mm}
  .print-heading h1{font-size:19px;margin:0 0 2mm}
  .print-heading p{margin:1mm 0;font-size:11px;line-height:1.35}
  .print-legend{margin-bottom:3mm;font-size:10px}
  .calendar-main .day{min-height:18mm;break-inside:avoid}
  .event{font-size:10px;padding:2px;margin-top:2px}
  .weekday{font-size:11px;padding:4px}
  .num{font-size:11px;width:18px;height:18px}
  .print-return{display:flex;align-items:center;gap:4mm;margin-top:4mm;break-inside:avoid;font-size:10px}
  .print-return img{width:20mm;height:20mm;flex-shrink:0}
  .print-return p{margin:1mm 0;line-height:1.3}
  .status{font-size:10px;margin:2mm 0}
  .year-view .calendar-main{page:annual-calendar}
  .annual{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm}
  .annual-month{padding:2mm;border-radius:0;break-inside:avoid}
  .annual-month h3{margin-bottom:1mm}
  .annual-month-link{font-size:12px;color:#172b45}
  .annual-weekday{font-size:9px;padding:1mm 0}
  .annual-day{min-height:5mm;padding:0;font-size:10px}
  .annual-marker{font-size:7px}
  .annual-month,.annual-marker,.legend-item{print-color-adjust:exact}
}

.business-main{max-width:1160px}.business-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px}.business-grid fieldset{border:0;padding:0;margin:24px 0 12px}.business-grid legend{font-weight:600;margin-bottom:10px}.weekday-choices{display:flex;flex-wrap:wrap;gap:6px}.business-grid .weekday-choices label,.business-grid .endpoint-choices label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:6px}.business-grid input[type=checkbox]{width:20px;height:20px}.endpoint-choices{margin:12px 0 20px}#calculate-business{width:100%;background:#102c52;color:white;min-height:48px}.business-number{display:flex;flex-direction:column;color:#102c52;margin:20px 0}.business-number strong{font-size:80px;line-height:1.1}.business-number span{font-size:20px}.business-summary li{margin:10px 0;line-height:1.5}[hidden]{display:none!important}@media(max-width:760px){.business-grid{grid-template-columns:1fr}.business-number strong{font-size:64px}}
/* Shared right-hand and in-content advertising on all secondary pages. */
.content-ad-layout{max-width:1420px;margin:0 auto;padding:28px 24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.content-ad-layout>main{width:100%;max-width:none;min-width:0;padding:0;margin:0}
.ad.middle{background:white;min-height:120px;margin:28px 0;padding:12px 0}
.content-ad-layout>.ad.side{width:100%;min-height:440px;min-width:0}
@media(max-width:1200px){.content-ad-layout{grid-template-columns:minmax(0,1fr)}.content-ad-layout>.ad.side{display:none}}
@media(max-width:760px){.content-ad-layout{padding:20px 12px}.ad.middle{margin:20px 0}}
@media print{.content-ad-layout{display:block;padding:0;max-width:none}}
@media print{.print-heading .print-title{font-size:19px;font-weight:700;margin:0 0 2mm}}
.country-context{border-top:1px solid #dce3ee;margin-top:28px;padding-top:24px}.country-context h2{margin-top:20px}
