.cnb-app .cnb-holidays-filter{grid-template-columns:minmax(150px,1.5fr) minmax(110px,.7fr) minmax(130px,1fr) auto;align-items:end;gap:16px}
.cnb-app .cnb-holidays-filter>.cnb-btn{margin-bottom:1px;min-height:46px}
.cnb-app .cnb-holidays-coverage{border:1px solid #c6d8e9;border-right:4px solid #00649e;border-radius:12px;background:#eef6fb;padding:14px 18px;margin:0 0 18px;line-height:1.9}
.cnb-app .cnb-holidays-coverage.is-incomplete{border-color:#e7c374;background:#fff8e6;color:#76551c}
.cnb-app .cnb-holidays-coverage p{margin:0}
.cnb-app .cnb-holidays-source{font-size:.88em;overflow-wrap:anywhere}
.cnb-app .cnb-holidays-source a{text-decoration:underline;text-underline-offset:3px}
.cnb-app .cnb-holidays-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.cnb-app .cnb-holidays-toolbar h3{margin:0 0 6px;font-size:1.25em}
.cnb-app .cnb-holidays-toolbar p{margin:0;font-size:.9em}
.cnb-app .cnb-holidays-navigation{display:flex;flex-wrap:wrap;gap:8px}
.cnb-app .cnb-holidays-navigation .cnb-btn{padding:9px 15px;min-height:42px}
.cnb-app .cnb-holidays-weekdays,.cnb-app .cnb-holidays-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cnb-app .cnb-holidays-weekdays{margin-bottom:9px;font-size:.85em;text-align:center;font-weight:700}
.cnb-app .cnb-holidays-weekdays>span{padding:8px 0}
.cnb-app .cnb-holidays-weekdays>span:last-child{color:#9c3539}
.cnb-app .cnb-holidays-day{border:1px solid #cdddea;background:#f8fbfd;border-radius:12px;min-width:0;min-height:120px;display:flex;flex-direction:column;gap:8px;padding:10px;color:inherit;font:inherit;text-align:right;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.cnb-app .cnb-holidays-day.is-closed{background:#fff1f1;border-color:#edc5c7;color:#922f36}
.cnb-app .cnb-holidays-day.is-edited{box-shadow:inset 0 3px 0 #bd963f}
.cnb-app .cnb-holidays-day:hover{border-color:#00649e;box-shadow:0 0 0 2px #00649e26}
.cnb-app .cnb-holidays-day:focus-visible{outline:3px solid #00649e;outline-offset:2px}
.cnb-app .cnb-holidays-day-top{display:flex;align-items:center;justify-content:space-between;gap:4px}
.cnb-app .cnb-holidays-day-top strong{font-size:1.18em;line-height:1.2}
.cnb-app .cnb-holidays-state{font-size:.75em}
.cnb-app .cnb-holidays-occasion{font-size:.78em;line-height:1.7;overflow-wrap:anywhere;flex:1}
.cnb-app .cnb-holidays-day-tags{display:flex;gap:4px;flex-wrap:wrap;font-size:.65em;line-height:1.5}
.cnb-app .cnb-holidays-day-tags>span{border:1px solid currentColor;border-radius:5px;padding:1px 4px}
.cnb-app .cnb-holidays-blank{min-width:0;border-radius:12px;background:#f6f8fa;opacity:.7}
.cnb-app .cnb-holidays-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin:20px 0 12px;font-size:.85em}
.cnb-app .cnb-holidays-legend>span{display:flex;align-items:center;gap:7px}
.cnb-app .cnb-holidays-legend i{width:14px;height:14px;border-radius:4px;border:1px solid #cdddea;background:#f8fbfd;display:inline-block}
.cnb-app .cnb-holidays-legend i.is-closed{background:#fff1f1;border-color:#d9999d}
.cnb-app .cnb-holidays-legend i.is-edited{background:#fdf8ea;border-color:#bd963f;border-top-width:4px}
.cnb-app .cnb-holidays-hint{font-size:.85em;line-height:1.9;margin:12px 0 0;color:#587083}
.cnb-app .cnb-holidays-day-details{border-radius:12px;padding:16px 20px;background:#f2f7fb;border:1px solid #d0e0ee;line-height:1.9}
.cnb-app .cnb-holidays-day-details p{margin:4px 0 0}
.cnb-app .cnb-holidays-error{border:1px solid #e3b4b6;border-radius:12px;background:#fff2f2;color:#8a2932;padding:16px 20px;margin:0 0 20px;line-height:1.9}
.cnb-app .cnb-holidays-error p{margin:0 0 12px}
@media(max-width:900px){.cnb-app .cnb-holidays-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.cnb-app .cnb-holidays-day{min-height:112px;padding:8px}.cnb-app .cnb-holidays-weekdays,.cnb-app .cnb-holidays-grid{gap:5px}}
@media(max-width:600px){.cnb-app .cnb-holidays-calendar{padding:14px 9px}.cnb-app .cnb-holidays-weekdays{font-size:.65em;gap:3px}.cnb-app .cnb-holidays-grid{gap:3px}.cnb-app .cnb-holidays-day{min-height:110px;border-radius:7px;gap:6px;padding:7px 3px}.cnb-app .cnb-holidays-day-top{flex-direction:column;align-items:flex-start;gap:5px}.cnb-app .cnb-holidays-day-top strong{font-size:1em}.cnb-app .cnb-holidays-state{font-size:.66em}.cnb-app .cnb-holidays-occasion{font-size:.58em;line-height:1.7}.cnb-app .cnb-holidays-day-tags{font-size:.53em;gap:3px}.cnb-app .cnb-holidays-day-tags>span{padding:0 2px}.cnb-app .cnb-holidays-toolbar{gap:12px;padding:0 4px}.cnb-app .cnb-holidays-navigation{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cnb-app .cnb-holidays-navigation .cnb-btn{font-size:.78em;padding:8px 5px;min-width:0}.cnb-app .cnb-holidays-filter{gap:12px}.cnb-app .cnb-holidays-filter>.cnb-btn{padding:10px;min-width:0}.cnb-app .cnb-holidays-legend{gap:8px 12px;font-size:.75em}.cnb-app .cnb-holidays-coverage{padding:12px 14px}.cnb-app .cnb-holidays-hint{font-size:.8em}}
