.calendar-shell{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.calendar-hero{text-align:center;padding:22px 0}.calendar-hero h1{margin:8px 0 10px}
.calendar-card,.calendar-info{background:#fff;border:1px solid #e4e8ef;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(17,37,63,.06)}.calendar-info{margin-top:20px}
.calendar-file-field{display:grid;gap:8px;font-weight:700}.calendar-file-field input{min-height:48px;padding:10px;border:1px dashed #aab5c4;border-radius:12px;background:#f8fafc}.calendar-file-field small,.calendar-note{color:#667085;font-weight:400}
.calendar-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.calendar-actions button,#calendarDownload{min-height:44px;border:0;border-radius:10px;padding:0 18px;font-weight:700;cursor:pointer;background:#1264e8;color:#fff}.calendar-actions .secondary{background:#eef3fb;color:#17365d}.calendar-actions button:disabled,#calendarDownload:disabled{opacity:.55;cursor:not-allowed}
.calendar-status{min-height:24px;margin-top:16px;font-weight:700}.calendar-status.error{color:#a61b1b}.calendar-status.success{color:#176b35}
.calendar-summary,.calendar-panel,.calendar-repair,.calendar-result{margin-top:20px}.calendar-summary h2,.calendar-panel h2,.calendar-repair h2,.calendar-result h2{font-size:1.05rem;margin:0 0 10px}
.calendar-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.calendar-summary-grid div{display:grid;gap:3px;background:#f7f9fc;border-radius:12px;padding:14px}.calendar-summary-grid strong{font-size:1.15rem;overflow-wrap:anywhere}.calendar-summary-grid span{color:#667085}
.calendar-table-wrap{overflow:auto;border:1px solid #e4e8ef;border-radius:12px}.calendar-table-wrap table{border-collapse:collapse;width:max-content;min-width:100%}.calendar-table-wrap th,.calendar-table-wrap td{padding:9px 11px;border-bottom:1px solid #edf0f4;border-inline-end:1px solid #edf0f4;text-align:start;vertical-align:top;white-space:pre-wrap;max-width:360px;overflow-wrap:anywhere;unicode-bidi:plaintext}.calendar-table-wrap th{background:#f7f9fc;position:sticky;top:0;z-index:1}
.calendar-severity{font-weight:700}.calendar-severity.error{color:#a61b1b}.calendar-severity.warning{color:#8a4b05}
.calendar-timezones{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calendar-timezones>div{background:#f7f9fc;border-radius:12px;padding:14px}.calendar-timezones strong{display:block;margin-bottom:8px}.calendar-timezones div div{white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext}
.calendar-controls{display:grid;grid-template-columns:minmax(220px,360px);gap:14px;margin-top:16px}.calendar-controls label{display:grid;gap:7px;font-weight:700}.calendar-controls select{min-height:44px;border:1px solid #cdd5df;border-radius:10px;padding:8px 10px;background:#fff}
.calendar-repair{border-top:1px solid #e4e8ef;padding-top:18px}.calendar-repair-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.calendar-repair-options label{display:flex;align-items:flex-start;gap:10px;background:#f7f9fc;border-radius:10px;padding:12px}.calendar-repair-options input{width:22px;height:22px;flex:0 0 auto}
.calendar-safety-note{margin:16px 0;padding:14px;border:1px solid #f0d7a8;background:#fffaf0;border-radius:12px}.calendar-safety-note p{margin:5px 0 0;color:#52606f}.calendar-result{background:#f7f9fc;border-radius:12px;padding:14px}
[dir="rtl"] .calendar-table-wrap th,[dir="rtl"] .calendar-table-wrap td{text-align:right}
@media(max-width:760px){.calendar-summary-grid{grid-template-columns:repeat(2,1fr)}.calendar-timezones,.calendar-repair-options{grid-template-columns:1fr}.calendar-actions button,#calendarDownload{width:100%}}
@media(max-width:520px){.calendar-card{padding:16px}.calendar-summary-grid{grid-template-columns:1fr}}
