:root{--cal-bg:#07131f;--cal-panel:#0f2030;--cal-panel-2:#13283a;--cal-line:#294257;--cal-text:#f7fbff;--cal-muted:#91a8ba;--cal-blue:#47a7ff;--cal-gold:#ffc45e;--cal-mint:#52d3ad;--cal-pink:#ff81a8;--cal-violet:#a991ff}
#taskcus-calendar-root{position:fixed;inset:0 0 78px;z-index:890;overflow:auto;background:radial-gradient(circle at 5% 0%,rgba(71,167,255,.18),transparent 28%),radial-gradient(circle at 95% 25%,rgba(82,211,173,.11),transparent 24%),var(--cal-bg);color:var(--cal-text);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,sans-serif}
.calendar-workspace{width:min(1180px,100%);margin:auto;padding:30px 24px 60px;box-sizing:border-box}.calendar-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.calendar-header h1{font-size:34px;line-height:1;margin:5px 0 0;letter-spacing:-.045em}.calendar-eyebrow{margin:0;color:var(--cal-mint);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.calendar-today-button{border:1px solid var(--cal-line);background:rgba(19,40,58,.75);color:var(--cal-text);padding:10px 16px;border-radius:999px;font-weight:800;cursor:pointer}.calendar-today-button:hover{border-color:var(--cal-blue);transform:translateY(-1px)}
.birthday-alert{display:flex;gap:13px;align-items:center;background:linear-gradient(105deg,rgba(255,129,168,.19),rgba(255,196,94,.12));border:1px solid rgba(255,129,168,.45);padding:14px 17px;border-radius:17px;margin-bottom:16px;box-shadow:0 16px 40px rgba(0,0,0,.18)}.birthday-alert>span{font-size:30px}.birthday-alert strong,.birthday-alert small{display:block}.birthday-alert small{color:#d7bec8;margin-top:3px}
.calendar-panel,.calendar-card{background:linear-gradient(155deg,rgba(19,40,58,.97),rgba(12,29,44,.97));border:1px solid var(--cal-line);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.calendar-panel{padding:18px;touch-action:pan-y;overflow:hidden}.calendar-panel.slide-left{animation:calSlideLeft .28s ease both}.calendar-panel.slide-right{animation:calSlideRight .28s ease both}@keyframes calSlideLeft{from{opacity:.35;transform:translateX(22px)}to{opacity:1;transform:none}}@keyframes calSlideRight{from{opacity:.35;transform:translateX(-22px)}to{opacity:1;transform:none}}
.calendar-month-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px}.calendar-month-nav button{width:42px;height:42px;border-radius:14px;border:1px solid var(--cal-line);background:#0b1b2a;color:white;font-size:29px;line-height:1;cursor:pointer}.calendar-month-nav button:hover{border-color:var(--cal-blue);background:#112b40}.calendar-month-nav label{text-align:center;cursor:pointer;position:relative}.calendar-month-nav label span{font-size:22px;font-weight:850;letter-spacing:-.025em}.calendar-month-nav input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;color:var(--cal-muted);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:9px}.calendar-grid{border-top:1px solid var(--cal-line);border-left:1px solid var(--cal-line);transition:opacity .2s}.calendar-grid.is-loading{opacity:.55}.calendar-day{position:relative;min-height:82px;padding:8px;border:0;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);background:rgba(7,19,31,.28);color:var(--cal-text);cursor:pointer;text-align:left;transition:background .16s,box-shadow .16s}.calendar-day:hover{background:rgba(71,167,255,.09)}.calendar-day.is-outside{opacity:.22;cursor:default}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--cal-gold);z-index:1}.calendar-day.is-today .calendar-day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--cal-blue);color:#04111d;font-weight:900}.calendar-day-number{font-size:12px;font-weight:750}.calendar-day-icon{display:grid;place-items:center;height:30px;font-size:22px;margin-top:1px}.calendar-event-dots{display:flex;justify-content:center;gap:4px;height:7px}.calendar-event-dots i{display:block;width:6px;height:6px;border-radius:999px}.event-birthday{background-color:var(--cal-pink)}.event-personal{background-color:var(--cal-mint)}.event-connection{background-color:var(--cal-violet)}.event-celebration{background-color:var(--cal-gold)}.event-awareness{background-color:var(--cal-blue)}.calendar-day-icon.event-birthday,.calendar-day-icon.event-personal,.calendar-day-icon.event-connection,.calendar-day-icon.event-celebration,.calendar-day-icon.event-awareness{background:transparent}
.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:15px 4px 0;color:var(--cal-muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend b{font-size:15px}.calendar-error{margin-top:14px;padding:11px 13px;background:rgba(255,91,118,.12);border:1px solid rgba(255,91,118,.35);border-radius:12px;color:#ffc1cc}.calendar-error button{float:right;border:0;background:none;color:white;text-decoration:underline;cursor:pointer}
.calendar-lower-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:16px;margin-top:16px;align-items:start}.calendar-stack{display:grid;gap:16px}.calendar-card{padding:18px}.calendar-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.calendar-section-heading span{color:var(--cal-muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.calendar-section-heading>span:last-child{font-size:24px;letter-spacing:0}.calendar-section-heading h2{font-size:18px;margin:3px 0 0;letter-spacing:-.02em}.calendar-event-count{display:grid!important;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(71,167,255,.13);color:var(--cal-blue)!important;font-size:14px!important}.calendar-event-row,.calendar-list-row{display:flex;align-items:center;gap:12px;padding:12px 11px;border-radius:14px;background:rgba(7,19,31,.34);margin-top:8px}.calendar-event-row>span,.calendar-list-row>span{font-size:22px}.calendar-event-row div,.calendar-list-row div{min-width:0}.calendar-event-row strong,.calendar-event-row small,.calendar-list-row strong,.calendar-list-row small{display:block}.calendar-event-row strong,.calendar-list-row strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-row small,.calendar-list-row small{font-size:11px;color:var(--cal-muted);margin-top:3px;text-transform:capitalize}.event-border-birthday{border-left:3px solid var(--cal-pink)}.event-border-personal{border-left:3px solid var(--cal-mint)}.event-border-connection{border-left:3px solid var(--cal-violet)}.event-border-celebration{border-left:3px solid var(--cal-gold)}.event-border-awareness{border-left:3px solid var(--cal-blue)}.calendar-empty{padding:40px 12px;text-align:center;color:var(--cal-muted);border:1px dashed var(--cal-line);border-radius:14px}.calendar-empty.compact{padding:22px 12px}.calendar-loading-shell{height:100%;display:grid;place-items:center;color:var(--cal-muted);font-weight:700}
@media(max-width:760px){#taskcus-calendar-root{bottom:78px}.calendar-workspace{padding:20px 12px 38px}.calendar-header h1{font-size:28px}.calendar-panel{padding:10px;border-radius:20px}.calendar-day{min-height:65px;padding:5px}.calendar-day-icon{height:25px;font-size:18px}.calendar-weekdays span{font-size:9px;padding:8px 2px}.calendar-month-nav label span{font-size:18px}.calendar-legend{justify-content:flex-start;padding-left:5px}.calendar-lower-grid{grid-template-columns:1fr}.calendar-card{padding:15px}.birthday-alert{align-items:flex-start}}
@media(max-width:410px){.calendar-day{min-height:58px}.calendar-day-icon{font-size:16px;height:21px}.calendar-event-dots{gap:2px}.calendar-event-dots i{width:4px;height:4px}.calendar-legend{gap:6px 11px}.calendar-header{align-items:center}}
@media(prefers-reduced-motion:reduce){.calendar-panel.slide-left,.calendar-panel.slide-right{animation:none}.calendar-today-button,.calendar-day{transition:none}}

.calendar-day-icons{display:flex;align-items:center;justify-content:center;gap:3px;height:30px;margin-top:1px}.calendar-day-icons>i{font-style:normal;font-size:17px}.calendar-day-icons .birthday-count{font-size:13px;font-weight:900;padding:4px 7px;border-radius:999px;background:rgba(255,129,168,.14);color:#ffd7e4}.calendar-event-dots{height:8px}.event-reminder{background-color:#f08fb9}.calendar-day-icons .event-birthday,.calendar-day-icons .event-personal,.calendar-day-icons .event-connection,.calendar-day-icons .event-celebration,.calendar-day-icons .event-awareness,.calendar-day-icons .event-reminder{background:transparent}.event-border-reminder{border-left:3px solid #f08fb9}.calendar-list-row.is-button{width:100%;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:transform .16s,background .16s}.calendar-list-row.is-button:hover{transform:translateX(3px);background:rgba(71,167,255,.09)}.section-add{display:grid!important;place-items:center;width:32px;height:32px;border:1px solid rgba(255,129,168,.35);border-radius:50%;background:rgba(255,129,168,.1);color:#ffd7e4!important;font-size:20px!important;cursor:pointer}.calendar-event-copy{flex:1}.calendar-event-copy p{margin:6px 0 0;color:#b8cad8;font-size:12px;line-height:1.45}.calendar-row-actions{display:flex!important;gap:5px;margin-left:auto}.calendar-row-actions button{width:29px;height:29px;border:1px solid var(--cal-line);border-radius:9px;background:rgba(15,32,48,.9);color:var(--cal-text);cursor:pointer;font-size:16px}.calendar-row-actions button:hover{border-color:var(--cal-blue)}
.calendar-quick-add{position:fixed;right:28px;bottom:104px;z-index:906;display:grid;justify-items:end;gap:10px}.quick-add-trigger{width:58px;height:58px;border:0;border-radius:21px;background:var(--cal-gold);color:#18202a;font-size:31px;line-height:1;box-shadow:0 18px 42px rgba(0,0,0,.38);cursor:pointer;transition:transform .18s}.quick-add-trigger:hover{transform:translateY(-3px) rotate(3deg)}.quick-add-menu{display:grid;gap:7px;padding:9px;border:1px solid var(--cal-line);border-radius:18px;background:rgba(11,27,41,.97);box-shadow:0 22px 60px rgba(0,0,0,.42);animation:quick-add-in .18s ease-out}.quick-add-menu button{display:flex;align-items:center;gap:9px;min-width:205px;padding:10px 13px;border:0;border-radius:11px;background:transparent;color:var(--cal-text);font-weight:750;text-align:left;cursor:pointer}.quick-add-menu button:hover{background:rgba(71,167,255,.1)}.quick-add-menu span{font-size:19px}@keyframes quick-add-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.calendar-modal-backdrop{position:fixed;inset:0;z-index:920;display:grid;place-items:center;padding:18px;background:rgba(2,9,15,.76);backdrop-filter:blur(8px)}.calendar-modal{width:min(580px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:23px;border:1px solid #35526a;border-radius:25px;background:linear-gradient(145deg,#13283a,#0c1c2b);box-shadow:0 35px 100px rgba(0,0,0,.55)}.calendar-modal form{display:grid;gap:14px}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3px}.modal-heading span{color:var(--cal-mint);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.modal-heading h2{margin:4px 0 0;font-size:25px;letter-spacing:-.035em}.modal-heading>button{width:34px;height:34px;border:1px solid var(--cal-line);border-radius:50%;background:transparent;color:var(--cal-text);font-size:20px;cursor:pointer}.calendar-modal label,.calendar-modal legend{font-size:11px;font-weight:800;letter-spacing:.035em;color:#bed0dd}.calendar-modal label small{color:var(--cal-muted);font-weight:500}.calendar-modal input,.calendar-modal select,.calendar-modal textarea{width:100%;box-sizing:border-box;margin-top:7px;padding:11px 12px;border:1px solid #345067;border-radius:11px;outline:0;background:#091927;color:var(--cal-text);font:inherit;color-scheme:dark}.calendar-modal input:focus,.calendar-modal select:focus,.calendar-modal textarea:focus{border-color:var(--cal-blue);box-shadow:0 0 0 3px rgba(71,167,255,.11)}.calendar-modal textarea{min-height:78px;resize:vertical}.calendar-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.repeat-lock{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(82,211,173,.26);border-radius:13px;background:rgba(82,211,173,.07)}.repeat-lock>span{font-size:22px;color:var(--cal-mint)}.repeat-lock strong,.repeat-lock small{display:block}.repeat-lock small{margin-top:2px;color:var(--cal-muted)}.custom-relationship-field,.custom-repeat{display:none}.show-custom-relationship .custom-relationship-field{display:block}.show-custom-repeat .custom-repeat{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:1/-1}.calendar-modal fieldset{margin:0;padding:0;border:0}.notification-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.notification-options label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--cal-line);border-radius:11px;background:rgba(7,19,31,.5);cursor:pointer}.notification-options input{width:auto;margin:0;accent-color:var(--cal-gold)}.calendar-form-error{min-height:16px;margin:0;color:#ff9bae;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.modal-actions button{padding:11px 17px;border-radius:11px;font-weight:850;cursor:pointer}.modal-actions .secondary{border:1px solid var(--cal-line);background:transparent;color:var(--cal-text)}.modal-actions .primary{border:0;background:var(--cal-gold);color:#18202a}.calendar-event-row.is-complete{opacity:.55}.calendar-event-row.is-complete strong{text-decoration:line-through}
@media(max-width:760px){.calendar-quick-add{right:16px;bottom:94px}.quick-add-trigger{width:54px;height:54px;border-radius:18px}.calendar-modal{padding:18px;border-radius:21px}.calendar-form-grid,.notification-options{grid-template-columns:1fr}.calendar-day-icons{height:25px}.calendar-day-icons>i{font-size:14px}.calendar-day-icons .birthday-count{font-size:11px;padding:3px 4px}.calendar-row-actions{flex-direction:column}.calendar-event-row{align-items:flex-start}}
