.commercial-calendar,.calendar-settings{--cal-blue:#1769e0;--cal-ink:#172033;--cal-muted:#68758a;--cal-line:#e6eaf0;max-width:1800px;margin:auto;color:var(--cal-ink)}
.calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.calendar-header h1{font-size:clamp(1.65rem,2vw,2.25rem);font-weight:750;margin:.2rem 0}.calendar-header p{color:var(--cal-muted);margin:0}.calendar-eyebrow{color:var(--cal-blue);font-size:.75rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.calendar-header-actions,.settings-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.calendar-header-actions form,.settings-actions form{margin:0}
.calendar-status-bar{display:flex;align-items:center;gap:1.25rem;background:#fff;border:1px solid var(--cal-line);border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;box-shadow:0 4px 18px rgba(25,39,70,.04)}.calendar-status-bar a{font-size:.84rem}.calendar-connection{display:inline-flex;align-items:center;gap:.4rem;font-weight:650;color:#9a5b00}.calendar-connection.is-connected{color:#16803a}
.calendar-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1rem;align-items:start}.calendar-sidebar,.calendar-card,.settings-card{background:#fff;border:1px solid var(--cal-line);border-radius:14px;box-shadow:0 5px 22px rgba(25,39,70,.05)}.calendar-sidebar{padding:1rem;position:sticky;top:1rem}.calendar-filter{border:0;padding:0;margin:0 0 1.35rem}.calendar-filter label:first-child,.calendar-filter>label:not(.calendar-check),.calendar-filter legend{font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.55rem}.calendar-filter select,.calendar-source-row select,.conflict-card select{width:100%;border:1px solid var(--cal-line);border-radius:8px;padding:.55rem;background:#fff}.calendar-check{display:flex;align-items:center;gap:.55rem;font-size:.88rem;margin:.45rem 0}.calendar-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--dot)}
.calendar-card{min-width:0;overflow:hidden}.calendar-toolbar{min-height:70px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--cal-line);gap:1rem}.calendar-toolbar h2{font-size:1.05rem;text-transform:capitalize;margin:0;text-align:center}.calendar-nav,.calendar-views{display:flex;gap:.25rem}.calendar-views{justify-content:flex-end}.calendar-nav button,.calendar-views button{border:1px solid var(--cal-line);background:#fff;border-radius:7px;padding:.45rem .65rem;font-size:.82rem}.calendar-views button.active{background:var(--cal-blue);border-color:var(--cal-blue);color:#fff}.calendar-loading{position:absolute;z-index:3;background:#fff;padding:.45rem .7rem;border-radius:8px;margin:.75rem}
.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr))}.calendar-weekday{padding:.65rem;text-align:center;color:var(--cal-muted);font-size:.75rem;font-weight:750;border-bottom:1px solid var(--cal-line)}.calendar-day{min-height:125px;padding:.4rem;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);background:#fff}.calendar-day:nth-child(7n+7){border-right:0}.calendar-day.is-outside{background:#fafbfc;color:#abb3c1}.calendar-day.is-today{background:#f5f9ff}.calendar-day-number{display:grid;place-items:center;border:0;background:transparent;width:1.65rem;height:1.65rem;border-radius:50%;font-size:.78rem;margin-left:auto}.is-today>.calendar-day-number{background:var(--cal-blue);color:#fff}.calendar-day-events{display:grid;gap:.2rem;margin-top:.2rem}
.calendar-event{display:flex;align-items:center;gap:.35rem;width:100%;border:0;border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 12%,white);border-radius:5px;padding:.38rem .5rem;text-align:left;color:var(--cal-ink);font-size:.8rem;min-width:0}.calendar-event:hover{filter:brightness(.97)}.calendar-event.is-compact{padding:.25rem .35rem}.calendar-event-time{font-size:.7rem;font-weight:700;white-space:nowrap}.calendar-event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event i{margin-left:auto}.calendar-more{border:0;background:transparent;color:var(--cal-blue);font-size:.72rem;text-align:left}
.calendar-days-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));min-height:620px}.calendar-agenda-day{border-right:1px solid var(--cal-line);padding:.8rem;display:flex;flex-direction:column;gap:.45rem}.calendar-agenda-day header{display:flex;justify-content:space-between;text-transform:capitalize;padding-bottom:.7rem;border-bottom:1px solid var(--cal-line)}.calendar-agenda-day header button{border:0;background:#edf4ff;color:var(--cal-blue);border-radius:6px}.calendar-no-event,.calendar-empty{color:var(--cal-muted);text-align:center;padding:2rem}.calendar-list{padding:1rem}.calendar-list article{margin-bottom:.45rem}
.calendar-dialog{width:min(680px,calc(100% - 2rem));border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.25)}.calendar-dialog::backdrop{background:rgba(18,27,44,.55)}.calendar-dialog form>header,.calendar-dialog form>footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--cal-line)}.calendar-dialog form>header h2{font-size:1.15rem;margin:0}.calendar-dialog form>header button{border:0;background:transparent;font-size:1.6rem}.calendar-dialog form>footer{justify-content:flex-end;gap:.5rem;border:0;border-top:1px solid var(--cal-line)}.calendar-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.25rem}.calendar-form-grid label{display:grid;gap:.35rem;font-size:.77rem;font-weight:700}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea{border:1px solid var(--cal-line);border-radius:8px;padding:.6rem;font:inherit}.calendar-form-grid .span-2{grid-column:1/-1}.calendar-sync-option{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.calendar-sync-option select{grid-column:1/-1}.calendar-form-error{color:#b42318;background:#fff1f0;margin:0 1.25rem;padding:.65rem;border-radius:7px}
.calendar-detail-dialog{width:min(620px,calc(100% - 2rem))}.calendar-detail>header,.calendar-detail>footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem}.calendar-detail>header{justify-content:space-between;border-bottom:1px solid var(--cal-line)}.calendar-detail>header>div{display:grid;gap:.25rem}.calendar-detail>header h2{font-size:1.2rem;margin:0}.calendar-detail>header>button{border:0;background:transparent;color:var(--cal-muted);font-size:1.6rem}.calendar-detail-type{color:var(--cal-blue);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.calendar-detail-body{padding:1.25rem}.calendar-detail-status{display:inline-flex;align-items:center;padding:.3rem .65rem;margin-bottom:1rem;color:#1769e0;background:#eaf2ff;border-radius:99px;font-size:.75rem;font-weight:750}.calendar-detail-status[data-status="completed"],.calendar-detail-status[data-status="done"]{color:#087a53;background:#ddf8eb}.calendar-detail-status[data-status="cancelled"]{color:#b42318;background:#feeceb}.calendar-detail-status[data-status="tentative"],.calendar-detail-status[data-status="pending"]{color:#a15c00;background:#fff4d6}.calendar-detail dl{display:grid;gap:0;margin:0}.calendar-detail dl>div{display:grid;grid-template-columns:minmax(130px,.4fr) minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--cal-line)}.calendar-detail dt{display:flex;align-items:center;gap:.45rem;color:var(--cal-muted);font-size:.78rem}.calendar-detail dd{margin:0;color:var(--cal-ink);font-weight:650}.calendar-detail-description dd{font-weight:400;line-height:1.55;white-space:pre-wrap}.calendar-detail-notice{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0 0;padding:.75rem;color:#7a5300;background:#fff8df;border-radius:8px;font-size:.8rem}.calendar-detail-notice[hidden]{display:none}.calendar-detail>footer{justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--cal-line)}
.settings-card{padding:1.25rem;margin-bottom:1rem}.settings-card h2{font-size:1.1rem;margin:0 0 1rem}.google-account{display:flex;align-items:center;gap:1rem}.google-account-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#f1f5ff;font-size:1.5rem}.google-account div{display:grid;margin-right:auto}.google-account small,.calendar-source-name small,.sync-log-list small,.conflict-card small{display:block;color:var(--cal-muted)}.settings-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--cal-line)}.google-connect-empty{text-align:center;padding:2rem}.google-connect-empty>i{font-size:2.2rem;color:var(--cal-blue)}.calendar-source-row{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(180px,1fr) auto auto 80px;gap:1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--cal-line)}.calendar-source-color{width:.8rem;height:2.5rem;border-radius:6px;background:var(--source-color)}.calendar-source-row label{font-size:.76rem}.source-save-state{font-size:.72rem;color:#16803a}.sync-log-list article,.conflict-card{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--cal-line)}.sync-log-level{width:.55rem;height:.55rem;border-radius:50%;background:#16803a}.sync-log-level.error{background:#dc3545}.conflict-card>div{margin-right:auto}.conflict-card form{display:flex;gap:.5rem}
@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{position:static;display:flex;gap:2rem;overflow:auto}.calendar-filter{min-width:180px}.calendar-source-row{grid-template-columns:auto 1fr 1fr}.calendar-source-row .calendar-switch,.source-save-state{grid-column:2/-1}}
@media(max-width:720px){.commercial-calendar,.calendar-settings{padding:.75rem}.calendar-header{display:grid}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-toolbar h2{grid-row:1;grid-column:1/-1}.calendar-views{grid-column:1/-1;justify-content:stretch}.calendar-views button{flex:1}.calendar-month{min-width:760px}.calendar-canvas{overflow:auto}.calendar-sidebar{display:none}.calendar-form-grid{grid-template-columns:1fr}.calendar-form-grid .span-2{grid-column:auto}.calendar-source-row{grid-template-columns:auto 1fr}.google-account{align-items:flex-start;flex-wrap:wrap}.google-account form{width:100%}}
@media(max-width:720px){.calendar-detail dl>div{grid-template-columns:1fr;gap:.35rem}.calendar-detail>footer .btn{flex:1 1 auto}.calendar-detail>footer .ms-auto{margin-left:0!important}}
