@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#263b35;background:#fbfaf7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#fbfaf7}.app-shell{display:flex;min-height:100vh}.rail{width:66px;background:#f1f0e9;border-right:1px solid #e9e7df;display:flex;align-items:center;flex-direction:column;padding:20px 0;gap:18px}.rail-button{border:0;background:none;width:40px;height:40px;border-radius:12px;font-size:19px;color:#92978f}.rail-button.active{background:#dce8df;color:#416c5c}.rail-bottom{margin-top:auto}.sidebar{width:250px;background:#f7f6f1;border-right:1px solid #e9e7df;padding:30px 21px;position:relative}.wordmark{font:800 19px Manrope;letter-spacing:-1px;color:#29463a;margin-bottom:29px}.wordmark span{color:#e5a579}.create-button{width:100%;height:43px;border:0;border-radius:9px;background:#416c5c;color:white;display:flex;align-items:center;gap:9px;padding:0 14px;font:600 13px 'DM Sans';box-shadow:0 3px 8px #416c5c24}.create-button:first-letter{font-size:19px}.mini-calendar{margin-top:31px}.mini-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#46534d}.mini-title button{border:0;background:none;font-size:20px;color:#818b83}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);margin-top:12px;gap:3px}.mini-grid button,.mini-label{height:28px;display:grid;place-items:center;border:0;background:transparent;border-radius:50%;font:12px 'DM Sans';color:#515a55;padding:0}.mini-grid .mini-label{font-size:10px;color:#9a9e96;height:22px}.mini-grid button.selected{background:#416c5c;color:#fff}.mini-grid button.muted{color:#c2c3bd}.side-heading{font-size:10px;letter-spacing:1.15px;font-weight:700;color:#999d95;margin:32px 0 14px}.person{height:37px;display:flex;align-items:center;gap:10px;font-size:13px;color:#49574f}.avatar{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:#315344;background:#dbe9dc;flex:none}.avatar.peach{color:#8d604e;background:#f4dfd2}.avatar.small{width:30px;height:30px}.check{margin-left:auto;font-size:10px;color:#547b68;background:#dfebe1;border-radius:50%;width:17px;height:17px;text-align:center;padding-top:2px;font-style:normal}.categories{margin-top:30px}.legend{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:12px;color:#657169}.dot{width:8px;height:8px;border-radius:50%}.mint-dot{background:#78a98b}.peach-dot{background:#dda48a}.sidebar-note{position:absolute;bottom:27px;left:21px;color:#a1a79d;font:12px/1.7 'DM Sans'}.sidebar-note span{color:#dfa678}.workspace{flex:1;min-width:0}.topbar{height:70px;border-bottom:1px solid #eeece5;display:flex;align-items:center;justify-content:space-between;padding:0 48px}.breadcrumb{font-size:12px;color:#78817b}.breadcrumb span{margin:0 10px;color:#cbc9c1}.top-actions{display:flex;align-items:center}.icon-button{border:0;background:transparent;color:#768078;font-size:21px;padding:8px 13px}.top-actions .avatar{border:2px solid #fbfaf7}.overlap{margin-left:-7px}.calendar-content{max-width:1210px;margin:0 auto;padding:49px 48px 42px}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#9ba397}.calendar-heading h1{font:600 31px Manrope;letter-spacing:-1.1px;margin:9px 0 0;color:#263c34}.today-button,.filter-button{height:35px;padding:0 14px;border:1px solid #e4e4dc;border-radius:8px;background:#fff;color:#53645a;font:500 12px 'DM Sans'}.toolbar{display:flex;align-items:center;margin:31px 0 0;gap:14px}.date-arrows{display:flex;gap:6px}.date-arrows button{width:32px;height:32px;border:1px solid #e9e8e1;border-radius:7px;background:#fff;color:#52645a;font-size:20px;line-height:1}.view-switch{display:flex;background:#efeee8;padding:3px;border-radius:8px;margin-left:4px}.view-switch button{height:27px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#858b83;font:500 11px 'DM Sans'}.view-switch button.chosen{background:white;color:#3f6454;box-shadow:0 1px 3px #00000010}.filter-button{margin-left:auto;height:33px}.week-grid{margin-top:18px;display:grid;grid-template-columns:58px repeat(7,minmax(0,1fr));grid-template-rows:48px repeat(13,53px);position:relative;border-top:1px solid #ebe9e1;border-left:1px solid #ebe9e1;background:#fff}.day-head{display:flex;align-items:center;justify-content:center;gap:8px;border-right:1px solid #ebe9e1;border-bottom:1px solid #ebe9e1;grid-row:1;font-size:9px;letter-spacing:.7px;color:#929990}.day-head b{font:600 15px Manrope;color:#4a5951;letter-spacing:0}.day-head b.today-date{background:#416c5c;color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.time-spacer{grid-row:1;grid-column:1;border-bottom:1px solid #ebe9e1}.time-label{grid-column:1;display:flex;justify-content:center;align-items:flex-start;padding-top:8px;font-size:9px;color:#9da198;border-right:1px solid #ebe9e1}.hour-cell{border-right:1px solid #ebe9e1;border-bottom:1px solid #ebe9e1;grid-row:auto}.event-card{z-index:2;margin:3px 4px;border-radius:5px;padding:7px 8px;display:flex;flex-direction:column;gap:4px;overflow:hidden;font-size:10px;cursor:pointer}.event-card b{font-weight:600}.event-card span{font-size:9px;opacity:.76}.event-mint{background:#e4efe6;color:#426953;border-left:2px solid #77a98a}.event-peach{background:#f8e9df;color:#956954;border-left:2px solid #dca386}.event-lavender{background:#eeebf5;color:#706483;border-left:2px solid #aaa0c4}.month-grid{margin-top:18px;background:#fff;border:1px solid #ebe9e1}.month-days,.month-cells{display:grid;grid-template-columns:repeat(7,1fr)}.month-days span{text-align:right;padding:14px 12px;border-bottom:1px solid #ebe9e1;color:#989d94;font-size:9px;letter-spacing:.6px}.month-cell{height:98px;border:0;border-right:1px solid #ebe9e1;border-bottom:1px solid #ebe9e1;background:#fff;text-align:left;padding:8px;display:flex;flex-direction:column;gap:4px;color:#59665d;font-size:11px}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{color:#c3c5be;background:#fdfdfb}.month-cell.is-today>span{background:#416c5c;color:#fff;width:21px;height:21px;display:grid;place-items:center;border-radius:50%}.month-event{font-style:normal;border-radius:3px;padding:3px 5px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-next{margin-top:23px;padding:17px 18px;border:1px solid #eeece4;border-radius:9px;background:#fff;display:flex;align-items:center;gap:13px}.up-icon{width:32px;height:32px;border-radius:10px;background:#f7eee1;color:#c59065;display:grid;place-items:center}.up-next b{font:600 12px Manrope;color:#49594f}.up-next p{margin:4px 0 0;font-size:10px;color:#949a91}.up-next>button{margin-left:auto;border:0;background:none;color:#4d715f;font:600 11px 'DM Sans'}.up-next>button span{margin-left:6px}.modal-backdrop{position:fixed;inset:0;background:#1e322c55;display:grid;place-items:center;z-index:5;padding:20px}.event-modal{width:min(420px,100%);background:#fbfaf7;border-radius:14px;padding:29px;box-shadow:0 18px 60px #152b2140;position:relative}.event-modal h2{font:700 23px Manrope;margin:7px 0 22px;color:#2b4036}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:24px;color:#899087}.event-modal label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:11px;font-weight:600;color:#68746c}.event-modal input,.event-modal select{height:39px;border:1px solid #e6e5dd;background:#fff;border-radius:7px;padding:0 10px;color:#394b41;font:12px 'DM Sans'}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit{margin-top:11px;justify-content:center}@media(max-width:900px){.sidebar{display:none}.topbar{padding:0 22px}.calendar-content{padding:36px 22px}.rail{width:52px}.week-grid{grid-template-columns:40px repeat(7,minmax(78px,1fr));overflow:auto}.workspace{overflow-x:auto}.calendar-heading h1{font-size:24px}.month-cell{height:80px}}@media(max-width:560px){.calendar-content{padding:28px 12px}.topbar{height:56px}.week-grid{grid-template-columns:36px repeat(7,84px);grid-template-rows:42px repeat(13,47px)}.up-next{padding:12px}.up-next>button{font-size:0}.up-next>button span{font-size:12px}.toolbar{margin-top:23px}.month-cell{height:65px}.month-event{font-size:0;height:5px;padding:0}}

/* Bright cobalt palette */
:root{color:#26364b;background:#f2f5fb}body{background:#f2f5fb;color:#26364b}
.rail{background:#edf1f8;border-color:#dfe6f1}.create-button{background:#315fc4;color:#fff}.rail-button{color:#73839a}.rail-button.active{background:#dce7ff;color:#315fc4}
.sidebar{background:#f8f9fc;border-color:#dfe6f1}.wordmark{color:#26364b}.wordmark span{color:#315fc4}.create-button{box-shadow:0 3px 9px #315fc433}.mini-title{color:#41556d}.mini-title button{color:#70829a}.mini-grid button{color:#42536b}.mini-grid .mini-label{color:#73839a}.mini-grid button.selected,.day-head b.today-date,.month-cell.is-today>span{background:#315fc4;color:#fff}.mini-grid button.muted{color:#bec9d8}.side-heading{color:#75849a}.person{color:#40536b}.avatar{color:#315fc4;background:#dce7ff}.avatar.peach{color:#994f31;background:#ffe8dc}.check{color:#315fc4;background:#dce7ff}.legend{color:#627389}.mint-dot{background:#4c79e8}.peach-dot{background:#ee956b}.sidebar-note{color:#7f8ea2}.sidebar-note span{color:#315fc4}
.topbar{border-color:#e1e8f1}.breadcrumb{color:#73839a}.breadcrumb span{color:#c5cfdb}.icon-button{color:#61758f}.top-actions .avatar{border-color:#f2f5fb}.calendar-heading h1{color:#26364b}.eyebrow{color:#76869c}.today-button,.filter-button{border-color:#dfe6ef;background:#fff;color:#425d83}.toolbar .date-arrows button{border-color:#dfe6ef;background:#fff;color:#41618a}.view-switch{background:#e6ebf4}.view-switch button{color:#718198}.view-switch button.chosen{color:#315fc4;background:#fff}.week-grid{border-color:#dfe6f1;background:#fff}.day-head,.time-spacer,.time-label,.hour-cell{border-color:#e1e8f1}.day-head{color:#76869a}.day-head b{color:#40536b}.time-label{color:#8190a3}.event-mint{background:#dce7ff;color:#264c9b;border-color:#4c79e8}.event-peach{background:#ffe8dc;color:#994f31;border-color:#ee956b}.event-lavender{background:#eee4ff;color:#62418e;border-color:#9c74e3}.month-grid{background:#fff;border-color:#dfe6f1}.month-days span{border-color:#e1e8f1;color:#76869a}.month-cell{border-color:#e1e8f1;background:#fff;color:#40536b}.month-cell.outside{color:#b5c0cf;background:#fafbfd}.month-event.event-mint{background:#dce7ff;color:#264c9b}.month-event.event-peach{background:#ffe8dc;color:#994f31}.up-next{border-color:#e1e8f1;background:#fff}.up-icon{background:#dce7ff;color:#315fc4}.up-next b{color:#344b67}.up-next p{color:#7d8da2}.up-next>button{color:#315fc4}.modal-backdrop{background:#20334f66}.event-modal{background:#f8f9fc;box-shadow:0 18px 60px #1f355540}.event-modal h2{color:#26364b}.modal-close{color:#728198}.event-modal label{color:#52647a}.event-modal input,.event-modal select{border-color:#dfe6ef;background:#fff;color:#334961}

/* Date idea suggestions */
.content-layout{display:flex;align-items:stretch;min-height:calc(100vh - 70px)}.calendar-content{max-width:none;flex:1;min-width:0}.ideas-panel{width:316px;flex:none;background:#f8f9fc;border-left:1px solid #dfe6f1;transition:width .2s ease;overflow:hidden}.ideas-panel.ideas-closed{width:48px}.ideas-toggle{height:58px;width:100%;display:flex;align-items:center;gap:10px;padding:0 14px;border:0;border-bottom:1px solid #e1e8f1;background:#fff;color:#334b70;font:600 13px Manrope;white-space:nowrap}.ideas-spark{color:#315fc4;font-size:18px}.ideas-chevron{margin-left:auto;font-size:20px;color:#70829a}.ideas-body{padding:15px 14px 24px;max-height:calc(100vh - 128px);overflow:auto}.ideas-intro{font-size:11px;color:#7a899e;margin:0 1px 13px}.idea-card{background:#fff;border:1px solid #e1e8f1;border-radius:10px;padding:13px;margin-bottom:10px;box-shadow:0 2px 8px #26364b08}.idea-date{font-size:10px;color:#315fc4;font-weight:700;letter-spacing:.2px;margin-bottom:7px}.idea-title{display:block;color:#26364b;text-decoration:none;font:700 13px/1.4 Manrope}.idea-title:hover{color:#315fc4}.idea-venue,.idea-cost{font-size:10px;color:#74839a;margin-top:5px}.idea-cost{color:#456657}.idea-card p{font-size:10px;line-height:1.5;color:#64758c;margin:10px 0}.idea-add{width:100%;border:0;border-radius:6px;background:#eef3ff;color:#315fc4;padding:8px 9px;text-align:left;font:600 10px 'DM Sans'}.idea-add span{float:right}.ideas-state{padding:18px 8px;color:#78879b;font-size:11px;line-height:1.5}.ideas-state button{display:block;border:0;background:none;color:#315fc4;padding:10px 0 0;font-weight:700}.ideas-attribution{padding:6px 2px;color:#8190a3;font-size:9px}.ideas-attribution a{color:#315fc4}.ideas-closed .ideas-toggle{height:100%;min-height:170px;flex-direction:column;justify-content:flex-start;padding:16px 0;gap:12px}.ideas-closed .ideas-toggle>span:nth-child(2){writing-mode:vertical-rl;transform:rotate(180deg)}.ideas-closed .ideas-chevron{margin:auto 0 0;transform:rotate(180deg)}
@media(max-width:1100px){.ideas-panel{width:285px}.calendar-content{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.content-layout{min-height:0;flex-direction:column}.ideas-panel,.ideas-panel.ideas-closed{width:100%;border-left:0;border-top:1px solid #dfe6f1}.ideas-closed .ideas-toggle{height:52px;min-height:0;flex-direction:row;justify-content:flex-start;padding:0 16px}.ideas-closed .ideas-toggle>span:nth-child(2){writing-mode:initial;transform:none}.ideas-closed .ideas-chevron{margin-left:auto;transform:rotate(90deg)}.ideas-open .ideas-toggle{height:52px}}
.rail-link{display:grid;place-items:center;text-decoration:none}.rail-link:hover,.rail-link:focus-visible{background:#dce7ff;color:#315fc4}

/* Shared page shell and account screens */
.rail-button.active{background:#dce7ff;color:#315fc4}
.page-body{min-height:calc(100vh - 70px)}.page-body>.content-layout{min-height:calc(100vh - 70px)}
.top-actions{gap:18px}.top-actions a,.signout-button{color:#49658a;text-decoration:none;font:600 12px 'DM Sans',sans-serif}.top-actions a:hover,.signout-button:hover{color:#315fc4}.signout-button{border:0;background:none;padding:5px 0}.top-actions .avatar{margin-left:2px}
.settings-content{max-width:1050px;margin:0 auto;padding:49px 48px 72px}.page-heading h1,.auth-content h1,.settings-content>h1{font:600 31px Manrope,sans-serif;letter-spacing:-1.1px;color:#26364b;margin:9px 0 8px}.page-heading p,.auth-content>p,.settings-content>p{font-size:13px;color:#73839a;margin:0 0 30px}.settings-card{background:#fff;border:1px solid #e1e8f1;border-radius:12px;padding:27px 28px;box-shadow:0 3px 16px #26364b08;margin-bottom:22px}.settings-card-heading h2{font:700 18px Manrope,sans-serif;letter-spacing:-.3px;color:#30455f;margin:6px 0}.settings-card-heading p{font-size:12px;color:#8290a2;margin:0 0 23px}.user-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-form label,.auth-card label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#52647a}.user-form input,.user-form select,.auth-card input{width:100%;height:40px;border:1px solid #dfe6ef;border-radius:7px;background:#fff;color:#334961;padding:0 11px;font:13px 'DM Sans',sans-serif}.user-form input:focus,.user-form select:focus,.auth-card input:focus{outline:2px solid #a9c2f7;outline-offset:1px}.user-submit,.auth-submit{width:auto;min-width:138px;justify-content:center;margin-top:23px;padding:0 17px}.form-message{border-radius:7px;padding:10px 12px;margin-top:16px;font-size:12px}.form-message.error{background:#fff0ef;color:#a34039}.form-message.success{background:#e8f5ed;color:#367354}.accounts-card{padding-bottom:10px}.accounts-card .settings-card-heading{margin-bottom:16px}.account-count{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:12px;background:#eef3ff;color:#315fc4;font:700 11px 'DM Sans',sans-serif;vertical-align:2px}.accounts-table-wrap{overflow-x:auto}.accounts-table{width:100%;border-collapse:collapse;font-size:12px;color:#50647d}.accounts-table th{text-align:left;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8291a5;font-weight:700;border-bottom:1px solid #e5eaf2;padding:12px 10px}.accounts-table td{border-bottom:1px solid #edf0f5;padding:13px 10px}.accounts-table tr:last-child td{border-bottom:0}.accounts-table td:first-child{display:flex;align-items:center;gap:10px;color:#30455f;font-weight:600}.role-badge{display:inline-block;border-radius:20px;background:#eef3ff;color:#315fc4;padding:5px 9px;font-size:10px;font-weight:700}.auth-content{max-width:490px;margin:0 auto;padding:78px 24px}.auth-card{margin-top:29px}.auth-card label+label{margin-top:16px}.auth-submit{width:100%}.page-link{color:#315fc4;font-size:13px;font-weight:700;text-decoration:none}.page-link:hover{text-decoration:underline}
@media(max-width:900px){.settings-content{padding:36px 24px 60px}.auth-content{padding-top:50px}}
@media(max-width:560px){.page-body{min-height:calc(100vh - 56px)}.settings-content{padding:30px 16px 48px}.settings-card{padding:21px 18px}.user-fields{grid-template-columns:1fr}.top-actions{gap:10px}.top-actions a{display:none}.page-heading h1,.auth-content h1,.settings-content>h1{font-size:25px}}

#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;width:100%;padding:.6rem 1.25rem;background:#fff3cd;box-shadow:0 -1px 2px #0003;z-index:1000}
#blazor-error-ui .dismiss{position:absolute;right:.75rem;top:.5rem;cursor:pointer}
.account-edit-button{border:1px solid #dce5f2;border-radius:7px;background:#fff;color:#315fc4;padding:8px 12px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}
.account-edit-button:hover{background:#eef3ff}
.account-edit-button:disabled{opacity:.55;cursor:default}
.account-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.account-delete-button{border:1px solid #e8c5c2;border-radius:7px;background:#fff;color:#a34039;padding:8px 12px;font:700 12px 'DM Sans',sans-serif;cursor:pointer}
.account-delete-button:hover{background:#fff0ef}
.account-delete-button:disabled{opacity:.55;cursor:default}
.user-actions{display:flex;align-items:center;gap:12px}
.user-actions .account-edit-button{margin-top:23px}

/* Timed events sit above the fixed hour cells without taking part in grid placement. */
.event-layer{grid-row:2 / span 13;position:relative;min-height:0;z-index:2;pointer-events:none}
.event-layer .event-card{position:absolute;left:4px;right:4px;margin:3px 0;min-height:20px;pointer-events:auto}

.event-card,.month-event{touch-action:none;user-select:none;cursor:grab}
.event-card.is-dragging,.month-event.is-dragging{cursor:grabbing;z-index:20;opacity:.8;pointer-events:none;box-shadow:0 6px 18px #263b3533}
.event-card{padding-right:22px}
.event-remove{position:absolute;top:4px;right:4px;width:16px;height:16px;border:0;border-radius:4px;background:transparent;color:inherit;font-size:15px;line-height:13px;padding:0;opacity:.65;cursor:pointer}
.event-remove:hover,.event-remove:focus-visible{background:#ffffffaa;opacity:1}
.event-resize-handle{position:absolute;left:18%;right:18%;height:9px;display:block;z-index:3;cursor:ns-resize;touch-action:none}
.event-resize-handle::after{content:"";display:block;width:32px;height:3px;border-radius:3px;background:currentColor;opacity:.5;margin:3px auto}
.event-resize-start{top:0}.event-resize-end{bottom:0}
.month-cell.drag-target{outline:2px solid #416c5c;outline-offset:-2px;background:#eef5ef}
.calendar-error{margin-top:12px;padding:10px 12px;border-radius:6px;background:#fff0ec;color:#9b493b;font-size:12px}
.event-delete-trigger{display:block;margin:14px auto 0;padding:4px 8px;border:0;background:transparent;color:#a34039;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.event-delete-trigger:hover{text-decoration:underline}
.event-delete-confirmation{margin-top:16px;padding:14px;border:1px solid #e8c5c2;border-radius:8px;background:#fff4f2}
.event-delete-confirmation p{margin:0 0 12px;color:#713d39;font:600 12px/1.5 'DM Sans',sans-serif;overflow-wrap:anywhere}
.event-delete-actions{display:flex;justify-content:flex-end;gap:8px}
.event-delete-actions button{min-height:35px;padding:0 12px;border-radius:7px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.event-delete-cancel{border:1px solid #dfe6ef;background:#fff;color:#425d83}
.event-delete-confirm{border:1px solid #a34039;background:#a34039;color:#fff}
.event-delete-actions button:disabled{opacity:.6;cursor:default}

/* Event and sidebar colours come from the same calendar owner palette. */
.event-card,.month-event{background:var(--event-bg);color:var(--event-text);border-left:2px solid var(--event-accent)}

.event-rsvps,.month-event-rsvps{display:flex;align-items:center;gap:5px;min-height:20px;flex-wrap:wrap}
.event-card .event-rsvps{position:absolute;top:4px;right:23px;max-width:calc(100% - 32px);min-height:0;flex-wrap:nowrap;overflow:hidden}
.event-card>b{padding-right:22px}
.event-rsvp{position:relative;display:inline-flex;align-items:center;width:21px;height:21px;flex:none;opacity:1!important}
.event-rsvp-avatar{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#fff;color:#40536b;font:700 8px 'DM Sans';box-shadow:0 0 0 1px #cbd5df}
.event-rsvp-status{position:absolute;right:0;bottom:0;z-index:1;display:grid;place-items:center;width:9px;height:9px;border-radius:50%;color:#fff;font:700 8px/1 Arial;opacity:1!important}
.event-rsvp-status.yes,.rsvp-menu-mark.yes{background:#23834b}
.event-rsvp-status.no,.rsvp-menu-mark.no{background:#c43c3c}
.month-event{display:flex;align-items:center;gap:4px;min-width:0}
.month-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.month-event-rsvps{margin-left:auto;flex-wrap:nowrap;min-height:21px}
.month-event-rsvps .event-rsvp{width:19px}
.rsvp-menu-dismiss{position:fixed;inset:0;z-index:40}
.rsvp-menu{position:fixed;z-index:41;min-width:124px;max-width:220px;padding:5px;background:#fff;border:1px solid #dfe6ef;border-radius:8px;box-shadow:0 8px 24px #263b3533}
.rsvp-menu-title{font:600 10px 'DM Sans';color:#718198;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rsvp-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:0;border-radius:5px;background:transparent;color:#26364b;font:600 12px 'DM Sans';text-align:left;cursor:pointer}
.rsvp-menu button:hover,.rsvp-menu button:focus-visible{background:#f2f5fb}
.rsvp-menu-mark{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;color:#fff;font:700 13px Arial}
@media(max-width:560px){.month-event{height:auto;min-height:21px;padding:1px 2px}.month-event-title{display:none}.month-event-rsvps{margin-left:0}.month-event-rsvps .event-rsvp{width:19px}}

/* Keep the calendar heading and controls close to the top bar. */
.calendar-content{padding-top:20px}
.calendar-heading h1{margin-top:0}
.toolbar{margin-top:24px}
.toolbar .today-button{height:33px}
@media(max-width:900px){.calendar-content{padding-top:20px}}
@media(max-width:560px){.calendar-content{padding-top:16px}.toolbar{margin-top:20px}}

.right-panels{display:flex;flex:none;background:#f8f9fc;border-left:1px solid #dfe6f1}
.right-panels .ideas-panel{width:316px;border:0;overflow:visible}
.right-panels .ideas-body{max-height:calc(100vh - 128px)}
.ideas-icon-rail{width:52px;flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 5px;background:#edf1f8;border-left:1px solid #dfe6f1}
.ideas-icon-button{position:relative;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#667c9d;cursor:pointer}
.ideas-icon-button:hover,.ideas-icon-button:focus-visible,.ideas-icon-button.active{background:#dce7ff;color:#315fc4}
.ideas-icon-button svg{width:21px;height:21px}
.suggestions-icon{font-size:22px;line-height:1}
.ideas-icon-text{display:none}
.ideas-icon-button::before{content:attr(data-label);position:absolute;right:calc(100% + 10px);top:50%;z-index:4;transform:translate(4px,-50%);padding:10px 12px;border:1px solid #dfe6f1;border-radius:7px;background:#fff;box-shadow:0 5px 14px #26364b22;color:#334b70;font:600 12px Manrope;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}
.ideas-icon-button:hover::before,.ideas-icon-button:focus-visible::before{opacity:1;transform:translate(0,-50%)}
.plan-idea-form{display:flex;gap:7px;margin-bottom:12px}
.plan-idea-form input{min-width:0;flex:1;height:36px;padding:0 10px;border:1px solid #dfe6f1;border-radius:7px;background:#fff;color:#26364b;font:12px 'DM Sans'}
.plan-idea-form button{width:36px;border:0;border-radius:7px;background:#315fc4;color:#fff;font-size:20px;cursor:pointer}
.plan-ideas-hint{margin:3px 0 10px;font-size:10px;color:#7a899e}
.plan-idea-item{display:flex;align-items:center;gap:6px;margin-bottom:7px;padding:7px 8px;border:1px solid #e1e8f1;border-radius:8px;background:#fff}
.plan-idea-drag{flex:1;min-width:0;display:flex;align-items:center;gap:8px;touch-action:none;user-select:none;cursor:grab;color:#315fc4;font-size:17px}
.plan-idea-drag span{overflow-wrap:anywhere;color:#334b70;font:600 12px/1.4 'DM Sans'}
.plan-idea-remove{min-height:32px;flex:none;border:1px solid #efdad7;border-radius:6px;background:#fff7f5;color:#a44e42;padding:0 9px;font:600 11px 'DM Sans';cursor:pointer}
.plan-idea-remove:hover,.plan-idea-remove:focus-visible{background:#fbe9e5;border-color:#dcaaa3;color:#893b31}
.plan-idea-ghost{position:fixed;z-index:20;pointer-events:none;background:#eef3ff;border:1px solid #315fc4;border-radius:7px;padding:8px 10px;max-width:230px;box-shadow:0 5px 18px #26364b33}
.hour-cell.drag-target,.month-cell.drag-target{outline:2px solid #315fc4;outline-offset:-2px;background:#eef3ff}
@media(max-width:1100px){.right-panels .ideas-panel{width:285px}}
@media(max-width:900px){.right-panels{width:100%;flex-direction:column-reverse;border-left:0;border-top:1px solid #dfe6f1}.right-panels .ideas-panel{width:100%}.right-panels .ideas-body{max-height:320px}.ideas-icon-rail{width:100%;flex-direction:row;justify-content:flex-end;border-left:0;border-bottom:1px solid #dfe6f1;padding:6px 14px}.ideas-icon-button{width:auto;min-width:44px;height:44px;display:flex;gap:7px;padding:0 11px}.ideas-icon-text{display:inline;font:600 12px Manrope}.ideas-icon-button::before{display:none}}

/* Flat event list */
.events-content{max-width:920px;margin:0 auto;padding:48px 48px 80px}
.events-section{margin-top:34px}
.events-section h2{margin:0 0 14px;color:#30455f;font:700 17px Manrope,sans-serif}
.events-list{display:flex;flex-direction:column;gap:10px}
.events-item{display:flex;align-items:center;gap:18px;min-width:0;padding:16px 20px;background:#fff;border:1px solid #e1e8f1;border-left:4px solid var(--event-accent);border-radius:10px;box-shadow:0 2px 10px #26364b08}
.events-item-date{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:8px;background:var(--event-bg);color:var(--event-text)}
.events-item-date span{font:700 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.7px}
.events-item-date b{font:700 22px Manrope,sans-serif;line-height:1.2}
.events-item-details{min-width:0}
.events-item-details h3{margin:0 0 4px;color:#26364b;font:700 14px Manrope,sans-serif;overflow-wrap:anywhere}
.events-item-details p{margin:0 0 5px;color:#65778e;font:12px/1.5 'DM Sans',sans-serif}
.events-item-details>span{color:#8290a2;font:11px 'DM Sans',sans-serif}
.events-state{margin:0;padding:18px 20px;border:1px solid #e1e8f1;border-radius:9px;background:#fff;color:#73839a;font:12px 'DM Sans',sans-serif}
.events-state button{margin-left:8px;padding:0;border:0;background:none;color:#315fc4;font:700 12px 'DM Sans',sans-serif;cursor:pointer}
@media(max-width:900px){.events-content{padding:36px 24px 60px}}
@media(max-width:560px){.events-content{padding:30px 16px 48px}.events-item{gap:12px;padding:13px}.events-item-date{width:48px;height:48px}.events-item-details p{font-size:11px}}
