.aec{margin:20px 0 28px;padding:24px;background:#fff;border:1px solid #dfe4e8;border-radius:16px;box-shadow:0 6px 24px #1b293307}.aec-toolbar,.aec-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.aec h3{margin:0;font-size:1.2rem}.aec-toolbar p{margin:5px 0;color:#66717a;font-size:.85rem}.aec-nav{display:flex;gap:6px}.aec button{cursor:pointer;font:inherit}.aec-nav button,.aec-agenda button{border:1px solid #d8dfe4;border-radius:8px;background:white;color:#263940;padding:9px 14px;font-size:.85rem}.aec-nav button:hover,.aec-agenda button:hover{background:#f3f6f8}.aec-heading{margin-top:18px}.aec h4{margin:0;font-size:1.12rem}.aec-legend{display:flex;gap:8px;flex-wrap:wrap}.aec-legend span{padding:5px 10px;border-radius:6px;font-size:.78rem;font-weight:700}.aec-private{background:#edf0f3;color:#454e5b;border-color:#a2acb7!important}.aec-public{background:#e4f3e9;color:#19613d;border-color:#469b66!important}.aec-booking{background:#e5efff;color:#174d9a;border-color:#4784d8!important}#aec-status{font-size:.8rem;color:#687780;margin:12px 0}.aec-weekdays,.aec-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.aec-weekdays{background:#f6f8fa;padding:10px 0;border-radius:8px 8px 0 0;text-align:center;font-size:.75rem;color:#65737d;font-weight:700}.aec-grid{border-left:1px solid #e3e8ed;border-top:1px solid #e3e8ed}.aec-cell{min-height:135px;border-right:1px solid #e3e8ed;border-bottom:1px solid #e3e8ed;padding:6px;min-width:0}.aec-outside{background:#f8fafb}.aec-outside .aec-date{color:#8e9ba6}.aec-selected{box-shadow:inset 0 0 0 2px #2c608e;background:#f9fcff}.aec-date{display:block;border:0;background:transparent;border-radius:50%;font-size:.85rem!important;width:28px;height:28px;padding:0;color:#31414b;margin-bottom:5px}.aec-date[aria-current=date]{background:#163f58;color:#fff}.aec-entry{display:block;text-align:left;width:100%;border:0;border-left:3px solid;border-radius:5px;padding:5px 6px;margin:4px 0;font-size:.74rem!important;line-height:1.3}.aec-entry small{display:block;font-size:.65rem;opacity:.8}.aec-entry span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aec-pending{border:1px dashed!important;border-left:3px solid!important}.aec-more{border:0;background:transparent;color:#355670;font-size:.72rem!important;padding:4px}.aec-dots{display:none}.aec-agenda{margin-top:22px;padding:20px;background:#f6f8fa;border-radius:10px}.aec-agenda h4{font-size:1rem;margin-bottom:12px}.aec-agenda-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:4px solid;border-radius:8px;padding:12px 14px;margin-top:8px}.aec-agenda-row strong{font-size:.9rem}.aec-agenda-row p{font-size:.8rem;margin:4px 0}.aec-agenda-row small{font-size:.75rem}.aec-agenda-row button{flex-shrink:0}.aec-empty{font-size:.85rem;color:#667780}.aec button:focus-visible{outline:3px solid #c58a20;outline-offset:2px}
@media(max-width:700px){.aec{padding:14px;margin:12px 0 24px}.aec-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.aec-nav{align-self:flex-end}.aec-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-top:8px}.aec-legend span{padding:4px 8px}.aec-cell{min-height:64px;padding:3px;text-align:center}.aec-date{margin:0 auto 4px}.aec-entry,.aec-more{display:none}.aec-dots{display:flex;justify-content:center;gap:3px}.aec-dots span{width:6px;height:6px;border-radius:50%;border:2px solid}.aec-agenda{padding:12px}.aec-agenda-row{align-items:flex-start;flex-direction:column;padding:10px}.aec-weekdays{font-size:.68rem}.aec-nav button{padding:7px 12px}.aec-toolbar h3{font-size:1.05rem}.aec-heading h4{font-size:1rem}}

.aec-filters{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0 8px}.aec-filters label{display:flex;flex-direction:column;gap:6px;min-width:190px;font-size:.82rem;font-weight:600;color:#334650}.aec-filters select{font:inherit;min-height:42px;padding:8px 12px;border:1px solid #d8dfe4;border-radius:8px;background:#fff;color:#263940}.aec-filters select:focus-visible{outline:3px solid #c58a20;outline-offset:2px}@media(max-width:700px){.aec-filters{gap:10px}.aec-filters label{flex:1;min-width:140px}.aec-filters select{max-width:100%;width:100%}}
