.agenda-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}.agenda-summary article{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 17px;border:1px solid #e0e7e3;border-radius:16px;background:rgba(255,255,255,.86);box-shadow:0 7px 22px rgba(33,62,63,.035)}.agenda-summary article.attention{border-color:#efd8cd;background:linear-gradient(135deg,#fff7f2,#fff)}.summary-icon{display:grid;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#e7f3f0;color:#2f877e;font-weight:850;place-items:center}.summary-icon.confirmed{background:#e4f3ec;color:#267765}.summary-icon.pending{background:#fff0e7;color:#ca6748}.agenda-summary small,.agenda-summary strong,.agenda-summary p{display:block}.agenda-summary small{color:#7c898a;font-size:8px;font-weight:900;letter-spacing:.1em}.agenda-summary strong{margin:4px 0 1px;color:#20333e;font:500 23px Georgia}.agenda-summary p{margin:0;color:#8a9596;font-size:9px}
.agenda-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.agenda-filters{display:flex;align-items:end;gap:8px;padding:8px;border:1px solid #e1e7e3;border-radius:15px;background:rgba(255,255,255,.8)}.agenda-filters label{display:grid;gap:4px;margin:0}.agenda-filters label>span{padding-left:4px;color:#7c8989;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.agenda-filters select{min-width:132px;height:36px;padding:0 28px 0 10px;border:1px solid #e0e6e2;border-radius:10px;background:#f8faf8;color:#405352;font-size:10px;outline:none}.agenda-filters button{height:36px;padding:0 11px;border:0;border-radius:10px;background:#fff0e9;color:#bd6246;font-size:9px;font-weight:800}
.agenda-legend{display:flex;align-items:center;gap:15px;margin:-4px 0 20px;padding:0 4px;color:#778688;font-size:9px}.agenda-legend span{display:flex;align-items:center;gap:6px}.agenda-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:#e88968}.agenda-legend .confirmed:before{background:#3d9488}.agenda-legend .completed:before{background:#718daf}.agenda-legend .cancelled:before{background:#a6aeaf}.agenda-legend small{margin-left:auto;color:#8d9898}
.month-shell{overflow-x:auto;border:1px solid #e1e7e3;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 8px 26px rgba(36,75,72,.035)}.month-weekdays,.month-view{min-width:735px}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e4e9e6;background:#f7f9f7}.month-weekdays span{padding:10px 12px;color:#647674;font-size:9px;font-weight:900;letter-spacing:.1em}.month-weekdays span.weekend{color:#b47560;background:#fbf7f4}.month-shell .month-view{overflow:visible;border:0;border-radius:0;box-shadow:none}.month-view section{position:relative;min-height:112px;padding:9px;border-color:#e9eeeb;background:#fff}.month-view section.is-weekend{background:#fcfaf8}.month-view section.muted-day{background:#fafbf9}.month-view section>header{display:flex;align-items:center;justify-content:space-between;height:23px}.month-view section>header>strong{display:grid;width:25px;height:25px;color:#566765;font-size:10px;place-items:center}.month-view section>header>small{color:#d26d4f;font-size:8px;font-weight:800}.month-view section.is-today{background:linear-gradient(145deg,#fff8f3,#fff)}.month-view section.is-today>header>strong{border-radius:50%;background:#ea805e;color:#fff;box-shadow:0 5px 12px rgba(234,128,94,.22)}
.calendar-add{position:absolute;z-index:2;top:7px;right:7px;max-width:72px;margin:0!important;padding:5px 7px!important;border:1px solid #e5ddd7!important;border-radius:8px!important;background:#fffaf6!important;color:#bd6b50!important;font-size:8px!important;font-weight:800;opacity:0;transform:translateY(2px);transition:.16s}.month-view section:hover .calendar-add,.week-view section:hover .calendar-add,.calendar-add:focus-visible{opacity:1;transform:none}.month-view section:hover>header>small{opacity:0}
.agenda-event{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:1px 6px;width:100%;overflow:hidden;text-align:left}.agenda-event time{grid-row:1/3;color:inherit;font-size:9px;font-weight:900}.agenda-event strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-event small{overflow:hidden;color:inherit!important;font-size:8px;opacity:.72;text-overflow:ellipsis;white-space:nowrap}.agenda-event.status-scheduled{border-left-color:#e7805f!important;background:#fff1e9!important;color:#9e4f38!important}.agenda-event.status-confirmed{border-left-color:#3b9488!important;background:#e9f5f1!important;color:#276f67!important}.agenda-event.status-completed{border-left-color:#6d87a9!important;background:#edf2f8!important;color:#4d6687!important}.agenda-event.status-cancelled,.agenda-event.status-missed{border-left-color:#a6adae!important;background:#f1f3f2!important;color:#707a7a!important;text-decoration:none}.agenda-event.status-cancelled strong{text-decoration:line-through}.month-view .agenda-event{margin-top:4px!important;padding:5px 6px!important;border:0!important;border-left:3px solid!important;border-radius:7px!important}.month-view .agenda-event time{font-size:8px}.month-view .agenda-event strong{font-size:8px}.agenda-more{margin-top:4px!important;padding:3px 5px!important;border:0!important;background:transparent!important;color:#527d78!important;font-size:8px!important;font-weight:800}
.week-view section{position:relative;min-height:210px;padding:8px;background:#fff}.week-view section.is-weekend{background:#fcfaf8}.week-view section.is-today{background:linear-gradient(180deg,#fff8f3,#fff 42%)}.week-view section>header{display:grid;grid-template-columns:1fr auto;align-items:center;margin-bottom:8px;padding:4px 2px 9px;border-bottom:1px solid #edf0ee}.week-view section>header span{color:#758381;font-size:9px;font-weight:850;text-transform:uppercase}.week-view section>header strong{display:grid;width:25px;height:25px;place-items:center}.week-view section.is-today>header strong{border-radius:50%;background:#ea805e;color:#fff}.week-view section>header small{grid-column:1/-1;color:#d0694d;font-size:8px}.week-view .calendar-add{top:42px;right:8px}.week-view .agenda-event{margin:5px 0;padding:8px;border:0;border-left:3px solid;border-radius:8px}.calendar-free{margin:18px 2px;color:#a0aaaa;font-size:8px;text-align:center}
.day-view>header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 13px;border-bottom:1px solid #e8eeeb}.day-view>header div{display:grid;gap:2px}.day-view>header span{color:#d26e50;font-size:8px;font-weight:900;letter-spacing:.12em}.day-view>header strong{color:#536563;font-size:10px}.day-view>header time{color:#72817f;font-size:9px}.day-view .agenda-event{grid-template-columns:82px minmax(0,1fr) auto;padding:13px 15px;border:1px solid transparent;border-left:3px solid;border-radius:11px}.day-view .agenda-event time{grid-row:1/3;font-size:12px}.day-view .agenda-event strong{font-size:11px}.day-view .agenda-event small{font-size:9px}.agenda-empty-action{display:grid!important;grid-template-columns:40px 1fr;gap:2px 12px;align-items:center;min-height:86px;border:1px dashed #d7e2de!important;border-radius:13px!important;background:#fafcfb!important}.agenda-empty-action>span{grid-row:1/3;display:grid;width:36px;height:36px;border-radius:11px;background:#fff0e8;color:#ca6748;place-items:center}.agenda-empty-action small{color:#83908f}
.modal-card.appointment-drawer{position:fixed;inset:0 0 0 auto;width:min(720px,calc(100vw - 24px));max-height:100vh;height:100vh;border-radius:24px 0 0 24px;animation:agenda-drawer-in .2s ease}.modal:has(.appointment-drawer){place-items:stretch end;padding:0}@keyframes agenda-drawer-in{from{transform:translateX(40px);opacity:.7}to{transform:none;opacity:1}}
@media(hover:none){.calendar-add{position:static;display:block;max-width:none;margin:4px 0!important;opacity:1;transform:none}.month-view section:hover>header>small{opacity:1}}
@media(max-width:900px){.agenda-summary{grid-template-columns:1fr 1fr}.agenda-summary article:last-child{grid-column:1/-1}.agenda-toolbar{justify-content:stretch}.agenda-filters{width:100%;overflow-x:auto}.agenda-filters label{min-width:130px}}
@media(max-width:600px){.agenda-summary{grid-template-columns:1fr}.agenda-summary article:last-child{grid-column:auto}.agenda-filters{align-items:stretch;flex-direction:column;overflow:visible}.agenda-filters label,.agenda-filters select{width:100%;min-width:0}.agenda-legend{align-items:flex-start;flex-wrap:wrap}.agenda-legend small{width:100%;margin-left:0}.modal-card.appointment-drawer{inset:auto 0 0;width:100%;height:auto;max-height:92dvh;border-radius:22px 22px 0 0}}

.google-calendar-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 18px;padding:15px 17px;border:1px solid #dce8e4;border-radius:18px;background:linear-gradient(125deg,rgba(238,248,245,.96),rgba(255,249,245,.94));box-shadow:0 9px 28px rgba(35,75,71,.045)}
.google-calendar-banner.disconnected{border-color:#f1d3c5;background:linear-gradient(125deg,#fff7f2,#f5fbf9)}.google-calendar-banner.attention{border-color:#edb8a7;background:#fff5f1}.google-calendar-banner small,.calendar-connected-head small{display:block;color:#d26748;font-size:8px;font-weight:900;letter-spacing:.13em}.google-calendar-banner strong{display:block;margin:3px 0;color:#20333e;font-size:12px}.google-calendar-banner p{margin:0;color:#748280;font-size:9px}.google-calendar-banner>button{white-space:nowrap}
.google-calendar-symbol{display:block;flex:0 0 auto;width:42px;height:42px;background:url('/google-calendar-icon.png') center/contain no-repeat}.google-calendar-symbol.large{width:58px;height:58px}
.calendar-connect-intro{display:flex;align-items:center;flex-direction:column;max-width:600px;margin:auto;padding:16px 20px 8px;text-align:center}.calendar-connect-intro h3{margin:18px 0 8px;color:#17253b;font:500 25px Georgia}.calendar-connect-intro>p{max-width:520px;margin:0;color:#6f7d7e;line-height:1.65}.calendar-privacy-note{display:grid;gap:3px;width:100%;margin:20px 0;padding:15px;border:1px solid #dce9e5;border-radius:14px;background:#f1f8f6;color:#42605d;text-align:left}.calendar-privacy-note strong{font-size:11px}.calendar-privacy-note span{font-size:9px;line-height:1.5}.calendar-connect-button{width:100%;margin-top:2px}.calendar-direction{margin-top:11px;color:#899595}
.calendar-connected-head{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #dce8e4;border-radius:15px;background:#f3f9f7}.calendar-connected-head strong{display:block;margin:3px 0;color:#20333e}.calendar-connected-head p{margin:0;color:#7f8b8b;font-size:9px}.calendar-settings-form .check span{display:grid;gap:2px}.calendar-settings-form .check small,.google-meet-choice small{color:#83908f;font-size:9px;font-weight:500;line-height:1.4}.calendar-settings-form .privacy-choice{padding:13px;border:1px solid #f0d8cd;border-radius:13px;background:#fff8f4}.calendar-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:9px}.calendar-settings-actions .danger-text{margin-right:auto;color:#b45445}.calendar-error{display:grid;gap:4px;padding:12px 14px;border:1px solid #efc0b3;border-radius:12px;background:#fff3ef;color:#9e4d3f}.calendar-error strong{font-size:10px}.calendar-error span{font-size:9px;line-height:1.45}
.google-meet-choice{padding:13px;border:1px solid #dce9e5;border-radius:13px;background:#f5faf8}.google-meet-choice span{display:grid;gap:2px}.appointment-calendar-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d9e8e3;border-radius:13px;background:#eef8f5}.appointment-calendar-result small{display:block;color:#2f8c82;font-size:8px;font-weight:900;letter-spacing:.1em}.appointment-calendar-result strong{font-size:11px}.appointment-calendar-result>div:last-child{display:flex;gap:8px}.appointment-calendar-result a{padding:7px 9px;border:1px solid #cfe2dd;border-radius:9px;background:#fff;color:#28776e;font-size:9px;font-weight:800}.appointment-calendar-result a.meet-link{border-color:#f2c9b9;color:#c55f42}
@media(max-width:650px){.google-calendar-banner{grid-template-columns:auto 1fr}.google-calendar-banner>button{grid-column:1/-1;width:100%}.calendar-settings-actions{align-items:stretch;flex-direction:column}.calendar-settings-actions .danger-text{order:3;width:100%;margin:0}.calendar-settings-actions button{width:100%}.appointment-calendar-result{align-items:flex-start;flex-direction:column}.appointment-calendar-result>div:last-child{width:100%;flex-wrap:wrap}}
