/* Calendar extends the existing Umbral typography, olive accent and paper surfaces. */
.cal76-shell{background:var(--paper,#fff);border:1px solid var(--line,#deded6);border-radius:10px;overflow:hidden}.cal76-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line,#ddd)}.cal76-period{display:flex;align-items:center;gap:7px}.cal76-period h2{margin:0 0 0 12px;font-size:20px;text-transform:capitalize}.cal76-modes{display:flex;border:1px solid var(--line,#ddd);border-radius:7px;overflow:hidden;flex-shrink:0}.cal76-modes button{border:0;background:transparent;padding:9px 17px;color:inherit;font:inherit;cursor:pointer}.cal76-modes button.on{background:var(--ink,#292d29);color:#fff}.cal76-filters{display:flex;align-items:end;gap:12px;padding:12px 20px;background:#f7f7f3;flex-wrap:wrap}.cal76-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted,#75766e)}.cal76-filters select,.cal76-filters input[type=search]{font:inherit;font-size:12px;border:1px solid var(--line,#ddd);border-radius:5px;background:#fff;color:var(--ink,#222);padding:8px;min-width:145px}.cal76-search{flex:1}.cal76-filters .cal76-check{flex-direction:row;align-items:center;padding-bottom:8px;white-space:nowrap}.cal76-weeknames,.cal76-monthgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal76-weeknames span{padding:10px;font-size:11px;color:var(--muted,#777);border-bottom:1px solid var(--line,#ddd)}.cal76-day{min-height:140px;border-right:1px solid var(--line,#ddd);border-bottom:1px solid var(--line,#ddd);padding:6px;min-width:0}.cal76-day:nth-child(7n){border-right:0}.cal76-day.outside{background:#f9f9f6}.cal76-daynum{border:0;padding:0;white-space:nowrap;flex-shrink:0;background:none;font:inherit;font-size:13px;border-radius:50%;width:29px;height:29px;cursor:pointer}.cal76-day.outside .cal76-daynum{color:#b3b4aa}.cal76-day.today .cal76-daynum,.cal76-minigrid .today{background:#737752;color:white}.cal76-dayevents{display:grid;gap:3px;margin-top:4px}.cal76-event{display:block;text-align:left;width:100%;border:0;border-left:3px solid #828965;border-radius:4px;background:#e9eddc;color:#353c2d;padding:4px 6px;cursor:pointer;overflow:hidden;font-family:inherit;min-width:0;touch-action:manipulation}.cal76-event[data-cal-editable=true]{cursor:grab}.cal76-event:active{cursor:grabbing}.cal76-event.is-note{background:#e4edf5;border-left-color:#7c99af;color:#30465a}.cal76-event.is-deadline{background:#f5efdf;border-left-color:#b29b67;color:#665936}.cal76-event.is-done{opacity:.6}.cal76-eventmeta{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;opacity:.85}.cal76-eventtitle{font-size:11px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cal76-more{font:inherit;font-size:10px;background:none;border:0;text-align:left;padding:4px;color:var(--muted,#777);cursor:pointer}.cal76-legend{display:flex;flex-wrap:wrap;gap:18px;padding:12px 20px;font-size:10px;color:#72796a}.cal76-legend span:nth-child(2){color:#8e7643}.cal76-legend span:nth-child(3){color:#6a8aa4}.cal76-weekscroll{max-height:690px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.cal76-week{min-width:650px}.cal76-weekhead,.cal76-allday,.cal76-timegrid{display:grid;grid-template-columns:55px repeat(7,minmax(0,1fr))}.cal76-weekhead{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #deded6}.cal76-weekhead button{font:inherit;background:none;border:0;border-left:1px solid #e6e7de;padding:8px 3px;cursor:pointer}.cal76-weekhead button span{display:block;font-size:10px;text-transform:uppercase;color:#8a8d7b}.cal76-weekhead button b{display:block;font-size:22px;font-weight:400;margin-top:3px}.cal76-weekhead button.today b{color:#747b50;font-weight:700}.cal76-zone{font-size:9px;color:#8a8d7b;align-self:center;text-align:center}.cal76-allday{border-bottom:1px solid #deded6;background:#fafbf7}.cal76-allday>span{font-size:9px;color:#8a8d7b;padding:8px 4px}.cal76-allday>div{border-left:1px solid #e6e7de;padding:4px;display:grid;gap:3px;align-content:start;min-height:35px}.cal76-slotadd{border:0;background:none;font-size:15px;color:#8a8d7b;cursor:pointer}.cal76-timegrid{height:1440px;position:relative}.cal76-hours{position:relative;background:#fff}.cal76-hours span{position:absolute;right:7px;font-size:9px;color:#969a8b;transform:translateY(1px)}.cal76-timecol{position:relative;border-left:1px solid #e6e7de;background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#e6e7de 59px,#e6e7de 60px)}.cal76-timecol.today{background-color:#fcfdf7}.cal76-slots{height:1440px;display:flex;flex-direction:column}.cal76-slots button{height:30px;flex:0 0 30px;border:0;background:none;width:100%;cursor:crosshair}.cal76-slots button:hover,.cal76-slots button:focus-visible{background:#eef0e4;outline:1px solid #929a76;outline-offset:-1px}.cal76-timecol>.cal76-event{position:absolute;z-index:2;padding-bottom:8px;box-shadow:0 1px 2px #3340200d}.cal76-resize{position:absolute;bottom:0;left:20%;right:20%;height:8px;cursor:ns-resize;touch-action:none}.cal76-resize:after{content:'';position:absolute;left:35%;right:35%;bottom:3px;border-top:2px solid #8b946780}.cal76-drop{outline:2px solid #8c9664;outline-offset:-2px;background-color:#f0f3e4!important}.cal76-year{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:26px}.cal76-monthname{font:inherit;font-size:16px;font-weight:600;text-transform:capitalize;border:0;background:none;padding:0 0 12px;cursor:pointer}.cal76-minigrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal76-minigrid>span{font-size:9px;text-align:center;color:#949887;padding-bottom:6px}.cal76-minigrid>button{position:relative;font:inherit;font-size:11px;aspect-ratio:1;border:0;border-radius:50%;background:none;cursor:pointer;padding:2px}.cal76-minigrid>button.outside{opacity:.2}.cal76-minigrid>button.has-events{font-weight:700;background-color:#eef1e3}.cal76-minigrid>button.today{background:#737752;color:#fff}.cal76-minigrid i{position:absolute;width:3px;height:3px;border-radius:50%;background:#7b8653;bottom:1px;left:calc(50% - 1px)}.cal76-unplanned{margin-top:20px}.cal76-pending{display:flex;flex-wrap:wrap;gap:8px}.cal76-pending .cal76-event{max-width:250px;min-height:40px}.cal76-daylist{display:grid;gap:8px;align-content:start}.cal76-daylist .cal76-event{padding:12px}.cal76-daylist .cal76-eventtitle{font-size:14px}.cal76-shell button:focus-visible{outline:2px solid #596c81;outline-offset:-2px}.cal76-day.today{background:#fdfef8}
@media(max-width:1100px){.cal76-year{grid-template-columns:repeat(3,minmax(0,1fr))}.cal76-period h2{font-size:16px}.cal76-toolbar{flex-wrap:wrap}.cal76-day{min-height:115px}}
@media(max-width:650px){.cal76-toolbar{padding:12px;gap:12px}.cal76-period{width:100%;flex-wrap:wrap}.cal76-period h2{font-size:16px}.cal76-modes{width:100%}.cal76-modes button{flex:1}.cal76-filters{padding:12px;gap:8px}.cal76-filters label{flex:1;min-width:120px}.cal76-filters input[type=search],.cal76-filters select{min-width:0;width:100%}.cal76-year{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:15px}.cal76-day{min-height:100px;padding:3px}.cal76-daynum{width:23px;height:23px;font-size:11px}.cal76-event{padding:3px;border-left-width:2px}.cal76-eventtitle{font-size:9px}.cal76-eventmeta{font-size:8px}.cal76-legend{gap:9px;padding:10px}.cal76-weekscroll{max-height:65vh}.cal76-minigrid>button{font-size:10px}.cal76-monthgrid{min-width:520px}.cal76-month{overflow-x:auto}.cal76-weeknames{min-width:520px}.cal76-unplanned .panelhead{align-items:start;gap:8px}.cal76-pending .cal76-event{max-width:100%;font-size:12px}}

.cal76-event[data-cal-editable=true]{touch-action:none}.cal76-dragging{opacity:.55;outline:2px solid #8c9664}

.cal76-event.is-overdue{border-left-color:#a55a43;background:#f5e9e3;color:#7d3c2c}
