:root{color:#222;background:#f7f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:#245f73}.app-shell{min-height:100vh}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #ddddda;background:#fff}.site-title{color:#222;font-weight:700;text-decoration:none}nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}button{border:1px solid #245f73;border-radius:6px;background:#245f73;color:#fff;cursor:pointer;font:inherit;padding:.55rem .8rem}button:disabled{cursor:not-allowed;opacity:.65}button.button-secondary{background:#fff;color:#245f73}button.button-secondary:disabled{cursor:not-allowed;opacity:.65}button.button-danger{border-color:#8b2942;background:#8b2942}button.button-danger:disabled{cursor:not-allowed;opacity:.65}.creator-actions{display:grid;gap:.5rem;padding:1rem 0;border-top:1px solid #ddddda}nav button{padding:.3rem .6rem}.nav-user{color:#245f73;font-weight:600;text-decoration:none;padding:.3rem 0}.nav-user:hover{text-decoration:underline}main{width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:2rem 0}h1{margin-top:0}.page-heading{margin-bottom:1.5rem}.page-heading p{color:#555;margin:.25rem 0 0}.empty-state{margin:1.5rem 0}.empty-state h2{font-size:1.15rem;margin:0 0 .5rem}.page-alert{margin:1rem 0;padding:1rem;border-radius:8px;border:1px solid #ddddda;background:#fff}.page-alert h2{font-size:1.1rem;margin:0 0 .5rem}fieldset.auth-fieldset{border:none;margin:0;padding:0;min-width:0}.event-list{display:grid;gap:.9rem}.events-page .events-subsection{margin-top:2rem}.events-page .events-subsection:first-of-type{margin-top:0}.events-subsection h2{font-size:1.2rem;margin:0 0 .75rem}.events-page .events-upcoming-buckets{display:flex;flex-direction:column;gap:0}.events-page .events-upcoming-bucket{margin-top:1.35rem}.events-page .events-upcoming-bucket:first-child{margin-top:.35rem}.events-page .events-upcoming-bucket h3{font-size:1.05rem;font-weight:600;margin:0 0 .55rem}.empty-inline{color:#555;margin:0}.event-card,.rsvp-panel,.attendee-list{border:1px solid #ddddda;border-radius:8px;background:#fff;padding:1.1rem}.event-card-header,.event-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.event-card h2{font-size:1.2rem;margin:0}.event-card h2 a{color:#222}.event-card--event-list .event-card-event-list-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,auto);gap:1rem 1.5rem;align-items:center}.event-card-event-list-main{min-width:0}.event-card-event-list-title{font-size:1.1rem;line-height:1.2;margin:0 0 .3rem}.event-card-event-list-title a{color:#222;text-decoration-thickness:1px;text-underline-offset:.14em}.event-card-event-list-description{color:#444;margin:0 0 .85rem;line-height:1.45;white-space:pre-wrap}.event-card-event-list-line{color:#444;font-size:.94rem;margin:.25rem 0 0;line-height:1.35}.event-card-event-list-contact{overflow-wrap:anywhere;word-break:break-word}.event-card-event-list-k{font-weight:700;color:#555}.event-card-event-list-aside{align-self:stretch;display:grid;grid-template-rows:auto 1fr auto;align-items:flex-end;gap:.6rem;justify-items:end;min-width:10rem}.event-card-event-list-aside-top{display:flex;align-items:center;justify-content:flex-end;min-height:1.55rem}.event-card-attending-placeholder{display:inline-block;min-width:1px;min-height:1px}.event-card-attending-badge{border-radius:999px;background:#e8f5ec;border:1px solid #1f6f43;color:#146632;font-size:.78rem;font-weight:700;line-height:1.1;padding:.22rem .65rem}.event-card-event-list-aside-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;justify-content:center}.button-im-there{border:1px solid #245f73;border-radius:6px;background:#245f73;color:#fff;cursor:pointer;font:inherit;font-weight:700;min-width:8.5rem;padding:.55rem .85rem;white-space:nowrap}.button-im-there-cancel{min-width:8.5rem}.button-im-there:disabled{cursor:not-allowed;opacity:.65}.event-card-event-list-corner-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-self:flex-end}.event-card-event-list-rsvp-error{margin:0;max-width:14rem;text-align:right;font-size:.88rem}@media (max-width: 640px){.event-card--event-list .event-card-event-list-body{grid-template-columns:1fr;align-items:start}.event-card-event-list-aside{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;justify-items:stretch;width:100%;min-width:0;padding-top:.75rem;border-top:1px solid #eeeeea}.event-card-event-list-aside-actions{flex:1;align-items:flex-end;justify-content:flex-end}.event-card-event-list-corner-badges{width:100%;justify-content:flex-end;order:3}}.event-badges{display:flex;gap:.5rem;flex-wrap:wrap}.status-label{border:1px solid #777777;border-radius:999px;color:#333;display:inline-block;font-size:.78rem;font-weight:700;line-height:1.1;padding:.18rem .55rem}.status-label.cancelled{border-color:#a12920;color:#a12920}.event-meta{display:grid;gap:.75rem;margin:1rem 0 0}.event-meta div{display:grid;gap:.15rem}.event-meta dt{color:#555;font-size:.85rem;font-weight:700}.event-meta dd{margin:0}.event-detail{display:grid;gap:1.25rem}.event-detail h1{margin-bottom:.5rem}.event-description{font-size:1.05rem;line-height:1.5;margin:0}.detail-meta{border-top:1px solid #ddddda;border-bottom:1px solid #ddddda;padding:1rem 0}.event-contact-method{overflow-wrap:anywhere;word-break:break-word}.rsvp-panel{display:grid;gap:.75rem;justify-items:start}.rsvp-going-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.rsvp-panel p{margin:0}.inline-note{color:#555}.attendee-list ul{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.attendee-list li{display:grid;gap:.15rem}.attendee-row{display:grid;gap:.25rem}.attendee-name{font-weight:600}.attendee-rsvp-at{color:#555;font-size:.9rem}.attendee-list h2{font-size:1.1rem;margin:0 0 .75rem}.auth-panel{max-width:560px}.auth-form{display:grid;gap:1rem;margin-top:1.25rem}.auth-form label{display:grid;gap:.35rem;font-weight:700}.auth-form input,.auth-form textarea{border:1px solid #c9c9c3;border-radius:6px;font:inherit;padding:.65rem .75rem}.auth-form input[readonly]{background:#f0f0ec;color:#555;cursor:default}.auth-form textarea{resize:vertical}.mode-toggle{display:flex;gap:.5rem;margin-top:1.25rem}.mode-toggle button{background:#fff;color:#245f73}.mode-toggle button.active{background:#245f73;color:#fff}.status-box{border:1px solid #ddddda;border-radius:8px;background:#fff;margin-top:1rem;padding:1rem}.form-error{color:#a12920;font-weight:700;margin:0}.form-success{color:#1f6f43;font-weight:700;margin:0}.datetime-picker-wrap{display:grid;gap:.35rem}.datetime-picker-label{font-weight:700}.datetime-picker-group{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}.datetime-picker-input{position:relative;flex:1 1 200px;min-width:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:0;border:1px solid #c9c9c3;border-radius:6px;background:#fff;padding:.45rem .55rem;font:inherit}.datetime-picker-structured{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;min-width:0}.datetime-picker-date-part,.datetime-picker-time-part{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:0}.datetime-picker-time-part{margin-left:.15rem}.datetime-picker-sep{color:#555;font-weight:500;-webkit-user-select:none;user-select:none;white-space:pre}.datetime-picker-slot-offscreen{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.datetime-picker-ampm{display:inline-flex;margin-left:.35rem;flex-shrink:0;border:1px solid #c9c9c3;border-radius:6px;overflow:hidden}.datetime-picker-ampm-btn{border:none;margin:0;padding:.28rem .55rem;font:inherit;font-size:.85rem;line-height:1.2;cursor:pointer;background:#fff;color:#245f73}.datetime-picker-ampm-btn.is-selected{background:#245f73;color:#fff}.datetime-picker-ampm-btn:disabled{cursor:not-allowed;opacity:.65}.datetime-picker-input[data-disabled]{opacity:.65;cursor:not-allowed}.datetime-picker-segment{padding:.12rem .18rem;border-radius:3px;color:inherit;outline:none}.datetime-picker-segment[data-focused]{background:#245f7324;box-shadow:0 0 0 2px #245f7359}.datetime-picker-segment[data-placeholder]{color:#888880;font-variant-numeric:tabular-nums}.datetime-picker-year-hidden{display:none}.datetime-picker-calendar-trigger{flex-shrink:0;align-self:stretch}.datetime-picker-field-error{color:#a12920;font-weight:700;font-size:.9rem;margin:0}.datetime-picker-clear{justify-self:start;margin-top:0;padding:.35rem .65rem;font-size:.9rem;border-color:#c9c9c3;background:#fff;color:#245f73}.datetime-picker-popover{border:1px solid #ddddda;border-radius:8px;background:#fff;padding:.75rem;box-shadow:0 8px 24px #0000001f;max-width:calc(100vw - 2rem)}.datetime-picker-cal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.datetime-picker-cal-heading{flex:1;text-align:center;font-weight:700;font-size:1rem}.datetime-picker-cal-prev,.datetime-picker-cal-next{min-width:2.25rem}.datetime-picker-grid{width:100%;border-collapse:collapse}.datetime-picker-grid th{font-size:.75rem;font-weight:600;color:#555;padding:.25rem}.datetime-picker-cell{padding:0;width:100%;min-height:2.25rem;border:none;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:center;outline:none}.datetime-picker-cell[data-hovered]:not([data-disabled]):not([data-unavailable]):not([data-selected]){background:#245f730f;box-shadow:inset 0 0 0 1px #245f7361}.datetime-picker-cell[data-focused]{outline:2px solid #245f73;outline-offset:1px}.datetime-picker-cell[data-selected]{background:#245f73;color:#fff}.datetime-picker-cell[data-disabled]{opacity:.35;cursor:not-allowed}.datetime-picker-cell[data-outside-month]{visibility:hidden;pointer-events:none}.schedule-page .page-heading{margin-bottom:1.5rem}.schedule-empty-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:8px;border:1px solid #ddddda;background:#fff;color:#555}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.calendar-toolbar-center{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;min-width:12rem}.calendar-month-title{margin:0;font-size:1.35rem}.calendar-today-link{border:none;background:none;color:#245f73;font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer;padding:0}.calendar-today-link:hover{color:#1a4a5a}.calendar-shell{border:1px solid #ddddda;border-radius:8px;overflow:hidden;background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f0f0ec;font-size:.72rem;font-weight:600;text-align:center;padding:.45rem .25rem;color:#555}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e5e5e0}.calendar-cell{min-height:5.5rem;padding:.35rem .3rem;border-right:1px solid #ededea}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell-muted{background:#fafaf8;color:#999}.calendar-cell-muted .calendar-event-time{color:#777}.calendar-cell-today{box-shadow:inset 0 0 0 2px #245f7359}.calendar-cell-date{font-weight:700;font-size:.85rem;margin-bottom:.2rem}.calendar-cell-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;max-height:4.5rem;overflow-y:auto}.calendar-cell-events li{margin:0}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:1rem;align-items:start}.schedule-layout-calendar{min-width:0}.schedule-event-panel{border:1px solid #ddddda;border-radius:8px;background:#fff;padding:1rem;min-height:14rem;width:100%;box-sizing:border-box}.schedule-event-panel-placeholder-title{font-weight:700;margin:0 0 .5rem}.schedule-event-panel-placeholder-body{margin:0;color:#555;font-size:.95rem;line-height:1.45}.schedule-event-panel-toolbar{display:flex;justify-content:flex-end;align-items:center;min-height:2rem;margin-bottom:.35rem}.schedule-panel-preview-kind{font-size:.8rem;color:#555}.schedule-panel-unpin{font-size:.85rem;padding:.35rem .65rem}.schedule-event-panel-event-copy{min-width:0}.schedule-event-panel-status{margin-top:.35rem}.schedule-panel-actions{margin-top:1rem}.calendar-event-row{display:flex;gap:.15rem;align-items:flex-start}.calendar-event-trigger{flex:1;min-width:0;display:block;border:none;margin:0;padding:.12rem .15rem;border-radius:4px;background:transparent;font:inherit;font-size:.72rem;line-height:1.25;color:#245f73;text-align:left;cursor:pointer}.calendar-event-trigger:hover{background:#245f7314}.calendar-event-trigger:focus{outline:2px solid #245f73;outline-offset:1px}.calendar-event-trigger.is-pinned{box-shadow:inset 0 0 0 2px #245f738c;background:#245f731a}.calendar-event-trigger.is-hover-affordance{background:#245f730f}.calendar-event-open-link{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;font-size:.72rem;line-height:1.25;padding:.12rem .1rem;text-decoration:none;color:#245f73;border-radius:4px}.calendar-event-open-link:hover{background:#245f731f}.calendar-event-open-link:focus{outline:2px solid #245f73;outline-offset:1px}@media (max-width: 900px){.schedule-layout{grid-template-columns:1fr}.schedule-event-panel{min-height:10rem;order:2}.schedule-layout-calendar{order:1}}.calendar-event-time{display:block;font-weight:600;color:#444}.calendar-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-title.calendar-event-cancelled{text-decoration:line-through;opacity:.88}.calendar-event-badge{display:inline-block;margin-left:.2rem;font-size:.62rem;font-weight:700;padding:.05rem .2rem;border-radius:3px;vertical-align:middle}.calendar-event-badge.cancelled{background:#f3e8ea;color:#8b2942}.calendar-event-badge.full{background:#eef6f1;color:#1f6f43}@media (max-width: 640px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar-center{order:-1}.calendar-cell{min-height:4rem;padding:.25rem .15rem}.calendar-cell-events{max-height:3.25rem}}.datetime-picker-calendar{max-width:100%}a.button-secondary{box-sizing:border-box;border:1px solid #245f73;border-radius:6px;background:#fff;color:#245f73;cursor:pointer;display:inline-block;font:inherit;padding:.55rem .8rem;text-decoration:none}a.button-secondary:hover{background:#245f730f}.creator-actions-buttons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.status-label.active{border-color:#1f6f43;color:#1f6f43}.status-label.past{border-color:#888;color:#555;font-weight:600}.event-card--organizer .organizer-badges{justify-content:flex-end}.organizer-event-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eeeeea}.organizer-event-actions nav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}a.button-link{border:1px solid #245f73;border-radius:6px;color:#245f73;display:inline-block;font-size:.9rem;font-weight:600;padding:.35rem .65rem;text-decoration:none}a.button-link:hover{background:#245f730f}button.organizer-cancel{font-size:.9rem;padding:.35rem .65rem}.admin-table-wrap{overflow-x:auto}.admin-roles-table{width:100%;border-collapse:collapse;font-size:.95rem}.admin-roles-table th,.admin-roles-table td{border-bottom:1px solid #ddddda;padding:.6rem .5rem;text-align:left;vertical-align:top}.admin-roles-table select{font:inherit;max-width:100%}.attendee-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.attendee-copy{flex-shrink:0}.attendee-empty{color:#555;margin:0}.attendee-email{word-break:break-word}@media (min-width: 540px){.attendee-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;align-items:baseline}.attendee-row .attendee-name{grid-column:1}.attendee-row .attendee-email{grid-column:2}.attendee-row .attendee-rsvp-at{grid-column:3;justify-self:end;text-align:right}}:root{color:#332d30;background:#f8f3f5}body{margin:0;background:#f8f3f5;background-image:radial-gradient(ellipse 52% 42% at 8% -8%,rgba(228,165,185,.22),transparent 58%),radial-gradient(ellipse 48% 38% at 92% 4%,rgba(188,116,145,.18),transparent 55%);background-attachment:fixed}a{color:#7d3f54}.app-shell{position:relative}.site-header{border-bottom-color:#d4b8c4;background:linear-gradient(180deg,#fceef3,#f8e4ec 55%,#f3dbe5);box-shadow:0 1px #c88ca559}.site-title{color:#5a3444;letter-spacing:.02em}button{border-color:#a86074;background:#a86074}button.button-secondary{background:#fcf6f9;color:#82324a;border-color:#c892a3}button.button-danger{border-color:#9a3d4f;background:#9a3d4f}.nav-user{color:#82324a}.page-heading p,.empty-inline{color:#5c4f54}.event-card,.rsvp-panel,.attendee-list{border-color:#e0c8d1;background:#fffafcf0;box-shadow:0 1px 2px #5c364614}.event-card--event-list{border-left:4px solid #b86f84}.event-card--event-list:hover{border-color:#d5aebe;border-left-color:#994e66;box-shadow:0 8px 22px #5c36461a}.event-card h2 a,.event-card-event-list-title a{color:#3a3236}.event-card-event-list-k{color:#6b5d62}.button-im-there{border-color:#9c566a;background:#9c566a}.button-im-there:hover:not(:disabled){background:#88465b;border-color:#88465b}.button-im-there-cancel{background:#fffafd;border-color:#c691a2;color:#7b344a}.button-im-there-cancel:hover:not(:disabled){background:#f6e8ee}.event-card-attending-badge{background:#e8f5ec;border-color:#2d8f55;color:#146632}.page-alert{border-color:#d4b8c4;background:#fcf6f9}.mode-toggle button{background:#fcf6f9;color:#82324a}.mode-toggle button.active{background:#a86074;color:#fff}.status-box{border-color:#d4b8c4;background:#fcf6f9}.datetime-picker-input{border-color:#ceb0bd;background:#fcf6f9}.datetime-picker-ampm{border-color:#ceb0bd}.datetime-picker-ampm-btn{background:#fcf6f9;color:#82324a}.datetime-picker-ampm-btn.is-selected{background:#a86074;color:#fff}.datetime-picker-segment[data-focused]{background:#9e586c38;box-shadow:0 0 0 2px #783a4e6b}.datetime-picker-clear{border-color:#ceb0bd;background:#fcf6f9;color:#82324a}.datetime-picker-popover{border-color:#d4b8c4;background:#fcf6f9}.datetime-picker-cell[data-hovered]:not([data-disabled]):not([data-unavailable]):not([data-selected]){background:#9e586c14;box-shadow:inset 0 0 0 1px #9e586c73}.datetime-picker-cell[data-focused]{outline:2px solid #a86074;outline-offset:1px}.datetime-picker-cell[data-selected]{background:#a86074;color:#fff}.schedule-empty-banner{border-color:#d4b8c4;background:#fcf6f9}.calendar-today-link{color:#82324a}.calendar-today-link:hover{color:#5a3444}.calendar-shell{border-color:#d4b8c4;background:#fcf6f9}.calendar-weekdays{background:#ecdde4}.calendar-cell-muted{background:#f7f0f3}.calendar-cell-today{box-shadow:inset 0 0 0 2px #9e586c8c}.calendar-event-trigger{color:#82324a}.calendar-event-trigger:hover{background:#9e586c24}.calendar-event-trigger.is-pinned{box-shadow:inset 0 0 0 2px #9e586c8c;background:#9e586c1f}.calendar-event-trigger.is-hover-affordance{background:#9e586c14}.calendar-event-open-link{color:#82324a}.calendar-event-open-link:hover{background:#9e586c24}.schedule-event-panel{border-color:#d4b8c4;background:#fcf6f9}.schedule-event-panel-placeholder-body,.schedule-panel-preview-kind{color:#5c4f54}a.button-secondary{border-color:#a86074;background:#fcf6f9;color:#82324a}a.button-secondary:hover{background:#9e586c1f}a.button-link{border-color:#b87d90;color:#82324a}a.button-link:hover{background:#9e586c1f}.admin-roles-table th,.admin-roles-table td{border-bottom-color:#d4b8c4}.detail-meta{border-top-color:#d4b8c4;border-bottom-color:#d4b8c4}.creator-actions{border-top-color:#d4b8c4}.organizer-event-actions{border-top-color:#dcc4cd}.event-meta dt{color:#5c4f54}.status-label{border-color:#bba9af;color:#51464a;background:#ffffff6b}.status-label.cancelled{border-color:#b07080;color:#862d42}.inline-note{color:#5c4f54}.auth-form input,.auth-form textarea{border-color:#ceb0bd}.auth-form input[readonly]{background:#ebdfe4}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='32'%3E%3Cg fill='none' stroke='%23987888' stroke-width='0.45' stroke-opacity='0.34'%3E%3Crect x='1' y='1' width='30' height='14'/%3E%3Crect x='33' y='1' width='30' height='14'/%3E%3Crect x='17' y='17' width='30' height='14'/%3E%3Crect x='49' y='17' width='14' height='14'/%3E%3Crect x='1' y='17' width='14' height='14'/%3E%3C/g%3E%3C/svg%3E");background-size:64px 32px;background-repeat:repeat;background-position:center bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.28) 82%,rgba(0,0,0,.38) 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.28) 82%,rgba(0,0,0,.38) 100%)}.app-shell>.site-header,.app-shell>main{position:relative;z-index:1}
