/* NEO 101 Calendar V10 — No-auth Google public calendar + readable FullCalendar */
.neo-cal-view{padding-top:0!important;min-width:0;max-width:100%}.neo-cal-view>.view-title{margin-top:-10px!important;margin-bottom:12px!important;min-width:0}.neo-cal-view>.view-title h1{margin:0 0 4px!important;line-height:1.06!important;overflow-wrap:anywhere}.neo-cal-view>.view-title p{margin:0!important;max-width:78ch;line-height:1.5!important;color:var(--muted,#64748b)!important;overflow-wrap:anywhere}
#gcalToast.gcal-toast{position:fixed;right:16px;bottom:16px;z-index:99999;max-width:min(420px,calc(100vw - 32px));padding:12px 15px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 20px 50px #0006;transform:translateY(18px);opacity:0;pointer-events:none;transition:.22s ease}.gcal-toast.show{transform:none;opacity:1}
.gcal-shell{--gc-accent:#4285f4;--gc-green:#34a853;--gc-yellow:#fbbc04;--gc-red:#ea4335;--gc-text:var(--text,#111827);--gc-muted:var(--muted,#64748b);--gc-card:var(--panel,var(--card,#fff));--gc-line:color-mix(in srgb,var(--gc-text) 13%,transparent);display:grid;grid-template-columns:minmax(220px,258px) minmax(0,1fr);width:100%;max-width:100%;min-width:0;min-height:clamp(620px,74vh,900px);overflow:hidden;border:1px solid var(--gc-line);border-radius:26px;background:color-mix(in srgb,var(--gc-card) 96%,transparent);box-shadow:0 24px 80px #0002;backdrop-filter:blur(22px);color:var(--gc-text)}
.gcal-shell *{box-sizing:border-box;min-width:0}.gcal-sidebar,.gcal-main{min-width:0;max-width:100%}.gcal-sidebar{padding:16px 14px;border-right:1px solid var(--gc-line);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gc-accent) 58%,transparent) transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--gc-card) 96%,var(--gc-accent) 4%),color-mix(in srgb,var(--gc-card) 99%,transparent))}.gcal-sidebar::-webkit-scrollbar,.gcal-main::-webkit-scrollbar,.gcal-calendar::-webkit-scrollbar{width:8px;height:8px}.gcal-sidebar::-webkit-scrollbar-thumb,.gcal-main::-webkit-scrollbar-thumb,.gcal-calendar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4285f4,#7c3aed,#06b6d4);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.gcal-brand{display:flex;gap:11px;align-items:center;margin-bottom:14px}.gcal-brand-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:conic-gradient(from 40deg,#4285f4 0 25%,#34a853 0 50%,#fbbc04 0 75%,#ea4335 0);color:#fff;font-weight:900;box-shadow:0 8px 22px #4285f43a}.gcal-brand b,.gcal-brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-brand b{font-size:14px;color:var(--gc-text)}.gcal-brand small{font-size:11px;color:var(--gc-muted);margin-top:2px}.gcal-live-card{padding:12px;border:1px solid var(--gc-line);border-radius:16px;background:color-mix(in srgb,var(--gc-card) 91%,var(--gc-accent) 9%);margin-bottom:15px}.gcal-live-row{display:flex;gap:10px;align-items:center}.gcal-live-row>div{min-width:0}.gcal-live-row b,.gcal-live-row small{display:block}.gcal-live-row b{font-size:12px;line-height:1.25;overflow-wrap:anywhere}.gcal-live-row small{font-size:10px;color:var(--gc-muted);margin-top:3px}.gcal-live-pulse{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px #22c55e20;animation:gcpulse 1.8s infinite}@keyframes gcpulse{50%{box-shadow:0 0 0 12px #22c55e00}}.gcal-status{display:flex;gap:7px;align-items:flex-start;margin-top:10px;font-size:10px;line-height:1.35;color:var(--gc-muted)}.gcal-status span:last-child{overflow-wrap:anywhere}.gcal-dot{flex:0 0 7px;width:7px;height:7px;margin-top:3px;border-radius:50%;background:#94a3b8}.gcal-status.live .gcal-dot{background:#22c55e}.gcal-status.loading .gcal-dot{background:#f59e0b}.gcal-status.error .gcal-dot{background:#ef4444}.gcal-side-head{display:flex;align-items:center;justify-content:space-between;margin:15px 3px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--gc-muted)}.gcal-presets{display:grid;gap:6px}.gcal-presets button{display:flex;align-items:center;gap:9px;width:100%;border:0;padding:9px 8px;border-radius:10px;background:transparent;color:var(--gc-text);font:inherit;font-size:11px;text-align:left;cursor:pointer}.gcal-presets button:hover{background:color-mix(in srgb,var(--gc-card) 86%,var(--gc-accent) 14%)}.gcal-cal-color{flex:0 0 9px;width:9px;height:9px;border-radius:50%}.gcal-source-details{margin-top:13px;border-top:1px solid var(--gc-line);padding-top:12px}.gcal-source-details summary{cursor:pointer;font-size:11px;font-weight:750;color:var(--gc-text)}.gcal-source-details label{display:block;margin-top:10px;font-size:10px;color:var(--gc-muted);line-height:1.4}.gcal-input{width:100%;max-width:100%;margin-top:6px;padding:9px 10px;border:1px solid var(--gc-line);border-radius:10px;background:var(--input,var(--gc-card));color:var(--gc-text);font:inherit;font-size:10px;outline:none}.gcal-input:focus{border-color:#4285f4;box-shadow:0 0 0 3px #4285f418}.gcal-source-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:7px}.gcal-source-details p{font-size:9px;line-height:1.45;color:var(--gc-muted);margin:8px 0 0}.gcal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;border:1px solid var(--gc-line);background:color-mix(in srgb,var(--gc-card) 95%,transparent);color:var(--gc-text);border-radius:11px;padding:9px 11px;font:inherit;font-size:11px;font-weight:750;text-decoration:none;cursor:pointer;transition:.18s ease;white-space:nowrap}.gcal-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0002}.gcal-btn.primary{background:linear-gradient(135deg,#4285f4,#6d5dfc);border-color:transparent;color:#fff}.gcal-open{width:100%;margin-top:12px}.gcal-main{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.gcal-top{position:sticky;top:0;z-index:12;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 12px;border-bottom:1px solid var(--gc-line);background:color-mix(in srgb,var(--gc-card) 91%,transparent);backdrop-filter:blur(18px)}.gcal-kicker{display:block;font-size:9px;letter-spacing:.13em;font-weight:850;color:#4285f4;margin-bottom:2px}.gcal-top h2{font-size:clamp(22px,2.4vw,31px);line-height:1.05;margin:0 0 3px;color:var(--gc-text);overflow-wrap:anywhere}.gcal-top p{font-size:10px;line-height:1.4;color:var(--gc-muted);margin:0;max-width:58ch}.gcal-top-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.gcal-calendar{padding:12px 14px 20px;min-width:0;max-width:100%;overflow-x:auto}.gcal-calendar .fc{--fc-border-color:var(--gc-line);--fc-page-bg-color:transparent;--fc-neutral-bg-color:color-mix(in srgb,var(--gc-card) 93%,var(--gc-text) 7%);--fc-list-event-hover-bg-color:color-mix(in srgb,var(--gc-card) 87%,var(--gc-accent) 13%);--fc-today-bg-color:color-mix(in srgb,#4285f4 10%,transparent);--fc-event-bg-color:#4285f4;--fc-event-border-color:transparent;--fc-event-text-color:#fff;color:var(--gc-text);font-family:inherit;min-width:0}.gcal-calendar .fc a{color:inherit}.gcal-calendar .fc-toolbar{gap:10px;flex-wrap:wrap;margin-bottom:12px!important}.gcal-calendar .fc-toolbar-chunk{display:flex;align-items:center;gap:5px;min-width:0}.gcal-calendar .fc-toolbar-title{font-size:clamp(15px,1.7vw,21px)!important;line-height:1.15!important;color:var(--gc-text)!important;white-space:normal!important;text-align:center!important;overflow-wrap:anywhere}.gcal-calendar .fc-button{border:1px solid var(--gc-line)!important;background:color-mix(in srgb,var(--gc-card) 94%,transparent)!important;color:var(--gc-text)!important;border-radius:9px!important;box-shadow:none!important;padding:.46em .7em!important;font-size:10px!important;font-weight:750!important;text-transform:none!important}.gcal-calendar .fc-button-primary:not(:disabled).fc-button-active,.gcal-calendar .fc-button-primary:not(:disabled):active{background:#4285f4!important;color:white!important;border-color:#4285f4!important}.gcal-calendar .fc-col-header-cell{position:sticky;top:0;background:color-mix(in srgb,var(--gc-card) 97%,transparent);z-index:5}.gcal-calendar .fc-col-header-cell-cushion{padding:8px 3px!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--gc-muted)!important}.gcal-calendar .fc-daygrid-day-number{font-size:10px!important;font-weight:700!important;padding:6px!important;color:var(--gc-text)!important}.gcal-calendar .fc-day-today .fc-daygrid-day-number{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#4285f4;color:#fff!important;margin:3px}.gcal-calendar .fc-daygrid-day-frame{min-height:82px;overflow:hidden}.gcal-calendar .fc-event{border-radius:7px!important;margin:1px 3px!important;padding:1px 4px!important;box-shadow:none!important;overflow:hidden!important}.gcal-calendar .fc-event-main,.gcal-calendar .fc-event-title,.gcal-calendar .fc-event-time{font-size:9px!important;line-height:1.25!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.gcal-calendar .fc-daygrid-more-link{font-size:9px!important;color:#4285f4!important;font-weight:750!important}.gcal-calendar .fc-list-event-title,.gcal-calendar .fc-list-event-time{font-size:11px!important;color:var(--gc-text)!important}.gcal-calendar .fc-timegrid-slot-label-cushion{font-size:9px;color:var(--gc-muted)}.gcal-calendar .fc-scroller{scrollbar-width:thin;scrollbar-color:#4285f4 transparent}.gcal-modal{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:18px;background:#0206179a;backdrop-filter:blur(8px)}.gcal-modal.open{display:flex}.gcal-modal-card{position:relative;width:min(520px,100%);max-height:min(82vh,760px);overflow:auto;background:var(--gc-card);color:var(--gc-text);border:1px solid var(--gc-line);border-radius:22px;padding:20px;box-shadow:0 28px 90px #0007}.gcal-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--gc-text);font-size:24px;cursor:pointer}.gcal-modal-kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#4285f4;font-weight:850}.gcal-modal-card h3{margin:5px 36px 15px 0;font-size:20px;line-height:1.15;overflow-wrap:anywhere}.gcal-event-detail{display:grid;gap:12px}.gcal-event-detail>div{display:grid;gap:3px}.gcal-event-detail span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gc-muted)}.gcal-event-detail b,.gcal-event-detail p{font-size:11px;line-height:1.5;margin:0;overflow-wrap:anywhere}.gcal-modal-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:18px}
@media(max-width:1050px){.gcal-shell{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.gcal-calendar{padding:10px}.gcal-top{padding:14px}}
@media(max-width:820px){.gcal-shell{display:block;min-height:0;overflow:visible}.gcal-sidebar{border-right:0;border-bottom:1px solid var(--gc-line);max-height:none;overflow:visible}.gcal-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.gcal-presets button{justify-content:center;text-align:center}.gcal-main{overflow:visible}.gcal-top{position:relative;top:auto}.gcal-calendar{overflow-x:hidden}.gcal-calendar .fc-toolbar{display:grid;grid-template-columns:1fr;justify-items:center}.gcal-calendar .fc-toolbar-chunk{justify-content:center;flex-wrap:wrap}.gcal-calendar .fc-daygrid-day-frame{min-height:70px}}
@media(max-width:560px){.neo-cal-view>.view-title{margin-top:-6px!important}.gcal-brand small{white-space:normal}.gcal-presets{grid-template-columns:1fr}.gcal-top{display:block;padding:12px}.gcal-top-actions{justify-content:flex-start;margin-top:10px}.gcal-calendar{padding:8px 5px 14px}.gcal-calendar .fc-button{font-size:9px!important;padding:.4em .58em!important}.gcal-calendar .fc-col-header-cell-cushion{font-size:8px!important;padding:6px 1px!important}.gcal-calendar .fc-daygrid-day-frame{min-height:56px}.gcal-calendar .fc-event{height:5px!important;padding:0!important;border-radius:999px!important}.gcal-calendar .fc-event-main{font-size:0!important}.gcal-calendar .fc-event-title,.gcal-calendar .fc-event-time{display:none!important}.gcal-calendar .fc-daygrid-day-number{font-size:9px!important;padding:4px!important}.gcal-calendar .fc-toolbar-title{font-size:15px!important}.gcal-source-actions{grid-template-columns:1fr}.gcal-modal{padding:10px}.gcal-modal-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.gcal-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* V12 calendar display stability */
.neo-cal-view{min-width:0;overflow:visible}
.gcal-shell{scroll-margin-top:84px}
.gcal-main,.gcal-calendar,.gcal-calendar .fc,.gcal-calendar .fc-view-harness{min-width:0;max-width:100%}
.gcal-calendar .fc-view-harness-active{min-height:460px}
.gcal-calendar .fc-toolbar-title{overflow-wrap:anywhere;word-break:normal}
.gcal-calendar .fc-daygrid-event-harness,.gcal-calendar .fc-event{min-width:0;max-width:100%}
@media(max-width:560px){
  .gcal-calendar{padding:10px 8px 18px}
  .gcal-calendar .fc-toolbar{margin-bottom:8px!important}
  .gcal-calendar .fc-view-harness-active{min-height:420px}
}
