.calendar-page-wrap{background:#f5f7fb;padding:22px 0 38px}.calendar-layout{width:min(1500px,calc(100% - 32px));max-width:none;display:grid;grid-template-columns:230px minmax(0,1fr) 160px;gap:18px;align-items:start}.calendar-main{min-width:0}.calendar-ad-column{display:grid;gap:14px}.calendar-intro{border:1px solid #d7e0ec;border-radius:14px;background:#fff;padding:12px 16px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,30,78,.04)}.calendar-intro p{margin:0;color:#31425f;font-weight:700;line-height:1.6}.calendar-intro p+p{margin-top:3px}.calendar-card{border:1px solid #d7e0ec;border-radius:16px;background:#fff;padding:10px 18px 14px;margin-bottom:12px;box-shadow:0 10px 28px rgba(0,30,78,.05)}.calendar-card h2,.calendar-card h3{color:#112b4e}.section-heading{margin-bottom:8px;text-align:left}.section-heading .eyebrow{margin:0 0 2px;color:#ff4519;font-size:12px;font-weight:900;letter-spacing:.08em}.section-heading h2{margin:0 0 2px;font-size:21px;line-height:1.25;font-weight:900;text-align:left}.section-heading p{margin:0;color:#52627a;line-height:1.55}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.section-top .section-heading{margin-bottom:0}.pdf-top-button{min-width:112px;white-space:nowrap}.reset-all-button{min-width:138px;text-align:center}.button-row #rebuildButton,.button-row .reset-all-button{width:150px;justify-content:center;text-align:center}.reset-note{display:inline-flex;align-items:center;color:#52627a;font-size:13px;font-weight:800;line-height:1.4}.form-grid,.holiday-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px;align-content:start}.field span{font-size:13px;font-weight:900;color:#243447}.field input,.field select{width:100%;min-height:40px;border:1px solid #cdd9e8;border-radius:10px;background:#fff;padding:8px 10px;font:inherit;color:#112b4e}.field input:focus,.field select:focus{outline:2px solid rgba(21,58,146,.18);border-color:#153a92}.field small{font-size:12px;color:#64748b;line-height:1.45}.weekday-field{grid-column:span 2}.weekday-buttons{display:flex;flex-wrap:wrap;gap:7px}.weekday-button{min-width:40px;border:1px solid #cdd9e8;border-radius:999px;background:#fff;color:#153a92;padding:7px 10px;font-weight:900;cursor:pointer}.weekday-button.is-active{background:#153a92;color:#fff;border-color:#153a92}.weekday-button:disabled{opacity:.45;cursor:not-allowed}.radio-field{gap:6px}.radio-options{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}.radio-field label{display:inline-flex;align-items:center;gap:5px;color:#243447;font-weight:800;line-height:1.3;white-space:nowrap}.radio-field input[type="radio"]{width:auto!important;min-height:0!important;height:auto!important;margin:0;padding:0;accent-color:#153a92}.biweekly-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px;padding:0;border:0;background:transparent}.biweekly-setting.is-disabled{opacity:.45}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary-tile{border:1px solid #d7e0ec;border-radius:14px;background:#f7f9fc;padding:12px}.summary-tile.primary{background:#fffaf0;border-color:#e8c983}.summary-tile span{display:block;color:#52627a;font-size:12px;font-weight:900;margin-bottom:5px}.summary-tile strong{display:block;color:#112b4e;font-size:23px;line-height:1.15}.monthly-table-wrap{overflow-x:auto;margin-top:12px}.monthly-table{width:100%;border-collapse:collapse;min-width:620px}.monthly-table th,.monthly-table td{border:1px solid #d7e0ec;padding:8px 10px;text-align:right}.monthly-table th:first-child,.monthly-table td:first-child{text-align:left}.monthly-table th{background:#112b4e;color:#fff;font-size:13px}.monthly-table td{font-weight:800;color:#243447}.monthly-table tfoot td{background:#f7f9fc;font-weight:900;color:#112b4e}.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;color:#31425f;font-size:13px;font-weight:800}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:18px;height:18px;border:1px solid #cdd9e8;border-radius:4px;display:inline-block}.legend-business{background:#fff}.legend-holiday{background:#ffecec}.half-title{margin:10px 0 8px;font-size:18px;text-align:left}.months-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.month-card{border:1px solid #d7e0ec;border-radius:14px;overflow:hidden;background:#fff}.month-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;background:#f0f4fa;border-bottom:1px solid #d7e0ec;padding:8px 10px}.month-title strong{color:#112b4e}.month-title span{color:#52627a;font-size:12px;font-weight:800}.month-table{width:100%;border-collapse:collapse;table-layout:fixed}.month-table th{background:#fafbfe;color:#52627a;font-size:11px;padding:5px 0;border-bottom:1px solid #e5ebf4}.month-table td{height:40px;border:1px solid #e5ebf4;vertical-align:top;background:#fff;padding:3px;position:relative}.day-cell{width:100%;height:100%;border:0;background:transparent;text-align:left;padding:2px 3px;border-radius:6px;cursor:pointer;color:#112b4e;font:inherit}.day-cell:hover{background:rgba(21,58,146,.06)}.day-cell:focus,.day-cell:focus-visible{outline:none}.day-num{display:block;font-weight:900;font-size:12px}.day-label{display:block;font-size:9px;line-height:1.2;color:#8a5a00;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-holiday .day-cell{background:#ffecec}.is-business .day-cell{background:#fff}.is-manual .day-cell{box-shadow:none}.outside-month{background:#f7f9fc!important}.outside-month .day-cell{cursor:default}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-col h3{font-size:16px;margin:0 0 6px}.two-col p{margin:0;color:#31425f;line-height:1.8}.warning ul{margin:6px 0 0 18px}.warning li{margin:2px 0}.back-button{display:inline-block;margin-top:4px}@media(max-width:1320px){.calendar-layout{grid-template-columns:230px minmax(0,1fr)}.calendar-ad-column{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-ad-column .ad-600{min-height:250px}}@media(max-width:1050px){.calendar-layout{grid-template-columns:1fr}.tool-side-guide{max-width:1120px;width:100%;margin:0 auto}.tool-side-guide-card{position:static}.tool-side-guide-card ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-side-guide-card li{padding-bottom:0;margin-bottom:0;border-bottom:0}}@media(max-width:900px){.section-top{align-items:stretch}.pdf-top-button{min-width:104px}.form-grid,.holiday-grid,.biweekly-box,.months-grid,.summary-grid,.two-col{grid-template-columns:1fr}.weekday-field{grid-column:auto}.calendar-ad-column{grid-template-columns:1fr}}@media(max-width:760px){.section-top{display:block}.pdf-top-button{margin-top:8px}.button-row #rebuildButton,.button-row .reset-all-button{width:100%}.reset-note{width:100%;justify-content:flex-start}.calendar-page-wrap{padding:18px 0 30px}.calendar-layout{width:min(100% - 24px,1180px)}.calendar-card{padding:14px}.tool-side-guide-card ol{grid-template-columns:1fr}.month-table td{height:38px}.summary-tile strong{font-size:21px}}@media print{.no-print,.site-header,.breadcrumb,.calendar-intro,.calendar-ad-column,.button-row,.tool-side-guide,#site-footer{display:none!important}.calendar-page-wrap{background:#fff;padding:0}.calendar-layout{display:block;width:100%}.calendar-card{box-shadow:none;border:1px solid #999;break-inside:avoid}.month-card{break-inside:avoid}.months-grid{grid-template-columns:repeat(3,1fr)}body{background:#fff}}

/* v7 adjustments */
.calendar-main .section-heading{padding:0!important;margin:0 0 6px;text-align:left}
.calendar-main .section-heading h2::after{content:none!important;display:none!important}
.calendar-main .section-heading h2{margin:0 0 2px;text-align:left}
.calendar-main .section-heading p{margin:0;line-height:1.45}
.calendar-card{padding-top:8px}
.section-top{margin-bottom:6px}
.holiday-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}
.weekday-field{grid-column:auto}
.reset-all-button::after{content:none!important;margin-left:0!important}
@media(max-width:900px){.holiday-grid{grid-template-columns:1fr}}

/* v9 spacing and sticky count guide adjustments */
.calendar-card{padding-top:6px}
.calendar-card:not(.calendar-output){padding-left:30px;padding-right:22px}
.calendar-main .section-heading{margin:0 0 14px!important}
.calendar-main .section-heading h2{margin:0 0 3px!important}
.section-top{margin-bottom:14px}
.form-grid{gap:18px 16px}
.holiday-grid{display:flex;align-items:flex-start;gap:0 3em;grid-template-columns:none}
.holiday-grid .weekday-field{flex:0 1 auto;min-width:0}
.holiday-grid .radio-field{flex:0 0 auto;min-width:250px}
.field{gap:7px}
.biweekly-box{display:flex;align-items:flex-start;gap:0 3em;grid-template-columns:none;margin-top:16px}
.biweekly-box>.field{flex:0 0 auto;min-width:190px}
.button-row{margin-top:16px;gap:12px}
.summary-tile{text-align:center}
.calendar-workspace{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:start}
.calendar-month-area{min-width:0}
.calendar-count-guide{position:sticky;top:84px;border:1px solid #d7e0ec;border-radius:14px;background:#fffaf0;padding:12px 10px;box-shadow:0 8px 22px rgba(0,30,78,.08)}
.calendar-count-guide .guide-label{margin:0 0 8px;color:#c58a16;font-size:12px;font-weight:900;letter-spacing:.08em;text-align:center}
.guide-count{border-top:1px solid #ecd9aa;padding:9px 0 0;margin-top:8px;text-align:center}
.guide-count span{display:block;color:#52627a;font-size:12px;font-weight:900;line-height:1.2}
.guide-count strong{display:block;margin-top:4px;color:#112b4e;font-size:24px;line-height:1.1;font-weight:900}
.month-table td{vertical-align:middle;padding:2px}
.day-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;position:relative}
.day-num{font-size:13px;line-height:1;font-weight:900;text-align:center}
.day-label{position:absolute;left:2px;right:2px;bottom:2px;text-align:center;font-size:8px;line-height:1.05}
@media(max-width:1100px){.calendar-workspace{grid-template-columns:1fr}.calendar-count-guide{position:static;display:flex;gap:12px;align-items:center;justify-content:flex-start}.calendar-count-guide .guide-label{margin:0 8px 0 0}.guide-count{border-top:0;border-left:1px solid #ecd9aa;margin:0;padding:0 0 0 12px}.guide-count strong{font-size:20px}}
@media(max-width:900px){.holiday-grid,.biweekly-box{display:grid;grid-template-columns:1fr;gap:14px}.holiday-grid .radio-field,.biweekly-box>.field{min-width:0}.calendar-card:not(.calendar-output){padding-left:18px;padding-right:18px}}
@media(max-width:760px){.calendar-card:not(.calendar-output){padding-left:14px;padding-right:14px}.calendar-main .section-heading{margin-bottom:12px!important}.calendar-count-guide{display:grid;grid-template-columns:1fr 1fr}.calendar-count-guide .guide-label{grid-column:1/-1;margin:0;text-align:left}.guide-count{border-left:0;border-top:1px solid #ecd9aa;padding:8px 0 0}}


/* v10 management material alignment adjustments */
.monthly-table th,
.monthly-table td{text-align:center!important;vertical-align:middle}
.monthly-table tbody td:first-child{text-align:center!important}

/* v11 holiday setting spacing and seasonal holiday controls */
.calendar-main .section-heading{margin:0 0 16px!important}
.form-grid{gap:20px 18px}
.holiday-grid{gap:0 3em;align-items:flex-start;margin-bottom:18px}
.field{gap:9px}
.radio-field{gap:9px}
.biweekly-box{gap:0 1.5em;margin-top:18px;margin-bottom:18px;align-items:flex-start}
.biweekly-box>.field{min-width:160px}
.seasonal-holiday-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:4px;padding-top:0;align-items:center}
.check-option{display:inline-flex;align-items:center;gap:6px;color:#243447;font-size:13px;font-weight:850;line-height:1.35;white-space:nowrap}
.check-option input[type="checkbox"]{width:15px;height:15px;margin:0;accent-color:#153a92}
@media(max-width:900px){.holiday-grid,.biweekly-box{gap:16px}.biweekly-box>.field{min-width:0}.seasonal-holiday-row{display:grid;grid-template-columns:1fr;gap:10px}}


/* v12 holiday pattern spacing and seasonal checkbox size adjustments */
.calendar-main .section-heading{margin:0 0 18px!important}
.holiday-grid{margin-bottom:26px!important;gap:0 3em!important}
.holiday-grid .field{gap:12px!important}
.holiday-grid .radio-field{gap:12px!important}
.biweekly-box{margin-top:24px!important;margin-bottom:26px!important;gap:0 1.2em!important}
.biweekly-box>.field{min-width:150px!important}
.biweekly-box .field{gap:12px!important}
.seasonal-holiday-row{margin-top:14px!important;gap:14px 28px!important;align-items:center!important}
.check-option{display:inline-flex;align-items:center;gap:8px;color:#243447;font:inherit;font-weight:800;line-height:1.35;white-space:nowrap}
.check-option input[type="checkbox"]{width:18px!important;height:18px!important;margin:0;accent-color:#153a92;flex:0 0 auto}
@media(max-width:900px){.holiday-grid,.biweekly-box{gap:18px!important}.seasonal-holiday-row{gap:12px!important}}


/* v15 Excel export buttons */
.export-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.export-buttons .pdf-top-button,.export-buttons .excel-top-button{min-width:104px;white-space:nowrap}
.excel-top-button{display:inline-flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:760px){.export-buttons{justify-content:flex-start;margin-top:8px}.export-buttons .pdf-top-button,.export-buttons .excel-top-button{min-width:104px}}

/* SEO content section: page-specific layout */
.seo-content--annual-business-calendar {
  box-sizing: border-box;
  width:min(1500px,calc(100% - 32px));
  margin: 28px auto 48px;
  padding: 20px 22px;
  border: 1px solid #d8dee8;
  border-radius: 14px;
  background: #fff;
  color: #243044;
  line-height: 1.75;
}
.seo-content--annual-business-calendar h2 {
  margin: 18px 0 6px;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #001e4e;
  letter-spacing: .02em;
}
.seo-content--annual-business-calendar h2:first-child { margin-top: 0; }
.seo-content--annual-business-calendar p,
.seo-content--annual-business-calendar li {
  font-size: 0.9rem;
  line-height: 1.75;
}
.seo-content--annual-business-calendar p { margin: 0 0 10px; }
.seo-content--annual-business-calendar ul {
  margin: 0 0 10px;
  padding-left: 1.35em;
}
@media(max-width:760px) {
  .seo-content--annual-business-calendar {
    width:min(100% - 24px,1500px);
    margin-top: 22px;
    margin-bottom: 36px;
    padding: 18px 16px;
    border-radius: 12px;
  }
  .seo-content--annual-business-calendar h2 { font-size: 0.96rem; }
  .seo-content--annual-business-calendar p,
  .seo-content--annual-business-calendar li { font-size: 0.88rem; }
}
@media print {
  .seo-content--annual-business-calendar { display:none!important; }
}
