/* NEO 101 Calendar V9 — Google online-first + FullCalendar UI */
.neo-cal-view{padding-top:clamp(4px,1vh,12px)!important;min-width:0}.neo-cal-view>.view-title{margin-top:-6px!important;margin-bottom:14px!important}.neo-cal-view>.view-title h1{line-height:1.08!important;margin:0 0 5px!important}.neo-cal-view>.view-title p{margin:0!important;max-width:72ch}
#gcalToast.gcal-toast{position:fixed;right:18px;bottom:18px;z-index:99999;max-width:min(420px,calc(100vw - 36px));padding:12px 15px;border-radius:14px;background:#111827;color:#fff;box-shadow:0 20px 50px #0005;transform:translateY(20px);opacity:0;pointer-events:none;transition:.24s ease}.gcal-toast.show{transform:none;opacity:1}
.gcal-shell{--gc-accent:#6d5dfc;--gc-line:color-mix(in srgb,var(--text,#111827) 12%,transparent);--gc-soft:color-mix(in srgb,var(--card,#fff) 88%,var(--gc-accent) 12%);display:grid;grid-template-columns:minmax(205px,252px) minmax(0,1fr);min-height:clamp(620px,72vh,880px);max-width:100%;overflow:hidden;border:1px solid var(--gc-line);border-radius:24px;background:color-mix(in srgb,var(--card,#fff) 96%,transparent);box-shadow:0 22px 70px #00000014;backdrop-filter:blur(20px)}
.gcal-sidebar{min-width:0;padding:17px 14px;border-right:1px solid var(--gc-line);background:linear-gradient(180deg,color-mix(in srgb,var(--card,#fff) 96%,var(--gc-accent) 4%),color-mix(in srgb,var(--card,#fff) 99%,transparent));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gc-accent) 55%,transparent) transparent}.gcal-sidebar::-webkit-scrollbar,.gcal-main::-webkit-scrollbar,.gcal-calendar-list::-webkit-scrollbar{width:8px}.gcal-sidebar::-webkit-scrollbar-thumb,.gcal-main::-webkit-scrollbar-thumb,.gcal-calendar-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7c3aed,#06b6d4);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.gcal-brand{display:flex;gap:11px;align-items:center;margin-bottom:15px;min-width:0}.gcal-brand-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#4285f4 0 45%,#34a853 45% 62%,#fbbc04 62% 79%,#ea4335 79%);color:#fff;font-weight:900;box-shadow:0 7px 18px #4285f43a}.gcal-brand div{min-width:0}.gcal-brand b,.gcal-brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-brand b{font-size:14px}.gcal-brand small{font-size:11px;opacity:.68;margin-top:2px}
.gcal-connect-card{padding:12px;border:1px solid var(--gc-line);border-radius:16px;background:color-mix(in srgb,var(--card,#fff) 92%,var(--gc-accent) 8%);margin-bottom:15px}.gcal-input{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--gc-line);border-radius:11px;background:var(--input,var(--card,#fff));color:var(--text,#111827);outline:none;font:inherit;font-size:12px}.gcal-input:focus{border-color:color-mix(in srgb,var(--gc-accent) 70%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc-accent) 16%,transparent)}.gcal-connect-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}.gcal-btn,.gcal-icon-btn{border:1px solid var(--gc-line);background:color-mix(in srgb,var(--card,#fff) 94%,transparent);color:var(--text,#111827);border-radius:11px;padding:9px 12px;font:inherit;font-weight:750;cursor:pointer;transition:.18s ease;white-space:nowrap}.gcal-btn:hover,.gcal-icon-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gc-accent) 40%,var(--gc-line));box-shadow:0 8px 20px #00000012}.gcal-btn.primary{background:linear-gradient(135deg,#6757ee,#7c3aed);color:#fff;border-color:transparent}.gcal-btn.danger{background:#ef444414;color:#dc2626;border-color:#ef444436}.gcal-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.gcal-status{display:flex;gap:7px;align-items:center;margin-top:9px;font-size:11px;line-height:1.3;opacity:.78;min-width:0}.gcal-status span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-dot{width:7px;height:7px;border-radius:99px;background:#94a3b8;box-shadow:0 0 0 3px #94a3b822;flex:none}.gcal-status.live .gcal-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e22}.gcal-status.error .gcal-dot{background:#ef4444;box-shadow:0 0 0 3px #ef444422}
.gcal-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin:14px 5px 8px}.gcal-icon-btn{padding:5px 8px;border-radius:9px}.gcal-calendar-list{display:flex;flex-direction:column;gap:4px;max-height:370px;overflow-y:auto}.gcal-cal-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 7px;border-radius:10px;cursor:pointer}.gcal-cal-row:hover{background:color-mix(in srgb,var(--gc-accent) 7%,transparent)}.gcal-cal-row input{accent-color:var(--gc-accent)}.gcal-cal-color{width:10px;height:10px;border-radius:99px;box-shadow:0 0 0 2px #fff4}.gcal-cal-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-pill{font-size:9px;padding:3px 6px;border-radius:99px;background:color-mix(in srgb,var(--gc-accent) 12%,transparent);color:color-mix(in srgb,var(--gc-accent) 78%,var(--text,#111827));font-weight:800}.gcal-empty-small{font-size:12px;line-height:1.5;opacity:.6;padding:8px}
.gcal-main{min-width:0;overflow-y:auto;overflow-x:hidden;padding:15px 16px 20px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gc-accent) 50%,transparent) transparent}.gcal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 1px 13px;min-width:0}.gcal-top>div:first-child{min-width:0}.gcal-top h2{font-size:clamp(18px,2vw,24px);line-height:1.05;margin:0}.gcal-top p{margin:4px 0 0;font-size:12px;opacity:.64;white-space:normal}.gcal-top-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.gcal-calendar{min-width:0;max-width:100%;border-radius:18px;overflow:hidden;border:1px solid var(--gc-line);background:var(--card,#fff)}
.gcal-calendar .fc{--fc-border-color:var(--gc-line);--fc-page-bg-color:transparent;--fc-neutral-bg-color:color-mix(in srgb,var(--card,#fff) 94%,#64748b 6%);--fc-today-bg-color:color-mix(in srgb,var(--gc-accent) 10%,transparent);--fc-button-bg-color:transparent;--fc-button-border-color:var(--gc-line);--fc-button-text-color:var(--text,#111827);--fc-button-hover-bg-color:color-mix(in srgb,var(--gc-accent) 8%,transparent);--fc-button-hover-border-color:color-mix(in srgb,var(--gc-accent) 35%,var(--gc-line));--fc-button-active-bg-color:color-mix(in srgb,var(--gc-accent) 14%,transparent);--fc-button-active-border-color:color-mix(in srgb,var(--gc-accent) 50%,var(--gc-line));font-family:inherit;color:var(--text,#111827);max-width:100%}.gcal-calendar .fc .fc-toolbar{padding:11px 12px 8px;gap:8px;flex-wrap:wrap}.gcal-calendar .fc .fc-toolbar-title{font-size:clamp(16px,2vw,21px);font-weight:850;line-height:1.1;white-space:normal}.gcal-calendar .fc .fc-button{border-radius:10px!important;box-shadow:none!important;font-size:11px!important;font-weight:800!important;padding:.48em .72em!important;text-transform:none!important}.gcal-calendar .fc .fc-col-header-cell-cushion{padding:8px 4px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb,var(--text,#111827) 65%,transparent)}.gcal-calendar .fc .fc-daygrid-day-number{font-size:11px;font-weight:800;padding:6px 7px;color:var(--text,#111827)}.gcal-calendar .fc .fc-day-today .fc-daygrid-day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:99px;background:#5b5df5;color:#fff;padding:0;margin:3px}.gcal-calendar .fc .fc-daygrid-day-frame{min-height:93px}.gcal-calendar .fc .fc-daygrid-event{border-radius:7px!important;margin:1px 3px!important;padding:1px 5px!important;font-size:10px!important;line-height:1.35!important;overflow:hidden}.gcal-calendar .fc .fc-event-main{min-width:0}.gcal-calendar .fc .fc-event-title,.gcal-calendar .fc .fc-event-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gcal-calendar .fc .fc-more-link{font-size:10px;font-weight:800;margin-left:4px}.gcal-calendar .fc .fc-timegrid-slot{height:2.8em}.gcal-calendar .fc .fc-timegrid-axis-cushion,.gcal-calendar .fc .fc-timegrid-slot-label-cushion{font-size:10px;opacity:.67}.gcal-calendar .fc .fc-list{border:0}.gcal-calendar .fc .fc-list-event-title a{font-weight:750}.gcal-calendar .fc .fc-scrollgrid{border-left:0;border-right:0;border-bottom:0}.gcal-calendar .fc-theme-standard td,.gcal-calendar .fc-theme-standard th{border-color:var(--gc-line)}
.gcal-modal{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#09090b80;backdrop-filter:blur(10px);z-index:100000;opacity:0;visibility:hidden;transition:.2s ease}.gcal-modal.open{opacity:1;visibility:visible}.gcal-modal-card{position:relative;width:min(590px,100%);max-height:min(780px,calc(100vh - 36px));overflow-y:auto;padding:22px;border-radius:22px;background:var(--card,#fff);color:var(--text,#111827);border:1px solid var(--gc-line);box-shadow:0 30px 90px #0006}.gcal-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:inherit;font-size:25px;cursor:pointer}.gcal-modal-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900;color:#6d5dfc;margin-bottom:7px}.gcal-modal-card h3{font-size:23px;line-height:1.15;margin:0 34px 15px 0;overflow-wrap:anywhere}.gcal-form{display:flex;flex-direction:column;gap:12px}.gcal-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800}.gcal-form input,.gcal-form select,.gcal-form textarea{width:100%;min-width:0;border:1px solid var(--gc-line);background:var(--input,var(--card,#fff));color:var(--text,#111827);border-radius:11px;padding:10px 11px;font:inherit;resize:vertical}.gcal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gcal-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}.gcal-event-detail{display:grid;gap:11px}.gcal-event-detail>div{padding:11px 12px;border:1px solid var(--gc-line);border-radius:12px;min-width:0}.gcal-event-detail span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:3px}.gcal-event-detail b,.gcal-event-detail p{font-size:13px;line-height:1.45;overflow-wrap:anywhere;margin:0}
@media(max-width:1100px){.gcal-shell{grid-template-columns:210px minmax(0,1fr)}.gcal-calendar .fc .fc-button{padding:.44em .58em!important}.gcal-calendar .fc .fc-daygrid-day-frame{min-height:82px}}
@media(max-width:820px){.neo-cal-view>.view-title{margin-top:-10px!important}.gcal-shell{display:block;min-height:0;overflow:visible;border-radius:20px}.gcal-sidebar{border-right:0;border-bottom:1px solid var(--gc-line);padding:12px;max-height:none;overflow:visible}.gcal-brand{margin-bottom:10px}.gcal-connect-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.gcal-connect-card .gcal-status{grid-column:1/-1;margin-top:0}.gcal-connect-actions{margin-top:0}.gcal-calendar-list{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:none;padding-bottom:3px}.gcal-cal-row{flex:0 0 auto;grid-template-columns:auto auto minmax(80px,160px);border:1px solid var(--gc-line)}.gcal-cal-row .gcal-pill{display:none}.gcal-main{overflow:visible;padding:11px 9px 16px}.gcal-top{padding:0 3px}.gcal-calendar .fc .fc-toolbar{align-items:stretch}.gcal-calendar .fc .fc-toolbar-chunk{display:flex;gap:3px;flex-wrap:wrap}.gcal-calendar .fc .fc-daygrid-day-frame{min-height:68px}.gcal-calendar .fc .fc-daygrid-event{font-size:0!important;width:7px;height:7px;border-radius:99px!important;padding:0!important;margin:2px 2px!important;display:inline-block!important}.gcal-calendar .fc .fc-daygrid-event .fc-event-main{display:none}.gcal-calendar .fc .fc-daygrid-event-harness{display:inline-block;margin-right:1px}.gcal-calendar .fc .fc-daygrid-day-events{margin:0 3px}.gcal-calendar .fc .fc-daygrid-day-number{font-size:10px;padding:5px}.gcal-calendar .fc .fc-col-header-cell-cushion{font-size:9px;padding:7px 2px}.gcal-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.gcal-connect-card{grid-template-columns:1fr}.gcal-connect-actions{grid-template-columns:1fr 1fr}.gcal-top{display:block}.gcal-top-actions{justify-content:flex-start;margin-top:8px}.gcal-calendar{border-radius:14px}.gcal-calendar .fc .fc-toolbar{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center}.gcal-calendar .fc .fc-toolbar-chunk{justify-content:center}.gcal-calendar .fc .fc-toolbar-title{font-size:16px}.gcal-calendar .fc .fc-button{font-size:10px!important;padding:.42em .54em!important}.gcal-calendar .fc .fc-daygrid-day-frame{min-height:56px}.gcal-calendar .fc .fc-daygrid-day-number{font-size:9px}.gcal-modal-card{padding:18px 15px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.gcal-btn,.gcal-toast,.gcal-modal{transition:none!important;scroll-behavior:auto!important}}
