@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Source+Serif+4:wght@400;600&display=swap";:root{color-scheme:light;--bg: #f6f4ef;--surface: #ffffff;--ink: #1a1f2d;--muted: #6c7486;--accent: #1f3f8f;--accent-strong: #162f6b;--accent-soft: #e5ecff;--border: #e0e2ea;--gold: #f2c44b;--gold-soft: #fff0c9;--season-glow-1: #ffd27a;--season-glow-2: #a9c7ff;--season-glow-3: #f4e1c4;--season-pattern: none;--season-pattern-size: 120px 120px;--season-pattern-opacity: .2;--season-corner: none;--loader-bg: rgba(245, 248, 255, .92);--loader-fill-start: #8bb6ff;--loader-fill-mid: #3c6df0;--loader-fill-end: #1f4bb8;--loader-icon-size: 50px;--loader-icon-bg-size: 50px}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html{font-size:calc(16px * var(--font-scale, 1))}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--ink);background:radial-gradient(circle at top right,var(--season-glow-1),transparent 55%),radial-gradient(circle at 15% 20%,var(--season-glow-2),transparent 45%),radial-gradient(circle at 80% 80%,var(--season-glow-3),transparent 50%),var(--bg);min-height:100vh;font-size:1rem;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--season-pattern);background-size:var(--season-pattern-size);opacity:var(--season-pattern-opacity);pointer-events:none;z-index:0}html[data-season=spring]{--season-glow-1: #ffe3d1;--season-glow-2: #8eeec5;--season-glow-3: #fff1d6;--season-pattern: none;--season-corner: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><g fill='none' stroke='%236fe0a5' stroke-width='2' stroke-linecap='round' opacity='0.5'><path d='M108 16c-10 18-26 26-48 24 6-18 22-28 48-24z'/><path d='M96 40c-8 14-20 20-38 18 5-14 18-22 38-18z'/><path d='M24 118c18-12 36-18 54-16-6 16-24 26-54 16z'/></g></svg>");--loader-bg: rgba(236, 252, 246, .92);--loader-fill-start: #9ee9c6;--loader-fill-mid: #3bcf93;--loader-fill-end: #1c9b6a}html[data-season=summer]{--season-glow-1: #ffd18a;--season-glow-2: #72d9ff;--season-glow-3: #ffe8b6;--season-pattern: none;--season-corner: none;--loader-bg: rgba(255, 247, 226, .92);--loader-fill-start: #ffd08a;--loader-fill-mid: #f2a43a;--loader-fill-end: #d07a1c}html[data-season=fall]{--season-glow-1: #ff9f6d;--season-glow-2: #d7b58b;--season-glow-3: #eac7a2;--season-pattern: none;--season-corner: url(/assets/fall-tree-DDAV8GRm.png);--loader-bg: rgba(251, 240, 226, .92);--loader-fill-start: #f8a07b;--loader-fill-mid: #e06a3c;--loader-fill-end: #b44f2d}html[data-season-strength=bold][data-season=winter]{--season-glow-1: #b8d9ff;--season-glow-2: #7aa8ff;--season-glow-3: #e8f2ff;--loader-bg: rgba(232, 243, 255, .92);--loader-fill-start: #c7ddff;--loader-fill-mid: #6b8cff;--loader-fill-end: #2f56d6}html[data-season-strength=bold][data-season=spring]{--season-glow-1: #ffb487;--season-glow-2: #56e2a4;--season-glow-3: #ffe0b6;--loader-bg: rgba(229, 250, 241, .92);--loader-fill-start: #88f0c0;--loader-fill-mid: #28c27c;--loader-fill-end: #0f8e5c}html[data-season-strength=bold][data-season=summer]{--season-glow-1: #ffb24a;--season-glow-2: #3bb7e6;--season-glow-3: #ffd38a;--loader-bg: rgba(255, 241, 214, .92);--loader-fill-start: #ffd48a;--loader-fill-mid: #f2a13a;--loader-fill-end: #d16f12}html[data-season-strength=bold][data-season=fall]{--season-glow-1: #ff7a2f;--season-glow-2: #c79152;--season-glow-3: #e1ad73;--loader-bg: rgba(250, 231, 213, .92);--loader-fill-start: #ffb08a;--loader-fill-mid: #e16538;--loader-fill-end: #b3522c}html[data-season=winter]{--season-pattern: none;--season-corner: url(/assets/winter-snowflake-CVGUHpHs.png)}html[data-season-strength=bold]{--season-pattern-opacity: .22}html[data-season=winter]{--loader-icon: url(/assets/winter-loader-accent-CTgWj4fu.png)}html[data-season=spring]{--season-corner: url(/assets/spring-loader-accent-YGSawnSe.png);--loader-icon: url(/assets/spring-icon-D2m1OVks.png)}html[data-season=summer]{--loader-icon: url(/assets/summer-sun-B3FgSq7j.png)}html[data-season=fall]{--loader-icon: url(/assets/fall-acorn-CL5y2oyF.png)}html[data-season=halloween]{--season-glow-1: #ff7b2f;--season-glow-2: #4b2c75;--season-glow-3: #f2b36a;--loader-bg: rgba(40, 28, 55, .92);--loader-fill-start: #ffb155;--loader-fill-mid: #ff7b2f;--loader-fill-end: #8f3a12;--season-corner: none;--loader-icon: url(/assets/halloween-pumpkin-Ciw5B-NF.png)}html[data-season=thanksgiving]{--season-glow-1: #ffc26f;--season-glow-2: #b56d2b;--season-glow-3: #f2d6a2;--loader-bg: rgba(255, 244, 226, .92);--loader-fill-start: #ffc26f;--loader-fill-mid: #d07a3a;--loader-fill-end: #8c4a1c;--season-corner: url(/assets/thanks-pumpkin-BztSgU3x.png);--loader-icon: url(/assets/thanks-turkey-B9tXQBY4.png)}html[data-season=christmas]{--season-glow-1: #ff6b6b;--season-glow-2: #86d6a7;--season-glow-3: #f6e6d8;--loader-bg: rgba(246, 252, 247, .92);--loader-fill-start: #7dd39a;--loader-fill-mid: #2d8f57;--loader-fill-end: #166b3d;--season-corner: none;--loader-icon: url(/assets/xmas-present-BlmAzP4A.png)}html[data-season=newyear]{--season-glow-1: #9ec5ff;--season-glow-2: #ffe8b3;--season-glow-3: #f5f0e6;--loader-bg: rgba(245, 248, 255, .92);--loader-fill-start: #9ec5ff;--loader-fill-mid: #f4b03a;--loader-fill-end: #b46a12;--season-corner: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><g fill='none' stroke='%23f4b03a' stroke-width='2' stroke-linecap='round' opacity='0.65'><path d='M104 16l8 16-16-6 12 12-18-4 12 12'/><path d='M30 108l6 12-12-4 10 10-14-4 10 10'/><path d='M88 34l4 8-8-3 6 6-9-2 6 6'/></g><g fill='%239ec5ff' fill-opacity='0.55'><circle cx='88' cy='42' r='6'/><circle cx='36' cy='116' r='4'/></g></svg>");--loader-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3l2 4 4 1-3 3 1 4-4-2-4 2 1-4-3-3 4-1z' fill='%23f4b03a'/><circle cx='6' cy='6' r='1' fill='%239ec5ff'/><circle cx='18' cy='18' r='1.2' fill='%239ec5ff'/></svg>")}.season-sun{position:fixed;top:84px;right:28px;width:110px;height:110px;pointer-events:none;z-index:1;opacity:.55}.season-sun__halo{position:absolute;top:-36px;right:-36px;bottom:-36px;left:-36px;background:conic-gradient(from 0deg,#ffda828c,#ffda8200 70deg,#ffda828c 180deg,#ffda8200 250deg,#ffda828c 360deg);filter:blur(20px);border-radius:50%;animation:sun-halo-spin 26s linear infinite;will-change:transform}.season-sun__body{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/summer-sun-B3FgSq7j.png) center / contain no-repeat;animation:sun-bob 7s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(255,170,60,.35))}@keyframes sun-halo-spin{to{transform:rotate(360deg)}}@keyframes sun-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (max-width: 640px){.season-sun{width:78px;height:78px;top:68px;right:14px;opacity:.42}}@media (prefers-reduced-motion: reduce){.season-sun__halo,.season-sun__body{animation:none}}html[data-season=halloween] .card:not(.admin-calendar-card--fullscreen){overflow:visible}html[data-season=halloween] .card:before,html[data-season=halloween] .card:after{display:none}html[data-season=halloween] .card:not(.admin-calendar-card--fullscreen):nth-of-type(7n+3):before,html[data-season=halloween] .card.calendar-card:not(.admin-calendar-card--fullscreen):before{display:block;content:"";position:absolute;width:100px;height:122px;top:-72px;right:18px;left:auto;bottom:auto;background:url(/assets/halloween-ghost-C22zmx03.png) center / contain no-repeat;opacity:.82;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(40,28,55,.35));transform-origin:50% 100%;animation:ghost-float 5.6s ease-in-out infinite}@keyframes ghost-float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(3deg)}}html[data-season=christmas] .card:not(.admin-calendar-card--fullscreen){overflow:visible}html[data-season=christmas] .card:before,html[data-season=christmas] .card:after{display:none}html[data-season=christmas] .card:not(.admin-calendar-card--fullscreen):nth-of-type(5n+2):before,html[data-season=christmas] .card.calendar-card:not(.admin-calendar-card--fullscreen):before{display:block;content:"";position:absolute;width:64px;height:130px;top:-38px;right:22px;left:auto;bottom:auto;background:url(/assets/xmas-candycane-e4wwzWt3.png) center / cover;opacity:.95;pointer-events:none;filter:drop-shadow(2px 5px 6px rgba(60,30,30,.35));transform-origin:50% 18%;animation:candycane-sway 6.5s ease-in-out infinite}@keyframes candycane-sway{0%,to{transform:rotate(10deg)}50%{transform:rotate(18deg)}}@media (prefers-reduced-motion: reduce){html[data-season=halloween] .card:before,html[data-season=christmas] .card:before{animation:none}}.seasonal-effects{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.seasonal-snow{position:absolute;top:-16px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#fff6 60%,#fff0);box-shadow:0 0 6px #fff9;animation:snow-fall linear infinite;will-change:transform,opacity;--drift: 0px}@keyframes snow-fall{0%{transform:translate3d(0,-16px,0);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translate3d(var(--drift),105vh,0);opacity:0}}.seasonal-petal{position:absolute;top:-16px;border-radius:60% 40%/70% 70% 30% 30%;background:radial-gradient(circle at 30% 30%,#ffe1ec,#ff9aa2 70%);opacity:.85;animation:petal-drift linear infinite;will-change:transform,opacity;--drift: 50vw}@keyframes petal-drift{0%{transform:translate3d(0,-16px,0) rotate(0);opacity:0}15%{opacity:.9}85%{opacity:.9}to{transform:translate3d(var(--drift),110vh,0) rotate(540deg);opacity:0}}.seasonal-leaf{position:absolute;border-radius:50% 0;opacity:.85;box-shadow:inset 0 -1px #00000014;animation:leaf-drift linear infinite;will-change:transform,opacity;--driftX: -50vw;--driftY: 90vh}@keyframes leaf-drift{0%{transform:translateZ(0) rotate(0);opacity:0}12%{opacity:.9}88%{opacity:.9}to{transform:translate3d(var(--driftX),var(--driftY),0) rotate(720deg);opacity:0}}.seasonal-confetti{position:absolute;top:-20px;border-radius:1px;animation:confetti-fall linear infinite;will-change:transform,opacity;opacity:.85;--drift: 0px;--spin: 720deg}@keyframes confetti-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translate3d(var(--drift),110vh,0) rotate(var(--spin));opacity:0}}.seasonal-sparkle-burst{position:absolute;width:0;height:0;pointer-events:none}.seasonal-sparkle{position:absolute;left:0;top:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:radial-gradient(circle,#fff7c2 25%,#ffdc8299 55%,#ffdc8200 80%);border-radius:50%;animation:sparkle-burst 1.5s ease-out forwards;--angle: 0deg;--distance: 28px}@keyframes sparkle-burst{0%{transform:rotate(var(--angle)) translate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:rotate(var(--angle)) translate(var(--distance)) scale(1.1);opacity:0}}@media (prefers-reduced-motion: reduce){.seasonal-effects{display:none}}.body--modal-open{overflow:hidden}.app-shell{max-width:1200px;margin:0 auto;padding:32px 24px 60px;position:relative;z-index:1}.app-footer{margin-top:18px;display:flex;justify-content:flex-end;gap:6px;font-size:.75rem;color:var(--muted)}.app-footer__label{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.app-footer__value{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.app-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.header-controls{display:inline-flex;flex-direction:column;align-items:flex-end;gap:8px;flex-wrap:wrap}.header-utility-row{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.font-scale{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.font-scale select{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:#fff;font-family:inherit}.font-scale__label{text-transform:uppercase;letter-spacing:.08em;font-size:.6875rem}.app-title{font-family:"Source Serif 4",serif;font-size:2rem;font-weight:600}.app-subtitle{color:var(--muted);margin-top:4px}.app-nav{display:flex;gap:12px;margin-bottom:28px}.nav-link{text-decoration:none;color:var(--ink);padding:10px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--border);transition:all .2s ease}.nav-link:hover{border-color:var(--accent);color:var(--accent)}.nav-link-active{background:var(--accent);border-color:var(--accent-strong);color:#fff}.submit-shell{position:relative}.submit-shell--locked{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#fff9,#14182259 55%),#f5f3ef8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50}.login-modal{width:min(420px,90vw);background:#fff;border-radius:22px;border:1px solid var(--border);padding:24px;box-shadow:0 24px 60px #0f172a2e}.login-title{font-size:20px;font-weight:600;margin-bottom:6px}.login-subtitle{color:var(--muted);margin:0 0 16px}.login-account{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--border);background:#f8f8fb;margin-bottom:12px}.login-account__label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.login-account__value{font-weight:600;color:var(--ink)}.user-inline{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.user-inline-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.user-inline-name{font-weight:600;color:var(--ink)}.user-inline-pod{font-size:12px;font-weight:600;color:var(--accent-strong);background:var(--accent-soft);padding:3px 10px;border-radius:999px}.push-indicator{position:relative;display:inline-flex;align-items:center}.push-indicator__button{width:16px;height:16px;padding:0;border:none;border-radius:999px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.push-indicator__dot{width:10px;height:10px;border-radius:999px;background:#2f8f57;box-shadow:0 0 0 4px #2f8f5729}.push-indicator__panel{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;padding:12px 14px;border-radius:14px;border:1px solid rgba(141,166,214,.36);background:linear-gradient(180deg,#eff5fffa,#e4ecfcfa);box-shadow:0 18px 36px #23345c2e;z-index:20}.push-indicator__title{font-size:.8rem;font-weight:700;color:var(--accent-strong)}.push-indicator__text{margin-top:4px;font-size:.74rem;line-height:1.4;color:#536383}.push-indicator__action{margin-top:10px;border:none;background:transparent;color:#5f6f95;font-size:.74rem;font-weight:700;padding:0;cursor:pointer}.push-indicator__action:hover{color:var(--accent-strong)}.push-indicator__action:disabled{cursor:wait;opacity:.7}.app-main{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 18px 40px #11141e14}.install-hint{margin:12px 0 0;padding:12px 16px;border-radius:14px;background:#eef4ff;border:1px solid #cfd9ef;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.install-hint__title{font-weight:700;color:#1f3d7a;margin-bottom:4px}.install-hint__message{color:#2a3b5f;font-size:14px}.install-hint__actions{display:inline-flex;gap:10px;align-items:center}.install-hint__dismiss{border:none;background:none;color:var(--accent-strong);font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.install-hint__dismiss:hover{text-decoration:underline}.notification-hint{background:#eef7f2;border-color:#c6decf}.notification-hint .install-hint__title{color:#1d5b3f}.notification-hint .install-hint__message{color:#274c3b}.notification-hint__status{margin-top:6px;font-size:13px;color:#355547}.section-title{font-family:"Source Serif 4",serif;font-size:1.25rem;font-weight:600;margin-bottom:16px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-header--split{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.calendar-header--split .calendar-title{grid-column:2;justify-self:center;text-align:center}.calendar-header__nav{display:flex;gap:6px;align-items:center}.calendar-header__nav--left{justify-self:start}.calendar-header__nav--right{justify-self:end;grid-column:3}.calendar-title{font-weight:600;font-size:1rem}.calendar-header__weekdays{display:none}.admin-calendar-card--fullscreen .calendar-title{font-size:1.375rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.calendar-nav-button{font-size:1.25rem;padding:8px 14px;min-width:44px;text-align:center;line-height:1}.calendar-nav-button--compact{font-size:.75rem;padding:4px 10px;min-width:auto}.calendar-control-button{height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}.calendar-control-button.calendar-nav-button--compact{height:30px}.calendar-toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-bottom:12px;white-space:nowrap}.calendar-toggle+.calendar-toggle{margin-left:12px}.calendar-toggle input{width:18px;height:18px;accent-color:var(--accent)}.calendar-grid-wrap{position:relative}.calendar-limit-overlay{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:3;padding:6px 14px;border-radius:999px;background:#1f3d7ae0;color:#fff;font-size:.76rem;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #00000026}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-template-rows:24px;grid-auto-rows:minmax(120px,auto);gap:8px;align-content:start}.calendar-weekday{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}.calendar-cell{height:auto;min-height:120px}.calendar-day{border:1px solid transparent;background:#f7f5ef;border-radius:10px;height:auto;min-height:120px;width:100%;position:relative;cursor:pointer;font-weight:600;color:var(--ink);transition:all .15s ease;display:flex;flex-direction:column;gap:6px}.calendar-day:hover{border-color:var(--accent);color:var(--accent-strong)}.calendar-day--selected{background:var(--accent);color:#fff}.calendar-day--closed:not(.calendar-day--selected):not(.calendar-day--disabled){background:#eef3fb;border-color:#c8d7ff}.calendar-day--excluded{background:#f1f1f0;color:#a29d95;text-decoration:line-through}.calendar-day--disabled{background:#f3f2ee;color:#b9b4aa;cursor:not-allowed;border-color:transparent}.calendar-day--disabled:hover{border-color:transparent;color:#b9b4aa}.calendar-day--today{border-color:var(--accent-strong)}.calendar-hint{margin-top:12px;font-size:.75rem;color:var(--muted)}.button-ghost{background:transparent;color:var(--accent-strong);border:1px solid var(--border);padding:6px 10px}.button-ghost:hover{background:var(--accent-soft)}.view-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--border);background:#f1efe9}.view-toggle button{border:none;background:transparent;color:var(--muted);padding:6px 14px;border-radius:999px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}.view-toggle button:hover:not(.active){color:var(--ink);background:#ffffff80}.view-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 6px 16px #11141e1f;transform:scale(1.04)}.calendar-page .view-toggle{display:flex;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box}.calendar-page .card{overflow:hidden}.calendar-page .card-grid .card{min-height:108px}.calendar-page .card-grid select{height:36px}.calendar-page .card-grid label{display:block;margin-bottom:6px}.calendar-page .view-toggle{min-height:44px;align-content:flex-start}.calendar-page .view-toggle button{padding:5px 10px;font-size:.82rem}.calendar-filters{padding-bottom:12px}.calendar-filters__toggle{display:none}.calendar-filters__body{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.calendar-filters__group{display:flex;flex-direction:column;gap:6px}.calendar-filters__group label{font-size:.82rem;font-weight:700;color:var(--muted)}.calendar-filters__group select{height:36px}.calendar-filters--sticky{position:sticky;top:12px;z-index:20;background:transparent;box-shadow:0 10px 18px #11141e14}.calendar-day-tile{background:#f9f7f1;border:1px solid var(--border);border-radius:12px;padding:6px;min-height:120px;height:100%;display:flex;flex-direction:column;gap:6px;position:relative;cursor:pointer}.calendar-day-tile--closed{background:#eef3fb;border-color:#c8d7ff}.calendar-day-tile--today{border-color:var(--accent-strong)}.calendar-day-number{font-size:.75rem;font-weight:600;color:var(--muted)}.calendar-holiday-pill{position:absolute;top:6px;right:6px;padding:1px 6px;border-radius:999px;background:var(--accent-strong);color:#fff;font-size:.5625rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;box-shadow:0 0 0 2px #fffc}.calendar-day-footer{margin-top:auto;font-size:.6rem;text-transform:uppercase;letter-spacing:.3px;color:#5f6b86;align-self:flex-start}.calendar-day--selected .calendar-holiday-pill{background:#fff;color:var(--accent-strong);box-shadow:0 0 0 2px #14223a33}@media (max-width: 720px){.calendar-holiday-pill{padding:1px 4px;height:16px;min-width:24px;font-size:.5rem;letter-spacing:.2px;display:inline-flex;align-items:center;justify-content:center}}.calendar-events{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto;padding-right:2px}.admin-calendar-card .calendar-grid{grid-auto-rows:minmax(140px,auto);align-content:start;grid-template-rows:24px}.admin-calendar-card .calendar-cell,.admin-calendar-card .calendar-day-tile{min-height:140px}.admin-calendar-card .calendar-events{max-height:140px}.admin-calendar-card .calendar-cell--empty{min-height:80px}.admin-calendar-card .calendar-day-tile--empty{min-height:110px}.admin-calendar-card--expanded .calendar-grid{grid-auto-rows:minmax(160px,auto)}.admin-calendar-card--expanded .calendar-cell,.admin-calendar-card--expanded .calendar-day-tile{min-height:160px}.admin-calendar-card--expanded .calendar-events{max-height:none;overflow:visible}.admin-calendar-card--expanded .calendar-cell--empty{min-height:90px}.admin-calendar-card--expanded .calendar-day-tile--empty{min-height:130px}.card.admin-calendar-card--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;margin:0;display:flex;flex-direction:column;box-shadow:0 24px 60px #0c122040;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh}.admin-calendar-card--fullscreen .calendar-grid{flex:none;overflow:visible}.admin-calendar-card--fullscreen .calendar-header{flex-shrink:0;position:sticky;top:0;z-index:2;background:#f9f8f4e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:12px 18px;margin:-18px -18px 12px;flex-direction:column;align-items:flex-start;gap:10px}.admin-calendar-card--fullscreen .admin-calendar-today--inline{display:inline-flex}.admin-calendar-header-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%}.admin-calendar-header-row .calendar-title{grid-column:2;justify-self:center;text-align:center}.admin-calendar-controls__nav,.admin-calendar-controls__actions{display:flex;flex-wrap:nowrap;gap:8px}.admin-calendar-controls__nav{justify-self:end;align-self:center;justify-content:flex-end;grid-column:3}.admin-calendar-controls__actions{justify-self:start;align-self:center;justify-content:flex-start;grid-column:1}.admin-calendar-card--fullscreen .calendar-header__weekdays{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:8px;width:100%;font-size:12px;letter-spacing:.2px;text-transform:uppercase;color:var(--muted)}.admin-calendar-card--fullscreen .calendar-header__weekdays span{text-align:center}.admin-calendar-card--fullscreen .calendar-grid{grid-template-columns:repeat(7,minmax(140px,1fr));grid-auto-rows:minmax(240px,auto)}.admin-calendar-card--fullscreen .calendar-weekday{visibility:hidden}.admin-calendar-card--fullscreen .calendar-cell,.admin-calendar-card--fullscreen .calendar-day-tile{min-height:240px}.admin-calendar-card--fullscreen .calendar-events{max-height:240px}.calendar-event{font-size:.6875rem;padding:4px 6px;border-radius:8px;background:#fff;border:1px solid var(--border);line-height:1.2;color:var(--ink)}.calendar-page .calendar-event,.admin-page .calendar-event{font-size:.6875rem;padding:4px 6px}.calendar-event--approved{border-width:2px;box-shadow:0 0 0 1px #1b3f8c26,0 0 10px #3b82f633;filter:saturate(1.1)}.calendar-event--pending{border-style:dashed;opacity:.75;filter:saturate(.8) brightness(1.05)}.calendar-page .calendar-event--approved{border-width:2px;box-shadow:0 0 0 1px #2363d233,0 0 14px #3e7eff59;filter:saturate(1.15)}.calendar-page .calendar-event--pending{opacity:.6;background:#fff9;color:var(--muted);filter:saturate(.6)}.admin-page .calendar-event--approved{border-width:2px;box-shadow:0 0 0 1px #2363d233,0 0 14px #3e7eff59;filter:saturate(1.15)}.admin-page .calendar-event--pending{opacity:.6;background:#fff9;color:var(--muted);filter:saturate(.6)}.calendar-event__initials{display:none;font-weight:700;letter-spacing:.4px}.calendar-event__compact{display:none;font-weight:700;letter-spacing:.2px;white-space:pre-line;line-height:1.1}.calendar-event__alert{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:999px;background:#fff2c6;border:1px solid #f1d48a;color:#8a5b12;font-size:10px;font-weight:700}.calendar-event__alert--rescind{background:#fbe7ea;border-color:#f3b6c2;color:#8c2f3b}.calendar-event__alert--conflict{background:#fde7eb;border-color:#f3b6c2;color:#8c2f3b}.calendar-event--more{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong);text-align:center}.notes-toggle{width:100%;border:1px solid var(--border);background:#f7f5ef;padding:10px 12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;font-weight:600;cursor:pointer;color:var(--ink)}.notes-toggle span{font-size:18px;line-height:1}.notes-toggle--accent{border-color:#c7d8f8;background:linear-gradient(180deg,#f8fbff,#edf4ff),radial-gradient(circle at 8% 20%,rgba(93,140,242,.18),transparent 44%);box-shadow:0 10px 20px #182d621f,inset 0 1px #ffffffbf}.notes-toggle--accent:focus-visible{outline:none;box-shadow:0 0 0 3px #6087dd47,0 12px 22px #182d622e}.rescind-toggle{border-style:solid}.rescind-toggle__summary{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px dashed #c9d8f5;background:#f7faff;color:#2c4372;font-size:.78rem;display:grid;gap:6px}.rescind-toggle__hint{color:#48669f}.notes-area{width:100%;min-height:120px;height:100%;resize:vertical}.submit-row{display:grid;gap:12px;margin-bottom:18px}.howto-wrap{position:relative;display:inline-flex;margin-bottom:12px}.howto-trigger{background:linear-gradient(180deg,#4f6ab0,#3f5b9f),radial-gradient(circle at 18% 25%,rgba(255,255,255,.28),transparent 40%);border:1px solid #5f79b6;box-shadow:0 8px 16px #1a2c562e;color:#fff;letter-spacing:.02em}.howto-trigger:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;margin-right:6px;font-weight:700;font-size:.75rem;background:#fff3;border:1px solid rgba(255,255,255,.45)}.howto-trigger:hover{background:linear-gradient(180deg,#5775bf,#4564ab)}.howto-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #799be859,0 8px 16px #1a2c5638}.howto-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;padding:8px;border-radius:12px;border:1px solid #cdd9ef;background:#fff;box-shadow:0 14px 28px #121c3429;z-index:20;display:grid;gap:4px}.howto-menu button{border:0;border-radius:8px;background:transparent;color:#27406f;text-align:left;font-size:.86rem;font-weight:600;padding:8px 10px;cursor:pointer}.howto-menu button:hover{background:#f1f6ff}.help-target--flash{animation:help-target-flash 2.8s ease-out;border-radius:14px;position:relative;z-index:31}@keyframes help-target-flash{0%{box-shadow:0 0 #5d8dee00,0 0 #5d8dee00;background-color:#5d8dee00}15%{box-shadow:0 0 0 4px #5d8dee7a,0 0 0 10px #5d8dee38;background-color:#5d8dee29}70%{box-shadow:0 0 0 3px #5d8dee47,0 0 0 7px #5d8dee1f;background-color:#5d8dee14}to{box-shadow:0 0 #5d8dee00,0 0 #5d8dee00;background-color:#5d8dee00}}.submit-row__controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.submit-row__status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.submit-row__submit{align-self:flex-end}@media (min-width: 1100px){.submit-row{grid-template-columns:minmax(0,1fr) minmax(320px,420px);column-gap:20px;align-items:start}.submit-row__controls{display:grid;grid-template-columns:minmax(220px,300px) minmax(300px,460px) auto;gap:14px;align-items:end}.submit-type-field,.submit-type-field--act-as{width:100%}.submit-row__submit{justify-self:start;white-space:nowrap}.submit-row__controls,.submit-row__status{grid-column:1}.submit-utilization-wrap{grid-column:2;grid-row:1 / span 2;align-self:start;justify-self:stretch;width:100%;margin-top:0}.submit-utilization{width:100%}}.submit-utilization{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 16px;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#ebf3ff),radial-gradient(circle at 15% 15%,rgba(117,161,255,.2),transparent 44%);border:1px solid #bfd2f5;font-size:.75rem;color:#243a67;font-weight:600;min-height:48px;position:relative;box-shadow:0 14px 28px #17285c29,inset 0 1px #ffffffd9}.submit-utilization__eyebrow{font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:#385892;font-weight:700}.submit-utilization__lines{display:flex;flex-direction:column;gap:4px}.submit-utilization__line{white-space:nowrap}.submit-utilization-wrap{display:inline-flex;align-items:center;margin-left:0;position:relative;flex:1 1 320px;max-width:100%}.submit-utilization-wrap--spotlight{filter:saturate(1.02)}.submit-utilization__hint{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid #c8d6f2;color:var(--accent-strong);font-size:.7rem;font-weight:700;line-height:1;background:#fff;cursor:pointer;border:none}.submit-utilization__summary{list-style:none;display:none}.submit-utilization__summary::-webkit-details-marker{display:none}.submit-utilization__chevron{display:none}.submit-utilization__popover{position:absolute;top:calc(100% + 6px);right:0;padding:8px 10px;border-radius:10px;border:1px solid #cfd9ef;background:#fff;color:#2a3b5f;font-size:.75rem;font-weight:600;box-shadow:0 8px 16px #11141e1f;z-index:3;max-width:240px}.submit-utilization--loading{padding-right:46px;opacity:.75}.submit-utilization--loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff80}.submit-utilization--loading:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:999px;background:#fff;background-image:var(--loader-icon);background-repeat:no-repeat;background-position:center;background-size:18px 18px;box-shadow:0 0 0 2px #ffffffbf,0 0 10px #ffffff73}.submit-closed{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fde7e5;border:1px solid #f7c4be;color:#b42318;font-size:.75rem;font-weight:600}.submit-closed--acting{background:#fce9e4;border-color:#efc2b5;color:#c43e1f}.submit-row .field{margin-bottom:0;min-width:220px}.submit-type-field{width:min(300px,100%);position:relative;padding:10px 12px 12px;border-radius:14px;border:1px solid #c9d8f5;background:linear-gradient(180deg,#fffffff5,#f0f6fffa),radial-gradient(circle at 8% 12%,rgba(82,132,255,.18),transparent 46%);box-shadow:0 10px 22px #17285c1f,inset 0 1px #ffffffd9}.submit-type-field--act-as{width:min(380px,100%)}.submit-type-field label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#334f85;font-weight:700}.submit-type-field:focus-within{border-color:#7aa2ef;box-shadow:0 0 0 3px #7aa2ef47,0 10px 24px #17285c29}.submit-type-select{width:100%;min-width:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;border-color:#b9c9eb;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#3358a6 50%),linear-gradient(135deg,#3358a6 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;font-weight:600;color:#1f3261}.submit-type-select:focus{outline:none;border-color:#739cec}.status-text{color:var(--muted);margin:0}.split-hint{margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#f6f3ea;border:1px solid #e2dccb;font-size:.75rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.split-hint__dismiss{border:none;background:none;color:var(--accent-strong);font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.split-hint__dismiss:hover{text-decoration:underline}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card-grid .card:before,.card-grid .card:after{display:none}.card{padding:18px;border:1px solid var(--border);border-radius:16px;background:#f9f8f4;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #11141e1a}.card.admin-calendar-card--fullscreen{overflow:auto}.admin-calendar-card--fullscreen:before,.admin-calendar-card--fullscreen:after{display:none}.card:before,.card:after{content:"";position:absolute;width:140px;height:140px;background-image:var(--season-corner);background-repeat:no-repeat;background-size:contain;opacity:.22;pointer-events:none}.card:before{top:-18px;right:-18px}.card:after{bottom:-20px;left:-20px;transform:rotate(180deg);opacity:.16}html[data-season=christmas] .card:after{transform:none}html[data-season=spring] .card:after{transform:none}html[data-season=fall] .card:after,html[data-season=thanksgiving] .card:after,html[data-season=winter] .card:after{display:none}html[data-season=spring] .card:before,html[data-season=spring] .card:after{opacity:.16}.maintenance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#f5f2e9eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.maintenance-card{max-width:520px;width:min(90vw,520px);background:#fffaf1;border:1px solid #e3dccf;border-radius:18px;padding:24px;text-align:center;box-shadow:0 18px 40px #14182c1f}.maintenance-card img{width:min(70vw,240px);height:auto;display:block;margin:0 auto 16px}.maintenance-card h2{margin:0 0 8px;font-size:1.4rem}.maintenance-card p{margin:0 0 16px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field input,.field textarea,.field select{padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-family:inherit}.button{border:none;background:var(--accent);color:#fff;padding:10px 16px;border-radius:10px;cursor:pointer;transition:background .2s ease}.button:hover{background:var(--accent-strong)}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:600}.submit-main .card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.pill-good{background:#e3f3e7;color:#1f7a44;border-color:#c5ead2}.pill-bad{background:#fde7e5;color:#b42318;border-color:#f7c4be}.pill-warn{background:#f7f1dd;color:#8a6b1f;border-color:#ead8a8}.pill-conflict{background:#fde7e5;color:#b42318;border-color:#f7c4be;gap:6px}.pill__alert{width:14px;height:14px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;line-height:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.rescind-item--disabled{opacity:.75;cursor:default;box-shadow:none}@media (max-width: 720px){.app-shell{padding:24px 16px 40px}.app-main{padding:20px}.admin-page .card{padding:14px}.admin-page .section-title{margin-bottom:10px}.admin-page .card+.card{margin-top:12px}.app-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;flex-wrap:nowrap;gap:0;margin-bottom:0;padding:0;background:var(--surface, #f4f3ee);border-top:1px solid var(--border);box-shadow:0 -4px 12px #11141e14}.app-nav .nav-link{flex:1;text-align:center;border-radius:0;border:none;padding:12px 4px;font-size:.78rem;font-weight:600;background:transparent}.app-nav .nav-link:hover{border:none}.app-nav .nav-link-active{background:var(--accent);color:#fff;border:none}.app-main{padding-bottom:64px}.card:after{display:none}.app-footer{display:none}.submit-row{gap:10px}.howto-wrap{width:100%}.howto-menu{width:100%;min-width:0}.submit-row__controls{flex-direction:column;align-items:stretch;gap:10px}.submit-type-field,.submit-type-field--act-as,.submit-row__submit{width:100%}.submit-row__status{flex-direction:column;align-items:flex-start}.calendar-page .calendar-card,.submit-shell .calendar-card,.admin-page .admin-calendar-card{margin-left:-20px;margin-right:-20px;border-radius:0;border-left:0;border-right:0;padding:12px 12px 16px}.calendar-header--split{display:flex;flex-direction:column;align-items:center;gap:8px}.calendar-header--split .calendar-title{order:1;text-align:center}.calendar-header__nav--right{order:2;justify-content:center}.calendar-filters__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg, #f4f3ee);font-size:.86rem;font-weight:700;color:var(--ink);cursor:pointer}.calendar-filters__chevron{font-size:.8rem;color:var(--muted);transition:transform .18s ease}.calendar-filters__chevron--open{transform:rotate(180deg)}.calendar-filters__body{display:none;flex-direction:column;gap:10px;padding:12px 0 0}.calendar-filters--open .calendar-filters__body{display:flex}.calendar-filters__group{gap:4px}.calendar-filters__group label{font-size:.78rem}.calendar-page .view-toggle{padding:2px;gap:4px}.calendar-page .view-toggle button{padding:3px 8px;font-size:.72rem}.calendar-filters{padding-bottom:4px}.calendar-filters--sticky{top:0}.calendar-page .calendar-card table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-page .calendar-card table thead{display:none}.calendar-page .calendar-card table tbody{display:block}.calendar-page .calendar-card table tr{display:block;border:1px solid var(--border);border-radius:12px;margin-bottom:8px;background:#fff}.calendar-page .calendar-card table td{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #eee;padding:6px 8px}.calendar-page .calendar-card table td:before{content:attr(data-label);font-weight:600;color:var(--muted)}.submit-utilization-wrap{flex-basis:100%;margin-left:0;z-index:4}.submit-utilization-wrap--collapsible{display:block;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#ebf3ff),radial-gradient(circle at 15% 15%,rgba(117,161,255,.2),transparent 44%);border:1px solid #bfd2f5;box-shadow:0 14px 28px #17285c29,inset 0 1px #ffffffd9}.submit-utilization__summary{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;color:#243a67;font-weight:700}.submit-utilization__summary .submit-utilization__eyebrow{margin:0}.submit-utilization__chevron{display:inline;font-size:.8rem;color:var(--muted);transition:transform .18s ease}.submit-utilization-wrap--collapsible[open] .submit-utilization__chevron{transform:rotate(180deg)}.submit-utilization-wrap--collapsible .submit-utilization{padding:0 14px 12px;background:none;border:none;box-shadow:none;border-radius:0;min-height:0}.submit-utilization-wrap--collapsible .submit-utilization .submit-utilization__eyebrow{display:none}.calendar-grid{grid-template-columns:repeat(7,minmax(32px,1fr));gap:0}.calendar-nav-button{font-size:1.15rem;padding:7px 12px;min-width:40px}.calendar-page .calendar-event,.admin-page .calendar-event{font-size:.75rem;padding:4px 6px}.conflict-dot{min-width:28px;padding:4px 8px;font-size:.85rem}.calendar-day{height:34px}.calendar-cell{min-height:80px}.calendar-day-tile{border-radius:0;min-height:80px}.calendar-event{text-align:center;padding:4px 0}.calendar-event__label{display:none}.calendar-event__initials{display:inline-block}.calendar-page .calendar-event__label,.admin-page .calendar-event__label,.calendar-page .calendar-event__initials,.admin-page .calendar-event__initials{display:none}.calendar-page .calendar-event__compact,.admin-page .calendar-event__compact{display:inline-block}.calendar-legend{gap:8px;font-size:11px}.calendar-legend__item{flex-wrap:wrap;row-gap:6px}.calendar-legend__pod{font-size:10px;padding:2px 6px;margin-right:4px}.app-header{flex-direction:column;align-items:flex-start;gap:10px}.header-utility-row{align-items:flex-start}.app-title{font-size:1.625rem}.user-inline{align-self:flex-start;flex-wrap:wrap;gap:6px}.push-indicator__panel{right:auto;left:0}.admin-calendar-card .calendar-header{flex-direction:column;align-items:stretch;gap:8px}.admin-calendar-header-row{display:flex;flex-direction:column;align-items:center;gap:8px}.admin-calendar-card .calendar-title{text-align:center;width:100%;order:1}.admin-calendar-controls__nav{justify-content:center;order:2;flex-wrap:wrap}.admin-calendar-controls__actions{justify-content:center;order:3;flex-wrap:wrap}.admin-calendar-card .calendar-header__weekdays{order:4}.admin-roster-card{margin-left:0;margin-right:0;border-radius:16px}.admin-table--roster thead{display:none}.admin-table--roster tbody tr{display:grid;grid-template-columns:1fr;gap:8px 12px;padding:12px 10px}.admin-table--roster tbody tr+tr{border-top:1px solid #eee}.admin-table--roster td{display:flex;flex-direction:column;gap:4px;padding:0;border-top:none}.admin-table--roster td:before{content:attr(data-label);font-size:.75rem;font-weight:600;color:var(--muted)}.admin-table--roster input[type=text],.admin-table--roster select{width:100%}.admin-table--roster tbody tr.roster-row--collapsed td{display:none}.admin-table--roster tbody tr.roster-row--collapsed td[data-label=Email]{display:flex}.admin-table--roster tbody tr.roster-row-details{display:none;padding-top:0}.admin-table--roster tbody tr.roster-row-details--open{display:grid}.admin-table--roster tbody tr.roster-row-details td{display:flex}.admin-table--roster td[data-label=Active],.admin-table--roster td[data-label="Time off tally"],.admin-table--roster td[data-label="Partner days"],.admin-table--roster td[data-label="Call tally"]{align-items:flex-start;text-align:left}.admin-table--roster td[data-label=Active] input[type=checkbox],.admin-table--roster td[data-label="Time off tally"] input[type=checkbox],.admin-table--roster td[data-label="Partner days"] input[type=checkbox],.admin-table--roster td[data-label="Call tally"] input[type=checkbox]{margin:0;align-self:flex-start}}@media (max-width: 720px){.pod-colors-row{grid-template-columns:1fr;align-items:flex-start}.pod-colors-swatch{justify-content:flex-start}.pod-colors-inputs{flex-direction:column;align-items:flex-start}.office-closed-item{grid-template-columns:auto 1fr;row-gap:4px}.office-closed-date{grid-column:2}}.admin-calendar-today--inline{display:inline-flex}.rescind-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.rescind-item{border:1px solid #d5dbe8;border-radius:14px;padding:12px;background:#fff;cursor:pointer;box-shadow:0 6px 18px #11141e14;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative}.rescind-item--active{border-color:#1f4bb8;border-left:4px solid #1f4bb8;box-shadow:0 14px 30px #11141e2e,0 0 0 2px #1f4bb833;transform:translateY(-1px)}.rescind-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.rescind-item__title{font-weight:600;color:var(--ink)}.rescind-item__subtitle{font-size:12px;color:var(--muted);margin-top:4px}.rescind-item__meta{display:flex;gap:6px;flex-wrap:wrap}.rescind-item__dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rescind-date{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #d3d9e6;background:#f3f4f8;color:var(--ink);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1.2;transition:background .2s ease,color .2s ease,border-color .2s ease}.rescind-date--active{border-color:#1f4bb8;background:#1f4bb8;color:#fff;box-shadow:0 6px 16px #11141e24}.rescind-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.calendar-events::-webkit-scrollbar{width:6px}.calendar-events::-webkit-scrollbar-thumb{background:#1e2d5a33;border-radius:999px}.calendar-legend{display:flex;gap:12px;margin-top:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.calendar-legend__item{display:inline-flex;align-items:center;gap:6px}.calendar-legend .conflict-dot{min-width:auto;padding:2px 8px;font-size:10px}.calendar-legend__pod{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:11px;font-weight:600;margin-right:6px}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f121859;display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:200}.bottom-sheet{width:min(720px,100%);background:#fff;border-radius:16px 16px 8px 8px;border:1px solid var(--border);box-shadow:0 24px 60px #0f121847;padding:18px 18px 12px;max-height:80vh;overflow:auto;touch-action:pan-y}.bottom-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.bottom-sheet__title{font-size:1rem;font-weight:700}.bottom-sheet__subtitle{font-size:.75rem;color:var(--muted)}.bottom-sheet__subtitle--holiday{color:var(--accent-strong);font-weight:600}.bottom-sheet__close{border:none;background:#f5f4ef;color:var(--ink);border-radius:999px;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer}.bottom-sheet__list{display:flex;flex-direction:column;gap:10px}.bottom-sheet__item{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#faf8f2}.bottom-sheet__item-title{font-weight:600;margin-bottom:6px}.bottom-sheet__item-subtitle{font-size:12px;color:var(--muted);margin-bottom:8px}.bottom-sheet__meta{display:flex;gap:8px;flex-wrap:wrap}.bottom-sheet__alert{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fff2c6;border:1px solid #f1d48a;color:#8a5b12;font-size:12px;font-weight:700}.bottom-sheet__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.button--sm{padding:6px 10px;font-size:12px;border-radius:9px}.button:disabled{opacity:.6;cursor:not-allowed}.bottom-sheet__item-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}@media (max-width: 720px){.bottom-sheet__item-row{flex-direction:column}.bottom-sheet__actions{width:100%;justify-content:flex-start}}.bottom-sheet__pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.78rem;font-weight:600;color:var(--ink)}.bottom-sheet__pill--conflict{background:#fde7eb;border-color:#f3b6c2;color:#8c2f3b}.bottom-sheet__pill--rescind-state{background:#eef5ff;border-color:#c7daf8;color:#274a88}.bottom-sheet__empty{padding:18px 4px;color:var(--muted)}.table-sort{border:none;background:transparent;color:inherit;font-weight:600;cursor:pointer;padding:0}.table-sort:hover{color:var(--accent-strong)}.table-expand{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;margin-right:0}.table-expand-placeholder{display:inline-block;width:14px;margin-right:0}.table-id-cell{display:inline-flex;align-items:center;gap:6px}.table-id-indent{display:inline-block;width:20px}.table-id-text{display:inline-block}.table-conflict-alert{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:#fff2c6;border:1px solid #f1d48a;color:#8a5b12;font-size:10px;font-weight:700}.table-group-row{background:#fcfbf7}.table-group-row:hover,.table-sub-row:hover{background:#f8f2e4}.table-sub-row{background:#fff}.table-sub-row td:first-child{border-left:3px solid #e1e6f2}.table-sub-row td{background:#f2f6ff;border-bottom:1px solid #e8edf7;font-size:12px}.table-sub-row td:last-child{border-right:1px solid #e8edf7}.table-sub-row .table-id,.table-sub-row .table-id-text{font-size:10px}.table-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 6px;border-radius:999px;background:#eef2f8;color:#2a3b5f;font-size:11px;font-weight:600}.table-status{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f1efe9;color:var(--ink);font-size:11px;font-weight:600}.table-status--approved{background:#e3f3e7;color:#1f7a44}.table-status--new{background:#f7f1dd;color:#8a6b1f}.table-status--conflict{background:#fde7e5;color:#b42318}.table-status--rescinded{background:#e9f0fb;color:#2a3b5f}.table-status--saving{color:#1f4bb8;background:linear-gradient(90deg,#1f4bb81f,#1f4bb847,#1f4bb81f);background-size:200% 100%;animation:pill-fill 1.8s ease-in-out infinite}.table-row--selected{background:#f1f6ff}.table-id{font-size:11px;color:#a6acba}.admin-table{overflow-x:auto}.admin-table table{width:100%}.stats-page{display:flex;flex-direction:column;gap:16px}.stats-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;position:sticky;top:10px;z-index:30;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(224,226,234,.95)}.stats-filters__group{display:flex;flex-direction:column;gap:6px}.stats-filters__group select{min-width:170px}.stats-filters__toggle{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.stats-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-nerds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-nerds-list{margin:0;padding-left:18px;color:var(--ink)}.stats-nerds-list li{margin-bottom:6px}.stats-nerds-list li:last-child{margin-bottom:0}.stats-nerds-list--ordered{padding-left:20px}.stats-weight-table code{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.82rem}.stats-impact-role{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:2px 10px;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid transparent}.stats-impact-role--hard-lock{background:#fde8e6;border-color:#efb0a9;color:#8c2d24}.stats-impact-role--guardrail{background:#fff4dc;border-color:#f0cc84;color:#8a5a09}.stats-impact-role--fairness{background:#e8efff;border-color:#b8caf5;color:#24428a}.stats-impact-role--tiebreak{background:#e9f8ec;border-color:#abd8b2;color:#29613a}.stats-impact-bar{width:110px;height:8px;border-radius:999px;background:#eef1f7;border:1px solid #d9dfea;overflow:hidden}.stats-impact-bar__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6b8cff,#1f4bb8)}.stats-page .stats-overview-grid .card{padding:12px;border-radius:12px}.stats-page .stats-overview-grid .status-text{font-size:.86rem;line-height:1.2}.stats-metric{font-size:1.3rem;font-weight:700;color:var(--ink);margin-top:2px}.stats-metric--muted{color:var(--muted);font-size:1rem}.stats-my-row{display:flex;flex-direction:column;gap:8px}.stats-my-row__values{display:flex;flex-wrap:wrap;gap:12px;font-weight:600}.stats-my-row__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats-mini-metric{border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#f8f9fd}.stats-mini-metric__label{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}.stats-mini-metric__value{margin-top:4px;font-weight:800;font-size:1.2rem}.stats-my-row__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--muted);font-size:.88rem}.stats-section-title{font-size:1rem;font-weight:700;margin-bottom:12px}.stats-load-list{display:flex;flex-direction:column;gap:8px}.stats-load-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px}.stats-load-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}.stats-load-legend__swatch{width:14px;height:10px;border-radius:999px}.stats-load-row{display:grid;grid-template-columns:220px 1fr 64px;align-items:center;gap:8px}.stats-load-row__label{display:flex;flex-direction:column;gap:2px;min-width:0}.stats-load-row__label span{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-load-row__label small{color:var(--muted)}.stats-load-row__stacked{display:flex;overflow:hidden;border:1px solid var(--border);border-radius:999px;min-height:14px;background:#f5f6fa}.stats-load-row__grouped{display:grid;grid-template-columns:1fr;gap:4px}.stats-bar{min-height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.stats-bar--weeknight{background:#1f77b4;color:#fff}.stats-bar--long{background:#d62728;color:#fff}.stats-bar--short{background:#ff7f0e;color:#3b2b09}.stats-bar--added{border-left:1px solid rgba(17,24,39,.45)}.stats-bar--weeknight.stats-bar--added,.stats-bar--long.stats-bar--added{background-image:repeating-linear-gradient(-45deg,#ffffff3d 0,#ffffff3d 3px,#fff0 3px,#fff0 7px)}.stats-bar--short.stats-bar--added{background-image:repeating-linear-gradient(-45deg,#ffffff4d 0,#ffffff4d 3px,#fff0 3px,#fff0 7px)}.stats-load-row__total{text-align:right;font-weight:700}.stats-load-row__summary{display:block;color:var(--muted);font-size:.76rem;line-height:1.2}.stats-page .admin-table tbody tr:nth-child(2n){background:#fafbfe}.stats-page .admin-table tbody tr.table-row--selected{background:#e8eefc}.stats-fairness-table{min-width:860px}.stats-cell--pos{color:#2f7a45;font-weight:600}.stats-cell--neg{color:#a1352d;font-weight:600}.stats-cell--debt-pos{color:#a1352d;font-weight:700}.stats-cell--debt-neg{color:#2f7a45;font-weight:700}.stats-num-col{text-align:center}.stats-pod-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.stats-ops-card summary{font-weight:700;cursor:pointer;margin-bottom:8px}.stats-upload-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.stats-upload-grid label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;color:var(--muted)}.stats-upload-grid input[type=date],.stats-upload-grid input[type=file]{border:1px solid var(--border);border-radius:10px;padding:7px 8px;background:#fff}.stats-focus-badge{display:inline-flex;align-items:center;justify-content:center;min-width:104px;padding:3px 10px;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:700;letter-spacing:.01em}.stats-focus-badge--long{background:#fde7e5;color:#8b2d26;border-color:#efc0bc}.stats-focus-badge--short{background:#fff1df;color:#9a5a14;border-color:#f1cfaa}.stats-focus-badge--weekend{background:#fff6d8;color:#8a6513;border-color:#efdd9e}.stats-focus-badge--weeknight{background:#e8f1ff;color:#194e8a;border-color:#b9cfee}.stats-focus-badge--balanced{background:#eef2f0;color:#4a5a52;border-color:#ccd7d1}.stats-focus-badge--priority{background:#fff1df;color:#9a5a14;border-color:#f1cfaa}.stats-focus-badge--ahead{background:#e5f4e8;color:#2f7a45;border-color:#b8dec1}.stats-focus-subtext{margin-top:3px;font-size:.72rem;color:var(--muted);line-height:1.2}.stats-focus-subtext--long{color:#a1352d}.stats-focus-subtext--short{color:#9a5a14}.stats-focus-subtext--balanced{color:#5b6b63}.stats-debt-group-head{text-align:center;font-size:.78rem;letter-spacing:.02em;color:var(--muted)}.stats-debt-col{background:#f0f4fd99}.stats-debt-col--left{border-left:1px solid #cfd8ee}.stats-debt-col--right{border-right:1px solid #cfd8ee}.stats-debt-col--weekend{border-top:1px solid #cfd8ee;border-bottom:1px solid #cfd8ee}.stats-debt-col--weeknight{border-top:1px solid #d7dcef;border-bottom:1px solid #d7dcef}.stats-priority-badge{display:inline-flex;align-items:center;justify-content:center;min-width:66px;margin-left:6px;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:700}.stats-priority-badge--high{background:#fde7e5;color:#8b2d26;border-color:#efc0bc}.stats-priority-badge--medium{background:#fff1df;color:#9a5a14;border-color:#f1cfaa}.stats-priority-badge--low{background:#eef2f0;color:#4a5a52;border-color:#ccd7d1}.stats-sort-btn{border:none;background:transparent;padding:0;margin:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:left}.stats-sort-btn--num{text-align:center}.stats-col-active{background:#1f4bb814}.admin-table--roster{border-collapse:collapse}.admin-roster-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.pod-colors-card{margin-top:18px}.pod-colors-grid{display:flex;flex-direction:column;gap:12px;margin-top:12px}.pod-colors-row{display:grid;grid-template-columns:120px 160px 1fr;align-items:center;gap:12px;padding:8px 10px;border:1px solid #e6e0d5;border-radius:12px;background:#fcfaf6}.pod-colors-row>*{min-width:0}.pod-colors-label{font-size:.85rem;font-weight:600;color:#3c465a;word-break:break-word}.pod-colors-swatch{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:999px;border:1px solid transparent;font-size:.8rem;font-weight:600;min-height:28px;max-width:100%}.pod-colors-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}.pod-colors-inputs label{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--muted)}.pod-colors-inputs input[type=color]{width:32px;height:28px;border:none;background:transparent;padding:0}.pod-colors-actions{display:flex;justify-content:flex-end;margin-top:12px}.office-closed-card{margin-top:18px}.office-closed-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-top:12px}.office-closed-actions{display:flex;align-items:center;gap:10px}.office-closed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.office-closed-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e6e0d5;border-radius:10px;background:#fcfaf6;font-size:.85rem}.office-closed-date{font-size:.75rem;color:var(--muted)}.office-closed-custom{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px}.office-closed-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.office-closed-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid #d7d1c3;background:#fbf7ee;font-size:.75rem}.office-closed-chip button{border:none;background:transparent;cursor:pointer;font-size:.9rem;line-height:1;color:#6b7280}.admin-table--roster thead th{border-bottom:1px solid var(--border)}.admin-table--roster tbody tr{border-top:1px solid #e6e0d5}.admin-table--roster tbody tr:nth-child(2n){background:#fbf9f4}.admin-table--roster tbody tr:hover{background:#f1f6ff}.admin-table--roster td[data-label=Email]{font-size:.76rem;color:var(--muted);max-width:320px;overflow-wrap:anywhere}.admin-table--roster th,.admin-table--roster td{font-size:.88rem;padding:10px 12px}.admin-table--roster td[data-label=Pod]{width:75px}.admin-table--roster td[data-label=Pod] input[type=text]{max-width:60px}.admin-table--roster td[data-label=Actions],.admin-table--roster th:last-child{text-align:right}.admin-table--roster td[data-label=Name],.admin-table--roster td[data-label=Pod]{padding-left:4px}.admin-table--roster td[data-label=Name],.admin-table--roster td[data-label=Pod],.admin-table--roster td[data-label=Role],.admin-table--roster td[data-label="Admin scope"]{padding-right:2px}.admin-table--roster td[data-label=Name] input[type=text],.admin-table--roster td[data-label=Pod] input[type=text],.admin-table--roster td[data-label=Role] select,.admin-table--roster td[data-label="Admin scope"] input[type=text]{margin-right:0;padding-right:4px;padding-left:4px;font-size:.86rem}.admin-table--roster td[data-label=Role] select{border-radius:999px;padding:4px 10px;background-color:#f7f3ea;border-color:#d8cfbf}.roster-email{display:flex;align-items:center;justify-content:space-between;gap:8px}.roster-email__text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-toggle{flex:0 0 auto;border:1px solid #d7d1c3;background:#fbf7ee;color:#39435c;border-radius:999px;width:26px;height:26px;padding:0;font-size:.9rem;line-height:1;cursor:pointer}.roster-row-details{display:none}.roster-row-details--open{display:table-row}.roster-row-details td{padding-top:6px;border-top:none}.roster-flags{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;padding:4px 0}.roster-flag{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#39435c}.roster-push-tools{margin-top:12px;padding-top:12px;border-top:1px dashed #c8d7ff}.roster-push-tools__header{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#516da8;margin-bottom:8px}.roster-push-tools__body{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.roster-push-tools__body select{min-width:220px;max-width:100%}.roster-push-tools__meta{margin-top:8px;font-size:.84rem;color:#4d5e87}.admin-table--roster tbody tr.roster-row-details--open{background:#f6f8ff}.admin-table--roster tbody tr.roster-row-details--open td{position:relative;padding-left:18px}.admin-table--roster tbody tr.roster-row-details--open td:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:3px;background:#c8d7ff;border-radius:999px}.pod-picker{display:flex;flex-wrap:wrap;gap:4px}.pod-picker--row{max-width:220px}.pod-picker__hint{margin-top:4px;font-size:.72rem;color:var(--muted)}.pod-picker__empty{font-size:.75rem;color:var(--muted)}.pod-chip{border:1px solid #d7d1c3;background:#fbf7ee;color:#39435c;border-radius:999px;padding:2px 8px;font-size:.74rem;line-height:1.2;cursor:pointer}.pod-chip.is-selected{background:#e8efff;border-color:#7da2ff;color:#1f4bb8}.admin-table--roster td[data-label=Active],.admin-table--roster td[data-label="Time off tally"],.admin-table--roster td[data-label="Partner days"],.admin-table--roster td[data-label="Family leave"],.admin-table--roster td[data-label="Call tally"]{text-align:center}.admin-table--roster td[data-label=Active] input[type=checkbox],.admin-table--roster td[data-label="Time off tally"] input[type=checkbox],.admin-table--roster td[data-label="Partner days"] input[type=checkbox],.admin-table--roster td[data-label="Family leave"] input[type=checkbox],.admin-table--roster td[data-label="Call tally"] input[type=checkbox]{margin:0 auto;display:block}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.admin-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}.admin-filter-card{position:sticky;top:16px;z-index:5;box-shadow:0 10px 20px #11141e14}.admin-filter-card__toggle{display:none}.admin-filter-card__body{display:block}.admin-filter-group{display:flex;flex-direction:column;gap:6px;min-width:220px}.admin-submissions-meta{margin-top:6px;font-size:12px;color:var(--muted)}.admin-filter-group--toggles{flex:1;align-items:flex-end;gap:10px}.admin-filter-group--toggles .view-toggle{justify-content:flex-end}.admin-view-toggle{margin-bottom:16px}.utilization-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}.utilization-hint{margin-top:8px;font-size:12px;color:var(--muted)}.utilization-stack,.page-loading-stack{position:relative}.page-loading-stack.help-focus-mode:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;background:#f3f6fcb8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:30;pointer-events:none;border-radius:16px}.utilization-loading,.page-loading{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--loader-bg);border:none;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.utilization-loading__logo,.page-loading__logo{width:240px;height:100px;background:#d8e3fb;-webkit-mask:url(/logo.png) center/contain no-repeat;mask:url(/logo.png) center/contain no-repeat;position:relative}.utilization-loading__logo:after,.page-loading__logo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--loader-fill-start) 0%,var(--loader-fill-mid) 55%,var(--loader-fill-end) 100%);transform:translateY(100%);animation:logo-fill 2.2s ease-in-out infinite}.utilization-loading__text,.page-loading__text{font-size:13px;color:var(--muted);font-weight:600;letter-spacing:.3px}.utilization-loading:before,.page-loading:before{content:"";position:absolute;width:var(--loader-icon-size);height:var(--loader-icon-size);border-radius:999px;background:#fff;background-image:var(--loader-icon);background-repeat:no-repeat;background-position:center;background-size:var(--loader-icon-bg-size) var(--loader-icon-bg-size);left:calc(50% + 140px);top:calc(50% - 40px);box-shadow:0 0 0 2px #ffffffbf,0 0 10px #ffffff73}@keyframes logo-fill{0%{transform:translateY(100%)}55%{transform:translateY(0)}to{transform:translateY(-100%)}}.utilization-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.utilization-header__actions{display:inline-flex;gap:10px;align-items:center}.utilization-toggle{display:none}.utilization-section__content{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.utilization-title{font-size:16px;font-weight:600;color:var(--ink)}.utilization-table{width:100%;border-collapse:collapse;min-width:960px}.utilization-table th,.utilization-table td{text-align:left;padding:8px;border-top:1px solid #eee;font-size:13px}.utilization-table tbody tr:nth-child(2n){background:#fbf9f4}.utilization-table tbody tr:hover{background:#f1f6ff}.utilization-input{width:90px;padding:6px 8px;border-radius:8px;border:1px solid var(--border);font:inherit;background:#fff}.utilization-input--compact{width:70px;padding:4px 6px;text-align:center}.utilization-input--locked{background:#f4f2ee;border-style:dashed;color:var(--muted);box-shadow:none}.utilization-negative{color:#b42318;font-weight:600;background:#fde7e5;border-radius:8px;padding:4px 6px;display:inline-flex}.utilization-muted{color:var(--muted);font-weight:600}.utilization-name{display:inline-flex;align-items:center;gap:8px}.utilization-title{display:inline-flex;align-items:center;gap:8px;position:relative}.utilization-legend{border:1px solid var(--border);background:#fff;color:var(--muted);font-weight:600;font-size:.75rem;padding:2px 8px;border-radius:999px;cursor:pointer}.utilization-legend__popover{position:absolute;top:calc(100% + 8px);left:0;background:#fff;color:#273047;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:.78rem;box-shadow:0 12px 24px #11141e1f;z-index:4;white-space:nowrap}.utilization-expand{border:none;background:transparent;color:var(--muted);font-size:16px;cursor:pointer;padding:0;line-height:1}.utilization-expand-all{border:none;background:transparent;color:var(--muted);font-weight:600;font-size:.85rem;cursor:pointer;display:none}.utilization-compact{display:inline-flex;align-items:center;gap:6px}.utilization-compact__sep{color:var(--muted);font-weight:600}.utilization-compact__value{font-weight:600}.utilization-details td{background:#f6f3eb}.utilization-details__content{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:8px 4px}.utilization-details__field{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#3b445c}.utilization-select{border-radius:8px;border:1px solid var(--border);padding:4px 8px;background:#fff;font:inherit}.utilization-workdays{display:inline-flex;flex-wrap:wrap;gap:6px}.workday-chip{border:1px solid #d7d1c3;background:#fbf7ee;color:#39435c;border-radius:999px;padding:2px 8px;font-size:.75rem;cursor:pointer}.workday-chip.is-selected{background:#e8efff;border-color:#7da2ff;color:#1f4bb8}.utilization-details__label{font-weight:600}.utilization-details__label--hint{cursor:help}.utilization-details__toggle input[type=checkbox]{margin:0}.utilization-pod{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:12px}@media (max-width: 720px){.admin-filter-card__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:transparent;font-size:.86rem;font-weight:700;color:var(--ink);cursor:pointer}.admin-filter-card__chevron{font-size:.8rem;color:var(--muted);transition:transform .18s ease}.admin-filter-card__chevron--open{transform:rotate(180deg)}.admin-filter-card__body{display:none}.admin-filter-card--open .admin-filter-card__body{display:block;padding-top:8px}.admin-filter-group--toggles{align-items:flex-start}.admin-filter-group--toggles .view-toggle{justify-content:flex-start}.admin-actions{gap:6px}.admin-actions .button,.admin-actions .button-ghost{padding:8px 10px;font-size:.76rem;flex:1 1 auto;text-align:center}.admin-actions .notes-toggle{flex-basis:100%;font-size:.76rem}.utilization-table{min-width:0;width:100%}.utilization-input{width:72px}.utilization-loading__logo,.page-loading__logo{width:190px;height:80px}.utilization-loading:before,.page-loading:before{left:calc(50% + 110px);top:calc(50% - 50px)}}@media (max-width: 720px){.utilization-table thead{display:none}.utilization-table tbody tr{display:grid;grid-template-columns:1fr;gap:8px 12px;padding:12px 10px}.utilization-table tbody tr+tr{border-top:1px solid #eee}.utilization-table td{display:flex;flex-direction:column;gap:4px;padding:0;border-top:none}.utilization-table td:before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600}.utilization-row--collapsed{border-top:1px solid #eee}.utilization-row--collapsed td{display:none}.utilization-row--collapsed td:first-child{display:flex}.utilization-input{width:100%;max-width:100%;box-sizing:border-box}.utilization-input--compact{width:72px;max-width:72px}.utilization-pod{max-width:100%;align-self:flex-start}.utilization-toggle{display:inline-flex}.utilization-section--collapsed .utilization-section__content{display:none}.utilization-expand-all{display:inline-flex}.utilization-details td{display:block;padding:8px 0}.utilization-details td:before{content:none}}.table-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.table-search{display:flex;flex-direction:column;gap:6px;min-width:220px}.table-search input{max-width:280px}.table-pagination{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.table-pagination label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.table-page{font-size:12px;color:var(--muted)}.date-cell{display:flex;flex-direction:column;gap:6px}.date-cell__summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.date-cell__toggle{border:none;background:none;color:var(--accent-strong);font-size:12px;font-weight:600;cursor:pointer;padding:0}.date-cell__toggle:hover{text-decoration:underline}.date-cell__chips{display:flex;flex-wrap:wrap;gap:4px}.date-chip{padding:3px 7px;border-radius:999px;background:#f2f6ff;border:1px solid #d7e1f4;font-size:11px;color:#2a3b5f}.table-dates{width:36%}.table-status-col{width:12%;white-space:nowrap}@keyframes pill-fill{0%{background-position:0% 50%}to{background-position:100% 50%}}.table-pod{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:600}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;right:24px;bottom:24px;background:#1f4bb8;color:#fff;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:600;box-shadow:0 10px 24px #11141e33;z-index:300;animation:toast-slide-in .25s ease-out}@media (min-width: 721px){.toast{padding:12px 18px;border-radius:12px;font-size:14px}}.notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:#f4f7ff;border:1px solid #cfd9ef;margin-bottom:16px}.notice--collapsible{cursor:default}.notice__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.notice__summary::-webkit-details-marker{display:none}.notice__chevron{display:none}.notice__body{padding-top:8px}.notice__summary .notice__title{margin-bottom:0}.notice__title{font-weight:700;color:#1f3d7a;margin-bottom:4px}.notice__message{color:#2a3b5f;font-size:14px;white-space:pre-line}.notice__list{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:6px}.notice__entry{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.notice__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.notice__date{font-size:12px;color:#6b778c}.notice__badge{padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f8;color:#2a3b5f}.notice__badge--approved{background:#e3f3e7;color:#1f7a44}.notice__badge--conflict{background:#fde7e5;color:#b42318}.notice__badge--partial_rescind,.notice__badge--rescinded{background:#e9f0fb;color:#2a3b5f}.notice__badge--type{background:#eef2f8;color:#2a3b5f;font-weight:700}.notice__summary{font-size:12px;color:#6b778c}.notice__summary{font-weight:600;color:#2a3b5f}.notice__close{border:none;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:#4a5a78}@media (max-width: 720px){.notice__entry{row-gap:6px}.notice--collapsible{padding:0}.notice--collapsible .notice__summary{padding:10px 14px;font-size:.84rem}.notice--collapsible .notice__chevron{display:inline;font-size:.8rem;color:#607091;transition:transform .18s ease}.notice--collapsible[open] .notice__chevron{transform:rotate(180deg)}.notice--collapsible .notice__body{padding:0 14px 12px}}.submit-preview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;color:var(--muted);font-size:.85rem;text-align:center}.empty-state:before{content:"—";font-size:1.4rem;font-weight:300;color:var(--border);line-height:1}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;gap:12px}.not-found__image{width:200px;height:auto;filter:drop-shadow(0 6px 14px rgba(31,62,132,.2))}.not-found__title{font-size:1.35rem;font-weight:700;color:#1f3d7a}.not-found__message{color:var(--muted);font-size:.95rem;max-width:360px;text-align:center}@media (max-width: 720px){.not-found__image{width:160px}.toast{bottom:72px;right:16px;left:16px;text-align:center}}@media (max-width: 980px){.submit-preview-grid{grid-template-columns:1fr}}.conflict-dots{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}.conflict-dot{min-width:1.6rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:600;text-align:center;position:relative;transition:filter .2s ease,opacity .2s ease}.conflict-dot--pending{border-style:dashed;opacity:.6;filter:saturate(.65) brightness(1.08)}.conflict-dot--approved{border-style:solid;border-width:2px;filter:saturate(1.15) brightness(1.02);box-shadow:0 0 0 1px #1b3f8c26,0 0 10px #3b82f640}.conflict-dot--noc{background:transparent;border-style:solid;border-radius:2px;box-shadow:none}.conflict-dot--conflict{border-color:#d45b5b;color:#6f2b2b}.conflict-dot__alert{position:absolute;top:-6px;right:-6px;width:14px;height:14px;border-radius:999px;background:#d45b5b;color:#fff;font-size:10px;line-height:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000001f}@media (max-width: 720px){.stats-page{margin-left:-8px;margin-right:-8px}.stats-overview-grid{grid-template-columns:1fr 1fr}.stats-nerds-grid{grid-template-columns:1fr}.stats-impact-bar{width:92px}.stats-page .stats-overview-grid .card{padding:10px;border-radius:10px}.stats-page .stats-overview-grid .status-text{font-size:.8rem}.stats-page .stats-overview-grid .stats-metric{font-size:1.15rem}.stats-filters{top:8px}.stats-my-row__metrics{grid-template-columns:1fr}.stats-load-row{grid-template-columns:1fr;grid-template-areas:none;gap:6px}.stats-load-row__label,.stats-load-row__stacked,.stats-load-row__grouped,.stats-load-row__summary,.stats-load-row__total{grid-area:auto}.stats-load-row__summary{display:block}.stats-load-row__total{text-align:left}.stats-upload-grid{grid-template-columns:1fr}.stats-fairness-table tbody td:first-child,.stats-fairness-table thead tr:first-child th:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 #e6e9f2}.stats-fairness-table tbody tr:nth-child(2n) td:first-child{background:#fafbfe}.stats-fairness-table tbody tr.table-row--selected td:first-child{background:#e8eefc}.stats-fairness-table thead tr:first-child th:first-child{z-index:3;background:#fff}.stats-weight-table tbody td:first-child,.stats-weight-table thead tr:first-child th:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 #e6e9f2}.stats-weight-table thead tr:first-child th:first-child{z-index:3}}.conflict-detail{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:13px;color:var(--ink);margin-top:10px}.conflict-detail-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}.conflict-detail-pill{border-radius:999px;padding:3px 10px;font-weight:600}.conflict-detail-clear{margin-left:auto;border:none;background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:4px 10px;cursor:pointer;font-size:12px}.conflict-dot{cursor:pointer;touch-action:manipulation}@page{size:landscape;margin:.3in}@media print{*{box-shadow:none!important;text-shadow:none!important;filter:none!important}.card:before,.card:after{display:none!important}.app-header,.app-nav,.app-footer,.calendar-filters,.calendar-legend,.bottom-sheet-overlay,.admin-calendar-controls__actions,.admin-calendar-controls__nav,.calendar-help-button,.help-overlay,.toast-container,.installation-hint,.section-title,.howto-wrap,.page-loading,.empty-state{display:none!important}html,body{margin:0;padding:0;background:#fff;height:100%;overflow:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-main{padding:0;max-width:none}.calendar-page{padding:0;margin:0}.card.calendar-card,.card.admin-calendar-card,.card.admin-calendar-card--expanded,.card.admin-calendar-card--fullscreen{position:static;margin:0;padding:0;border:none;border-radius:0;box-shadow:none!important;width:100%;height:auto;max-width:none;max-height:none;overflow:visible}.calendar-header{margin:0 0 1px;padding:0}.admin-calendar-header-row{justify-content:center}.calendar-title{font-size:8pt;font-weight:700;text-align:center;width:100%}.calendar-header__weekdays{display:none}.calendar-grid,.admin-calendar-card .calendar-grid,.admin-calendar-card--expanded .calendar-grid,.admin-calendar-card--fullscreen .calendar-grid{grid-template-columns:repeat(7,1fr);grid-template-rows:12px;grid-auto-rows:1fr;height:7.5in;gap:0}.calendar-weekday{font-size:5pt;font-weight:700;text-transform:uppercase;padding:0;border-bottom:.75pt solid #333}.calendar-cell,.admin-calendar-card .calendar-cell,.admin-calendar-card--expanded .calendar-cell,.admin-calendar-card--fullscreen .calendar-cell{min-height:0;overflow:hidden}.calendar-day-tile,.admin-calendar-card .calendar-day-tile,.admin-calendar-card--expanded .calendar-day-tile,.admin-calendar-card--fullscreen .calendar-day-tile{border-radius:0;border:.5pt solid #bbb;padding:1px 2px;min-height:0;height:100%;overflow:hidden;background:#fff;gap:0;cursor:default}.calendar-day-tile--closed{background:#eef3fb}.calendar-day-tile--today{border-color:#333;border-width:1pt}.calendar-day-tile--empty,.calendar-cell--empty{min-height:0}.calendar-day-number{font-size:5pt;font-weight:700;color:#333;line-height:1}.calendar-holiday-pill{font-size:4pt;padding:0 2px;top:1px;right:1px;background:#555;box-shadow:none!important}.calendar-day-footer{font-size:4pt;color:#666}.calendar-events,.admin-calendar-card .calendar-events,.admin-calendar-card--expanded .calendar-events,.admin-calendar-card--fullscreen .calendar-events{max-height:none;overflow:visible;gap:0;padding:0}.calendar-events::-webkit-scrollbar{display:none}.calendar-event,.calendar-page .calendar-event,.admin-page .calendar-event{font-size:6pt!important;padding:0 1px!important;margin:0;border-radius:1px;border-width:.25pt!important;border-style:solid!important;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event--approved,.calendar-page .calendar-event--approved,.admin-page .calendar-event--approved{font-weight:600;border-width:.4pt!important}.calendar-event--pending,.calendar-page .calendar-event--pending,.admin-page .calendar-event--pending{opacity:.5;border-style:dashed!important}.calendar-event__label{display:inline!important}.calendar-event__initials,.calendar-event__compact,.calendar-event__alert{display:none!important}}
