.calendar-page{--calendar-ink:#232323;--calendar-muted:#858585;--calendar-line:#efefef}
.calendar-hero{isolation:isolate}
.calendar-preview{position:relative;display:flex;height:100%;flex-direction:column;padding:24px 20px 16px;background:#fff}
.preview-brand,.preview-toolbar,.preview-caption{flex:none}
.preview-brand{display:flex;align-items:center;gap:7px;color:var(--calendar-ink);font-size:14px;letter-spacing:-.01em}
.preview-brand img{width:34px;height:34px;margin-left:-7px}
.example-label{margin-left:auto;color:var(--calendar-muted);font-size:10px;letter-spacing:0}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 24px}
.preview-toolbar h2{color:var(--calendar-ink);font-size:20px;font-weight:400;letter-spacing:-.015em;line-height:1.2}
.preview-toolbar p{margin-top:5px;color:var(--calendar-muted);font-size:11px}
.view-switch{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--control)}
.view-switch button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#818181;font-size:11px;transition:background 160ms,color 160ms,box-shadow 160ms}
.view-switch button[aria-pressed=true]{background:#fff;color:#292929;box-shadow:0 1px 3px #0000000c}
.view-switch button:hover{color:#171717}
.preview-content{flex:1;min-height:0}
.week-scroll{height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#dadada transparent}
.week-view{position:relative;min-width:450px;padding-left:33px;padding-top:47px;height:334px}
.day-labels{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:33px repeat(5,minmax(0,1fr));color:#989898;text-align:center;font-size:9px;line-height:1.5}
.day-labels b{display:block;color:#4f4f4f;font-size:16px;font-weight:400;line-height:1.65}
.calendar-hours{position:absolute;top:47px;bottom:0;left:0;width:33px;color:#b0b0b0;font-size:8px;line-height:1}
.calendar-hours span{position:absolute;top:calc(var(--hour)*22px);left:0;transform:translateY(-50%)}
.week-grid{display:grid;position:relative;height:286px;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(13,22px);border-top:1px solid var(--calendar-line);border-left:1px solid var(--calendar-line);background-image:linear-gradient(to bottom,transparent calc(100% - 1px),var(--calendar-line) 1px),linear-gradient(to right,transparent calc(100% - 1px),var(--calendar-line) 1px);background-size:100% 44px,20% 100%}
.sample-event{z-index:1;grid-column:var(--day);grid-row:calc(var(--start) + 1)/span var(--length);display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;margin:1px 3px 1px 2px;padding:6px 5px;border:0;border-left:2px solid #a4afb8;border-radius:4px;background:#eff2f4;color:#58626a;text-align:left;font-size:9px;line-height:1.25;transition:filter 150ms,transform 150ms}
.sample-event.personal{border-left-color:#c5a794;background:#f5eee9;color:#96735d}
.sample-event small{font-size:8px;opacity:.78}
.sample-event:hover{filter:brightness(.97);transform:translateY(-1px)}
.agenda-view{height:100%;overflow:auto;animation:calendar-appear 180ms ease-out}
.agenda-event{display:flex;width:100%;min-height:56px;align-items:center;gap:12px;padding:9px 0;border:0;border-top:1px solid var(--calendar-line);background:transparent;text-align:left;color:#424242;transition:background 150ms}
.agenda-event:hover{background:#fafafa}
.agenda-date{flex:0 0 72px;font-size:10px;color:#939393}
.agenda-content{display:grid;gap:3px;flex:1;font-size:12px}
.agenda-content small{font-size:10px;color:#969696}
.agenda-source{font-size:9px;color:#89939c;white-space:nowrap}
.agenda-source.personal{color:#b19683}
.preview-caption{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;color:#929292;font-size:9px;line-height:1.4}
.preview-dot{width:4px;height:4px;border-radius:50%;background:#b6b6b6}
.event-detail{position:absolute;z-index:4;top:150px;left:50%;width:min(300px,calc(100% - 32px));max-height:calc(100% - 174px);overflow:auto;padding:22px 20px 20px;border:1px solid #e6e6e6;border-radius:18px;background:#fff;box-shadow:0 6px 36px #00000015;transform:translateX(-50%);animation:detail-appear 160ms ease-out;outline:none}
.detail-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:var(--control);color:#808080;font-size:20px;line-height:1}
.detail-eyebrow{color:#aaa;font-size:10px}
.event-detail h3{margin:13px 0 6px;color:#292929;font-size:18px;font-weight:400;letter-spacing:-.015em}
[data-detail-time]{font-size:11px;color:#777}
[data-detail-description]{margin:18px 0;font-size:12px;line-height:1.6;color:#777}
[data-detail-source]{font-size:10px;color:#999}
.calendar-install{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:24px 4px 0}
.get-plugin{display:flex;align-items:center;gap:10px;min-height:40px;padding:10px 15px;border:0;border-radius:999px;background:var(--control);color:#777;font-size:12px}
.get-plugin{text-decoration:none;transition:background-color 160ms,color 160ms}
.get-plugin:hover{background:var(--control-hover);color:#333;text-decoration:none}
.get-plugin img{display:block;flex:none}
.calendar-install p{font-size:11px;color:#979797}
.calendar-notes{display:grid;gap:32px;margin:56px 4px 0;padding-top:32px;border-top:1px solid #ececec}
.calendar-notes h2{margin-bottom:6px;color:#333;font-size:15px;font-weight:400;letter-spacing:-.01em}
.calendar-notes p+p{margin-top:12px}
.calendar-notes p{max-width:62ch;color:#808080;font-size:13px;line-height:1.65}
.calendar-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin:44px 4px 0;padding-top:20px;border-top:1px solid #ececec;font-size:11px;line-height:1.6;color:#999}
.calendar-links span{margin-left:auto}
.nowrap{white-space:nowrap}
.calendar-document{padding-top:52px;padding-bottom:52px}
.document-eyebrow{font-size:12px;color:#aaa;margin-bottom:10px}
.calendar-document h1{font-size:30px;letter-spacing:-.015em;color:#222;font-weight:400;line-height:1.2}
.document-lead{margin-top:12px;color:#777;font-size:16px}
.calendar-document section{margin-top:34px}
.calendar-document section h2{margin-bottom:8px;color:#333;font-size:16px;font-weight:400}
.calendar-document section p,.calendar-document section li{font-size:14px;line-height:1.7;color:#777}
.calendar-document section p+p{margin-top:12px}
.calendar-document strong{font-weight:400;color:#444}
@keyframes calendar-appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes detail-appear{from{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:639px){.calendar-preview{padding:18px 14px 14px}.preview-toolbar{margin-top:20px;gap:8px}.preview-toolbar h2{font-size:18px}.preview-brand{font-size:13px}.example-label{font-size:9px}.view-switch button{padding:0 10px}.preview-caption{font-size:8px}.calendar-links span{width:100%;margin-left:0}.agenda-event{gap:8px}.agenda-date{flex-basis:55px;font-size:9px}.agenda-content{font-size:11px}.agenda-source{font-size:8px}.calendar-document{padding-top:32px}.calendar-install{gap:10px}.calendar-install p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.agenda-view,.event-detail{animation:none}.sample-event:hover{transform:none}}

.policy-status{margin-top:18px;padding:10px 0;border-top:1px solid #ececec;border-bottom:1px solid #ececec;color:#909090;font-size:12px}
