.calendar-board{background:#fcfbf6;border:1px solid #d4d9cf;border-radius:14px;padding:26px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.calendar-top h3{font:500 32px Manrope;margin:0}.calendar-year{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.calendar-month{padding:14px;background:#f5f3eb;border-radius:8px}.calendar-month h4{margin:0 0 12px;font-size:16px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-days small{font-size:10px;color:#748477}.calendar-day{border:2px solid transparent;border-radius:50%;background:transparent;color:#193d34;cursor:pointer;aspect-ratio:1;font-size:11px;padding:0}.calendar-day.event{border-color:#ce3434;font-weight:700}.calendar-day.selected{background:#193d34;color:white}.calendar-day:hover{background:#e0e7dc}.calendar-single{max-width:760px;margin:auto}.calendar-single .calendar-day{font-size:18px;min-height:38px}.calendar-single .calendar-days{gap:8px}.calendar-single small{font-size:13px}.calendar-month-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.calendar-month-tabs button,.calendar-back{padding:10px 16px;border:1px solid #cad3c7;border-radius:24px;background:transparent;color:#193d34;cursor:pointer}.calendar-month-tabs button.active{background:#193d34;color:white}.calendar-events{margin-top:28px}.calendar-table-scroll{overflow:auto}.calendar-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1050px}.calendar-table th{background:#193d34;color:white;font-weight:500;letter-spacing:.4px}.calendar-table th,.calendar-table td{padding:14px 10px;text-align:left;border-bottom:1px solid #d8ddd3}.calendar-table .btn{padding:10px 14px;white-space:nowrap}.calendar-import{margin-top:28px;padding:20px;border:1px dashed #a8b9a6;border-radius:8px}.calendar-import summary{cursor:pointer;font-weight:600}.calendar-import input{max-width:450px}.calendar-import p{font-size:13px;line-height:1.8}.calendar-modal{max-width:650px;width:90%;border:1px solid #cad3c7;border-radius:12px;padding:30px;color:#193d34;background:#fcfbf6}.calendar-modal::backdrop{background:#102e2890}.calendar-modal .close{float:right;cursor:pointer;border:0;background:transparent;font-size:24px}.calendar-modal p{white-space:pre-wrap;overflow-wrap:anywhere}.calendar-status{font-size:13px}.calendar-legend{font-size:12px;margin-top:20px}.calendar-legend span{display:inline-block;width:15px;height:15px;border:2px solid #ce3434;border-radius:50%;vertical-align:middle;margin-right:8px}@media(max-width:1000px){.calendar-year{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.calendar-year{grid-template-columns:repeat(2,1fr);gap:9px}.calendar-board{padding:12px}.calendar-month{padding:9px}.calendar-top h3{font-size:26px}.calendar-single .calendar-days{gap:2px}.calendar-month-tabs button{padding:8px 12px}}

.calendar-controls{display:grid;grid-template-columns:1fr 1fr 2fr;gap:18px;margin:26px 0}.calendar-controls label{font-size:13px}.calendar-controls select{display:block;background:#f5f3eb;padding:13px;border:1px solid #cad3c7;border-radius:6px;margin-top:8px}.calendar-single .calendar-month h4{display:none}@media(max-width:650px){.calendar-controls{grid-template-columns:1fr 1fr}.calendar-controls label:last-child{grid-column:1/-1}}
.calendar-days{direction:ltr}html[dir=rtl] .calendar-controls,html[dir=rtl] .calendar-events{text-align:right}html[dir=rtl] .calendar-table th,html[dir=rtl] .calendar-table td{text-align:right}
