.calendar-page .hero-shell{padding:24px 28px}.calendar-page h1{font-size:clamp(27px,4vw,42px);margin-bottom:10px}.calendar-page .lead{max-width:900px}
.calendar-panel{padding:24px;min-width:0}.calendar-controls{display:grid;grid-template-columns:1fr 1.15fr 1.4fr;gap:18px}.calendar-controls .field{margin:0}.calendar-page .input{width:100%;min-width:0;font-size:16px;min-height:48px}.calendar-page [hidden]{display:none!important}
.calendar-scope{margin:16px 0;padding:14px 16px;border-left:4px solid #426d56;border-radius:12px;background:#dce8de;color:#20372c}.calendar-scope p{margin:0}.calendar-scope p+p{margin-top:6px}.calendar-short-link{font-weight:700}
.calendar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.calendar-stat{padding:16px;border:1px solid #b3c7b6;border-radius:16px;background:#eaf0e8;box-shadow:inset 1px 1px 0 #fff9}.calendar-stat strong{display:block;font-size:28px;line-height:1.25;color:#20372c}.calendar-stat span{display:block;margin-top:5px;font-size:14px;color:#426050}.calendar-stat small{display:block;font-size:13px;margin-top:4px;color:#426050}
.calendar-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:18px}.calendar-search .field{margin:0;flex:1;min-width:180px;max-width:280px}.calendar-page .button{min-height:46px}.calendar-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.calendar-page button:focus-visible,.calendar-page a:focus-visible,.calendar-page summary:focus-visible{outline:3px solid #426d56;outline-offset:3px}.calendar-message{color:#8a2c25;font-weight:650;min-height:0}.calendar-message:empty{display:none}
.calendar-day-detail{margin-top:14px;padding:16px 18px;border-radius:14px;background:#dce7d9;border:1px solid #94b29d}.calendar-day-detail h3{margin:0 0 7px;font-size:19px}.calendar-day-detail p{margin:0;line-height:1.6}.calendar-date-hint{font-size:14px;margin-top:14px}
.calendar-legend{display:flex;gap:12px 20px;flex-wrap:wrap;margin:18px 0;font-size:14px}.calendar-legend span{display:flex;gap:7px;align-items:center}.calendar-key{display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;min-width:28px;height:28px;border-radius:8px;border:1px solid #a3b9a8;background:#eef3ec}.calendar-key.off{background:#e4dcea;color:#67495e;border-color:#c0aac1}.calendar-key.short{background:#d5e4d4;color:#284934}
.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.calendar-month{min-width:0;padding:16px;border:1px solid #b3c7b6;border-radius:20px;background:#e5ece2;box-shadow:inset 1px 1px 1px #fff9,4px 5px 10px #64765e12}.calendar-month h3{font-size:20px;margin:0 0 12px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{margin-bottom:6px;color:#506b58;text-align:center;font-size:13px;font-weight:650}.calendar-days button{display:flex;align-items:center;justify-content:center;position:relative;padding:0;min-width:0;width:100%;height:42px;border-radius:9px;border:1px solid #bbcab9;background:#f0f4ed;color:#20372c;font:inherit;font-size:15px;font-weight:600;cursor:pointer;box-shadow:1px 2px 3px #66776115}.calendar-days button:hover{border-color:#426d56;background:#d4e1d1}.calendar-days button[data-kind="holiday"],.calendar-days button[data-kind="weekend"],.calendar-days button[data-kind="transfer"]{background:#e4dcea;color:#67495e;border-color:#c0aac1}.calendar-days button[data-kind="short"]{background:#d5e4d4;color:#284934;border-color:#739783}.calendar-days button[aria-pressed="true"]{outline:3px solid #426d56;outline-offset:0;background:#c0d5c2}.calendar-days sup{font-size:12px;margin-left:1px}.calendar-month-meta{margin:12px 0 0;font-size:13px;line-height:1.6;color:#426050}.calendar-month-meta strong{color:#20372c}.calendar-month-meta p{margin:0}
.calendar-table-wrap{overflow:auto;max-width:100%;border:1px solid #b3c7b6;border-radius:14px}.calendar-table{width:100%;min-width:690px;border-collapse:collapse;background:#edf2e9}.calendar-table caption{text-align:left;padding:12px 16px;font-weight:700}.calendar-table th,.calendar-table td{padding:11px 14px;border-bottom:1px solid #c8d4c5;text-align:right;white-space:nowrap}.calendar-table th:first-child,.calendar-table td:first-child{text-align:left;position:sticky;left:0;background:#edf2e9;z-index:1}.calendar-table th{background:#dbe5d7;font-size:14px;color:#20372c}.calendar-table tbody tr[data-total] td{font-weight:700;background:#dce7d9}.calendar-scroll-hint{display:none}.calendar-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calendar-info-grid ul{padding-left:20px}.calendar-sources-list{line-height:1.7;padding-left:22px}.calendar-page a{overflow-wrap:anywhere}.calendar-page .seo-article h3{margin-top:22px}.calendar-page .faq-list details{border-bottom:1px solid #c2d0be;padding:13px 0}.calendar-page .faq-list summary{font-weight:700;cursor:pointer}.calendar-page .faq-list details p{margin-top:12px;line-height:1.7}.calendar-page p,.calendar-page li{overflow-wrap:break-word}
@media(max-width:1100px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.calendar-page .hero-shell{padding:20px}.calendar-panel{padding:18px}.calendar-controls{grid-template-columns:1fr;gap:14px}.calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{grid-template-columns:1fr}.calendar-month{padding:14px}.calendar-days button{height:44px}.calendar-info-grid{grid-template-columns:1fr}.calendar-search .field{max-width:none}.calendar-table-wrap{border-radius:10px}.calendar-scroll-hint{display:block;font-size:13px;color:#426050;animation:calendar-scroll 2.8s ease-in-out infinite}.calendar-stat{padding:13px}.calendar-stat strong{font-size:25px}.calendar-actions .button{flex:1;min-width:170px}}
@keyframes calendar-scroll{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}@media(prefers-reduced-motion:reduce){.calendar-scroll-hint{animation:none}}@media print{.site-header,.site-footer,[data-site-header],[data-site-footer],.calendar-controls,.calendar-search,.calendar-actions,.calendar-message,.calendar-scroll-hint{display:none!important}.calendar-page .container{max-width:none}.calendar-page .card{box-shadow:none;background:white}.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-month{break-inside:avoid}.calendar-days button{height:25px}.calendar-table-wrap{overflow:visible}.calendar-table{min-width:0}.calendar-info-grid{break-inside:avoid}}
.calendar-grid[data-count="1"] { grid-template-columns:1fr; max-width:620px; margin-inline:auto; }
.calendar-faq details { border-top:1px solid var(--line, #b2c3b7); padding:15px 0; }
.calendar-faq summary { cursor:pointer; color:#20372c; font-weight:700; }
.calendar-faq summary:focus-visible { outline:3px solid #426d56; outline-offset:5px; border-radius:5px; }
.calendar-faq p { margin-bottom:0; }
.calendar-formula { background:#d8e5d9; border-left:4px solid #739783; border-radius:10px; padding:14px 16px; }
