.cal-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:8px 0 12px}
.cal-nav,.cal-views{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cal-title{margin:0 0 0 8px;font-size:1.25rem}
.cal-bar .pe-btn{min-height:44px}
.cal-opts{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:14px}
.cal-opts .pe-check{min-height:44px;display:flex;align-items:center}
.cal-who{display:flex;gap:8px;align-items:center}
.cal-who .pe-btn{min-height:44px}
.cal-pick{position:relative}
.cal-menu{position:absolute;z-index:20;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #dfe3e8;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:8px;min-width:240px;max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.cal-pp{min-height:44px;display:flex;align-items:center;gap:8px}
.cal-sw{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none}
.cal-key{display:flex;gap:12px;align-items:center;font-size:.85rem;color:#5b6470;margin-left:auto}
.cal-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
.cal-dot.cal-meeting{background:#1f5f99}.cal-dot.cal-followup{background:#b7791f}.cal-dot.cal-task{background:#3b7d52}
.cal-head-row,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-head-row span{padding:6px 8px;font-size:.8rem;font-weight:600;color:#5b6470;text-transform:uppercase}
.cal-grid{border-top:1px solid #dfe3e8;border-left:1px solid #dfe3e8;background:#fff}
.cal-cell{border-right:1px solid #dfe3e8;border-bottom:1px solid #dfe3e8;min-height:112px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-week .cal-cell{min-height:260px}
.cal-other{background:#f6f7f9}
.cal-today{background:#fff8e6}
.cal-dn{font-size:.85rem;font-weight:600;padding:2px 4px}
.cal-dow{display:none;font-weight:500;color:#5b6470}
.cal-chip{display:block;text-align:left;border:0;border-left:3px solid;border-radius:4px;padding:3px 6px;font:inherit;font-size:.8rem;line-height:1.25;cursor:pointer;text-decoration:none;color:#1a2330;min-height:28px;overflow:hidden;width:100%}
.cal-chip .cal-t{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-chip .cal-s{display:block;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-chip.cal-meeting{background:#e6f0fa;border-color:#1f5f99}
.cal-chip.cal-followup{background:#fdf1dc;border-color:#b7791f}
.cal-chip.cal-task{background:#e5f3ea;border-color:#3b7d52}
.cal-more{border:0;background:none;color:#1f5f99;font:inherit;font-size:.8rem;text-align:left;cursor:pointer;padding:4px;min-height:28px}
.cal-agenda{padding:8px 16px}
.cal-aday{margin:14px 0 6px;font-size:1rem}
.cal-today-t{color:#8a5a00}
.cal-arow{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.cal-arow .cal-chip{flex:1;min-height:44px;display:flex;flex-direction:column;justify-content:center}
.cal-kind{width:76px;font-size:.78rem;color:#5b6470;text-transform:uppercase;flex:none}
@media (max-width:760px){
.cal-head-row{display:none}
.cal-grid{display:block}
.cal-cell{min-height:0}
.cal-cell.cal-empty{display:none}
.cal-dow{display:inline}
.cal-chip,.cal-more{min-height:44px;display:flex;flex-direction:column;justify-content:center}
.cal-key{margin-left:0}
}
