:root{--fc-sticky-header-footer-z: 3;--fc-popover-z: 4}.fc-nH{z-index:var(--fc-popover-z)!important}.fc-7s{isolation:isolate}.fc-wa,.fc-wa *,.fc-wa *:before,.fc-wa *:after{box-sizing:border-box!important}.fc-4m,.fc-4m *{cursor:not-allowed!important}.fc-eM{-ms-overflow-style:none!important;scrollbar-width:none!important}.fc-eM::-webkit-scrollbar{display:none!important}.fc-Qo{flex-shrink:0!important}.fc-fi .fc-fl{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important}.fc-Jf .fc-fl>*{float:left!important}[dir=rtl] .fc-Jf .fc-fl>*,.fc-Jf[dir=rtl] .fc-fl>*{float:right!important}.fc-Jf .fc-fl:after{content:""!important;display:block!important;clear:both!important}.fc-DP{cursor:pointer!important}.fc-An{cursor:n-resize!important}.fc-lZ{cursor:s-resize!important}.fc-9V{cursor:w-resize!important}[dir=rtl] .fc-9V,.fc-70{cursor:e-resize!important}[dir=rtl] .fc-70{cursor:w-resize!important}.fc-gQ{cursor:col-resize!important}.fc-mN,.fc-2d,.fc-B0{position:absolute!important;box-sizing:content-box!important;width:100%!important;height:100%!important}.fc-mN{padding:10px!important;margin:-10px!important}.fc-2d{padding-left:10px!important;padding-right:10px!important;margin-left:-10px!important;margin-right:-10px!important}.fc-B0{padding-top:10px!important;padding-bottom:10px!important;margin-top:-10px!important;margin-bottom:-10px!important}.fc-Z1{position:absolute;inset:0 -5px}.fc-1Y{-webkit-user-select:none;-moz-user-select:none;user-select:none}.fc-a9{visibility:hidden}.fc-Tu{border:0!important}.fc-hU{border-left:0!important;border-right:0!important;border-bottom:0!important}.fc-3e{border-top:0!important;border-left:0!important;border-right:0!important}.fc-PB,.fc-II{border-top:0!important;border-bottom:0!important}.fc-PB{border-inline-end:0!important}.fc-II{border-inline-start:0!important}.fc-MQ{border-left:0!important;border-right:0!important}.fc-Vo{border-top:0!important;border-bottom:0!important}.fc-2l{border-inline-start:1px solid transparent!important}.fc-Ao{display:flex!important;flex-direction:row!important}.fc-HH{display:flex!important;flex-direction:column!important}.fc-GV{flex-grow:1!important}.fc-g2{flex-grow:1!important;flex-basis:0!important;min-width:0!important;min-height:0!important}.fc-Ot{min-height:0!important}.fc-hp{flex-grow:1!important;flex-basis:0!important;min-width:0!important}.fc-fi .fc-uD,.fc-fi .fc-jM{display:flex!important;flex-direction:column!important}.fc-OJ{padding:0!important}.fc-oE{margin:0!important}.fc-V3{margin-top:0!important;margin-bottom:0!important}.fc-SS{margin-left:0!important;margin-right:0!important}.fc-y2{white-space:nowrap!important}.fc-CN{white-space:pre!important}.fc-gZ{overflow-anchor:none}.fc-FA{overflow:hidden!important}.fc-7T{white-space:nowrap!important;overflow:hidden!important}.fc-cc{position:relative!important}.fc-H0{position:absolute!important}.fc-6t{inset-inline-start:0!important}.fc-ct{position:absolute!important;inset:0!important}.fc-iv,.fc-Uu{position:absolute!important;left:0!important;right:0!important}.fc-7k,.fc-Yw{position:absolute!important;top:0!important;bottom:0!important}.fc-iv{top:0!important}.fc-Yw{left:0!important;right:0!important;width:0!important}@media not print{.fc-Ip{position:sticky!important}.fc-CS{position:sticky!important;top:0!important}.fc-tT{position:sticky!important;inset-inline-start:0!important}.fc-hy{position:sticky!important;top:0!important;z-index:var(--fc-sticky-header-footer-z)!important}}.fc-Np{box-sizing:content-box!important}.fc-aP{position:absolute!important;left:-10000px!important}.fc-6H{align-items:center!important}.fc-K8{align-items:flex-start!important}.fc-E3{align-items:flex-end!important}.fc-Px{position:sticky!important;bottom:0!important;z-index:var(--fc-sticky-header-footer-z)!important}.fc-J4>*{margin-top:-1px!important}.fc-J4>*>*{height:1px!important}.fc-Jf .fc-Yi{-moz-column-break-inside:avoid!important;break-inside:avoid!important}.fc-Jf .fc-uD{display:table!important;table-layout:fixed!important;width:100%!important;border-spacing:0!important;border-collapse:separate!important}.fc-Jf .fc-jM{display:table-header-group!important;-moz-column-break-inside:avoid!important;break-inside:avoid!important;background:#fff!important;z-index:9999!important;position:relative!important}.fc-fx{min-height:6em!important}.fc-BS{z-index:0}.fc-iu{z-index:1}.fc-Bk:focus-visible{z-index:2}.fc-classic-n5m{font-size:16px;line-height:1.5;--fc-classic-border-style: solid}.fc-classic-Z9U{appearance:button;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0;margin:0;border:0;padding:0}.fc-classic-JiE{color:inherit;text-decoration:inherit}.fc-classic-3Lc{pointer-events:none}.fc-classic-1EY{position:absolute}.fc-classic-eYX{position:relative}.fc-classic-OUe{position:sticky}.fc-classic-MaV{inset-inline:0}.fc-classic-AWB{inset-block:0}.fc-classic-11a{inset-inline-start:-4px}.fc-classic-rbS{inset-inline-start:0}.fc-classic-bEw{inset-inline-end:-4px}.fc-classic-2w8{inset-inline-end:2px}.fc-classic-dnf{inset-inline-end:-3px}.fc-classic-YDC{top:-4px}.fc-classic-n9G{top:0}.fc-classic-2ik{top:2px}.fc-classic-ERR{top:50%}.fc-classic-fJL{bottom:-4px}.fc-classic-jGI{bottom:0}.fc-classic-1V6{left:50%}.fc-classic-88I{order:-1}.fc-classic-gMS{margin:4px}.fc-classic-bvX{margin:8px}.fc-classic-jD5{margin:16px}.fc-classic-J04{margin-inline:-5px}.fc-classic-cKZ{margin-inline:2px}.fc-classic-rVY{margin-inline:4px}.fc-classic-fn8{margin-inline:8px}.fc-classic-148{margin-inline:1px}.fc-classic-cJ3{margin-block:2px}.fc-classic-V9v{margin-block:4px}.fc-classic-2tF{margin-block:8px}.fc-classic-Jzj{margin-inline-start:2px}.fc-classic-Mde{margin-inline-start:8px}.fc-classic-qvL{margin-inline-start:1px}.fc-classic-kp0{margin-inline-end:-4px}.fc-classic-3e1{margin-inline-end:2px}.fc-classic-B3G{margin-inline-end:2.5%}.fc-classic-9hC{margin-inline-end:1px}.fc-classic-Dq8{margin-top:-4px}.fc-classic-a10{margin-top:-5px}.fc-classic-Ika{margin-bottom:1px}.fc-classic-nHS{margin-bottom:-1px}.fc-classic-F99{margin-left:-4px}.fc-classic-eF2{display:contents}.fc-classic-I48{display:block}.fc-classic-dl1{display:flex}.fc-classic-i3N{display:grid}.fc-classic-pps{display:none}.fc-classic-3wQ{width:8px;height:8px}.fc-classic-vnf{width:16px;height:16px}.fc-classic-XUJ{width:20px;height:20px}.fc-classic-uuA{height:8px}.fc-classic-zrJ{height:12px}.fc-classic-84e{min-height:2px}.fc-classic-mhE{min-height:12px}.fc-classic-toR{min-height:1px}.fc-classic-roZ{width:50%}.fc-classic-hza{width:8px}.fc-classic-4Tv{width:5px}.fc-classic-kMV{max-width:200px}.fc-classic-2KU{min-width:0}.fc-classic-aNc{min-width:220px}.fc-classic-yi0{flex-shrink:0}.fc-classic-1Zl{flex-shrink:1}.fc-classic-OLq{flex-shrink:100}.fc-classic-1El{flex-grow:1}.fc-classic-jmT{rotate:180deg}.fc-classic-sgX{flex-direction:column}.fc-classic-1sP{flex-direction:row}.fc-classic-dNl{flex-wrap:wrap}.fc-classic-XpK{align-items:center}.fc-classic-N2M{justify-content:space-between}.fc-classic-E9P{justify-content:center}.fc-classic-LMv{justify-content:flex-end}.fc-classic-aTF{gap:2px}.fc-classic-NWN{gap:4px}.fc-classic-wwb{gap:12px}.fc-classic-yth{gap:20px}.fc-classic-sI7{align-self:flex-start}.fc-classic-pKG{overflow:hidden}.fc-classic-Ig4{border-radius:4px}.fc-classic-AAA{border-radius:3.40282e38px}.fc-classic-Fvv{border-radius:4px}.fc-classic-kmj{border-start-start-radius:4px;border-end-start-radius:4px}.fc-classic-Skl{border-start-end-radius:4px;border-end-end-radius:4px}.fc-classic-C2g{border-end-end-radius:4px}.fc-classic-Z7Q{border-top-left-radius:4px;border-top-right-radius:4px}.fc-classic-2qh{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.fc-classic-wsy{border-style:var(--fc-classic-border-style);border-width:1px}.fc-classic-5JF{border-style:var(--fc-classic-border-style);border-width:4px}.fc-classic-yDA{border-style:var(--fc-classic-border-style);border-width:5px}.fc-classic-Mjo{border-style:var(--fc-classic-border-style);border-width:calc(var(--fc-classic-small-dot-width) / 2)}.fc-classic-GOm{border-style:var(--fc-classic-border-style);border-width:calc(var(--fc-classic-large-dot-width) / 2)}.fc-classic-1Wx{border-inline-style:var(--fc-classic-border-style);border-inline-width:1px}.fc-classic-ybF{border-inline-style:var(--fc-classic-border-style);border-inline-width:5px}.fc-classic-JIC{border-block-style:var(--fc-classic-border-style);border-block-width:1px}.fc-classic-XM3{border-block-style:var(--fc-classic-border-style);border-block-width:5px}.fc-classic-3J4{border-inline-start-style:var(--fc-classic-border-style);border-inline-start-width:1px}.fc-classic-hhi{border-inline-start-style:var(--fc-classic-border-style);border-inline-start-width:5px}.fc-classic-jIH{border-inline-start-style:var(--fc-classic-border-style);border-inline-start-width:6px}.fc-classic-USt{border-inline-end-style:var(--fc-classic-border-style);border-inline-end-width:1px}.fc-classic-Bda{border-inline-end-style:var(--fc-classic-border-style);border-inline-end-width:5px}.fc-classic-ku3{border-top-style:var(--fc-classic-border-style);border-top-width:1px}.fc-classic-bLA{border-top-style:var(--fc-classic-border-style);border-top-width:6px}.fc-classic-zi1{border-bottom-style:var(--fc-classic-border-style);border-bottom-width:1px}.fc-classic-TN2{--fc-classic-border-style: dotted;border-style:dotted}.fc-classic-C1x{border-color:var(--fc-classic-border)}.fc-classic-sYT{border-color:var(--fc-classic-now)}.fc-classic-0Pr{border-color:var(--fc-classic-primary)}.fc-classic-vXO{border-color:var(--fc-classic-button-border)}.fc-classic-rQI{border-color:var(--fc-classic-button-strong-border)}.fc-classic-C0k{border-color:var(--fc-classic-strong-border)}.fc-classic-lNM{border-color:var(--fc-event-color)}.fc-classic-d0j{border-color:#0000}.fc-classic-Pqk{border-inline-color:#0000}.fc-classic-rif{border-block-color:#0000}.fc-classic-0qY{border-inline-start-color:var(--fc-classic-now)}.fc-classic-LaM{border-inline-start-color:#000}.fc-classic-5JV{border-inline-end-color:#000}.fc-classic-1Aa{border-top-color:var(--fc-classic-now)}.fc-classic-Jk3{background-color:var(--fc-classic-background)}.fc-classic-iYS{background-color:var(--fc-classic-faint)}.fc-classic-hLU{background-color:var(--fc-classic-highlight)}.fc-classic-k3f{background-color:var(--fc-classic-muted)}.fc-classic-YjJ{background-color:var(--fc-event-color)}@media not print{@supports (color:color-mix(in lab,red,red)){.fc-classic-hsC{background-color:color-mix(in oklab,var(--fc-event-color) var(--fc-classic-background-event-opacity),transparent)}}@supports not (color:color-mix(in lab,red,red)){.fc-classic-hsC{position:relative;isolation:isolate}.fc-classic-hsC:before{content:"";position:absolute;inset:0;background-color:var(--fc-event-color);opacity:var(--fc-classic-background-event-opacity);z-index:-1}}}.fc-classic-JWq{background-color:var(--fc-classic-button)}.fc-classic-Adi{background-color:var(--fc-classic-button-strong)}.fc-classic-KUX{padding:2px}.fc-classic-XJa{padding:6px}.fc-classic-3N5{padding:8px}.fc-classic-7A6{padding:1px}.fc-classic-oQ2{padding-inline:2px}.fc-classic-Eaq{padding-inline:10px}.fc-classic-Apf{padding-inline:12px}.fc-classic-F1o{padding-inline:1px}.fc-classic-2rx{padding-block:2px}.fc-classic-Jhn{padding-block:4px}.fc-classic-End{padding-block:6px}.fc-classic-dl6{padding-block:8px}.fc-classic-P9h{padding-block:60px}.fc-classic-z5u{padding-block:1px}.fc-classic-a7i{padding-inline-start:2px}.fc-classic-166{padding-top:2px}.fc-classic-8ub{padding-bottom:2px}.fc-classic-cM0{padding-bottom:16px}.fc-classic-HXA{text-align:center}.fc-classic-2HE{text-align:end}.fc-classic-AVD{font-size:24px;line-height:calc(2/1.5)}.fc-classic-vQz{font-size:11px;line-height:1.09091}.fc-classic-1Po{font-size:16px;line-height:1.5}.fc-classic-9yp{font-size:14px;line-height:calc(1.25/.875)}.fc-classic-a3B{font-size:12px;line-height:calc(1/.75)}.fc-classic-DIS{font-weight:700}.fc-classic-IPx{text-overflow:ellipsis}.fc-classic-TZ4{white-space:nowrap}.fc-classic-jm6{white-space:pre}.fc-classic-taq{color:var(--fc-classic-faint-foreground)}.fc-classic-m9h{color:var(--fc-classic-muted-foreground)}.fc-classic-GAX{color:var(--fc-classic-foreground)}.fc-classic-RnT{color:var(--fc-classic-button-foreground)}.fc-classic-i9F{color:var(--fc-event-contrast-color)}.fc-classic-L1Y{font-style:italic}.fc-classic-lMo{opacity:.5}.fc-classic-Q3Z{opacity:.65}.fc-classic-iTG{opacity:.75}.fc-classic-MGT{opacity:var(--fc-classic-background-event-foreground-opacity)}.fc-classic-1kP{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.fc-classic-tkw{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.fc-classic-qNs{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.fc-classic-A3h{box-shadow:0 0 0 1px var(--fc-classic-ring-color, currentcolor)}.fc-classic-yKG{--fc-classic-ring-color: var(--fc-classic-background) }.fc-classic-2R2{outline-style:solid;outline-width:1px}.fc-classic-0Bj{outline-style:solid;outline-width:2px}.fc-classic-fFh{outline-offset:-2px}.fc-classic-3Xj{outline-offset:2px}.fc-classic-lYz{outline-color:var(--fc-classic-button-outline)}.fc-classic-zIi{outline-color:var(--fc-classic-primary)}.fc-classic-SDU{background:linear-gradient(var(--fc-classic-muted),var(--fc-classic-muted))var(--fc-classic-background)}.fc-classic-BaR{background:linear-gradient(var(--fc-classic-strong),var(--fc-classic-strong))var(--fc-classic-background)}.fc-classic-mAY:not(:is(:where(.fc-classic-bCs):hover *)){opacity:.65}@media not all and (hover:hover){.fc-classic-mAY{opacity:.65}}@media not print{.fc-classic-hbn{background-color:var(--fc-classic-today)}}@media(hover:hover){.fc-classic-vs6:is(:where(.fc-classic-bCs):hover *){display:block}.fc-classic-Ogp:is(:where(.fc-classic-bCs):hover *){text-decoration-line:underline}}.fc-classic-uk6:first-child{border-start-start-radius:4px;border-end-start-radius:4px}.fc-classic-Tuc:last-child{border-start-end-radius:4px;border-end-end-radius:4px}@media(hover:hover){.fc-classic-bqK:hover{border-color:var(--fc-classic-button-strong-border)}.fc-classic-9Rj:hover{background-color:var(--fc-classic-button-strong)}.fc-classic-Ubk:hover{background-color:var(--fc-classic-faint)}.fc-classic-4yP:hover{background-color:var(--fc-classic-muted)}.fc-classic-Eu0:hover{text-decoration-line:underline}}.fc-classic-OIx:focus-visible{background-color:var(--fc-classic-faint)}.fc-classic-tCP:focus-visible{background-color:var(--fc-classic-muted)}.fc-classic-uqo:focus-visible{outline-style:solid;outline-width:2px}.fc-classic-sOR:focus-visible{outline-style:solid;outline-width:3px}.fc-classic-aIH:active{border-color:var(--fc-classic-button-strong-border)}.fc-classic-5ky:active{background-color:var(--fc-classic-button-strong)}.fc-classic-28F:active{background-color:var(--fc-classic-muted)}.fc-classic-8gz:active{background-color:var(--fc-classic-strong)}@media print{.fc-classic-jsy{border-width:1px}.fc-classic-nQ5{border-color:var(--fc-classic-button-strong-border)}.fc-classic-DO7{border-color:var(--fc-event-color)}.fc-classic-4MR{border-color:#000}.fc-classic-vwH{background-color:#fff}.fc-classic-cfp{color:#000}}[dir=rtl] .fc-classic-jY6{rotate:none}[dir=rtl] .fc-classic-asP{rotate:180deg}:root{--fc-classic-button: #334155;--fc-classic-button-border: #334155;--fc-classic-button-strong: #1e293b;--fc-classic-button-strong-border: #0f172a;--fc-classic-button-outline: #47556980;--fc-classic-button-foreground: #fff;--fc-classic-primary: #3788d8;--fc-classic-primary-foreground: #fff;--fc-classic-event: var(--fc-classic-primary);--fc-classic-event-contrast: var(--fc-classic-primary-foreground);--fc-classic-background-event: #22c55e;--fc-classic-background-event-opacity: 15%;--fc-classic-background-event-foreground-opacity: 50%;--fc-classic-highlight: #cffafe66;--fc-classic-today: #facc1526;--fc-classic-now: #ef4444;--fc-classic-small-dot-width: 8px;--fc-classic-large-dot-width: 10px;--fc-classic-background: #ffffff;--fc-classic-faint: #0000000A;--fc-classic-muted: #00000014;--fc-classic-strong: #00000024;--fc-classic-foreground: #030712;--fc-classic-faint-foreground: #9ca3af;--fc-classic-muted-foreground: #6b7280;--fc-classic-border: #ddd;--fc-classic-strong-border: #9ca3af}@media not print{[data-color-scheme=dark]{--fc-classic-highlight: #3b82f633;--fc-classic-today: #fef08a1A;--fc-classic-background: #030712;--fc-classic-faint: #ffffff0A;--fc-classic-muted: #ffffff14;--fc-classic-strong: #ffffff24;--fc-classic-foreground: #fff;--fc-classic-faint-foreground: #4b5563;--fc-classic-muted-foreground: #9ca3af;--fc-classic-border: #1f2937;--fc-classic-strong-border: #374151}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f6f7fb;--surface: #fff;--surface-2: #f0f3f8;--text: #172033;--muted: #687287;--border: #dfe3eb;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #c92a2a;--success: #16803b;--warning: #a86200;--shadow: 0 1px 3px rgb(25 36 55 / 8%)}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1320;--surface: #171e2d;--surface-2: #212a3b;--text: #edf1f7;--muted: #a9b2c2;--border: #313b4d;--primary: #6190ff;--primary-hover: #7ca3ff;--danger: #ff7777;--success: #5ad680;--warning: #ffc266;--shadow: none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0e1320;--surface: #171e2d;--surface-2: #212a3b;--text: #edf1f7;--muted: #a9b2c2;--border: #313b4d;--primary: #6190ff;--primary-hover: #7ca3ff;--danger: #ff7777;--success: #5ad680;--warning: #ffc266;--shadow: none}}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--primary)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.35rem;font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.025em}h2{font-size:1.08rem}.shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.shell>aside{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.25rem .85rem;background:#111827;color:#dbe3f0;z-index:40}.brand{display:flex;align-items:center;gap:.7rem;margin:0 .55rem 2rem;font-weight:750;color:#fff}.brand-mark,.login-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;font-size:.8rem;letter-spacing:.04em}.shell nav{display:grid;gap:.3rem}.shell nav a,.logout{display:flex;align-items:center;gap:.75rem;border:0;border-radius:8px;padding:.72rem .8rem;color:#b8c2d1;background:transparent;text-decoration:none;text-align:left;cursor:pointer}.shell nav a span{display:inline-grid;place-items:center;width:1.1rem;font-size:1.15rem}.shell nav a:hover,.shell nav a.active,.logout:hover{color:#fff;background:#263145}.logout{margin-top:auto;width:100%}.shell>main{min-width:0}.content{width:min(1500px,100%);margin-inline:auto;padding:2.25rem clamp(1rem,3vw,3rem) 4rem}.mobile-bar,.nav-scrim{display:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.page-header p,.muted{color:var(--muted)}.page-header p{margin-bottom:0}.actions,.card-actions,.modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.55rem .85rem;border:1px solid transparent;border-radius:7px;font-weight:650;font-size:.9rem;text-decoration:none;white-space:nowrap;cursor:pointer}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-hover)}.button.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.button.secondary:hover,.button.ghost:hover{background:var(--surface-2)}.button.ghost{background:transparent;color:var(--text)}.button.danger{color:var(--danger);background:transparent;border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.button.danger:hover{background:color-mix(in srgb,var(--danger) 9%,transparent)}.card{border:1px solid var(--border);border-radius:11px;padding:1.2rem;background:var(--surface);box-shadow:var(--shadow)}.card>:last-child{margin-bottom:0}.card-title{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:1rem}.card-title h2{margin:0 0 .25rem;font-size:1.15rem}.card-title p{margin:0}.card-title .status,.card-title .pill{margin-left:auto}.color-dot{flex:0 0 auto;display:inline-block;width:11px;height:11px;margin-top:.35rem;border:1px solid rgb(0 0 0 / 18%);border-radius:50%}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.77rem;word-break:break-all}.disabled-card{opacity:.7}.status{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:99px;background:var(--surface-2);font-size:.77rem;font-weight:700}.status span{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-success span{background:var(--success)}.status-error span{background:var(--danger)}.status-warning span{background:var(--warning)}.status-running span{background:var(--primary);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.35}}.notice{padding:.75rem .9rem;border-radius:7px;background:var(--surface-2)}.notice.error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.notice.warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.loading,.empty{min-height:240px;display:grid;place-items:center;color:var(--muted);text-align:center;line-height:2.5}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.stat-grid .card{display:flex;min-height:130px;flex-direction:column;justify-content:space-between}.stat-grid span{color:var(--muted);font-size:.9rem}.stat-grid strong{font-size:2.15rem}.stat-grid .stat-alert strong{color:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin:0}.details.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.details div{min-width:0}.details .full{grid-column:1 / -1}.details dt{color:var(--muted);font-size:.78rem;margin-bottom:.25rem}.details dd{margin:0;overflow-wrap:anywhere}.quick-links{display:grid;gap:.7rem}.quick-links a{display:block;border-radius:7px;padding:.65rem .75rem;background:var(--surface-2);text-decoration:none;font-weight:600}.source-list,.combined-grid{display:grid;gap:1rem}.combined-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;padding:.8rem 0 1rem;border-top:1px solid var(--border)}.source-facts span{overflow-wrap:anywhere;font-size:.88rem}.source-facts small,.rule-summary small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.2rem}.card-actions{padding-top:1rem;margin-top:.2rem;border-top:1px solid var(--border)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--primary) 18%,var(--bg)),var(--bg) 42%)}.login-card{width:min(430px,100%);padding:2rem}.login-logo{width:48px;height:48px;margin-bottom:1.4rem}.login-card>p{color:var(--muted);margin-bottom:1.5rem}.form-stack{display:grid;gap:1rem}label{display:grid;align-content:start;gap:.4rem;color:var(--text);font-size:.86rem;font-weight:650}label small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:40px;padding:.55rem .65rem;border:1px solid var(--border);border-radius:7px;outline:none;background:var(--surface)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}input[type=color]{max-width:100px;padding:.2rem}.check{display:flex;align-items:center;gap:.55rem;align-self:end;min-height:40px;cursor:pointer}.check input{width:17px;min-height:17px;accent-color:var(--primary)}.check .color-dot{margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}fieldset{margin:.2rem 0;padding:1rem;border:1px solid var(--border);border-radius:8px}legend{padding:0 .4rem;font-weight:700}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:#050a1499;z-index:100}.modal{width:min(600px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:12px;background:var(--surface);box-shadow:0 20px 60px #00000059}.modal.wide{width:min(900px,100%)}.modal>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface);z-index:1}.modal>header h2{margin:0}.modal-body{padding:1.25rem}.modal-actions{padding-top:1rem;border-top:1px solid var(--border)}.modal-actions>span{flex:1}.icon-button,.text-button{display:inline-grid;place-items:center;border:0;background:transparent;cursor:pointer;color:inherit}.icon-button{width:34px;height:34px;border-radius:6px;font-size:1.4rem}.icon-button:hover{background:var(--surface-2)}.icon-button:disabled{opacity:.3}.text-button{padding:.3rem;color:var(--primary);font-size:.8rem;font-weight:700}.test-success{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.test-failed{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.test-message{margin:.5rem 0 0;color:var(--warning);font-size:.84rem}.pill{display:inline-block;padding:.3rem .55rem;border-radius:99px;background:var(--surface-2);font-size:.75rem;font-weight:700}.pill.protected{color:var(--primary)}.rule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0}.rule-summary>span{padding:.5rem .65rem;border-radius:7px;background:var(--surface-2)}.rule-summary small{margin:.2rem 0 0}.subscription{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;margin-bottom:1rem}.subscription input{font-family:ui-monospace,monospace;font-size:.78rem}.source-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.rules{border:1px solid var(--border);border-radius:8px;overflow:hidden}.rules-head,.rule-row{display:grid;grid-template-columns:1fr 1.15fr 1.25fr;gap:.75rem;align-items:center;padding:.7rem}.rules-head{background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:700}.rule-row+.rule-row{border-top:1px solid var(--border)}.rule-name{display:flex;align-items:center;gap:.15rem;font-weight:700}.rule-name>span{flex:1}.mobile-label{display:none}.calendar-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start}.calendar-sidebar{display:grid;gap:1rem}.calendar-sidebar h2{margin-bottom:.8rem}.segmented{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1rem;border:1px solid var(--border);border-radius:7px;overflow:hidden}.segmented button{min-height:38px;border:0;background:var(--surface);cursor:pointer}.segmented button.active{background:var(--primary);color:#fff}.filter-heading{display:flex;align-items:center;justify-content:space-between}.filter-heading h2{margin-bottom:0}.filter-list{display:grid;gap:.2rem;margin-top:.6rem}.filter-list .check{min-height:34px;font-weight:500}.legend{display:grid;gap:.55rem}.event-key{display:flex;align-items:center;gap:.55rem;font-size:.83rem}.event-key i{width:1rem;font-style:normal;font-weight:800;text-align:center}.calendar-card{min-width:0;padding:1rem;--fc-classic-primary: var(--primary);--fc-classic-primary-foreground: white;--fc-classic-button: var(--surface-2);--fc-classic-button-border: var(--border);--fc-classic-button-strong: var(--primary);--fc-classic-button-strong-border: var(--primary);--fc-classic-button-foreground: var(--text);--fc-classic-button-outline: color-mix(in srgb, var(--primary) 45%, transparent);--fc-classic-background: var(--surface);--fc-classic-faint: color-mix(in srgb, var(--text) 4%, transparent);--fc-classic-muted: var(--surface-2);--fc-classic-strong: color-mix(in srgb, var(--text) 14%, transparent);--fc-classic-foreground: var(--text);--fc-classic-faint-foreground: color-mix(in srgb, var(--muted) 65%, transparent);--fc-classic-muted-foreground: var(--muted);--fc-classic-border: var(--border);--fc-classic-strong-border: color-mix(in srgb, var(--border) 65%, var(--text));--fc-classic-today: color-mix(in srgb, var(--primary) 9%, transparent)}.calendar-card [role=button],.calendar-card button{cursor:pointer}.calendar-event{display:flex;align-items:baseline;gap:.25rem;min-width:0;overflow:hidden}.availability-icon{flex:0 0 auto}.event-time{flex:0 0 auto;font-size:.78em}.event-title{overflow:hidden;text-overflow:ellipsis;font-weight:600}.availability-tentative{border-style:dashed!important}.availability-freeTentative{border-style:dashed!important;opacity:.72}.availability-free{opacity:.7}.availability-cancelled{opacity:.6;text-decoration:line-through}.availability-banner{display:flex;gap:.55rem;align-items:center;margin-bottom:1rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:7px;font-weight:700}.pre-line{white-space:pre-line}.settings-card{margin-bottom:1rem}.save-bar{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:.9rem 0;background:var(--bg)}.success-message{color:var(--success);font-weight:700}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.source-facts{grid-template-columns:repeat(3,1fr)}.combined-grid{grid-template-columns:1fr}.details.compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.shell{display:block}.shell>aside{position:fixed;left:0;transform:translate(-105%);width:min(280px,85vw);transition:transform .18s ease}.shell>aside.open{transform:translate(0)}.mobile-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.7rem;height:54px;padding:0 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.nav-scrim,.filter-scrim{display:block;position:fixed;inset:0;background:#0006;z-index:35}.content{padding-top:1.4rem}.calendar-sidebar{position:fixed;top:54px;left:0;bottom:0;width:min(300px,88vw);overflow-y:auto;padding:1rem;background:var(--bg);transform:translate(-105%);transition:transform .18s;z-index:60}.calendar-sidebar.open{transform:translate(0)}.filter-scrim{z-index:50}.calendar-layout{display:block}.calendar-card{padding:.7rem}}@media(max-width:620px){.content{padding-inline:.75rem}.page-header{align-items:stretch;flex-direction:column}.page-header .actions .button{width:100%}.stat-grid,.dashboard-grid,.form-grid,.form-grid.three,.source-facts,.details,.details.compact,.rule-summary,.source-picker{grid-template-columns:1fr}.stat-grid .card{min-height:100px}.card-actions .button{flex:1}.modal-backdrop{padding:0;align-items:end}.modal{width:100%!important;max-height:92vh;border-radius:12px 12px 0 0}.rules-head{display:none}.rule-row{grid-template-columns:1fr}.mobile-label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem}.subscription{grid-template-columns:1fr}.calendar-card{font-size:.8rem}.event-time{display:none}}
