
/* NEO Calendar 2026 — Full Calendar Edition
   Visual direction adapted from the user-provided yassir-jeraidi/full-calendar project (MIT).
*/
:root{
  --fc-bg:#020712;--fc-panel:#050b16;--fc-panel-2:#0a111d;--fc-line:#202837;--fc-line-soft:#161e2b;
  --fc-text:#f8fafc;--fc-muted:#8b97aa;--fc-subtle:#566174;--fc-control:#0d1420;--fc-hover:#111a29;
  --fc-shadow:0 18px 55px rgba(0,0,0,.22);--fc-radius:16px;
  --cat-work:#ef4444;--cat-personal:#3b82f6;--cat-study:#a855f7;--cat-health:#22c55e;--cat-travel:#f97316;
}
body{background:var(--fc-bg)!important;color:var(--fc-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body.light-theme{--fc-bg:#f7f8fa;--fc-panel:#fff;--fc-panel-2:#f4f5f7;--fc-line:#dde2e8;--fc-line-soft:#e8ebef;--fc-text:#0f172a;--fc-muted:#657185;--fc-subtle:#98a1ae;--fc-control:#fff;--fc-hover:#f3f4f6;--bg:#f7f8fa;--bg2:#fff;--surface:#fff;--surface2:#f8fafc;--line:#e0e5eb;--line2:#ccd3dc;--text:#0f172a;--muted:#667085;--muted2:#98a2b3;color-scheme:light}
body.light-theme .bg-grid,body.light-theme .aurora,body.light-theme .noise{display:none}
.bg-grid,.aurora,.noise{opacity:.06!important}.aurora{display:none!important}
.app-shell{display:block!important;min-height:100vh;max-width:1700px;margin:0 auto;padding:18px 22px 40px!important}
.rail{position:sticky!important;top:12px!important;height:auto!important;width:100%!important;border:1px solid var(--fc-line)!important;border-radius:15px!important;padding:7px 8px!important;display:flex!important;flex-direction:row!important;align-items:center!important;background:color-mix(in srgb,var(--fc-panel) 94%,transparent)!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 38px rgba(0,0,0,.16)!important;z-index:70!important}
.brand{padding:4px 8px!important;gap:8px!important}.brand-mark{width:34px!important;height:34px!important;border-radius:9px!important;background:var(--fc-text)!important;color:var(--fc-bg)!important;box-shadow:none!important;font-size:14px!important}.brand-copy b{font-size:12px!important}.brand-copy small{display:none}.nav-list{margin:0 0 0 10px!important;display:flex!important;flex-direction:row!important;gap:2px!important;overflow:auto!important;scrollbar-width:none}.nav-item{padding:8px 10px!important;border-radius:9px!important;gap:7px!important;color:var(--fc-muted)!important;white-space:nowrap!important}.nav-item span{width:auto!important;font-size:12px!important}.nav-item em{font-size:11px!important}.nav-item.active{background:var(--fc-hover)!important;color:var(--fc-text)!important}.nav-item.active:before{display:none!important}.rail-bottom{margin:0 0 0 auto!important;display:flex!important;flex-direction:row!important;gap:3px!important;align-items:center!important}.system-pill{display:none!important}.main-stage{padding:12px 0 0!important}.topbar{display:none!important}.route{margin-top:0!important}.glass{background:var(--fc-panel)!important;border:1px solid var(--fc-line)!important;box-shadow:var(--fc-shadow)!important;backdrop-filter:none!important}
.primary,.chip,.ghost,.icon-btn,.file-chip,.segmented button{border-radius:9px!important;border-color:var(--fc-line)!important;box-shadow:none!important}.primary{background:var(--fc-text)!important;color:var(--fc-bg)!important}.primary:hover{filter:none!important;transform:none!important;background:color-mix(in srgb,var(--fc-text) 88%,var(--fc-muted))!important}.chip,.icon-btn,.ghost,.file-chip,.segmented button{background:var(--fc-control)!important;color:var(--fc-text)!important}.chip:hover,.icon-btn:hover,.ghost:hover,.file-chip:hover,.segmented button:hover{background:var(--fc-hover)!important}

/* Calendar shell */
.fullcal-shell{background:var(--fc-panel);border:1px solid var(--fc-line);border-radius:17px;overflow:hidden;box-shadow:var(--fc-shadow);min-height:calc(100vh - 105px)}
.fullcal-toolbar{min-height:92px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--fc-line);background:var(--fc-panel)}
.fullcal-identity{display:flex;align-items:center;gap:12px;min-width:280px}.date-tile{width:58px;height:68px;border:1px solid var(--fc-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--fc-panel-2);flex:none}.date-tile span{width:100%;text-align:center;background:var(--fc-text);color:var(--fc-bg);font-size:11px;font-weight:850;letter-spacing:.08em;padding:5px 4px}.date-tile b{font-size:21px;padding:5px 0 8px;font-variant-numeric:tabular-nums}.fullcal-heading{min-width:0}.fullcal-title-row{display:flex;align-items:center;gap:9px}.fullcal-title-row h2{font-size:17px;margin:0;font-weight:750;letter-spacing:-.025em;white-space:nowrap}.event-count{font-size:10px;background:var(--fc-panel-2);border:1px solid var(--fc-line-soft);border-radius:999px;padding:4px 8px;color:var(--fc-muted);white-space:nowrap}.fullcal-range-row{display:flex;align-items:center;gap:7px;margin-top:6px;color:var(--fc-muted);font-size:11px;white-space:nowrap}.tiny-nav{width:26px;height:26px;border:1px solid var(--fc-line);border-radius:8px;background:var(--fc-control);color:var(--fc-text);font-size:18px;line-height:1}.tiny-nav:hover{background:var(--fc-hover)}
.fullcal-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.toolbar-btn,.toolbar-weather,.add-event-btn,.view-switch button{height:38px;border:1px solid var(--fc-line);background:var(--fc-control);color:var(--fc-text);border-radius:9px;padding:0 11px;font-size:11px;font-weight:650;white-space:nowrap}.toolbar-btn:hover,.toolbar-weather:hover,.view-switch button:hover{background:var(--fc-hover)}.toolbar-btn.icon-only{width:38px;padding:0;display:grid;place-items:center}.view-switch{display:flex;border:1px solid var(--fc-line);border-radius:9px;overflow:hidden;background:var(--fc-control)}.view-switch button{border:0;border-right:1px solid var(--fc-line);border-radius:0;width:38px;padding:0;font-size:14px}.view-switch button:last-child{border-right:0}.view-switch button.active{background:var(--fc-text);color:var(--fc-bg)}.toolbar-weather{display:flex;align-items:center;gap:6px}.toolbar-weather b{font-size:11px}.avatar-stack{display:flex;align-items:center;padding-left:6px}.avatar-stack span{width:31px;height:31px;margin-left:-7px;border:1px solid var(--fc-line);border-radius:50%;display:grid;place-items:center;background:#152033;color:#dce6f7;font-size:9px;font-weight:800}.avatar-stack span:first-child{margin-left:0}.avatar-stack span:nth-child(2){background:#202c3e}.avatar-stack span:nth-child(3){background:#d6dce6;color:#172033}.add-event-btn{background:var(--fc-text);color:var(--fc-bg);border-color:var(--fc-text);font-weight:760;padding:0 15px}.calendar-more{position:relative}.calendar-more summary{list-style:none}.calendar-more summary::-webkit-details-marker{display:none}.calendar-more[open] .calendar-actions{display:flex}.calendar-actions{position:absolute!important;right:0!important;top:46px!important;z-index:40!important;min-width:210px!important;display:none!important;flex-direction:column!important;gap:6px!important;padding:9px!important;background:var(--fc-panel)!important;border:1px solid var(--fc-line)!important;border-radius:11px!important;box-shadow:0 16px 45px rgba(0,0,0,.32)!important;margin:0!important}.calendar-actions>*{width:100%;justify-content:center;text-align:center}
.calendar-filter-strip{display:flex;align-items:center;gap:7px;padding:9px 16px;border-bottom:1px solid var(--fc-line);background:var(--fc-panel-2);font-size:10px;color:var(--fc-muted)}.filter-pill{border:1px solid var(--fc-line);background:var(--fc-control);color:var(--fc-muted);border-radius:999px;padding:5px 9px}.filter-pill.active{background:var(--fc-text);color:var(--fc-bg)}
.fullcal-canvas{min-height:650px;background:var(--fc-panel)}

/* Month view — close to the attached reference */
.fullcal-canvas .month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin:0;border-bottom:1px solid var(--fc-line);background:var(--fc-panel)}.fullcal-canvas .month-head div{padding:9px 7px;text-align:center;font-size:10px;color:var(--fc-text);font-weight:650;border-right:1px solid transparent}.fullcal-canvas .month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.fullcal-canvas .day-cell{min-height:132px;border:0;border-right:1px solid var(--fc-line);border-bottom:1px solid var(--fc-line);border-radius:0;padding:7px 5px;background:var(--fc-panel);opacity:1;overflow:hidden}.fullcal-canvas .day-cell:nth-child(7n){border-right:0}.fullcal-canvas .day-cell:hover{background:var(--fc-panel-2)}.fullcal-canvas .day-cell.out{color:var(--fc-subtle);opacity:.62}.fullcal-canvas .day-cell.today{box-shadow:none;border-color:var(--fc-line)}.fullcal-canvas .day-num{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 2px;font-size:10px;color:var(--fc-text)}.fullcal-canvas .day-num>span:first-child{min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-weight:700}.fullcal-canvas .day-cell.today .day-num>span:first-child{background:var(--fc-text);color:var(--fc-bg)}.fullcal-canvas .day-num>span:last-child:not(:first-child){font-size:8px;color:var(--fc-subtle);background:var(--fc-panel-2);padding:2px 5px;border-radius:99px}
.fullcal-canvas .calendar-event{height:26px;margin:3px 0 0;padding:5px 8px;border-radius:7px;border:1px solid color-mix(in srgb,var(--event-color,var(--cat-personal)) 65%,transparent);border-left-width:1px;background:color-mix(in srgb,var(--event-color,var(--cat-personal)) 18%,transparent);color:color-mix(in srgb,var(--event-color,var(--cat-personal)) 72%,white 28%);font-size:10px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}.fullcal-canvas .calendar-event:active{cursor:grabbing}.fullcal-canvas .calendar-event .ev-title{overflow:hidden;text-overflow:ellipsis}.fullcal-canvas .calendar-event .ev-time{font-size:9px;font-weight:550;opacity:.9;flex:none}.event-work{--event-color:var(--cat-work)}.event-personal{--event-color:var(--cat-personal)}.event-study{--event-color:var(--cat-study)}.event-health{--event-color:var(--cat-health)}.event-travel{--event-color:var(--cat-travel)}.drag-over{background:color-mix(in srgb,var(--cat-personal) 10%,var(--fc-panel))!important;outline:1px dashed #4f7cff;outline-offset:-3px}

/* Week/day */
.fullcal-canvas .week-grid{display:grid;grid-template-columns:64px repeat(7,1fr);border:0;border-radius:0;overflow:auto;min-width:980px}.fullcal-canvas .week-grid>div{border-right:1px solid var(--fc-line);border-bottom:1px solid var(--fc-line);min-height:56px;background:var(--fc-panel)}.fullcal-canvas .week-grid>div:nth-child(8n){border-right:0}.fullcal-canvas .week-head-cell{padding:10px;text-align:center;color:var(--fc-muted);font-size:10px;position:sticky;top:0;background:var(--fc-panel);z-index:2}.fullcal-canvas .week-time{padding:8px 7px;color:var(--fc-subtle);font-size:9px}.fullcal-canvas .week-slot{padding:4px}.fullcal-canvas .week-event{padding:5px 7px;border-radius:6px;font-size:9px;border:1px solid color-mix(in srgb,var(--event-color,var(--cat-personal)) 65%,transparent);background:color-mix(in srgb,var(--event-color,var(--cat-personal)) 18%,transparent);color:color-mix(in srgb,var(--event-color,var(--cat-personal)) 72%,white 28%)}
.day-view-grid{display:grid;grid-template-columns:76px 1fr;min-height:720px}.day-view-grid>div{border-bottom:1px solid var(--fc-line)}.day-view-time{padding:12px 10px;color:var(--fc-subtle);font-size:10px;border-right:1px solid var(--fc-line)}.day-view-slot{padding:6px 9px;min-height:58px}.day-view-event{max-width:520px;padding:8px 10px;border-radius:7px;border:1px solid color-mix(in srgb,var(--event-color,var(--cat-personal)) 60%,transparent);background:color-mix(in srgb,var(--event-color,var(--cat-personal)) 17%,transparent);font-size:10px;display:flex;gap:9px;align-items:center}.day-view-event b{font-size:10px}

/* Year */
.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px;background:var(--fc-bg)}.year-month{border:1px solid var(--fc-line);border-radius:10px;background:var(--fc-panel);overflow:hidden}.year-month h3{margin:0;padding:10px;text-align:center;background:var(--fc-panel-2);font-size:13px}.year-weekdays,.year-days{display:grid;grid-template-columns:repeat(7,1fr)}.year-weekdays span{padding:7px 2px;text-align:center;font-size:8px;color:var(--fc-muted)}.year-day{min-height:32px;padding:3px;text-align:center;font-size:9px;color:var(--fc-text);position:relative}.year-day.out{color:var(--fc-subtle)}.year-day.today b{width:22px;height:22px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--fc-text);color:var(--fc-bg)}.year-dots{display:flex;justify-content:center;gap:2px;margin-top:2px}.year-dots i{width:4px;height:4px;border-radius:50%;background:var(--cat-personal)}.year-dots i:nth-child(2){background:var(--cat-work)}.year-dots i:nth-child(3){background:var(--cat-study)}

/* Agenda */
.fullcal-canvas .agenda-list{padding:14px;gap:7px}.fullcal-canvas .agenda-row{border:1px solid var(--fc-line);border-radius:9px;background:var(--fc-panel-2);padding:12px 14px}.fullcal-canvas .agenda-row time{color:var(--fc-muted)}

/* Rest of NEO gets the same restrained component system */
.hero-zone,.signal-grid,.split-layout,.assistant-grid,.focus-layout,.epaper-grid,.weather-page-grid{gap:12px!important}.hero,.weather-orb,.mini-card,.daystream,.future-console,.future-side,.chat-shell,.context-panel,.focus-main,.focus-history,.memory-shell,.epaper-studio,.epaper-settings,.weather-hero-panel,.weather-detail-card{border-radius:13px!important;box-shadow:none!important}.hero-glow,.hero-orbit{display:none!important}.hero-clock{font-weight:300!important}.eyebrow{color:var(--fc-muted)!important;letter-spacing:.16em!important}.weather-summary{background:var(--fc-panel)!important}.weather-sky-layer{opacity:.38!important}.card-label{color:var(--fc-muted)!important}.info-box{background:var(--fc-panel-2)!important;border-color:var(--fc-line)!important}
input,select,textarea{background:var(--fc-control)!important;border-color:var(--fc-line)!important;color:var(--fc-text)!important}.modal,.command-box{background:var(--fc-panel)!important;border-color:var(--fc-line)!important;color:var(--fc-text)!important}

@media(max-width:1220px){.fullcal-toolbar{align-items:flex-start;flex-direction:column}.fullcal-actions{width:100%;justify-content:flex-start;overflow:auto;padding-bottom:2px}.year-grid{grid-template-columns:repeat(3,1fr)}.rail{overflow:hidden}.brand-copy,.nav-item em{display:none!important}.nav-list{flex:1}.rail-bottom{flex:none}}
@media(max-width:760px){.app-shell{padding:8px 8px 82px!important}.rail{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;width:auto!important;height:58px!important;border-radius:14px!important;padding:5px!important}.brand,.rail-bottom{display:none!important}.nav-list{margin:0!important;display:grid!important;grid-template-columns:repeat(8,1fr)!important;width:100%!important}.nav-item{padding:7px!important;justify-content:center!important}.main-stage{padding:0!important}.fullcal-shell{min-height:calc(100vh - 90px);border-radius:12px}.fullcal-toolbar{padding:10px;gap:10px}.date-tile{width:48px;height:58px}.date-tile span{font-size:9px}.date-tile b{font-size:18px}.fullcal-title-row h2{font-size:15px}.fullcal-range-row{font-size:9px}.fullcal-actions{gap:5px}.toolbar-btn,.toolbar-weather,.add-event-btn,.view-switch button{height:34px}.avatar-stack,.toolbar-weather{display:none}.fullcal-canvas{overflow:auto}.fullcal-canvas .month-head,.fullcal-canvas .month-grid{min-width:760px}.fullcal-canvas .day-cell{min-height:112px}.year-grid{grid-template-columns:1fr;padding:10px}.calendar-more .calendar-actions{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:76px!important}}
