.pec{--pec-ink:#222222;--pec-accent:#333333;--pec-border:#dddddd;box-sizing:border-box;width:100%;max-width:1100px;margin:56px auto;padding:28px;background:#fff;color:var(--pec-ink);font-family:inherit;font-size:16px;line-height:1.5}
.pec *,.pec *::before,.pec *::after{box-sizing:border-box}
.pec .pec-heading{margin:0 0 28px;text-align:center;font-size:28px;letter-spacing:.12em;color:var(--pec-ink)}
.pec .pec-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.pec .pec-month{margin:0;font-size:24px;font-weight:600;color:var(--pec-ink)}
.pec .pec-views,.pec .pec-nav{display:flex;gap:4px}
.pec button{appearance:none;cursor:pointer;font:inherit;line-height:1.4;border:1px solid var(--pec-border);border-radius:4px;background:#fff;color:var(--pec-ink);padding:8px 14px;box-shadow:none;text-shadow:none;letter-spacing:normal;height:auto}
.pec button:hover{background:#f2f2f2}
.pec button[aria-pressed=true]{background:var(--pec-ink);border-color:var(--pec-ink);color:#fff}
.pec button:disabled{cursor:default;opacity:.45}
.pec button:focus-visible,.pec a:focus-visible{outline:3px solid #555555;outline-offset:3px}
.pec .pec-status{font-size:13px;margin:0 0 16px;color:#666666;min-height:20px}
.pec .pec-table{table-layout:fixed;border-collapse:collapse;width:100%;margin:0;border:1px solid var(--pec-border)}
.pec .pec-table th{padding:10px 2px;background:#f5f5f5;text-align:center;border:1px solid var(--pec-border);font-weight:500}
.pec .pec-table th:first-child,.pec .pec-day:first-child .pec-number{color:#555555}
.pec .pec-table th:last-child,.pec .pec-day:last-child .pec-number{color:#555555}
.pec .pec-table td{height:112px;padding:8px 5px;vertical-align:top;border:1px solid var(--pec-border);background:#fff}
.pec .pec-number{display:block;margin:0 0 5px;font-size:13px;text-align:right}
.pec .pec-table .pec-outside{background:#f8f8f8}
.pec .pec-outside .pec-number{opacity:.45}
.pec .pec-table .pec-today{background:#eeeeee}
.pec .pec-today .pec-number{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.pec .pec-event{display:block;width:100%;margin:4px 0 0;padding:5px 6px;border:0;border-left:3px solid var(--pec-accent);border-radius:2px;background:#eeeeee;color:#333333;font-size:12px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere}
.pec .pec-event:hover{background:#dddddd}
.pec .pec-list{list-style:none;padding:0;margin:0}
.pec .pec-list-item{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--pec-border);padding:20px 0;margin:0}
.pec .pec-list-date{font-size:14px;margin:0;flex:0 1 330px}
.pec .pec-list-event{border:0;border-left:3px solid var(--pec-accent);text-align:left;flex:1 1 220px;background:#f2f2f2;padding:12px}
.pec .pec-empty{padding:36px 12px;text-align:center;color:#666666}
.pec .pec-dialog{position:fixed;inset:0;width:calc(100% - 32px);max-width:520px;max-height:calc(100% - 48px);margin:auto;padding:48px 32px 32px;border:0;border-radius:8px;box-shadow:0 16px 70px #0003;color:var(--pec-ink);background:#fff;overflow:auto}
.pec .pec-dialog::backdrop{background:#00000099}
.pec .pec-close{position:absolute;right:12px;top:12px;padding:2px 12px;border:0;font-size:28px;background:transparent}
.pec .pec-event-date{margin:0 0 12px;font-size:14px;color:#666666}
.pec .pec-event-title{margin:0 0 28px;font-size:24px;line-height:1.6;overflow-wrap:anywhere;color:var(--pec-ink)}
.pec .pec-actions{display:grid;gap:12px}
.pec .pec-actions a{display:block;padding:14px 20px;border:1px solid var(--pec-accent);border-radius:4px;text-align:center;text-decoration:none;background:var(--pec-accent);color:#fff;font-size:16px;font-weight:600}
.pec .pec-actions .pec-google{background:#fff;color:var(--pec-accent)}
.pec .pec-google span{display:block;font-size:11px;font-weight:400;margin-top:4px}
.pec .pec-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pec [hidden]{display:none!important}
@media(max-width:767px){.pec{margin:32px auto;padding:16px 8px}.pec .pec-heading{font-size:23px;margin-bottom:20px}.pec .pec-toolbar{gap:12px}.pec .pec-month{order:-1;width:100%;text-align:center;font-size:22px}.pec button{padding:8px 12px}.pec .pec-table td{height:92px;padding:4px 2px}.pec .pec-event{font-size:10px;padding:4px 2px;border-left-width:2px}.pec .pec-dialog{padding:48px 24px 24px}.pec .pec-event-title{font-size:21px}.pec .pec-list-item{gap:8px}}
