
:root{--bbu-cal-blue:#0674ff;--bbu-cal-text:#101828;--bbu-cal-muted:#667085;--bbu-cal-line:#dfe7f1}
.bbu-calendar-card{width:min(100%,1180px);margin:0 auto;padding:22px;border:1px solid var(--bbu-cal-line);border-radius:18px;background:#fff;color:var(--bbu-cal-text);box-shadow:0 8px 28px rgba(16,24,40,.05)}
.bbu-calendar-card *{box-sizing:border-box;min-width:0}
.bbu-calendar-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.bbu-calendar-head h2{margin:0;font-size:clamp(24px,4vw,34px)}
.bbu-calendar-head p{margin:5px 0 0;color:var(--bbu-cal-muted)}
.bbu-calendar-head-actions{display:flex;gap:7px;flex-wrap:wrap}
.bbu-calendar-head-actions a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #d8e3ef;border-radius:10px;text-decoration:none;font-size:11px;font-weight:900}
.bbu-calendar-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;margin:18px 0 12px}
.bbu-calendar-filter label{display:grid;gap:5px}
.bbu-calendar-filter span{color:#344054;font-size:10px;font-weight:850}
.bbu-calendar-filter input,.bbu-calendar-filter select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #d7e2ef;border-radius:10px;background:#fff;font:inherit}
.bbu-calendar-filter button{min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:#101828;color:#fff;font:inherit;font-weight:900}
.bbu-calendar-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:5px;border-radius:12px;background:#f2f5f9}
.bbu-calendar-tabs a{min-height:38px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:#667085;text-decoration:none;font-size:11px;font-weight:900}
.bbu-calendar-tabs a.is-active{background:#fff;color:#0674ff;box-shadow:0 2px 10px rgba(16,24,40,.05)}
.bbu-calendar-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:14px;position:sticky;top:70px;z-index:20;padding:5px;border-radius:12px;background:#fff}
.bbu-calendar-week-strip a{position:relative;display:flex;min-height:62px;align-items:center;justify-content:center;flex-direction:column;gap:2px;border:1px solid #e1eaf5;border-radius:11px;color:#344054;text-decoration:none}
.bbu-calendar-week-strip a.is-active{border-color:#0674ff;background:#0674ff;color:#fff}
.bbu-calendar-week-strip span{font-size:9px;font-weight:850}
.bbu-calendar-week-strip strong{font-size:15px}
.bbu-calendar-week-strip small{position:absolute;right:5px;top:5px;min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#edf5ff;color:#0674ff;font-size:8px;font-weight:900}
.bbu-calendar-week-strip a.is-active small{background:#fff;color:#0674ff}
.bbu-calendar-blocks{margin-bottom:13px;padding:11px;border:1px solid #f0d8a9;border-radius:12px;background:#fffaf1}
.bbu-calendar-blocks-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px}
.bbu-calendar-blocks-head a{color:#0674ff;font-size:9px;font-weight:900;text-decoration:none}
.bbu-calendar-block-list{display:flex;gap:6px;flex-wrap:wrap}
.bbu-calendar-block-list>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 8px;border:1px solid #f2dfbb;border-radius:9px;background:#fff}
.bbu-calendar-block-list strong{font-size:10px}
.bbu-calendar-block-list span{color:#8b5b00;font-size:9px;font-weight:850}
.bbu-calendar-block-list small{color:#667085;font-size:8px}
.bbu-calendar-day-list{display:grid;gap:8px}
.bbu-calendar-appointment{display:grid;grid-template-columns:62px 46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #e1eaf5;border-radius:13px;background:#fbfdff}
.bbu-calendar-time strong,.bbu-calendar-time span{display:block}
.bbu-calendar-time strong{font-size:16px}
.bbu-calendar-time span{color:#667085;font-size:9px}
.bbu-calendar-avatar img{width:46px!important;height:46px!important;object-fit:cover;border-radius:50%}
.bbu-calendar-avatar-fallback{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf3ff;color:#0674ff;font-weight:950}
.bbu-calendar-main strong,.bbu-calendar-main span,.bbu-calendar-main small{display:block}
.bbu-calendar-main span{margin-top:3px;font-size:10px}
.bbu-calendar-main small{margin-top:3px;color:#667085;font-size:9px}
.bbu-calendar-status{text-align:right}
.bbu-calendar-status em{display:block;padding:5px 7px;border-radius:999px;background:#edf5ff;color:#0674ff;font-size:8px;font-style:normal;font-weight:900}
.bbu-calendar-status a{display:inline-block;margin-top:4px;color:#0674ff;font-size:9px;font-weight:900;text-decoration:none}
.bbu-calendar-actions{grid-column:3/-1;display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.bbu-calendar-actions button,.bbu-calendar-actions>a{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid #cfe1ff;border-radius:9px;background:#edf5ff;color:#0674ff;font:inherit;font-size:9px;font-weight:900;text-decoration:none}
.bbu-calendar-actions button.is-danger{border-color:#f0c7c7;background:#fff7f6;color:#b42318}
.bbu-calendar-actions>a.is-whatsapp{border-color:#bde8cb;background:#eefbf2;color:#128c4a}
.bbu-calendar-notice{margin:14px 0;padding:12px 14px;border:1px solid #f4c7c3;border-radius:11px;background:#fff7f6;color:#b42318;font-size:12px}
.bbu-calendar-notice.is-success{border-color:#b7e3c7;background:#f2fbf5;color:#08783e}
.bbu-calendar-empty{padding:20px;border:1px dashed #cdd9e8;border-radius:13px;color:#667085;text-align:center}
.bbu-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:6px;overflow-x:auto;padding-bottom:8px}
.bbu-calendar-week-column{border:1px solid #e1eaf5;border-radius:12px;background:#fbfdff;overflow:hidden}
.bbu-calendar-week-title{display:flex;gap:5px;align-items:center;justify-content:center;padding:9px;border-bottom:1px solid #e1eaf5;color:#344054;text-decoration:none}
.bbu-calendar-week-title span{font-size:9px}
.bbu-calendar-week-title strong{font-size:11px}
.bbu-calendar-week-title small{min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#edf5ff;color:#0674ff;font-size:8px;font-weight:900}
.bbu-calendar-week-rows{display:grid;gap:5px;padding:7px}
.bbu-calendar-week-rows a{display:grid;gap:2px;padding:7px;border:1px solid #e3ebf4;border-radius:9px;background:#fff;color:#344054;text-decoration:none}
.bbu-calendar-week-rows strong{font-size:10px}
.bbu-calendar-week-rows span{font-size:9px}
.bbu-calendar-week-rows small{color:#667085;font-size:8px}
.bbu-calendar-month-head{margin:4px 0 10px;text-align:center}
.bbu-calendar-month-head strong{font-size:16px}
.bbu-calendar-month-days,.bbu-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.bbu-calendar-month-days{margin-bottom:5px}
.bbu-calendar-month-days span{text-align:center;color:#667085;font-size:9px;font-weight:850}
.bbu-calendar-month-grid>a,.bbu-calendar-month-grid>.is-empty{min-height:80px;padding:7px;border:1px solid #e1eaf5;border-radius:10px;background:#fbfdff;color:#344054;text-decoration:none}
.bbu-calendar-month-grid>a.is-today{border-color:#0674ff}
.bbu-calendar-month-grid>a strong,.bbu-calendar-month-grid>a span{display:block}
.bbu-calendar-month-grid>a strong{font-size:12px}
.bbu-calendar-month-grid>a span{margin-top:6px;color:#0674ff;font-size:8px;font-weight:900}
.bbu-calendar-month-grid>.is-empty{visibility:hidden}
@media(max-width:760px){
    .bbu-calendar-card{width:100%;padding:16px}
    .bbu-calendar-filter{grid-template-columns:minmax(0,1fr)}
    .bbu-calendar-filter input,.bbu-calendar-filter select{font-size:16px}
    .bbu-calendar-week-strip{top:56px}
    .bbu-calendar-appointment{grid-template-columns:52px 42px minmax(0,1fr)}
    .bbu-calendar-avatar img,.bbu-calendar-avatar-fallback{width:42px!important;height:42px!important}
    .bbu-calendar-status{grid-column:3;text-align:left}
    .bbu-calendar-actions{grid-column:3;justify-content:stretch}
    .bbu-calendar-actions form,.bbu-calendar-actions button,.bbu-calendar-actions>a{width:100%}
    .bbu-calendar-month-grid>a,.bbu-calendar-month-grid>.is-empty{min-height:66px;padding:5px}
}
@media(max-width:480px){
    .bbu-calendar-head{flex-direction:column}
    .bbu-calendar-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .bbu-calendar-head-actions a{width:100%}
    .bbu-calendar-week-strip{gap:3px;padding:3px}
    .bbu-calendar-week-strip a{min-height:56px}
    .bbu-calendar-week-strip span{font-size:8px}
    .bbu-calendar-week-strip strong{font-size:13px}
    .bbu-calendar-week-strip small{right:3px;top:3px;min-width:15px;height:15px;font-size:7px}
    .bbu-calendar-appointment{grid-template-columns:48px minmax(0,1fr)}
    .bbu-calendar-avatar{display:none}
    .bbu-calendar-status{grid-column:2}
    .bbu-calendar-actions{grid-column:2}
    .bbu-calendar-month-grid>a,.bbu-calendar-month-grid>.is-empty{min-height:54px}
    .bbu-calendar-month-grid>a span{font-size:7px}
}
