@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_fca8ee{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_fca8ee{--font-sans:"Montserrat","Montserrat Fallback"}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/fe4c52824bfaed3e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e8ab5100a4aa694-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b78b37b810acce9f-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/027647acf05c7ff8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Merriweather;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1f3fe8c6df3d47c1-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/fe4c52824bfaed3e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e8ab5100a4aa694-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b78b37b810acce9f-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/027647acf05c7ff8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Merriweather;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1f3fe8c6df3d47c1-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Merriweather Fallback;src:local("Times New Roman");ascent-override:80.59%;descent-override:22.36%;line-gap-override:0.00%;size-adjust:122.09%}.__className_9dd3c0{font-family:Merriweather,Merriweather Fallback;font-style:normal}.__variable_9dd3c0{--font-serif:"Merriweather","Merriweather Fallback"}:root{--bg:#f3fff8;--bg-2:#e8f0ff;--ink:#0b1320;--ink-soft:#40506a;--card:#ffffff;--edge:#1f7ae0;--accent:#ff3d6e;--accent-2:#00c389;--danger:#c81d25}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:linear-gradient(145deg,var(--bg),var(--bg-2));background-repeat:no-repeat;background-size:cover;font-family:var(--font-sans),sans-serif}h1,h2,h3{font-family:var(--font-serif),serif;font-weight:400}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:100%;margin:0;padding:clamp(.75rem,1.2vw,1.4rem) clamp(.75rem,2vw,2rem) 1.5rem;display:grid;gap:1rem}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;border:1px solid var(--edge);border-radius:20px;padding:1rem;background:color-mix(in srgb,var(--card) 88%,white);box-shadow:0 18px 40px rgba(15,45,93,.14)}.topbar h1{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.calendar-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:end;column-gap:1rem;row-gap:.75rem}.calendar-title-block{display:grid;gap:.45rem}.calendar-date-nav{width:fit-content}.calendar-range-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:end;gap:.45rem .5rem;justify-self:center;padding:.45rem .55rem;border:1px solid color-mix(in srgb,var(--edge) 55%,white);border-radius:14px;background:color-mix(in srgb,var(--card) 86%,white);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.calendar-range-controls .select-label{min-width:0;gap:.16rem;font-size:.64rem;letter-spacing:.06em}.calendar-range-controls .compact-control input[type=number],.calendar-range-controls .compact-control select{min-height:2.2rem;border-radius:12px;padding:.42rem .6rem}.calendar-range-controls .control-view select{min-width:7rem}.calendar-range-controls .control-month select{min-width:6.1rem}.calendar-range-controls .control-year input[type=number]{min-width:7rem}.calendar-range-controls .control-project select,.calendar-range-controls .control-type select{min-width:6.6rem}.calendar-checkbox-label{display:inline-flex;align-items:center;gap:.4rem;min-width:unset}.calendar-checkbox-label input[type=checkbox]{width:1rem;height:1rem;padding:0}.calendar-actions{align-items:end}.settings-modal-card{width:min(460px,100%);gap:.9rem}.settings-modal-card h2{font-size:1.1rem}.settings-modal-grid{display:grid;gap:.75rem}.settings-field{border:1px solid color-mix(in srgb,var(--edge) 50%,white);border-radius:12px;padding:.65rem;background:color-mix(in srgb,var(--card) 82%,white)}.settings-field select{min-height:2.3rem}.settings-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border:1px solid color-mix(in srgb,var(--edge) 50%,white);border-radius:12px;padding:.65rem .75rem;background:color-mix(in srgb,var(--card) 82%,white)}.settings-toggle-copy{display:grid;gap:.12rem}.settings-toggle-title{font-size:.84rem;font-weight:600;color:var(--ink)}.settings-toggle-help{font-size:.74rem;line-height:1.25;color:var(--ink-soft);text-transform:none;letter-spacing:0}.settings-toggle-card input[type=checkbox]{width:1.15rem;height:1.15rem;padding:0;flex:0 0 auto}.settings-modal-footer{display:flex;justify-content:flex-end}.kicker{margin:0;font-size:.74rem;text-transform:uppercase;color:var(--ink-soft)}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}button,input,select,textarea{border:1px solid var(--edge);border-radius:10px;padding:.48rem .68rem;background:var(--card)}button{background:linear-gradient(180deg,#ffffff,#e9f0ff);transition:transform .12s ease,box-shadow .12s ease}.link-button:hover,button:hover{box-shadow:0 6px 14px rgba(15,45,93,.18)}button:disabled{opacity:.55;cursor:not-allowed}.link-button{border:1px solid var(--edge);border-radius:10px;padding:.48rem .68rem;background:linear-gradient(180deg,#ffffff,#e9f0ff);color:var(--ink);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.icon-button,.link-button{display:inline-flex;align-items:center;justify-content:center}.icon-button{width:2.6rem;min-width:2.6rem;height:2.35rem;padding:0;gap:0}.icon-button i{font-size:.95rem;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button-group{display:flex;gap:.4rem}.select-label{display:grid;gap:.22rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.status-strip{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border:1px solid var(--edge);border-radius:14px;padding:.65rem .9rem;background:rgba(246,250,255,.86)}.project-manager,.type-manager{gap:.65rem}.project-manager,.type-manager,.user-manager{border:1px solid var(--edge);border-radius:14px;padding:.85rem;background:color-mix(in srgb,var(--card) 88%,white);display:grid}.user-manager{gap:.75rem}.project-manager h2,.project-manager p,.type-manager h2,.type-manager p,.user-manager h2,.user-manager p{margin:0}.project-manager>header,.type-manager>header,.user-manager>header{display:grid;gap:.45rem}.type-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.type-list,.user-list{display:grid;gap:.5rem}.project-list,.user-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.project-list{display:grid;gap:.5rem}.type-pill{border:1px solid;border-radius:12px;padding:.52rem;display:flex;align-items:center;gap:.5rem}.user-pill{border:1px solid color-mix(in srgb,var(--edge) 62%,white);border-radius:12px;padding:.52rem .6rem;display:flex;align-items:flex-start;gap:.55rem;background:color-mix(in srgb,var(--accent-2) 4%,white)}.user-pill-main{min-width:0;display:grid;gap:.12rem}.user-pill-main small,.user-pill-main strong{overflow-wrap:anywhere}.user-pill-actions{margin-left:auto;display:flex;gap:.35rem;flex-wrap:wrap}.project-pill{border:1px solid color-mix(in srgb,var(--edge) 62%,white);border-radius:12px;padding:.52rem .6rem;display:flex;align-items:center;gap:.45rem;background:color-mix(in srgb,var(--accent-2) 4%,white)}.project-pill .swatch{flex:0 0 auto}.project-pill div{margin-left:auto;display:flex;gap:.35rem}.user-role{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.field-hint,.user-pill small,.user-role{color:var(--ink-soft)}.field-hint{font-size:.72rem;font-weight:400}.event-meta-project{display:inline-flex;align-items:center;gap:.35rem}.event-meta-project .swatch{width:12px;height:12px}.type-pill div{margin-left:auto;display:flex;gap:.35rem}.swatch{width:14px;height:14px;border-radius:999px;display:inline-block}.type-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.user-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem;align-items:end}.project-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.project-form label,.type-form label,.user-form label{display:grid;gap:.35rem}.manager-modal-card{width:min(560px,100%)}.manager-modal-form{display:grid;gap:.75rem}.manager-modal-form-grid{display:grid;gap:.65rem}.manager-modal-form-grid--user{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-modal-form-grid--project{grid-template-columns:1fr}.manager-modal-form-grid--type{grid-template-columns:minmax(0,1fr) auto;align-items:end}.manager-modal-form-grid label{display:grid;gap:.35rem}.manager-modal-footer{display:flex;justify-content:flex-end;gap:.45rem}.type-legend{border:1px solid var(--edge);border-radius:14px;padding:.48rem .62rem;background:color-mix(in srgb,var(--card) 90%,white)}.type-legend-list{display:flex;flex-wrap:wrap;gap:.3rem}.type-legend-item{border:1px solid color-mix(in srgb,var(--edge) 76%,white);border-radius:999px;padding:.18rem .44rem;display:inline-flex;align-items:center;gap:.28rem;background:color-mix(in srgb,var(--accent-2) 6%,white);font-size:.76rem}.type-legend-item .swatch{width:10px;height:10px}.legend-week-layout{--week-panel-collapsed-height:88px;display:flex;align-items:start;gap:.9rem;position:relative;min-height:var(--week-panel-collapsed-height);padding-right:calc(340px + .9rem)}.legend-week-layout .type-legend{flex:1 1 auto;min-width:0;align-items:center}.legend-week-layout .week-panel{margin-left:0;position:absolute;top:0;right:0}.calendar-body-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.9rem}.calendar-main-pane{min-width:0}.zoom-context-scroll{margin-top:.9rem;max-height:min(76vh,1280px);overflow-y:auto;padding-right:.35rem;display:flex;flex-direction:column;align-items:stretch;gap:.85rem;scroll-snap-type:y mandatory;scroll-padding-top:.25rem;scrollbar-width:thin}.zoom-context-months{height:min(82vh,calc(var(--month-cell-height, 134px) * 6 + 8.5rem))}.zoom-context-weeks{height:min(76vh,1280px)}.zoom-context-item{display:flex;flex-direction:column;gap:.45rem;min-height:0;flex:0 0 auto;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.zoom-context-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.15rem .15rem 0}.zoom-context-item-header h3{margin:0;font-size:1rem;color:var(--ink)}.zoom-context-scroll .month-view,.zoom-context-scroll .week-view{min-width:0;box-shadow:0 10px 18px rgba(51,74,82,.1)}.zoom-context-weeks .week-day-cell{min-height:var(--week-cell-height,240px)}.zoom-context-weeks .zoom-context-item{min-height:calc(100% - .1rem);flex-grow:0;flex-shrink:0;flex-basis:calc(100% - 0.1rem)}.zoom-context-weeks .week-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.zoom-context-weeks .week-view-grid{height:100%;grid-auto-rows:1fr}.zoom-context-weeks .week-day-cell{min-height:0;height:100%}.zoom-context-year{margin-top:.9rem;max-height:min(72vh,1180px);overflow-y:auto;padding-right:.3rem;scrollbar-width:thin}.zoom-context-year .year-grid{grid-template-columns:minmax(280px,420px);justify-content:center;gap:.7rem}.zoom-context-year .mini-month{padding:.65rem;gap:.34rem}.zoom-context-year .mini-month-header h3{font-size:.92rem}.zoom-context-year .mini-weekdays{font-size:.58rem}.zoom-context-year .mini-days{gap:.14rem}.zoom-context-year .mini-day{min-height:min(94px,calc(var(--mini-cell-height, 132px) * .68));padding:.16rem;gap:.12rem}.zoom-context-year .mini-day time{font-size:.6rem}.zoom-context-year .mini-add-button{width:1rem;height:1rem;min-width:1rem;font-size:.72rem}.zoom-context-year .mini-day-events{gap:.12rem}.zoom-context-year .mini-event-chip{min-height:.95rem;font-size:.56rem;padding:.07rem .18rem}.zoom-context-year .mini-event-title{line-height:1.05}.week-panel{width:min(340px,100%);min-width:280px;max-width:340px;min-height:var(--week-panel-collapsed-height);border:1px solid var(--edge);padding:.7rem;background:color-mix(in srgb,var(--card) 90%,white);box-shadow:0 12px 22px rgba(51,74,82,.14);display:grid;gap:.55rem;position:absolute;top:0;right:0;z-index:24;max-height:var(--week-panel-collapsed-height);transition:max-height .22s ease,box-shadow .18s ease}.week-panel-header{display:grid;gap:.15rem;justify-items:start;text-align:left}.week-panel-header-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.week-panel-header h2,.week-panel-header p{margin:0}.week-panel-header h2{font-size:1.02rem;letter-spacing:normal;text-transform:none;line-height:1.15}.week-panel-header p{font-size:.82rem;color:var(--ink-soft)}.week-panel-count{min-width:1.5rem;height:1.5rem;padding:0 .42rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--edge) 72%,white);background:color-mix(in srgb,var(--accent-2) 12%,white);color:var(--ink);font-size:.74rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center}.week-panel-list{margin:0;list-style:none;display:grid;gap:.38rem;padding:0 .12rem 0 0}.week-panel-list,.week-panel-loading-list{max-height:0;overflow-y:auto;scrollbar-width:thin;opacity:0;pointer-events:none;transition:max-height .22s ease,opacity .16s ease}.week-panel-loading-list{padding-right:.12rem}.week-panel-list::-webkit-scrollbar,.week-panel-loading-list::-webkit-scrollbar{width:6px}.week-panel-list::-webkit-scrollbar-thumb,.week-panel-loading-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--edge) 55%,white);border-radius:999px}.week-panel-loading-list{margin:0}.week-panel-empty{opacity:0;max-height:0;overflow:hidden;pointer-events:none;transition:max-height .22s ease,opacity .16s ease}.week-panel:focus-within,.week-panel:hover{max-height:min(68vh,560px);box-shadow:0 18px 28px rgba(51,74,82,.2)}.week-panel:focus-within .week-panel-list,.week-panel:focus-within .week-panel-loading-list,.week-panel:hover .week-panel-list,.week-panel:hover .week-panel-loading-list{max-height:min(52vh,420px);pointer-events:auto}.week-panel:focus-within .week-panel-empty,.week-panel:hover .week-panel-empty{max-height:140px;pointer-events:auto}.week-panel-event{width:100%;text-align:left;border:1px solid var(--edge);border-radius:11px;padding:.44rem .5rem;display:grid;gap:.08rem}.week-panel-event.locked{opacity:.62;cursor:not-allowed}.week-panel-date{font-size:.72rem;color:var(--ink-soft)}.week-panel-title{font-size:.9rem;font-weight:600}.week-panel-meta{font-size:.74rem;color:color-mix(in srgb,var(--ink) 76%,var(--ink-soft))}.week-panel-empty{margin:0;font-size:.86rem;color:var(--ink-soft)}.color-field{display:flex;align-items:center;gap:.5rem}.color-field span{font-size:.84rem;color:var(--ink-soft);min-width:4.4rem}input[type=color]{width:3.2rem;min-width:3.2rem;height:2.35rem;padding:.18rem;border-radius:12px;border:1px solid var(--edge);background:var(--card);cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:8px}input[type=color]::-moz-color-swatch{border:0;border-radius:8px}.month-view{--cell-chip-overflow:calc(0.45rem + 4px)}.month-view,.week-view{border:1px solid var(--edge);border-radius:16px;overflow:hidden;background:var(--card);box-shadow:0 14px 24px rgba(15,45,93,.13)}.week-view{--cell-chip-overflow:calc(0.5rem + 4px)}.events-list-view{border:1px solid var(--edge);background:color-mix(in srgb,var(--card) 90%,white);box-shadow:0 14px 24px rgba(15,45,93,.13);padding:.75rem}.events-list-empty{margin:0;color:var(--ink-soft)}.events-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.events-list-item{width:100%;border:2px solid;border-radius:10px;padding:.45rem .52rem;text-align:left;display:grid;gap:.15rem}.events-list-item.locked{opacity:.62;cursor:not-allowed}.events-list-status{width:fit-content;border:1px solid color-mix(in srgb,var(--edge) 72%,white);border-radius:999px;padding:.06rem .4rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.events-list-status.status-approved{background:color-mix(in srgb,#22c55e 18%,white)}.events-list-status.status-rejected{background:color-mix(in srgb,#ef4444 18%,white)}.events-list-status.status-pending{background:color-mix(in srgb,#f59e0b 18%,white)}.events-list-title{font-size:.94rem}.events-list-meta{font-size:.78rem}.week-view-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--edge) 45%,white)}.week-day-cell,.week-view-grid{overflow:visible;position:relative}.week-day-cell{min-height:var(--week-cell-height,240px);display:flex;flex-direction:column;padding:.5rem;gap:.35rem;background:#fff;transition:background-color .16s ease;z-index:0}.week-day-cell:has(.event-chip:focus-visible),.week-day-cell:has(.event-chip:hover){z-index:24}.week-day-cell.today{background:#fff}.week-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem}.week-day-label{display:grid;gap:.04rem}.week-day-label span{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.week-day-label time{font-size:.96rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;min-height:1.65rem;padding:0 .48rem;border-radius:999px}.week-day-cell.today .week-day-label time{background:color-mix(in srgb,#ef4444 86%,white);color:#fff;box-shadow:0 8px 14px rgba(239,68,68,.2)}.week-day-events{display:grid;--event-slot-height:2.5rem;gap:.3rem;align-content:start}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:color-mix(in srgb,var(--accent-2) 12%,white);padding:.46rem;gap:.35rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.weekday-row span{text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--edge) 45%,white)}.day-cell,.month-grid{overflow:visible;position:relative}.day-cell{min-height:var(--month-cell-height,134px);display:flex;flex-direction:column;padding:.45rem;gap:.35rem;background:#fff;transition:background-color .16s ease;z-index:0}.day-cell:has(.event-chip:focus-visible),.day-cell:has(.event-chip:hover){z-index:24}.day-cell header{display:flex;align-items:center;justify-content:space-between}.day-cell header time{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .4rem;border-radius:999px}.day-cell.out-month{background:#f2f6ff;color:#7a88a6}.day-cell.out-month-hidden{background:color-mix(in srgb,var(--card) 88%,white);color:transparent}.day-cell.today{background:#fff}.day-cell.today header time{background:color-mix(in srgb,#ef4444 86%,white);color:#fff;font-weight:700;box-shadow:0 8px 14px rgba(239,68,68,.2)}.tiny-button{width:1.65rem;height:1.65rem;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 46%,white);background:color-mix(in srgb,var(--accent) 10%,white)}.day-events{display:grid;--event-slot-height:2.5rem;gap:.3rem;overflow:visible;position:relative}.event-slot-spacer{display:block;visibility:hidden;pointer-events:none}.event-chip,.event-slot-spacer{height:var(--event-slot-height,2.5rem);min-height:var(--event-slot-height,2.5rem)}.event-chip{border:2px solid;border-radius:8px;padding:.22rem .4rem;text-align:left;display:grid;gap:.08rem;overflow:visible;align-content:start;position:relative;z-index:1;isolation:isolate}.event-chip span:last-child{display:block;min-width:0;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-project-dot{width:.52rem;height:.52rem;border-radius:999px;display:inline-block;border:1px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 12%,white)}.event-chip[data-tooltip]:after,.mini-event-chip[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + .45rem);width:max-content;max-width:min(34ch,calc(100vw - 2rem));padding:.45rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--edge) 78%,white);background:color-mix(in srgb,#0d1b2a 92%,black);color:#f6fbff;box-shadow:0 14px 30px rgba(7,13,26,.28);white-space:pre-wrap;line-height:1.22;font-size:.76rem;letter-spacing:.01em;opacity:0;transform:translate(-50%,4px);pointer-events:none;z-index:30;transition:opacity .12s ease,transform .12s ease}.event-chip[data-tooltip]:focus-visible:after,.event-chip[data-tooltip]:hover:after,.mini-event-chip[data-tooltip]:focus-visible:after,.mini-event-chip[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)}.event-chip.span-start[data-tooltip]:after,.mini-event-chip.span-start[data-tooltip]:after{left:0;transform:translateY(4px)}.event-chip.span-start[data-tooltip]:focus-visible:after,.event-chip.span-start[data-tooltip]:hover:after,.mini-event-chip.span-start[data-tooltip]:focus-visible:after,.mini-event-chip.span-start[data-tooltip]:hover:after{transform:translate(0)}.event-chip.span-end[data-tooltip]:after,.mini-event-chip.span-end[data-tooltip]:after{left:auto;right:0;transform:translateY(4px)}.event-chip.span-end[data-tooltip]:focus-visible:after,.event-chip.span-end[data-tooltip]:hover:after,.mini-event-chip.span-end[data-tooltip]:focus-visible:after,.mini-event-chip.span-end[data-tooltip]:hover:after{transform:translate(0)}.mini-event-chip[data-tooltip]:after{font-size:.7rem;max-width:min(28ch,calc(100vw - 1rem));bottom:auto;top:calc(100% + .28rem);padding:.35rem .45rem;border-radius:8px}.event-chip.locked{opacity:.62;cursor:not-allowed}.floating-tooltip{position:fixed;z-index:200;max-width:min(34ch,calc(100vw - 24px));padding:.45rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--edge) 78%,white);background:color-mix(in srgb,#0d1b2a 92%,black);color:#f6fbff;box-shadow:0 14px 30px rgba(7,13,26,.28);white-space:pre-wrap;line-height:1.22;font-size:.76rem;letter-spacing:.01em;pointer-events:none}.floating-tooltip--bottom{transform-origin:top center}.floating-tooltip--top{transform-origin:bottom center}.event-chip.is-all-day.span-single{align-content:center;gap:0}.event-chip.event-group-hovered,.event-chip:focus-visible,.event-chip:hover{transform:translateY(-1px);box-shadow:none;filter:saturate(1.08) brightness(1.02);z-index:8}.event-chip.is-span-continuation{gap:0;padding-top:.32rem;padding-bottom:.32rem}.event-chip:not(.span-single){height:var(--event-slot-height,2.5rem);min-height:var(--event-slot-height,2.5rem);padding-top:.18rem;padding-bottom:.18rem;gap:0;grid-template-columns:1fr;align-items:center;align-content:center;overflow:visible}.event-chip:not(.span-single) .event-time{display:none}.event-chip:not(.span-single):before{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--event-color,#ffffff) 18%,white);z-index:0;pointer-events:none}.event-chip:not(.span-single)>*{position:relative;z-index:1}.event-chip.is-span-continuation span:last-child{opacity:0}.event-chip.span-start:not(.span-end){border-top-right-radius:0;border-bottom-right-radius:0;margin-right:calc(var(--cell-chip-overflow, .45rem) * -1);z-index:4;border-right-color:transparent}.event-chip.span-start:not(.span-end):before{right:calc(var(--cell-chip-overflow, .45rem) * -1);border-top-right-radius:0;border-bottom-right-radius:0}.event-chip.span-end:not(.span-start){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:calc(var(--cell-chip-overflow, .45rem) * -1);z-index:3;border-left-color:transparent}.event-chip.span-end:not(.span-start):before{left:calc(var(--cell-chip-overflow, .45rem) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.event-chip.span-middle{border-radius:0;margin-left:calc(var(--cell-chip-overflow, .45rem) * -1);margin-right:calc(var(--cell-chip-overflow, .45rem) * -1);z-index:4;border-left-color:transparent;border-right-color:transparent}.event-chip.span-middle:before{left:calc(var(--cell-chip-overflow, .45rem) * -1);right:calc(var(--cell-chip-overflow, .45rem) * -1);border-radius:0}.event-time{color:var(--ink-soft);font-size:.72rem}.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(320px,30vw,460px),1fr));gap:.9rem}.mini-month{--mini-chip-overflow:calc(0.24rem + 3px);display:grid;gap:.45rem;border:1px solid var(--edge);border-radius:14px;padding:.9rem;background:color-mix(in srgb,var(--card) 90%,white);text-align:left;overflow:hidden}.mini-month-header{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.mini-month-header h3{margin:0;font-size:1rem}.mini-days,.mini-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem}.mini-weekdays{font-size:.64rem}.mini-days{grid-template-rows:repeat(6,auto);overflow:hidden;position:relative}.mini-day{min-height:var(--mini-cell-height,132px);border:1px solid color-mix(in srgb,var(--edge) 55%,white);border-radius:9px;padding:.24rem;background:#fff;display:grid;grid-template-rows:auto auto;gap:.18rem;overflow:visible;position:relative;z-index:0}.mini-day:has(.mini-event-chip:focus-visible),.mini-day:has(.mini-event-chip:hover){z-index:24}.mini-day-header{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.mini-day time{font-size:.68rem;color:var(--ink-soft)}.mini-add-button{width:1.2rem;height:1.2rem;min-width:1.2rem;border-radius:999px;padding:0;font-size:.86rem;line-height:1}.mini-day.in-month{background:color-mix(in srgb,var(--card) 94%,white)}.mini-day.out-month{background:#edf2fb;opacity:.75}.mini-day.out-month-hidden{background:color-mix(in srgb,var(--card) 88%,white);opacity:1}.mini-day.has-events{border-color:color-mix(in srgb,var(--accent) 28%,var(--edge))}.mini-day-events{display:grid;--mini-event-slot-height:1rem;gap:.18rem;align-content:start;overflow:visible;position:relative}.mini-event-slot-spacer{display:block;visibility:hidden;pointer-events:none}.mini-event-chip,.mini-event-slot-spacer{height:var(--mini-event-slot-height,1rem);min-height:var(--mini-event-slot-height,1rem)}.mini-event-chip{border:2px solid;border-radius:7px;text-align:left;padding:.12rem .26rem;font-size:.62rem;line-height:1.2;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.2rem;overflow:visible;position:relative;z-index:1;isolation:isolate}.mini-event-chip.locked{opacity:.62;cursor:not-allowed}.mini-event-chip.event-group-hovered,.mini-event-chip:focus-visible,.mini-event-chip:hover{transform:translateY(-1px);box-shadow:none;filter:saturate(1.08) brightness(1.02);z-index:8}.mini-event-chip.is-span-continuation{padding-top:.08rem;padding-bottom:.08rem}.mini-event-chip:not(.span-single){height:var(--mini-event-slot-height,1rem);min-height:var(--mini-event-slot-height,1rem);padding-top:.06rem;padding-bottom:.06rem;gap:0;overflow:visible}.mini-event-chip:not(.span-single) .mini-event-time{display:none}.mini-event-chip:not(.span-single):before{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--event-color,#ffffff) 16%,white);z-index:0;pointer-events:none}.mini-event-chip:not(.span-single)>*{position:relative;z-index:1}.mini-event-title{display:block;min-width:0;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-event-project-dot{width:.34rem;height:.34rem;border-radius:999px;display:inline-block;align-self:center;border:1px solid rgba(255,255,255,.75)}.mini-event-chip.is-span-continuation .mini-event-title{opacity:0}.mini-event-chip.span-start:not(.span-end){border-top-right-radius:0;border-bottom-right-radius:0;margin-right:calc(var(--mini-chip-overflow, .24rem) * -1);z-index:4;border-right-color:transparent}.mini-event-chip.span-start:not(.span-end):before{right:calc(var(--mini-chip-overflow, .24rem) * -1);border-top-right-radius:0;border-bottom-right-radius:0}.mini-event-chip.span-end:not(.span-start){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:calc(var(--mini-chip-overflow, .24rem) * -1);z-index:3;border-left-color:transparent}.mini-event-chip.span-end:not(.span-start):before{left:calc(var(--mini-chip-overflow, .24rem) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.mini-event-chip.span-middle{border-radius:0;margin-left:calc(var(--mini-chip-overflow, .24rem) * -1);margin-right:calc(var(--mini-chip-overflow, .24rem) * -1);z-index:4;border-left-color:transparent;border-right-color:transparent}.mini-event-chip.span-middle:before{left:calc(var(--mini-chip-overflow, .24rem) * -1);right:calc(var(--mini-chip-overflow, .24rem) * -1);border-radius:0}.mini-event-time{font-size:.54rem;white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:rgba(11,19,32,.42);display:grid;place-items:center;z-index:80;padding:1rem}.modal-card{width:min(560px,100%);border-radius:16px;border:1px solid var(--edge);background:var(--card);padding:1rem;display:grid;gap:.8rem}.modal-card header{display:flex;justify-content:space-between;align-items:center}.modal-card h2{margin:0}.event-form{display:grid;gap:.75rem}.event-form label{display:grid;gap:.35rem;font-size:.84rem}.row-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.event-form footer{display:flex;justify-content:space-between;align-items:center}.event-meta{border:1px solid color-mix(in srgb,var(--edge) 55%,white);border-radius:12px;padding:.65rem .75rem;background:color-mix(in srgb,var(--card) 78%,white);display:grid;gap:.25rem}.event-meta p{margin:0;font-size:.85rem}.event-approval-actions{padding:.65rem .75rem;display:flex;flex-wrap:wrap;gap:.45rem}.event-approval-actions,.event-tabs{border:1px solid color-mix(in srgb,var(--edge) 55%,white);border-radius:12px;background:color-mix(in srgb,var(--card) 78%,white)}.event-tabs{padding:.7rem .8rem;display:grid;gap:.5rem}.event-tabs-header{display:inline-flex;align-items:center;gap:.45rem;width:fit-content}.event-tab-trigger{padding:.28rem .64rem;font-size:.8rem;background:color-mix(in srgb,var(--card) 90%,white)}.event-tab-trigger.active{background:color-mix(in srgb,var(--edge) 16%,white);box-shadow:0 4px 10px rgba(51,74,82,.14)}.event-tab-panel{display:grid;gap:.5rem}.event-tab-panel p{margin:0}.event-tab-scroll{max-height:min(36vh,300px);overflow-y:auto;padding-right:.12rem;scrollbar-width:thin}.event-tab-scroll::-webkit-scrollbar{width:6px}.event-tab-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--edge) 55%,white);border-radius:999px}.activity-list,.comments-list{margin:0;padding-left:1rem;display:grid;gap:.45rem}.activity-item{gap:.24rem}.activity-changes{padding-left:1rem;gap:.15rem;font-size:.82rem;color:var(--ink-soft)}.comment-form{display:grid;gap:.45rem}.comment-form button{justify-self:end}.ghost-button{background:transparent}.danger-button{border-color:color-mix(in srgb,var(--danger) 40%,white);color:var(--danger)}.error-text{margin:0;color:var(--danger);font-weight:600}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(470px,100%);border:1px solid var(--edge);border-radius:16px;background:var(--card);box-shadow:0 20px 44px rgba(15,45,93,.18);padding:1.2rem;display:grid;gap:.8rem}.auth-card h1{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.auth-card p{margin:0}.auth-form{display:grid;gap:.7rem}.auth-form label{display:grid;gap:.34rem}.loading-shell{min-height:100vh;width:100%;margin:0;padding:clamp(.75rem,1.2vw,1.4rem) clamp(.75rem,2vw,2rem) 1.5rem}.loading-shell-grid{display:grid;gap:1rem}.skeleton-panel{border:1px solid color-mix(in srgb,var(--edge) 58%,white);border-radius:16px;background:radial-gradient(circle at 12% 12%,rgba(0,210,252,.06),transparent 42%),radial-gradient(circle at 88% 16%,rgba(248,178,122,.08),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--card) 96%,white),color-mix(in srgb,var(--card) 88%,white));box-shadow:0 14px 30px rgba(31,122,224,.08),inset 0 1px 0 rgba(255,255,255,.75);padding:.9rem}.skeleton-stack{display:grid;gap:.45rem}.skeleton-inline{display:flex;flex-wrap:wrap;gap:.45rem}.skeleton-round{border-radius:999px}.skeleton-ink-line{background:color-mix(in srgb,var(--ink) 10%,white)}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skeleton-block{display:block;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(236,246,255,.9));border:1px solid color-mix(in srgb,var(--edge) 18%,white);position:relative;overflow:hidden}.skeleton-block:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55) 20%,rgba(0,210,252,.18) 50%,rgba(255,255,255,.55) 80%,rgba(255,255,255,0));animation:skeleton-shimmer 1.15s ease-in-out infinite}.skeleton-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:.9rem}.skeleton-pill{border-radius:999px}.skeleton-topbar-title{min-width:0}.skeleton-range-controls-skeleton{padding:.55rem;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(239,247,255,.72))}.skeleton-range-controls-row{width:100%;justify-content:center;align-items:end;gap:.6rem}.skeleton-topbar-actions{justify-content:flex-end;align-items:center}.skeleton-ghost-button{opacity:.75}.skeleton-legend-skeleton{display:grid;align-items:center}.week-panel-skeleton-shell{overflow:hidden}.skeleton-calendar-main{display:grid;gap:.75rem;padding:.75rem}.skeleton-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;align-items:center}.skeleton-weekday-line{border-radius:999px;opacity:.88}.skeleton-weekday-line-alt{opacity:.64}.skeleton-calendar-grid{display:grid;gap:.35rem}.skeleton-calendar-grid--month,.skeleton-calendar-grid--week{grid-template-columns:repeat(7,minmax(0,1fr))}.skeleton-calendar-cell-card{border:1px solid color-mix(in srgb,var(--edge) 38%,white);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,250,255,.76));padding:.42rem;display:grid;grid-template-rows:auto 1fr;gap:.35rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.skeleton-calendar-cell-card--month{min-height:clamp(6.2rem,10vw,8.4rem)}.skeleton-calendar-cell-card--week{min-height:clamp(11rem,22vw,16rem)}.skeleton-calendar-cell-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.skeleton-day-number{border-radius:6px;opacity:.78}.skeleton-calendar-cell-body{display:grid;align-content:start;gap:.28rem}.skeleton-calendar-chip{border-radius:10px}.skeleton-calendar-chip-accent{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,239,242,.95));border-color:color-mix(in srgb,var(--accent) 28%,white)}.skeleton-calendar-cell{height:clamp(4.8rem,10vw,7rem)}.skeleton-inline-list{display:grid;gap:.55rem}.skeleton-inline-list-cards{gap:.48rem}.skeleton-list-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.5rem;border:1px solid color-mix(in srgb,var(--edge) 34%,white);border-radius:12px;padding:.45rem;background:color-mix(in srgb,var(--card) 80%,white)}.skeleton-list-card .skeleton-list-copy{min-width:0;gap:.35rem}.skeleton-list-avatar{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(236,247,255,.9))}.week-panel-loading-list{gap:.42rem}.week-panel-loading-item{grid-template-columns:minmax(0,1fr);gap:.35rem;padding:.45rem .5rem}.skeleton-manager-shell{display:grid;gap:.9rem}.skeleton-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.skeleton-manager-item{border:1px solid color-mix(in srgb,var(--edge) 42%,white);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(242,249,255,.78));padding:.6rem;display:grid;gap:.5rem}.skeleton-manager-item-head{align-items:center}.skeleton-manager-form-skeleton{display:grid;gap:.65rem;padding:.7rem;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(241,248,255,.76))}.skeleton-manager-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.skeleton-events-shell{display:grid;gap:.8rem;padding:.85rem}.skeleton-events-filter-row{align-items:center}.skeleton-events-list{display:grid;gap:.5rem}.skeleton-events-item{border:1px solid color-mix(in srgb,var(--edge) 38%,white);border-radius:12px;padding:.55rem;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(243,249,255,.8));display:grid;gap:.35rem}.skeleton-events-item-top{justify-content:space-between;align-items:center}.skeleton-year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.skeleton-year-card{display:grid;gap:.42rem;padding:.7rem}.skeleton-mini-grid,.skeleton-mini-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.12rem}.skeleton-mini-cell{min-height:2.2rem;border:1px solid color-mix(in srgb,var(--edge) 28%,white);border-radius:8px;padding:.18rem;background:rgba(255,255,255,.58);display:grid;align-content:start;gap:.18rem}.skeleton-mini-cell-dot{border-radius:4px;opacity:.72}@media (prefers-reduced-motion:reduce){.skeleton-block:after{animation:none}}@media (max-width:1024px){.topbar{align-items:flex-start;flex-direction:column}.calendar-topbar{display:grid;grid-template-columns:1fr;align-items:start}.calendar-range-controls{justify-self:start;justify-content:flex-start;width:100%}.day-cell{min-height:calc(var(--month-cell-height, 134px) * .86)}.week-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-day-cell{min-height:calc(var(--week-cell-height, 240px) * .78)}.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-body-layout{grid-template-columns:1fr}.legend-week-layout{flex-direction:column;position:static;min-height:0;padding-right:0}.legend-week-layout .type-legend{min-height:auto;display:block}.legend-week-layout .week-panel{position:static;top:auto;right:auto}.week-panel{width:100%;min-width:0;max-width:none;position:static;max-height:none;overflow:visible;padding:.75rem;gap:.6rem}.week-panel-empty,.week-panel-list,.week-panel-loading-list{max-height:none;opacity:1;pointer-events:auto}.week-panel:focus-within,.week-panel:hover{max-height:none}.skeleton-topbar{grid-template-columns:1fr;align-items:start}.skeleton-range-controls-row{justify-content:flex-start}}@media (max-width:760px){.toolbar{justify-content:flex-start}.month-grid,.week-view-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.weekday-row{display:none}.day-cell{min-height:auto}.manager-modal-form-grid--type,.manager-modal-form-grid--user,.row-fields,.user-form{grid-template-columns:1fr}.skeleton-calendar-grid--month,.skeleton-calendar-grid--week{grid-template-columns:repeat(1,minmax(0,1fr))}.skeleton-year-grid{grid-template-columns:1fr}}:root{--bg:#f3efe7;--bg-2:#e6efe8;--ink:#152128;--ink-soft:#5d6c74;--card:#fbf8f2;--edge:#2d4a55;--accent:#cf6f35;--accent-2:#2f8b77;--danger:#b03533}html{color-scheme:light}body{color:var(--ink);background:radial-gradient(circle at 12% 6%,rgba(47,139,119,.12),transparent 42%),radial-gradient(circle at 84% 9%,rgba(207,111,53,.12),transparent 44%),radial-gradient(circle at 50% 105%,rgba(45,74,85,.1),transparent 50%),linear-gradient(180deg,#f7f2e9,#eef3ee 42%,#ecf0f2);background-attachment:fixed;position:relative;isolation:isolate}body:before{opacity:.32;background-image:linear-gradient(rgba(21,33,40,.03) 1px,transparent 0),linear-gradient(90deg,rgba(21,33,40,.03) 1px,transparent 0);background-size:22px 22px;z-index:-2}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.4),transparent 40%),radial-gradient(circle at 70% 70%,rgba(255,255,255,.3),transparent 45%);z-index:-1}::selection{background:color-mix(in srgb,var(--accent) 28%,white);color:var(--ink)}button,input,select,textarea{border-color:color-mix(in srgb,var(--edge) 36%,#b5c0c8);border-radius:12px;background:color-mix(in srgb,var(--card) 86%,white);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 0 rgba(21,33,40,.03)}.link-button,button{border-color:color-mix(in srgb,var(--edge) 34%,#c0c8ce);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,247,242,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 20px rgba(17,28,36,.06)}.link-button:hover,button:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 10px 24px rgba(17,28,36,.1)}.link-button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-2) 75%,white);outline-offset:2px}.app-shell{max-width:1800px;margin-inline:auto;padding-top:clamp(.75rem,1.4vw,1.2rem);gap:.9rem}.app-shell--calendar{gap:.85rem}.calendar-top-chrome{display:grid;gap:.85rem}.kicker{color:color-mix(in srgb,var(--ink-soft) 88%,white);letter-spacing:.18em}.topbar{border:1px solid color-mix(in srgb,var(--edge) 22%,#cfcbc1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(251,248,242,.9));box-shadow:0 12px 28px rgba(18,28,36,.08),inset 0 1px 0 rgba(255,255,255,.85);padding:.95rem}.toolbar{gap:.45rem}.icon-button,.link-button{border-radius:12px}.icon-button{width:2.55rem;min-width:2.55rem;height:2.45rem}.ghost-button{background:rgba(255,255,255,.35)}.calendar-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:stretch;position:sticky;top:.4rem;z-index:36;border:1px solid color-mix(in srgb,var(--edge) 20%,#d1cdc3);border-radius:22px;padding:clamp(.85rem,1.6vw,1.15rem);background:radial-gradient(circle at 8% 8%,rgba(47,139,119,.08),transparent 36%),radial-gradient(circle at 92% 10%,rgba(207,111,53,.08),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.88),rgba(250,248,241,.92));box-shadow:0 18px 40px rgba(16,24,32,.08),inset 0 1px 0 rgba(255,255,255,.8);transition:padding .18s ease,border-radius .18s ease,box-shadow .18s ease,gap .18s ease}.calendar-hero-main{min-width:0;display:grid;gap:.9rem;transition:gap .18s ease}.calendar-title-block--hero{gap:.35rem}.calendar-title-block--hero h1{margin:0;font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1.05;letter-spacing:-.02em;transition:font-size .18s ease}.calendar-hero-subtitle{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;color:var(--ink-soft);font-size:.86rem;transition:opacity .14s ease}.calendar-toolbar-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center}.calendar-date-nav{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem;border:1px solid color-mix(in srgb,var(--edge) 18%,#d6d2ca);border-radius:16px;background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.nav-icon-button{width:2.35rem;min-width:2.35rem;height:2.2rem}.nav-today-button{min-height:2.2rem;border-radius:12px;padding:.35rem .7rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.calendar-view-tabs{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;padding:.35rem;border:1px solid color-mix(in srgb,var(--edge) 18%,#d6d2ca);border-radius:16px;background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.calendar-view-tab{min-height:2.2rem;border-radius:12px;padding:.35rem .55rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;background:transparent;box-shadow:none;color:var(--ink-soft);font-weight:600}.calendar-view-tab:hover{background:rgba(255,255,255,.7);box-shadow:none}.calendar-view-tab.active{border-color:color-mix(in srgb,var(--edge) 24%,#c5cbd0);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,247,242,.98));color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 6px 16px rgba(17,28,36,.08)}.calendar-view-tab[aria-selected=true]{cursor:default}.calendar-view-tab i{font-size:.86rem}.calendar-hero-side{width:min(480px,40vw);min-width:300px;display:grid;align-content:start;gap:.6rem;transition:gap .18s ease}.calendar-user-card{border:1px solid color-mix(in srgb,var(--edge) 18%,#d5d0c5);border-radius:16px;padding:.75rem .85rem;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(250,248,241,.78));display:grid;gap:.12rem}.calendar-user-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}.calendar-user-card strong{font-size:.98rem;line-height:1.15}.calendar-user-meta{width:fit-content;margin-top:.18rem;border:1px solid color-mix(in srgb,var(--edge) 18%,#cfd4d8);border-radius:999px;padding:.08rem .5rem;font-size:.72rem;text-transform:capitalize;color:var(--ink-soft);background:rgba(255,255,255,.6)}.calendar-actions--rich{justify-content:flex-start;gap:.45rem}.action-button{min-height:2.3rem;border-radius:12px;padding:.42rem .68rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;line-height:1}.action-button i{font-size:.86rem}.action-button span{font-weight:600}.primary-button{border-color:color-mix(in srgb,var(--accent) 44%,var(--edge));color:#1f1208;background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.55),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 32%,white),color-mix(in srgb,var(--accent) 18%,white))}.calendar-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.calendar-summary-card{border:1px solid color-mix(in srgb,var(--edge) 16%,#d7d3cb);border-radius:16px;padding:.8rem .9rem;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(250,248,241,.84));box-shadow:0 10px 22px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.8);display:grid;gap:.12rem}.calendar-summary-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.calendar-summary-value{margin:0;font-family:var(--font-serif),serif;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.05;color:var(--ink)}.calendar-summary-meta{margin:0;color:var(--ink-soft);font-size:.78rem;line-height:1.25}.calendar-controls-panel{border:1px solid color-mix(in srgb,var(--edge) 18%,#d3cfc6);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(249,247,240,.84));box-shadow:0 10px 24px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.78);overflow:hidden}@media (hover:hover) and (pointer:fine) and (min-width:1025px){.calendar-chrome-condensed .calendar-hero{gap:.65rem;border-radius:16px;padding:.6rem .75rem;box-shadow:0 12px 24px rgba(16,24,32,.08),inset 0 1px 0 rgba(255,255,255,.82)}.calendar-chrome-condensed .calendar-hero-main{gap:.45rem}.calendar-chrome-condensed .calendar-title-block--hero{gap:.15rem}.calendar-chrome-condensed .calendar-hero-subtitle,.calendar-chrome-condensed .calendar-title-block--hero .kicker,.calendar-chrome-condensed .calendar-user-card{display:none}.calendar-chrome-condensed .calendar-title-block--hero h1{font-size:clamp(1.05rem,1.4vw,1.25rem)}.calendar-chrome-condensed .calendar-toolbar-row{gap:.45rem}.calendar-chrome-condensed .calendar-date-nav{padding:.25rem;gap:.3rem;border-radius:14px}.calendar-chrome-condensed .nav-icon-button,.calendar-chrome-condensed .nav-today-button{height:2rem;min-height:2rem}.calendar-chrome-condensed .nav-icon-button{width:2rem;min-width:2rem}.calendar-chrome-condensed .nav-today-button{padding:.3rem .55rem;gap:.35rem}.calendar-chrome-condensed .nav-today-button span{font-size:.8rem}.calendar-chrome-condensed .calendar-view-tabs{padding:.25rem;gap:.25rem;border-radius:14px}.calendar-chrome-condensed .calendar-view-tab{min-height:2rem;padding:.25rem .45rem}.calendar-chrome-condensed .calendar-view-tab span{font-size:.8rem}.calendar-chrome-condensed .calendar-hero-side{min-width:0;width:auto;gap:0;justify-content:end}.calendar-chrome-condensed .calendar-actions--rich{justify-content:flex-end}.calendar-chrome-condensed .calendar-actions--rich .action-button{min-height:2rem;min-width:2rem;padding:.32rem .45rem}.calendar-chrome-condensed .calendar-actions--rich .action-button span,.calendar-chrome-condensed .calendar-controls-panel,.calendar-chrome-condensed .calendar-summary-grid{display:none}}.calendar-controls-panel>summary{list-style:none}.calendar-controls-panel>summary::-webkit-details-marker{display:none}.calendar-controls-summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .9rem;font-weight:600}.calendar-controls-summary:after{content:"\f107";font-family:Font Awesome\ 6 Free;font-weight:900;color:var(--ink-soft);transition:transform .16s ease}.calendar-controls-panel[open]>.calendar-controls-summary:after{transform:rotate(180deg)}.calendar-controls-summary-meta{margin-left:auto;font-size:.78rem;font-weight:500;color:var(--ink-soft)}.calendar-controls-panel .calendar-range-controls--panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;width:100%;padding:0 .9rem .75rem;border:0;background:transparent;box-shadow:none}.calendar-controls-panel .select-label{font-size:.68rem;color:color-mix(in srgb,var(--ink-soft) 90%,white);letter-spacing:.1em}.calendar-controls-panel .select-label input,.calendar-controls-panel .select-label select{min-height:2.35rem}.calendar-controls-panel .calendar-checkbox-label{grid-template-columns:1fr auto;align-items:center;gap:.55rem;text-transform:none;letter-spacing:0;font-size:.8rem;color:var(--ink)}.calendar-controls-panel .calendar-checkbox-label input[type=checkbox]{width:1.08rem;height:1.08rem}.calendar-filter-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:0 .9rem .9rem}.calendar-filter-chip{border:1px solid color-mix(in srgb,var(--edge) 16%,#d4d2ca);border-radius:999px;padding:.28rem .55rem;background:rgba(255,255,255,.55);display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--ink-soft)}.calendar-filter-chip strong{color:var(--ink);font-weight:600}.calendar-filter-chip.is-active{border-color:color-mix(in srgb,var(--accent-2) 35%,#d0d7d1);background:color-mix(in srgb,var(--accent-2) 8%,white)}.calendar-filter-reset{margin-left:auto;min-height:2rem;padding:.3rem .65rem;border-radius:999px;font-weight:600}.alert-stack{display:grid;gap:.45rem}.alert-card{margin:0;border:1px solid;border-radius:14px;padding:.7rem .8rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.alert-card i{line-height:1.2;margin-top:.05rem}.alert-card--error{border-color:color-mix(in srgb,var(--danger) 28%,#e4c9c8);background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,243,242,.92));color:color-mix(in srgb,var(--danger) 86%,#341714)}.error-text{color:color-mix(in srgb,var(--danger) 90%,#2b1110)}.legend-week-layout{--week-panel-collapsed-height:98px;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,360px);gap:.75rem;padding-right:0;min-height:0;position:static;align-items:stretch}.legend-week-layout .type-legend,.legend-week-layout .week-panel{margin:0;position:static;top:auto;right:auto}.legend-week-layout .type-legend{min-height:var(--week-panel-collapsed-height);height:var(--week-panel-collapsed-height);display:flex;align-items:flex-start;align-content:flex-start;overflow-y:auto;scrollbar-width:thin}.type-legend{border-color:color-mix(in srgb,var(--edge) 16%,#d4cfc5);border-radius:16px;padding:.75rem;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(249,247,240,.82));box-shadow:0 10px 24px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.8)}.type-legend-list{gap:.4rem}.type-legend-item{border-color:color-mix(in srgb,var(--edge) 18%,#d4d1c9);padding:.3rem .55rem;background:rgba(255,255,255,.66);font-size:.74rem}.week-panel{width:100%;min-width:0;max-width:none;border-color:color-mix(in srgb,var(--edge) 18%,#d4cfc5);border-radius:16px;padding:0;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(249,247,241,.84));box-shadow:0 10px 24px rgba(17,28,36,.06),inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden;max-height:none;transition:none}.week-panel-header{padding:.9rem .9rem .7rem;border-bottom:1px solid color-mix(in srgb,var(--edge) 10%,#dbd7cd);background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.18))}.week-panel-header h2{font-size:.96rem}.week-panel-count{border-color:color-mix(in srgb,var(--accent-2) 30%,#d4d9d4);background:color-mix(in srgb,var(--accent-2) 9%,white)}.week-panel .week-panel-list,.week-panel .week-panel-loading-list{max-height:min(34vh,420px);opacity:1;pointer-events:auto;padding:.75rem;margin:0}.week-panel .week-panel-empty{max-height:none;opacity:1;pointer-events:auto;padding:0 .9rem .9rem;margin:0}.week-panel:focus-within,.week-panel:hover{max-height:none;box-shadow:0 10px 24px rgba(17,28,36,.06),inset 0 1px 0 rgba(255,255,255,.8)}.week-panel:focus-within .week-panel-list,.week-panel:focus-within .week-panel-loading-list,.week-panel:hover .week-panel-list,.week-panel:hover .week-panel-loading-list{max-height:min(34vh,420px);opacity:1}.week-panel:focus-within .week-panel-empty,.week-panel:hover .week-panel-empty{max-height:none;opacity:1}.week-panel-event{border-color:color-mix(in srgb,var(--edge) 14%,#d5d0c8);border-radius:12px;padding:.5rem .55rem;background:rgba(255,255,255,.55);box-shadow:none}@media (hover:hover) and (pointer:fine) and (min-width:1025px){.legend-week-layout .week-panel{position:relative;z-index:30;max-height:var(--week-panel-collapsed-height);overflow:visible;isolation:isolate;transition:box-shadow .18s ease,border-radius .18s ease,border-color .18s ease}.legend-week-layout .week-panel .week-panel-list,.legend-week-layout .week-panel .week-panel-loading-list{padding:.65rem .75rem .75rem;max-height:min(34vh,420px);overflow-y:auto}.legend-week-layout .week-panel .week-panel-empty,.legend-week-layout .week-panel .week-panel-list,.legend-week-layout .week-panel .week-panel-loading-list{position:absolute;left:-1px;right:-1px;top:calc(var(--week-panel-collapsed-height) - 2px);z-index:4;margin:0;border:1px solid color-mix(in srgb,var(--edge) 18%,#d4cfc5);border-top:0;border-radius:0 0 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(249,247,241,.94));background-clip:padding-box;box-shadow:0 16px 28px rgba(17,28,36,.1),inset 0 1px 0 rgba(255,255,255,.75);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .16s ease,transform .18s ease}.legend-week-layout .week-panel .week-panel-empty{padding:.75rem .9rem .9rem;max-height:120px;overflow:hidden}.legend-week-layout .week-panel:focus-within,.legend-week-layout .week-panel:hover{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;box-shadow:0 16px 28px rgba(17,28,36,.1),inset 0 1px 0 rgba(255,255,255,.8)}.legend-week-layout .week-panel:focus-within .week-panel-list,.legend-week-layout .week-panel:focus-within .week-panel-loading-list,.legend-week-layout .week-panel:hover .week-panel-list,.legend-week-layout .week-panel:hover .week-panel-loading-list{opacity:1;pointer-events:auto;transform:translateY(0)}.legend-week-layout .week-panel:focus-within .week-panel-empty,.legend-week-layout .week-panel:hover .week-panel-empty{opacity:1;pointer-events:auto;transform:translateY(0)}}.calendar-body-layout{gap:.75rem}.zoom-context-scroll{margin-top:.35rem;gap:.75rem;padding-right:.2rem;scroll-padding-top:.5rem}.zoom-context-item{border:1px solid color-mix(in srgb,var(--edge) 12%,#d8d4cc);border-radius:18px;padding:.6rem;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(249,247,241,.84));box-shadow:0 10px 22px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.8)}.zoom-context-item[data-context-active=true]{border-color:color-mix(in srgb,var(--accent-2) 32%,#cfd6d1);box-shadow:0 14px 26px rgba(18,36,33,.08),inset 0 1px 0 rgba(255,255,255,.8)}.zoom-context-item-header{padding:.05rem .15rem .2rem}.zoom-context-item-header h3{font-size:.98rem;color:var(--ink-soft);letter-spacing:.01em}.zoom-context-scroll .month-view,.zoom-context-scroll .week-view{border:1px solid color-mix(in srgb,var(--edge) 14%,#d8d4cc);box-shadow:none;background:rgba(255,255,255,.82)}.month-view,.week-view{background:rgba(255,255,255,.84)}.events-list-view,.month-view,.week-view{border-color:color-mix(in srgb,var(--edge) 14%,#d8d4cc);border-radius:16px;box-shadow:0 12px 24px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.8)}.events-list-view{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(249,247,241,.86));padding:.85rem}.weekday-row{background:color-mix(in srgb,var(--accent-2) 8%,white);padding:.5rem;gap:.3rem;font-size:.68rem;color:var(--ink-soft)}.month-grid,.week-view-grid{gap:1px;background:color-mix(in srgb,var(--edge) 14%,#d9d6cf)}.day-cell,.week-day-cell{background:rgba(255,255,255,.9);padding:.5rem}.day-cell.today,.week-day-cell.today{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,250,244,.96))}.day-cell.out-month{background:rgba(244,247,249,.9);color:color-mix(in srgb,var(--ink-soft) 78%,white)}.week-day-label span{color:var(--ink-soft);font-size:.64rem}.day-cell header time,.week-day-label time{border-radius:999px;border:1px solid transparent;background:rgba(250,250,247,.85)}.day-cell.today header time,.week-day-cell.today .week-day-label time{background:color-mix(in srgb,var(--accent) 86%,white);box-shadow:0 8px 14px rgba(207,111,53,.18)}.tiny-button{border-color:color-mix(in srgb,var(--accent-2) 22%,#d7d7d0);background:color-mix(in srgb,var(--accent-2) 7%,white)}.event-chip{border-radius:10px;background-clip:padding-box;box-shadow:none}.event-chip.event-group-hovered,.event-chip:focus-visible,.event-chip:hover{box-shadow:0 8px 16px rgba(18,30,36,.12);filter:saturate(1.05) brightness(1.01)}.event-time{color:color-mix(in srgb,var(--ink-soft) 92%,white)}.events-list{gap:.55rem}.events-list-item{border-radius:12px;padding:.55rem .6rem;background:rgba(255,255,255,.65)}.events-list-title{line-height:1.2}.events-list-meta{color:var(--ink-soft)}.year-grid{gap:.75rem}.mini-month{border-color:color-mix(in srgb,var(--edge) 14%,#d8d4cb);border-radius:16px;padding:.75rem;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(249,247,241,.86));box-shadow:0 10px 22px rgba(17,28,36,.04),inset 0 1px 0 rgba(255,255,255,.8)}.mini-month-header h3{font-size:.94rem;color:var(--ink)}.mini-weekdays{color:var(--ink-soft)}.mini-day{border-color:color-mix(in srgb,var(--edge) 14%,#d8d4cc);border-radius:10px;background:rgba(255,255,255,.86)}.mini-day.out-month{background:rgba(243,246,248,.86)}.mini-day.has-events{border-color:color-mix(in srgb,var(--accent) 20%,var(--edge))}.mini-event-chip{border-radius:8px;background:rgba(255,255,255,.78)}.mini-event-chip.event-group-hovered,.mini-event-chip:focus-visible,.mini-event-chip:hover{box-shadow:0 6px 14px rgba(18,30,36,.12)}.mini-event-time{color:var(--ink-soft)}.modal-overlay{background:rgba(18,28,36,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-card,.modal-card,.project-manager,.status-strip,.type-manager,.user-manager{border-color:color-mix(in srgb,var(--edge) 16%,#d6d2c8);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(250,248,241,.88));box-shadow:0 12px 24px rgba(17,28,36,.06),inset 0 1px 0 rgba(255,255,255,.8)}.auth-card{padding:1.1rem}.project-pill,.type-pill,.user-pill{border-radius:12px;border-color:color-mix(in srgb,var(--edge) 14%,#d9d4cc);background:rgba(255,255,255,.6)}.event-approval-actions,.event-meta,.event-tabs,.settings-field,.settings-toggle-card{border-color:color-mix(in srgb,var(--edge) 14%,#d8d4cb);background:rgba(255,255,255,.55)}.event-modal-card{width:min(1120px,100%);max-height:min(92vh,980px);padding:0;gap:0;overflow:auto;scrollbar-width:thin}.event-modal-header{position:sticky;top:0;z-index:2;padding:.95rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--edge) 12%,#dad5cc);background:radial-gradient(circle at 12% 12%,rgba(47,139,119,.08),transparent 44%),radial-gradient(circle at 88% 16%,rgba(207,111,53,.08),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.95),rgba(250,248,241,.94));display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.event-modal-header-copy{min-width:0;display:grid;gap:.28rem}.event-modal-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.event-modal-kicker{border-radius:999px;border:1px solid color-mix(in srgb,var(--edge) 14%,#d8d4cb);background:rgba(255,255,255,.68);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.event-modal-kicker,.event-status-pill{display:inline-flex;align-items:center;min-height:1.45rem;padding:.1rem .5rem}.event-status-pill{border-radius:999px;border:1px solid color-mix(in srgb,var(--edge) 16%,#d8d4cb);background:rgba(255,255,255,.7);font-size:.72rem;font-weight:600;color:var(--ink)}.event-status-pill.status-pending{border-color:color-mix(in srgb,#d18f2d 28%,#e3d8bf);background:color-mix(in srgb,#d18f2d 10%,white)}.event-status-pill.status-approved{border-color:color-mix(in srgb,var(--accent-2) 26%,#d3dbd3);background:color-mix(in srgb,var(--accent-2) 10%,white)}.event-status-pill.status-rejected{border-color:color-mix(in srgb,var(--danger) 28%,#e2cccc);background:color-mix(in srgb,var(--danger) 9%,white)}.event-status-pill.status-draft{border-color:color-mix(in srgb,var(--edge) 18%,#d8d4cb);color:var(--ink-soft)}.event-status-pill.status-readonly{border-color:color-mix(in srgb,var(--edge) 16%,#d4d7d8);background:color-mix(in srgb,var(--edge) 6%,white);color:var(--ink-soft)}.event-modal-header h2{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.1}.event-modal-subtitle{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.25;display:flex;flex-wrap:wrap;gap:.25rem .45rem}.event-modal-header-actions{flex:0 0 auto}.event-callout{margin:.85rem 1rem 0;border:1px solid;border-radius:14px;padding:.65rem .75rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.5rem}.event-callout p{margin:0;font-size:.84rem;line-height:1.3}.event-callout--warning{border-color:color-mix(in srgb,var(--danger) 22%,#e2d4cb);background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,245,241,.9));color:color-mix(in srgb,var(--danger) 86%,#2d1714)}.event-modal-layout{padding:.9rem 1rem;display:grid;gap:.85rem}.event-modal-layout--edit{grid-template-columns:minmax(0,1.7fr) minmax(280px,.95fr);align-items:start}.event-modal-main,.event-modal-sidebar{min-width:0}.event-modal-sidebar{display:grid;gap:.75rem}.event-form--refresh{gap:.75rem}.event-form-card{border:1px solid color-mix(in srgb,var(--edge) 12%,#ddd8cf);border-radius:14px;padding:.8rem;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(249,247,241,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.75);display:grid;gap:.65rem}.event-form-card-header{display:grid;gap:.15rem}.event-form-card-header h3{margin:0;font-size:.98rem;font-family:var(--font-sans),sans-serif;font-weight:700}.event-form-card-header p{margin:0;font-size:.76rem;color:var(--ink-soft)}.event-form--refresh label{font-size:.8rem;color:var(--ink)}.event-form--refresh label>input,.event-form--refresh label>select,.event-form--refresh label>textarea{margin-top:.15rem}.event-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.event-form-static-field{border:1px dashed color-mix(in srgb,var(--edge) 18%,#d8d4cc);border-radius:12px;padding:.55rem .65rem;background:rgba(255,255,255,.44);display:grid;align-content:center;gap:.12rem}.event-form-static-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.event-form-static-field strong{font-size:.84rem;line-height:1.15}.event-form-static-field small{color:var(--ink-soft)}.event-form-footer--refresh{position:sticky;bottom:0;z-index:1;border:1px solid color-mix(in srgb,var(--edge) 12%,#dcd7ce);border-radius:14px;padding:.7rem .8rem;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(249,247,241,.94));box-shadow:0 10px 18px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.82);display:flex;align-items:center;justify-content:space-between;gap:.65rem}.event-form-footer-left,.event-form-footer-right{display:flex;align-items:center;gap:.45rem}.event-side-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.event-side-card-header h3{margin:0;font-family:var(--font-sans),sans-serif;font-size:.94rem;font-weight:700}.event-side-card-copy{margin:0;font-size:.8rem;color:var(--ink-soft);line-height:1.3}.event-approval-card,.event-meta-card{border-radius:14px;padding:.8rem;display:grid;gap:.65rem}.event-meta-grid{margin:0;display:grid;gap:.42rem}.event-meta-row{display:grid;grid-template-columns:minmax(88px,110px) minmax(0,1fr);gap:.45rem;align-items:start}.event-meta-row dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.event-meta-row dd{margin:0;font-size:.84rem;line-height:1.25;overflow-wrap:anywhere}.event-meta-row dd .event-meta-project{font-weight:600}.event-approval-button-row{display:grid;gap:.45rem}.event-approval-button-row>*{width:100%;justify-content:center}.event-tabs--refresh{margin:0 1rem 1rem;border-radius:14px;padding:.8rem;gap:.65rem}.event-tabs-toolbar{display:grid;gap:.45rem}.event-tabs-header{gap:.35rem}.event-tab-trigger{gap:.38rem;padding:.34rem .64rem}.event-tab-count,.event-tab-trigger{display:inline-flex;align-items:center;border-radius:999px}.event-tab-count{min-width:1.2rem;height:1.2rem;padding:0 .32rem;border:1px solid color-mix(in srgb,var(--edge) 14%,#d8d4cb);background:rgba(255,255,255,.65);justify-content:center;font-size:.68rem;line-height:1}.event-tab-trigger.active .event-tab-count{border-color:color-mix(in srgb,var(--accent-2) 22%,#d4dbd4);background:color-mix(in srgb,var(--accent-2) 8%,white)}.event-tabs-help{margin:0;font-size:.78rem;color:var(--ink-soft)}.event-empty-state{margin:0;color:var(--ink-soft);font-size:.84rem}.comment-form--refresh{border-top:1px solid color-mix(in srgb,var(--edge) 10%,#ddd8cf);padding-top:.65rem;gap:.5rem}.comment-form--refresh label{display:grid;gap:.35rem;font-size:.78rem}.comment-form--refresh button{justify-self:end}.comments-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.comment-item{border:1px solid color-mix(in srgb,var(--edge) 12%,#ddd8cf);border-radius:12px;padding:.6rem;background:rgba(255,255,255,.58);display:grid;gap:.3rem}.comment-item-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.3}.comment-item-meta{color:var(--ink-soft);font-size:.74rem}.activity-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.activity-item{border:1px solid color-mix(in srgb,var(--edge) 12%,#ddd8cf);border-radius:12px;padding:.6rem;background:rgba(255,255,255,.58);display:grid;gap:.45rem}.activity-item-head{display:grid;gap:.28rem}.activity-action-pill{width:fit-content;border-radius:999px;padding:.1rem .45rem;border:1px solid color-mix(in srgb,var(--edge) 14%,#d8d4cb);background:rgba(255,255,255,.7);font-size:.68rem;font-weight:700;text-transform:capitalize}.activity-action-pill.action-created{border-color:color-mix(in srgb,var(--accent-2) 22%,#d3ddd4);background:color-mix(in srgb,var(--accent-2) 8%,white)}.activity-action-pill.action-moved,.activity-action-pill.action-updated{border-color:color-mix(in srgb,var(--accent) 20%,#dfd2c6);background:color-mix(in srgb,var(--accent) 8%,white)}.activity-item-summary{margin:0;font-size:.8rem;color:var(--ink-soft)}.activity-item-summary strong{color:var(--ink)}.activity-changes{margin:0;padding:0;list-style:none;display:grid;gap:.3rem;font-size:.78rem}.activity-changes li{border:1px dashed color-mix(in srgb,var(--edge) 10%,#dfdbd2);border-radius:10px;padding:.35rem .45rem;background:rgba(255,255,255,.36);display:grid;grid-template-columns:minmax(82px,120px) auto minmax(0,1fr) minmax(0,1fr);gap:.35rem;align-items:center;color:var(--ink-soft)}.activity-changes li>span:first-child{color:var(--ink);font-weight:600}.activity-change-arrow{color:var(--ink-soft)}.activity-changes em,.activity-changes strong{font-style:normal;overflow-wrap:anywhere}.activity-changes em{color:var(--ink-soft)}.activity-changes strong{color:var(--ink);font-weight:600}@media (max-width:980px){.event-modal-layout--edit{grid-template-columns:1fr}.event-modal-sidebar{order:2}.event-modal-main{order:1}.event-tabs--refresh{margin-top:0}}@media (max-width:760px){.event-modal-header{padding:.8rem .85rem;gap:.6rem}.event-modal-header h2{font-size:1.08rem}.event-modal-subtitle{font-size:.78rem}.event-callout{margin-inline:.85rem}.event-modal-layout{padding:.75rem .85rem;gap:.75rem}.event-tabs--refresh{margin:0 .85rem .85rem;padding:.7rem}.event-form--refresh .row-fields,.event-form-grid{grid-template-columns:1fr;gap:.55rem}.event-form-footer--refresh{flex-direction:column;align-items:stretch}.event-form-footer-left,.event-form-footer-right{width:100%;justify-content:flex-end}.event-form-footer-left{justify-content:flex-start}.event-form-footer-right>button{flex:1 1 auto}.event-meta-row{grid-template-columns:1fr;gap:.1rem}.event-meta-row dt{letter-spacing:.06em}.activity-changes li{grid-template-columns:1fr;gap:.12rem;align-items:start}.activity-change-arrow{display:none}}.skeleton-panel{border-color:color-mix(in srgb,var(--edge) 20%,#d8d3c9);background:radial-gradient(circle at 12% 12%,rgba(47,139,119,.08),transparent 42%),radial-gradient(circle at 88% 16%,rgba(207,111,53,.1),transparent 45%),linear-gradient(180deg,rgba(255,255,255,.84),rgba(249,247,240,.9));box-shadow:0 12px 24px rgba(17,28,36,.05),inset 0 1px 0 rgba(255,255,255,.82)}.skeleton-ink-line{background:color-mix(in srgb,var(--ink) 9%,white)}.skeleton-block{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,243,236,.94));border-color:color-mix(in srgb,var(--edge) 14%,#ddd7cd)}.skeleton-block:after{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.5) 18%,rgba(47,139,119,.12) 42%,rgba(207,111,53,.12) 58%,rgba(255,255,255,.5) 82%,rgba(255,255,255,0))}.skeleton-range-controls-skeleton{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,245,238,.78))}.skeleton-calendar-cell-card{border-color:color-mix(in srgb,var(--edge) 16%,#dad5cc);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(248,246,240,.84));box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.skeleton-calendar-chip-accent{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,245,238,.95));border-color:color-mix(in srgb,var(--accent) 18%,#e1d2c8)}.skeleton-list-card{border-color:color-mix(in srgb,var(--edge) 16%,#dad5cc);background:color-mix(in srgb,var(--card) 84%,white)}.skeleton-list-avatar{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,244,238,.92))}.skeleton-manager-item{border-color:color-mix(in srgb,var(--edge) 16%,#dad5cc);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(247,245,239,.82))}.skeleton-manager-form-skeleton{background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(247,244,237,.8))}.skeleton-events-item{border-color:color-mix(in srgb,var(--edge) 16%,#dad5cc);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(247,245,239,.82))}.skeleton-mini-cell{border-color:color-mix(in srgb,var(--edge) 14%,#ddd8cf);background:rgba(255,255,255,.62)}@media (max-width:1320px){.calendar-hero{grid-template-columns:1fr}.calendar-hero-side{width:100%;min-width:0}.calendar-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){.calendar-toolbar-row{grid-template-columns:1fr;align-items:stretch}.calendar-date-nav{width:fit-content;max-width:100%}.calendar-controls-panel .calendar-range-controls--panel,.calendar-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-reset{margin-left:0}.legend-week-layout{grid-template-columns:1fr}.legend-week-layout .type-legend{height:auto;min-height:0;overflow:visible}}@media (max-width:760px){.app-shell{padding-inline:.75rem}.calendar-hero{border-radius:18px;padding:.75rem}.calendar-view-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-view-tab span{display:none}.calendar-view-tab{min-height:2.35rem;gap:0}.nav-today-button span{display:none}.nav-today-button{padding-inline:.55rem}.action-button span{font-size:.78rem}.calendar-actions--rich{gap:.35rem}.calendar-actions--rich .action-button{padding-inline:.55rem}.calendar-summary-grid{grid-template-columns:1fr;gap:.55rem}.calendar-controls-panel .calendar-range-controls--panel{grid-template-columns:1fr;gap:.5rem}.calendar-filter-chip-row{gap:.35rem}.calendar-filter-chip{width:100%;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.calendar-controls-summary:after,.calendar-view-tab,.event-chip,.mini-event-chip{transition:none}}