.hubdb-cal__header{margin-bottom:1rem}.hubdb-cal__title{margin:0}.hubdb-cal__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.hubdb-cal__subscribe{align-items:center;background:var(--hc-accent,#4caf50);border-radius:var(--hc-btn-radius,4px);color:#fff;display:inline-flex;font-size:.85rem;font-weight:700;gap:.4rem;letter-spacing:.03em;padding:.5rem 1.2rem;text-decoration:none;text-transform:uppercase;white-space:nowrap}.hubdb-cal__subscribe:hover{opacity:.85}.hubdb-cal__views{border:1px solid var(--hc-border,#ddd);border-radius:var(--hc-btn-radius,4px);display:inline-flex;margin-left:auto;overflow:hidden}.hubdb-cal__view-btn{background:#fff;border:none;color:var(--hc-text,#666);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem 1rem;transition:background .15s,color .15s}.hubdb-cal__view-btn+.hubdb-cal__view-btn{border-left:1px solid var(--hc-border,#ddd)}.hubdb-cal__view-btn--active{background:var(--hc-accent,#4caf50);color:#fff}.hubdb-cal__view-btn:hover:not(.hubdb-cal__view-btn--active){background:rgba(0,0,0,.04)}.hubdb-cal__month-nav{align-items:center;display:flex;gap:.5rem;width:100%}.hubdb-cal__month-nav[hidden]{display:none}.hubdb-cal__month-btn{background:#fff;border:1px solid var(--hc-border,#ddd);border-radius:var(--hc-btn-radius,4px);color:var(--hc-dark,#1a1a1a);cursor:pointer;font-size:.82rem;font-weight:600;padding:.35rem .8rem}.hubdb-cal__month-btn:hover{border-color:var(--hc-accent,#4caf50)}.hubdb-cal__month-btn--arrow{align-items:center;display:inline-flex;padding:.35rem .5rem}.hubdb-cal__month-label{color:var(--hc-dark,#1a1a1a);font-size:1rem;font-weight:700;margin-left:.25rem}.hubdb-cal__schedule[hidden]{display:none}.hubdb-cal__month-sep{border-bottom:2px solid var(--hc-accent,#4caf50);color:var(--hc-text,#888);font-size:.85rem;font-weight:700;letter-spacing:.02em;margin-bottom:0;padding:1rem 0 .4rem}.hubdb-cal__month-sep:first-child{padding-top:0}.hubdb-cal__day{align-items:start;border-bottom:1px solid var(--hc-border,#e5e5e5);display:grid;gap:0 .75rem;grid-template-columns:3.5rem 1fr;padding:.5rem 0}.hubdb-cal__day-head{align-items:center;display:flex;flex-direction:column;gap:0;padding-top:.35rem}.hubdb-cal__day-num{color:var(--hc-dark,#1a1a1a);font-size:1.4rem;font-weight:700;line-height:1}.hubdb-cal__day-num--today{align-items:center;background:var(--hc-accent,#4caf50);border-radius:50%;color:#fff;display:inline-flex;font-size:1.1rem;height:2rem;justify-content:center;width:2rem}.hubdb-cal__day-abbr{color:var(--hc-text,#888);font-size:.6rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase}.hubdb-cal__day-body{min-width:0}.hubdb-cal__badge{background:var(--hc-accent,#4caf50);border-radius:999px;color:#fff;display:inline-block;flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1.4;padding:.1rem .5rem;white-space:nowrap}.hubdb-cal__ev-row{align-items:baseline;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-wrap:wrap;font:inherit;gap:.5rem;line-height:1.45;padding:.35rem 0;text-align:left;width:100%}.hubdb-cal__ev-row:hover{opacity:.7}.hubdb-cal__ev-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem}.hubdb-cal__ev-dot{background:var(--hc-accent,#4caf50);border-radius:50%;flex-shrink:0;height:7px;position:relative;top:-1px;width:7px}.hubdb-cal__ev-time{color:var(--hc-text,#666);flex-shrink:0;font-size:.85rem;white-space:nowrap}.hubdb-cal__ev-title{flex:1;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hubdb-cal__month-grid{border:1px solid var(--hc-border,#e5e5e5);border-radius:var(--hc-btn-radius,4px);display:grid;grid-template-columns:repeat(5,1fr) .5fr .5fr;overflow:hidden}.hubdb-cal__month-grid[hidden]{display:none}.hubdb-cal__grid-head{background:rgba(0,0,0,.02);color:var(--hc-text,#888);font-size:.75rem;font-weight:700;padding:.5rem .25rem;text-align:center;text-transform:uppercase}.hubdb-cal__grid-cell,.hubdb-cal__grid-head{border-bottom:1px solid var(--hc-border,#e5e5e5)}.hubdb-cal__grid-cell{border-right:1px solid var(--hc-border,#e5e5e5);min-height:6rem;padding:.3rem;vertical-align:top}.hubdb-cal__grid-cell:nth-child(7n+7){border-right:none}.hubdb-cal__grid-cell--empty{background:rgba(0,0,0,.015)}.hubdb-cal__grid-cell--today{background:rgba(0,0,0,.03)}.hubdb-cal__grid-day{color:var(--hc-dark,#1a1a1a);display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:.15rem;padding:.1rem .3rem}.hubdb-cal__grid-day--today{align-items:center;background:var(--hc-accent,#4caf50);border-radius:50%;color:#fff;display:inline-flex;height:1.6rem;justify-content:center;padding:0;width:1.6rem}.hubdb-cal__grid-events{display:flex;flex-direction:column;gap:1px}.hubdb-cal__grid-ev{align-items:flex-start;background:none;border:none;border-radius:3px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.25rem;line-height:1.3;padding:.2rem .25rem;text-align:left;width:100%}.hubdb-cal__grid-ev:hover{background:rgba(0,0,0,.05)}.hubdb-cal__grid-ev-dot{background:var(--hc-accent,#4caf50);border-radius:50%;flex-shrink:0;height:6px;margin-top:.3rem;width:6px}.hubdb-cal__grid-ev-time{color:var(--hc-accent,#4caf50);flex-shrink:0;font-size:.75rem;font-weight:600;white-space:nowrap}.hubdb-cal__grid-ev-text{color:var(--hc-dark,#1a1a1a);display:-webkit-box;font-size:.75rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;overflow:hidden}.hubdb-cal__modal[hidden]{display:none}.hubdb-cal__modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.hubdb-cal__modal-overlay{background:rgba(0,0,0,.5);inset:0;position:absolute}.hubdb-cal__modal-card{background:#fff;border-radius:var(--hc-btn-radius,8px);box-shadow:0 8px 32px rgba(0,0,0,.18);max-height:80vh;max-width:520px;overflow-y:auto;padding:1.5rem;position:relative;width:100%;z-index:1}.hubdb-cal__modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--hc-text,#999);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;position:absolute;right:.75rem;top:.75rem;width:2rem}.hubdb-cal__modal-close:hover{background:rgba(0,0,0,.06)}.hubdb-cal__modal-title{color:var(--hc-dark,#1a1a1a);font-size:1.15rem;font-weight:700;margin:0 0 .5rem;padding-right:2rem}.hubdb-cal__modal-date{color:var(--hc-text,#666);font-size:.88rem;margin-bottom:.5rem}.hubdb-cal__modal-cats{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.hubdb-cal__modal-cats:empty{display:none}.hubdb-cal__modal-desc{color:var(--hc-text,#444);font-size:.88rem;line-height:1.6;margin-bottom:1rem;white-space:pre-line}.hubdb-cal__modal-desc:empty{display:none}.hubdb-cal__modal-desc a{color:var(--hc-accent,#4caf50);text-decoration:underline}.hubdb-cal__modal-links{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.hubdb-cal__modal-link{color:var(--hc-accent,#4caf50);font-size:.9rem;font-weight:500;text-decoration:none}.hubdb-cal__modal-link:hover{text-decoration:underline}.hubdb-cal__modal-actions{border-top:1px solid var(--hc-border,#eee);display:flex;gap:.4rem;padding-top:.5rem}.hubdb-cal__add-btn{background:#fff;border:1px solid var(--hc-accent,#4caf50);border-radius:var(--hc-btn-radius,4px);color:var(--hc-accent,#4caf50);display:inline-block;font-size:.8rem;font-weight:600;padding:.4rem .9rem;text-decoration:none;transition:background .15s,color .15s}.hubdb-cal__add-btn:hover{background:var(--hc-accent,#4caf50);color:#fff}.hubdb-cal__filter--buttons{display:flex;flex-wrap:wrap;gap:.4rem}.hubdb-cal__filter-tag{border:1px solid var(--hc-accent,#4caf50);border-radius:var(--hc-btn-radius,4px);color:var(--hc-accent,#4caf50);display:inline-block;font-size:.85rem;font-weight:600;padding:.4rem .9rem;text-decoration:none;transition:background .15s,color .15s}.hubdb-cal__filter-tag--active,.hubdb-cal__filter-tag:hover{background:var(--hc-accent,#4caf50);color:#fff}.hubdb-cal__filter--dropdown{position:relative}.hubdb-cal__filter-btn{align-items:center;background:var(--hc-accent,#4caf50);border:none;border-radius:var(--hc-btn-radius,4px);color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.5rem 1rem}.hubdb-cal__filter-arrow{transition:transform .2s}.hubdb-cal__filter--open .hubdb-cal__filter-arrow{transform:rotate(180deg)}.hubdb-cal__filter-list{background:#fff;border-radius:var(--hc-btn-radius,4px);box-shadow:0 4px 16px rgba(0,0,0,.12);display:none;left:0;margin-top:4px;min-width:100%;padding:.2rem 0;position:absolute;top:100%;z-index:10}.hubdb-cal__filter--open .hubdb-cal__filter-list{display:block}.hubdb-cal__filter-option{color:var(--hc-accent,#4caf50);display:block;font-weight:600;padding:.4rem 1rem;text-decoration:none}.hubdb-cal__filter-option:hover{background:rgba(0,0,0,.04)}.hubdb-cal__search{flex:1;max-width:320px;min-width:180px;position:relative}.hubdb-cal__search-input{border:1px solid var(--hc-border,#ddd);border-radius:var(--hc-btn-radius,4px);font-size:.9rem;outline:none;padding:.45rem 2.2rem .45rem .8rem;width:100%}.hubdb-cal__search-input:focus{border-color:var(--hc-accent,#4caf50)}.hubdb-cal__search-btn{background:none;border:none;color:var(--hc-text,#999);cursor:pointer;opacity:.4;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.hubdb-cal__sub-modal[hidden]{display:none}.hubdb-cal__sub-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.hubdb-cal__sub-step[hidden]{display:none}.hubdb-cal__sub-intro{color:var(--hc-text,#666);font-size:.9rem;line-height:1.5;margin:0 0 1rem}.hubdb-cal__sub-form-wrap{min-height:120px}.hubdb-cal__sub-cals{display:flex;flex-direction:column;gap:.4rem}.hubdb-cal__sub-cal{align-items:center;background:#fff;border:1px solid var(--hc-border,#e5e5e5);border-radius:var(--hc-btn-radius,6px);color:var(--hc-dark,#1a1a1a);display:flex;font-size:.95rem;font-weight:600;gap:.75rem;padding:.7rem 1rem;text-decoration:none;transition:border-color .15s,background .15s}.hubdb-cal__sub-cal:hover{background:rgba(0,0,0,.02);border-color:var(--hc-accent,#4caf50)}.hubdb-cal__sub-cal-icon{flex-shrink:0;height:24px;width:24px}.hubdb-cal__empty{color:var(--hc-text,#999);opacity:.5;padding:2.5rem;text-align:center}@media (max-width:767px){.hubdb-cal__toolbar{align-items:stretch;flex-direction:column}.hubdb-cal__views{align-self:stretch}.hubdb-cal__view-btn{flex:1;text-align:center}.hubdb-cal__search{max-width:none}.hubdb-cal__month-nav{flex-wrap:wrap}.hubdb-cal__day{grid-template-columns:2.5rem 1fr}.hubdb-cal__day-num{font-size:1.1rem}.hubdb-cal__day-num--today{font-size:.95rem;height:1.7rem;width:1.7rem}.hubdb-cal__ev-title{white-space:normal}.hubdb-cal__ev-tags{flex-basis:100%;justify-content:flex-end}.hubdb-cal__month-grid{border:none;border-radius:0;grid-template-columns:1fr}.hubdb-cal__grid-cell--empty,.hubdb-cal__grid-head{display:none}.hubdb-cal__grid-cell{border-bottom:1px solid var(--hc-border,#e5e5e5);border-right:none;min-height:auto;padding:.5rem 0}.hubdb-cal__grid-day{font-size:.9rem;padding:0}.hubdb-cal__grid-ev{padding:.15rem 0}.hubdb-cal__grid-ev-text{font-size:.8rem;-webkit-line-clamp:1}.hubdb-cal__grid-ev-time{font-size:.8rem}.hubdb-cal__modal{padding:.5rem}.hubdb-cal__modal-card{border-radius:12px;max-height:90vh;max-width:none}}