.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.calendar-heading h2{margin:0 0 4px}.calendar-heading p{color:var(--muted);margin:0}.calendar-panel{padding:15px}.calendar-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:14px}.calendar-toolbar h2{margin:0 auto 0 5px;font-size:1.3rem}.calendar-toolbar button{min-width:42px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{margin-bottom:5px;text-align:center;color:var(--muted);font-size:.82rem;font-weight:700}.calendar-day{min-height:105px;background:var(--panel-2,#171d18);color:var(--ink);border:1px solid #344034;border-radius:8px;text-align:left;padding:7px;cursor:pointer;min-width:0;overflow:hidden}.calendar-day:hover,.calendar-day:focus-visible{border-color:#82da25;outline:none}.calendar-day.selected{border:2px solid #82da25;background:#20351c}.calendar-day.other-month{opacity:.45}.calendar-day.today .calendar-day-number{background:#83d92f;color:#0d1b09;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-weight:900}.calendar-day-number{display:block;min-height:25px;font-weight:800}.calendar-day-events{display:grid;gap:3px;margin-top:4px}.calendar-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#244419;color:#c4f3ab;border-radius:4px;padding:3px 5px;font-size:.74rem;font-weight:700}.calendar-chip.type-installation,.calendar-tag.type-installation{background:#503b13;color:#ffe397}.calendar-chip.type-survey,.calendar-tag.type-survey{background:#1d3d55;color:#a4dfff}.calendar-chip.type-commissioning,.calendar-tag.type-commissioning{background:#46345b;color:#e3c2fa}.calendar-chip.type-visit,.calendar-tag.type-visit{background:#215144;color:#bbf5dd}.calendar-more{font-size:.7rem;color:#aeb9ab}.calendar-agenda h2{margin:0 0 15px}.calendar-agenda-item{border:1px solid #334033;background:var(--panel-2,#171d18);padding:13px;border-radius:10px;margin:9px 0}.calendar-agenda-item h3{margin:8px 0}.calendar-agenda-item p{color:#b6c4b4;white-space:pre-wrap;margin:7px 0}.calendar-agenda-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b6c4b4;font-size:.87rem}.calendar-tag{background:#244419;color:#c4f3ab;border-radius:99px;font-weight:800;padding:5px 9px}.calendar-event-actions{display:flex;gap:8px;margin-top:12px}.calendar-event-actions button{padding:8px 10px;font-size:.84rem}.calendar-modal-card{max-width:600px;max-height:calc(100dvh - 30px);overflow-y:auto}.calendar-form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.calendar-form-actions .danger{margin-right:auto}.calendar-error{color:#ffaaa5;background:#3b1717;border-radius:8px;padding:10px}.calendar-modal-card select{height:46px}
@media(max-width:700px){.calendar-heading{align-items:stretch;flex-direction:column}.calendar-heading .primary{width:100%}.calendar-panel{padding:10px}.calendar-day{min-height:75px;padding:4px}.calendar-day-number{font-size:.78rem;min-height:20px}.calendar-day.today .calendar-day-number{width:20px;height:20px}.calendar-chip{font-size:.62rem;padding:2px}.calendar-more{font-size:.58rem}.calendar-toolbar h2{font-size:1.06rem}.calendar-toolbar button{padding:8px;min-width:36px}.calendar-weekdays{font-size:.7rem}.calendar-form-actions{display:grid;grid-template-columns:1fr 1fr}.calendar-form-actions .danger{grid-column:1/-1}.calendar-modal-card{width:100%}}
@media(max-width:390px){.calendar-chip{font-size:0;height:6px;padding:0;border-radius:8px}.calendar-more{font-size:.56rem}.calendar-day{min-height:62px}}
.calendar-agenda-item[data-calendar-event]{cursor:pointer}.calendar-agenda-item[data-calendar-event]:hover,.calendar-agenda-item[data-calendar-event]:focus-visible{border-color:#82da25;outline:none}.calendar-detail-card h2{padding-right:30px;overflow-wrap:anywhere}.calendar-detail-row{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;border-bottom:1px solid #344034;padding:11px 0}.calendar-detail-row span{white-space:pre-wrap;overflow-wrap:anywhere}.calendar-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;flex-wrap:wrap}@media(max-width:600px){.calendar-detail-row{grid-template-columns:1fr;gap:3px}.calendar-detail-actions button{flex:1 1 100%}}
