.smt-calendar-page .smt-tool-hero-grid > div:first-child { text-align: center; }
.smt-calendar-page .smt-hub-kicker { margin-left: auto; margin-right: auto; }
.smt-calendar-page .smt-hub-actions { justify-content: center; }
.smt-calendar-page h2, .smt-calendar-page h3, .smt-calendar-guide h2, .smt-calendar-guide h3 { text-align: center; }
.smt-calendar-page .smt-hub-split > div > .smt-hub-kicker { display: table; text-align: center; }
.smt-calendar-preview h2 { font-size: 29px; text-align: center; }
.smt-calendar-preview > p { color: var(--tool-muted); font-size: 15px; text-align: center; }
.smt-calendar-preview > span { display: table; margin: 0 auto 18px; text-align: center; }
.smt-calendar-preview-days { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0; }
.smt-calendar-preview-days > div { background: #f4efff; border: 1px solid #e1d5fb; border-radius: 8px; min-height: 132px; min-width: 0; padding: 15px 12px; text-align: center; }
.smt-calendar-preview-days > div:nth-child(2) { background: #eef7ff; border-color: #cfe4f7; }
.smt-calendar-preview-days > div:nth-child(3) { background: #eaf9f4; border-color: #c3ebdb; }
.smt-calendar-preview-days b { color: var(--tool-purple-dark); display: block; font-size: 13px; margin-bottom: 12px; }
.smt-calendar-preview-days strong { color: var(--tool-ink); display: block; font-size: 15px; }
.smt-calendar-preview-days span { color: var(--tool-muted); display: block; font-size: 12px; margin-top: 7px; }
.smt-calendar-preview-total { border-top: 1px solid var(--tool-line); color: var(--tool-green); font-weight: 800; padding-top: 18px; text-align: center; }
.smt-calendar-form { padding: 32px 34px 20px; }
.smt-calendar-fields { display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.smt-calendar-field { border-bottom: 1px solid var(--tool-line); min-width: 0; padding: 18px; }
.smt-calendar-field:nth-child(odd) { border-right: 1px solid var(--tool-line); }
.smt-calendar-field label { color: var(--tool-ink); display: block; font-size: 15px; font-weight: 800; margin-bottom: 9px; text-align: center; }
.smt-calendar-field textarea { box-sizing: border-box; font: inherit; min-height: 145px; resize: vertical; width: 100%; }
.smt-calendar-field small { color: var(--tool-muted); display: block; font-size: 13px; line-height: 1.5; margin: 9px 0 0; text-align: center; }
.smt-calendar-field-full { border-right: 0 !important; grid-column: 1 / -1; }
.smt-calendar-choice-groups { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.smt-calendar-choices { border: 1px solid var(--tool-line); border-radius: 8px; min-width: 0; padding: 14px 16px 18px; }
.smt-calendar-choices legend { color: var(--tool-purple-dark); font-size: 17px; font-weight: 800; margin: auto; padding: 0 9px; text-align: center; }
.smt-calendar-choice-list { display: flex; flex-wrap: wrap; gap: 10px 14px; justify-content: center; }
.smt-calendar-choice-list label { align-items: center; color: var(--tool-ink); display: flex; font-size: 14px; gap: 7px; margin: 0; min-height: 32px; }
.smt-calendar-choice-list input { accent-color: var(--tool-purple); flex: 0 0 17px; height: 17px; margin: 0; width: 17px; }
.smt-calendar-form-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 12px; }
.smt-calendar-form-actions .smt-tool-action, .smt-calendar-result .smt-tool-action { font-size: 14px; font-weight: 800; }
.smt-calendar-error { color: var(--tool-danger); font-size: 14px; font-weight: 800; margin: 12px 0 0; min-height: 24px; text-align: center; }
.smt-calendar-result[hidden] { display: none !important; }
.smt-calendar-result { border-top: 1px solid var(--tool-line); padding: 32px 34px; scroll-margin-top: 115px; }
.smt-calendar-result-head { text-align: center; }
.smt-calendar-result-head h3 { font-size: 30px; margin: 0 0 14px; }
.smt-calendar-result-head p { color: var(--tool-muted); margin: 0 auto 24px; max-width: 780px; }
.smt-calendar-stats { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0; }
.smt-calendar-stats > div { background: #f4efff; border: 1px solid var(--tool-line); border-radius: 8px; min-width: 0; padding: 17px 12px; text-align: center; }
.smt-calendar-stats > div:nth-child(2) { background: #eef7ff; }
.smt-calendar-stats > div:nth-child(3) { background: #eaf9f4; }
.smt-calendar-stats strong { color: var(--tool-ink); display: block; font-size: 25px; }
.smt-calendar-stats span { color: var(--tool-muted); font-size: 13px; }
.smt-calendar-views { background: #eee9f7; border-radius: 8px; display: flex; gap: 5px; margin: 28px auto; max-width: 330px; padding: 5px; }
.smt-calendar-views button { background: transparent; border: 0; border-radius: 5px; color: var(--tool-muted); flex: 1; font-size: 14px; font-weight: 800; min-height: 42px; padding: 8px 12px; }
.smt-calendar-views button[aria-pressed="true"] { background: #fff; color: var(--tool-purple-dark); }
.smt-calendar-week { border-top: 1px solid var(--tool-line); padding: 24px 0; }
.smt-calendar-week > h4 { color: var(--tool-purple-dark); font-size: 21px; margin: 0 0 18px; text-align: center; }
.smt-calendar-slot-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.smt-calendar-slot { background: #fff; border: 1px solid var(--tool-line); border-radius: 8px; min-width: 0; padding: 16px; }
.smt-calendar-slot:nth-child(3n + 2) { border-top: 3px solid var(--tool-blue); }
.smt-calendar-slot:nth-child(3n + 1) { border-top: 3px solid var(--tool-purple); }
.smt-calendar-slot:nth-child(3n) { border-top: 3px solid var(--tool-green); }
.smt-calendar-slot-head { color: var(--tool-purple-dark); font-size: 14px; font-weight: 900; margin-bottom: 7px; text-align: center; }
.smt-calendar-slot-meta { color: var(--tool-muted); font-size: 12px; line-height: 1.5; margin-bottom: 14px; overflow-wrap: anywhere; text-align: center; }
.smt-calendar-edit-label { color: var(--tool-ink); display: block; font-size: 12px; font-weight: 800; margin: 12px 0 5px; }
.smt-calendar-slot input, .smt-calendar-slot textarea, .smt-calendar-slot select { background: #fcfbff; border: 1px solid #dcd4ef; border-radius: 5px; box-sizing: border-box; color: var(--tool-ink); font-family: inherit; font-size: 14px; line-height: 1.5; max-width: 100%; min-height: 42px; padding: 10px 12px; width: 100%; }
.smt-calendar-slot textarea { min-height: 146px; resize: vertical; }
.smt-calendar-slot input:focus, .smt-calendar-slot textarea:focus, .smt-calendar-slot select:focus { border-color: var(--tool-purple); outline: 2px solid #dfd1ff; }
.smt-calendar-week[data-view="list"] .smt-calendar-slot-grid { grid-template-columns: 1fr; }
.smt-calendar-week[data-view="list"] .smt-calendar-slot { display: grid; gap: 0 16px; grid-template-columns: minmax(110px, .8fr) minmax(0, 1.1fr) minmax(0, 2fr) minmax(150px, .7fr); }
.smt-calendar-week[data-view="list"] .smt-calendar-slot-meta { grid-column: 1; }
.smt-calendar-week[data-view="list"] .smt-calendar-edit-label { margin-top: 0; }
.smt-calendar-week[data-view="list"] .smt-calendar-title-field { grid-column: 2; grid-row: 1 / 3; }
.smt-calendar-week[data-view="list"] .smt-calendar-brief-field { grid-column: 3; grid-row: 1 / 3; }
.smt-calendar-week[data-view="list"] .smt-calendar-status-field { grid-column: 4; grid-row: 1 / 3; }
.smt-calendar-week[data-view="list"] textarea { min-height: 115px; }
.smt-calendar-export-status { color: var(--tool-green); font-size: 14px; min-height: 22px; text-align: center; }
.smt-calendar-result .smt-tool-result-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 20px; }
.smt-calendar-result .smt-tool-result-actions .smt-tool-action { padding: 0 18px; width: auto; }
.smt-calendar-note { color: var(--tool-muted); font-size: 13px; margin: 20px auto 0; max-width: 820px; text-align: center; }
.smt-calendar-page .smt-tool-formula-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.smt-calendar-page .smt-tool-formula-card { display: flex; flex-direction: column; }
.smt-calendar-page .smt-tool-formula-card > p:not(:has(> strong)) { margin-bottom: 18px; }
.smt-calendar-page .smt-tool-formula-card > p:has(> strong) { margin-bottom: 0; margin-top: auto; }
.smt-calendar-page .smt-tool-formula-card > strong,
.smt-calendar-page .smt-tool-formula-card > p > strong { background: #f7f5fb; color: var(--tool-purple-dark); display: block; font-family: monospace; font-size: 12px; font-weight: 400; line-height: 1.55; margin-top: auto; overflow-wrap: anywhere; padding: 13px; text-align: center; }
.smt-calendar-page .smt-tool-guide-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.smt-calendar-page .smt-tool-guide-card > a, .smt-calendar-page .smt-tool-guide-card > p:has(> a) { align-self: center; margin-top: auto !important; text-align: center; }
.smt-calendar-page .smt-tool-guide-card > p:empty, .smt-calendar-page .smt-tool-guide-grid > p:empty, .smt-calendar-slot-grid > p:empty, .smt-calendar-fields > p:empty, .smt-calendar-choice-groups > p:empty { display: none !important; }
.smt-calendar-extra-guides { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.smt-calendar-page .smt-hub-section:has(.smt-tool-guide-grid) { padding-bottom: 44px; }
.smt-calendar-page .smt-hub-section:has(.smt-tool-cta) { padding-top: 44px; }
.smt-calendar-guide .smt-hub-article-body > h2 { margin-top: 60px !important; text-align: center; }
.smt-calendar-guide .smt-hub-article-body > .smt-hub-head:not(:first-child) { margin-top: 60px; }
.smt-calendar-guide .smt-hub-article-body > h3 { margin-top: 40px; }
.smt-calendar-guide .smt-hub-article-body > .smt-hub-faq { margin-top: 60px; }
.smt-calendar-guide .smt-tool-cta { margin: 42px 0; }
.smt-calendar-guide .smt-tool-guide-links { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.smt-calendar-source { border-top: 1px solid var(--tool-line); color: var(--tool-muted); font-size: 13px; margin-top: 42px; padding-top: 18px; text-align: center; }
.smt-calendar-directory .smt-tool-directory-card h3 { text-align: center; }
.smt-calendar-directory .smt-tool-directory-card > a, .smt-calendar-directory .smt-tool-directory-card > p:has(> a) { align-self: center; margin-top: auto !important; text-align: center; }
.smt-calendar-directory .smt-tool-directory-card > p:empty { display: none !important; }
.smt-calendar-directory .smt-calendar-directory-grid { grid-template-columns: minmax(0, 620px); justify-content: center; }
@media (max-width: 1050px) {
  .smt-calendar-page .smt-tool-guide-grid, .smt-calendar-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smt-calendar-guide .smt-tool-guide-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .smt-calendar-week[data-view="list"] .smt-calendar-slot { display: block; }
  .smt-calendar-week[data-view="list"] .smt-calendar-edit-label { margin-top: 12px; }
}
@media (max-width: 680px) {
  .smt-calendar-form, .smt-calendar-result { padding: 22px 18px; }
  .smt-calendar-fields, .smt-calendar-choice-groups, .smt-calendar-slot-grid, .smt-calendar-page .smt-tool-guide-grid, .smt-calendar-page .smt-tool-formula-grid, .smt-calendar-extra-guides, .smt-calendar-guide .smt-tool-guide-links { grid-template-columns: 1fr; }
  .smt-calendar-field { border-right: 0 !important; padding: 16px 0; }
  .smt-calendar-field-full { grid-column: auto; }
  .smt-calendar-result-head h3 { font-size: 26px; }
  .smt-calendar-stats { gap: 7px; }
  .smt-calendar-result .smt-tool-result-actions .smt-tool-action { width: 100%; }
  .smt-calendar-stats > div { padding: 14px 7px; }
  .smt-calendar-stats strong { font-size: 22px; }
  .smt-calendar-stats span { display: block; font-size: 12px; }
  .smt-calendar-preview-days { gap: 7px; }
  .smt-calendar-preview-days > div { padding: 14px 7px; }
}
