.commercial-calendar-dashboard{margin:28px 0;padding:30px;border:1px solid #d9d5ce;border-top:7px solid #111;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.07)}
.commercial-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:24px}
.commercial-calendar-head .kicker{margin:0 0 8px;color:#e3262e;font-size:12px;font-weight:900;letter-spacing:.18em}
.commercial-calendar-head h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.035em}
.commercial-calendar-head p:not(.kicker){max-width:720px;margin:10px 0 0;color:#686868;font-size:17px;line-height:1.5}
.calendar-add-button{flex:0 0 auto;border:0;border-radius:10px;background:#e3262e;color:#fff;padding:15px 20px;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 10px 20px rgba(227,38,46,.2)}
.calendar-add-button:hover{background:#c91f27;transform:translateY(-1px)}
.commercial-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 22px;padding:15px 18px;border-radius:14px;background:#f5f3ef}
.commercial-calendar-legend span{display:inline-flex;align-items:center;gap:8px;color:#3f3f3f;font-size:13px;font-weight:800}
.commercial-calendar-legend i{width:22px;height:8px;border-radius:99px;background:var(--legend-color)}
.commercial-calendar-toolbar{display:grid;grid-template-columns:52px 52px minmax(220px,1fr) auto;align-items:center;gap:8px;margin-bottom:14px}
.commercial-calendar-toolbar button{height:44px;border:1px solid #d1ccc4;border-radius:9px;background:#fff;font-size:18px;font-weight:900;cursor:pointer}
.commercial-calendar-toolbar button:hover{border-color:#111}
.commercial-calendar-toolbar .calendar-today{width:auto;padding:0 17px;font-size:13px}
.commercial-calendar-month{margin:0;text-align:center;font-size:21px;text-transform:capitalize}
.commercial-calendar-scroll{overflow-x:auto;border:1px solid #d9d5ce;border-radius:16px;background:#f7f5f1}
.commercial-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(108px,1fr));min-width:756px}
.calendar-weekday{padding:11px 8px;border-bottom:1px solid #d9d5ce;background:#111;color:#fff;text-align:center;font-size:11px;font-weight:900;letter-spacing:.1em}
.calendar-day{position:relative;min-height:132px;padding:10px 8px;border-right:1px solid #e2ded7;border-bottom:1px solid #e2ded7;background:#fff;cursor:pointer}
.calendar-day:nth-child(7n){border-right:0}.calendar-day.other-month{background:#f5f3ef;color:#aaa}.calendar-day.today{box-shadow:inset 0 0 0 2px #e3262e}.calendar-day:hover{background:#fffdf9}
.calendar-day-number{display:grid;place-items:center;width:28px;height:28px;margin:0 0 7px auto;border-radius:50%;font-size:12px;font-weight:900}
.calendar-day.today .calendar-day-number{background:#e3262e;color:#fff}
.calendar-day-events{display:grid;gap:5px}
.calendar-event{display:block;width:100%;border:0;border-left:7px solid var(--event-color);border-radius:5px;background:color-mix(in srgb,var(--event-color) 10%,white);padding:7px 7px;text-align:left;color:#111;cursor:pointer;overflow:hidden}
.calendar-event:hover{filter:brightness(.97)}
.calendar-event time{display:block;margin-bottom:2px;font-size:10px;font-weight:900;color:var(--event-color)}
.calendar-event b{display:block;font-size:11px;line-height:1.25;white-space:normal}
.calendar-event.completed{opacity:.55}.calendar-event.scaduta{box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.calendar-empty{padding:28px;text-align:center;color:#777}
.calendar-event-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.3);overflow:auto}
.calendar-event-dialog::backdrop{background:rgba(0,0,0,.55)}
.calendar-event-dialog form{padding:30px}.calendar-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.calendar-dialog-head .kicker{margin:0 0 7px;color:#e3262e;font-size:11px;font-weight:900;letter-spacing:.17em}.calendar-dialog-head h2{margin:0;font-size:34px;line-height:1.05}
.calendar-dialog-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d7d2ca;border-radius:50%;background:#fff;font-size:24px;cursor:pointer}
.calendar-event-dialog label{display:grid;gap:7px;margin:0 0 15px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
.calendar-event-dialog input,.calendar-event-dialog select,.calendar-event-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #cbc6bd;border-radius:10px;background:#fff;padding:13px 14px;color:#111;font:inherit;font-size:16px;text-transform:none;letter-spacing:0}
.calendar-event-dialog textarea{resize:vertical}.calendar-event-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calendar-event-fields .wide{grid-column:1/-1}
.calendar-location-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:-3px 0 15px;padding:11px 13px;border:1px solid #d9d5ce;border-radius:10px;background:#f7f5f1;font-size:12px}.calendar-location-navigation[hidden]{display:none}.calendar-location-navigation>b{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#555}.calendar-navigation-links{display:inline-flex;flex-wrap:wrap;gap:7px}.calendar-navigation-links a{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:7px;background:#111;color:#fff;text-decoration:none;font-size:12px;font-weight:900}.calendar-navigation-links a:last-child{background:#4a70c7}.calendar-navigation-links a:hover{filter:brightness(.92)}
.calendar-annual-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;border:1px solid #f0c8cb;border-radius:12px;background:#fff7f7}.calendar-annual-details label{margin:0}.calendar-annual-details[hidden]{display:none}
.calendar-online-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;border:1px solid #c9d9f2;border-radius:12px;background:#f5f9ff}.calendar-online-details label{margin:0}.calendar-online-toggle{display:flex!important;align-items:center;gap:9px;font-size:14px!important;letter-spacing:0!important;text-transform:none!important}.calendar-online-toggle input{width:20px!important;height:20px;padding:0!important;accent-color:#1769d2}.calendar-online-toggle small{color:#667;font-size:12px;font-weight:700;text-transform:none}.calendar-online-details [hidden]{display:none}
.calendar-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #e6e1d9}
.calendar-dialog-actions button{border:1px solid #111;border-radius:9px;background:#fff;padding:13px 17px;font-weight:900;cursor:pointer}.calendar-dialog-actions .calendar-save{background:#111;color:#fff}.calendar-dialog-actions .calendar-delete{margin-right:auto;border-color:#e3262e;color:#b71921}.calendar-dialog-error{min-height:20px;margin:3px 0 0;color:#b71921;font-weight:800}
.calendar-future-map{margin-top:20px;border:1px solid #d9d5ce;border-radius:16px;background:#fbfaf8;overflow:hidden}.calendar-future-map summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;cursor:pointer;list-style:none;font-weight:900}.calendar-future-map summary::-webkit-details-marker{display:none}.calendar-future-map summary span{font-size:16px}.calendar-future-map summary small{color:#686868;font-size:12px;font-weight:700;text-align:right}.calendar-future-map[open] summary{border-bottom:1px solid #d9d5ce;background:#fff}.calendar-future-map-content{padding:18px}.calendar-future-map-state{margin:0 0 14px;color:#666;font-size:13px;line-height:1.45}.calendar-future-map-canvas{min-height:360px;border:1px solid #d9d5ce;border-radius:13px;background:#ece9e3;overflow:hidden}.calendar-future-map-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}.calendar-future-map-list article{display:grid;gap:4px;padding:13px;border:1px solid #ddd8d0;border-radius:11px;background:#fff;transition:box-shadow .2s,border-color .2s}.calendar-future-map-list article.is-focused{border-color:#e3262e;box-shadow:0 0 0 3px rgba(227,38,46,.14)}.calendar-future-map-list time{color:#a41b21;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.calendar-future-map-list b{font-size:14px}.calendar-future-map-list span{color:#686868;font-size:13px;line-height:1.4}.calendar-future-map-marker{display:grid;place-items:center;width:32px;height:32px;border:3px solid #fff;border-radius:50%;background:var(--marker-color);box-shadow:0 3px 9px rgba(0,0,0,.32);color:#fff;font-size:12px;font-weight:900;cursor:pointer}
@media(max-width:760px){.commercial-calendar-dashboard{margin:20px 0;padding:20px 14px;border-radius:18px}.commercial-calendar-head{display:grid;gap:18px}.calendar-add-button{width:100%}.commercial-calendar-toolbar{grid-template-columns:44px 44px 1fr}.commercial-calendar-toolbar .calendar-today{grid-column:1/-1;grid-row:2}.commercial-calendar-month{text-align:right;font-size:18px}.calendar-day{min-height:116px}.calendar-event-fields{grid-template-columns:1fr}.calendar-event-fields .wide{grid-column:auto}.calendar-annual-details,.calendar-online-details{grid-template-columns:1fr}.calendar-event-dialog form{padding:22px 18px}.calendar-dialog-actions{flex-wrap:wrap}.calendar-dialog-actions button{flex:1}.calendar-dialog-actions .calendar-delete{flex-basis:100%;margin:0}.calendar-future-map summary{align-items:flex-start;flex-direction:column;gap:5px;padding:15px}.calendar-future-map summary small{text-align:left}.calendar-future-map-content{padding:13px}.calendar-future-map-canvas{min-height:290px}.calendar-location-navigation{align-items:flex-start;flex-direction:column}.calendar-navigation-links{width:100%}.calendar-navigation-links a{flex:1;justify-content:center}}
@media print{.commercial-calendar-dashboard,.calendar-event-dialog{display:none!important}}
/* Clear choice for a single occurrence versus the entire recurring series. */
.calendar-recurrence-delete-dialog{width:min(470px,calc(100vw - 30px));padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.28)}.calendar-recurrence-delete-dialog::backdrop{background:rgba(0,0,0,.5)}.calendar-recurrence-delete-dialog form{padding:28px}.calendar-recurrence-delete-dialog h2{margin:5px 0 8px;font-size:30px;line-height:1.04}.calendar-recurrence-delete-dialog p:not(.kicker){margin:0;color:#666;line-height:1.45}.calendar-recurrence-delete-actions{display:grid;gap:9px;margin-top:24px}.calendar-recurrence-delete-actions button{min-height:48px;border:1px solid #111;border-radius:10px;background:#fff;padding:11px 14px;font:800 15px/1.15 inherit;cursor:pointer}.calendar-recurrence-delete-actions .danger{border-color:#e3262e;background:#e3262e;color:#fff}
