.calendar-page{background:radial-gradient(circle at 88% 0,#dbe7f5 0,transparent 34%),#edf1f5;color:#101828}.calendar-main{max-width:1540px;margin:0 auto;padding:42px 30px 34px}.calendar-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px}.calendar-intro>div:first-child{max-width:760px}.calendar-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:#175cd3;margin:0 0 10px}.calendar-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,70px);line-height:.98;letter-spacing:-.04em;margin:0}.calendar-intro>div>p:last-child{color:#475467;font-size:17px;line-height:1.65;max-width:660px;margin:18px 0 0}.calendar-year-badge{background:#15263d;color:#fff;border-radius:18px;padding:17px 22px;display:flex;align-items:center;gap:13px;box-shadow:0 12px 30px #15263d22}.calendar-year-badge strong{font:700 30px/1 Georgia,serif}.calendar-year-badge span{font-size:12px;line-height:1.25;max-width:70px;color:#dbe6f4}.calendar-workspace{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}.calendar-controls,.calendar-result{background:#ffffffeb;border:1px solid #fff;border-radius:20px;box-shadow:0 8px 30px #34405412}.calendar-controls{padding:21px;position:sticky;top:86px}.calendar-controls section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #e4e7ec}.calendar-controls h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px}.calendar-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px}.calendar-controls label{font-size:12px;color:#475467;font-weight:700}.calendar-controls input[type=number]{width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:9px;padding:10px 9px;background:#fff;color:#101828;font-weight:700;outline:none}.calendar-controls input:focus{border-color:#84adff;box-shadow:0 0 0 3px #175cd31a}.calendar-hint{font-size:11px;color:#667085;margin:9px 0 0}.calendar-hint.error{color:#b42318}.calendar-segmented{display:flex;background:#f2f4f7;padding:3px;border-radius:10px;margin-bottom:11px}.calendar-segmented button{flex:1;border:0;background:transparent;padding:7px;border-radius:8px;color:#667085;font-size:12px;font-weight:700}.calendar-segmented button.active{background:#fff;color:#101828;box-shadow:0 1px 4px #10182818}.calendar-checks{display:grid;gap:9px}.calendar-checks label{display:flex;align-items:center;gap:8px;cursor:pointer}.calendar-checks input{accent-color:#15263d}.calendar-checks span{width:9px;height:9px;border-radius:50%}.holiday-federal{background:#b42318}.holiday-christian{background:#7a3e9d}.holiday-jewish{background:#175cd3}.holiday-islamic{background:#067647}.calendar-generate{width:100%;border:0;border-radius:11px;padding:12px;background:#15263d;color:#fff;font-weight:800;box-shadow:0 5px 12px #15263d2b}.calendar-generate:hover{background:#203957}.calendar-generate:disabled{opacity:.45;cursor:not-allowed}.calendar-note{font-size:11px;line-height:1.5;color:#667085;margin:13px 2px 0}.calendar-result{overflow:hidden}.calendar-result-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;border-bottom:1px solid #e4e7ec}.calendar-result-details{display:flex;align-items:center;gap:9px}.calendar-status-dot{width:8px;height:8px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px #12b76a1a}.calendar-result-details strong{font-size:14px}.calendar-result-details small{color:#667085;border-left:1px solid #d0d5dd;padding-left:9px}.calendar-actions{display:flex;gap:8px}.calendar-actions button{border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800;color:#344054}.calendar-actions button:hover{background:#f9fafb}.calendar-actions .primary{background:#175cd3;color:#fff;border-color:#175cd3}.calendar-preview-shell{padding:22px;min-height:620px;background:linear-gradient(135deg,#e9edf2,#dce3eb);display:flex;justify-content:center;align-items:flex-start;overflow:auto}.calendar-poster{width:min(100%,720px);aspect-ratio:24/36;background:#fff;box-shadow:0 12px 42px #10182833;flex:none}.calendar-poster svg{display:block;width:100%;height:100%}.calendar-preview-note{text-align:center;font-size:11px;color:#667085;margin:10px 15px 12px}@media(max-width:900px){.calendar-intro{align-items:flex-start}.calendar-year-badge{display:none}.calendar-workspace{grid-template-columns:1fr}.calendar-controls{position:static}.calendar-preview-shell{min-height:400px}}@media(max-width:560px){.calendar-main{padding:28px 15px}.calendar-intro h1{font-size:39px}.calendar-result-bar{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%}.calendar-actions button{flex:1}.calendar-preview-shell{padding:10px}.calendar-two-columns{grid-template-columns:1fr}}
.calendar-title-field{display:block;margin-bottom:11px}.calendar-controls input[type=text]{width:100%;margin-top:6px;border:1px solid #d0d5dd;border-radius:9px;padding:10px 9px;background:#fff;color:#101828;font-weight:700;outline:none}
.calendar-color-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.calendar-color-choices label{display:flex;align-items:center;justify-content:space-between;gap:7px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:9px;padding:8px}.calendar-color-choices input[type=color]{width:31px;height:28px;padding:2px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;cursor:pointer}
.calendar-decade-panel{margin-top:12px;border:1px solid #e4e7ec;border-radius:9px;background:#f8fafc}.calendar-decade-panel summary{padding:9px 10px;font-size:12px;font-weight:800;color:#344054;cursor:pointer}.calendar-decade-colors{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:0 9px 9px}.calendar-decade-colors label{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#fff;border:1px solid #e4e7ec;border-radius:7px;padding:6px 7px}.calendar-decade-colors input[type=color]{width:28px;height:25px;padding:2px;border:1px solid #d0d5dd;border-radius:5px;background:#fff;cursor:pointer}
.calendar-columns-control{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:end;margin-bottom:11px}.calendar-auto-columns{display:flex;align-items:center;gap:7px;min-height:39px;padding:8px;background:#f8fafc;border:1px solid #e4e7ec;border-radius:9px}.calendar-auto-columns input{accent-color:#15263d}.calendar-columns-control input[type=number]:disabled{background:#f2f4f7;color:#98a2b3;cursor:not-allowed}
