@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;450;500;600&display=swap");:root{color-scheme:light;--bg:#f7f6f2;--paper:#ffffff;--panel-2:#faf9f6;--line:#e3e0d8;--line-soft:#eeece6;--ink:#16171a;--ink-dim:#5f6470;--ink-faint:#9aa0ac;--accent:#1c4ed8;--gain:#0f8a5f;--gain-soft:#d9f0e5;--loss:#c2313f;--loss-soft:#fbe0e2;--warn:#a8620a;--warn-soft:#fdeecd;--sec:#1c6fb8;--soo:#9333a8;--zero:#cdd2da;--bid-max:#e6f0fb;--bid-max-fg:#14568f;--bid-max-line:#bcd8f2;--bid-tcpa:#e2f4ea;--bid-tcpa-fg:#0d7346;--bid-tcpa-line:#b9e2cd}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1000px 520px at 8% -12%,rgba(28,78,216,.05),transparent 62%),radial-gradient(760px 460px at 102% -4%,rgba(147,51,168,.045),transparent 60%)}.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(20,22,28,.04)}button,input,select{font:inherit;color:inherit;touch-action:manipulation}button{cursor:pointer;background:none;border:none}.camp-table tbody td.sticky-name,.camp-table thead th.sticky-name{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--paper);min-width:320px;max-width:320px;width:320px}.camp-table tbody td.sticky-on,.camp-table thead th.sticky-on{position:-webkit-sticky;position:sticky;left:320px;z-index:3;background:var(--paper);min-width:96px;width:96px;border-right:1px solid var(--line-soft);box-shadow:6px 0 10px -6px rgba(20,22,28,.18)}.camp-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--paper)}.camp-table thead th.sticky-name,.camp-table thead th.sticky-on{z-index:5}.camp-table tbody tr.camp-open td.sticky-name,.camp-table tbody tr.camp-open td.sticky-on,.camp-table tbody tr:hover td.sticky-name,.camp-table tbody tr:hover td.sticky-on{background:var(--panel-2)}.camp-scroll{overflow:auto;max-height:calc(100vh - 190px);container-type:inline-size;overscroll-behavior:contain}.camp-table td.camp-expand{background:var(--panel-2);padding:0;border-bottom:1px solid var(--line)}.camp-expand-inner{position:-webkit-sticky;position:sticky;left:0;width:100cqw;max-width:100cqw;box-sizing:border-box;overflow-x:hidden}.day-perf-wrap{overflow-x:auto}.day-perf-table{table-layout:fixed;width:100%}.day-perf-table td.day-perf-date,.day-perf-table th.day-perf-date{position:-webkit-sticky;position:sticky;left:0;z-index:1;width:118px;min-width:118px;background:var(--paper);box-shadow:4px 0 8px -4px rgba(20,22,28,.12)}.day-perf-table tbody tr:hover td.day-perf-date{background:var(--panel-2)}thead th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--paper)}tbody tr:hover td:first-child{background:var(--panel-2)}th[aria-sort]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th[aria-sort]:hover{color:var(--ink)}tbody tr:hover{background:var(--panel-2)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.shell-rail{position:fixed;top:0;left:0;bottom:0;width:200px;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 14px 18px;z-index:40;transition:width .18s ease}.shell-content{padding-left:200px;transition:padding-left .18s ease}.rail-brand{display:grid;grid-template-columns:32px 1fr;grid-column-gap:8px;column-gap:8px;grid-row-gap:2px;row-gap:2px;padding:0 4px 18px;align-items:center}.rail-logo{grid-column:1;grid-row:1/span 2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;background:transparent;border:none;border-radius:8px;cursor:pointer}.rail-logo img{width:28px;height:28px;border-radius:7px;display:block;flex:0 0 auto;border:1px solid var(--line);background:#faf9f5;transition:box-shadow .15s ease}.rail-logo:hover img{box-shadow:0 0 0 3px var(--panel-2)}.rail-brand-name{grid-column:2;grid-row:1;align-self:end}.rail-brand-sub{grid-column:2;grid-row:2;align-self:start;font-size:10.5px;color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase}.rail-nav{display:flex;flex-direction:column;gap:4px;min-width:0}.rail-link{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-size:13.5px;color:var(--ink-dim);text-decoration:none;border:1px solid transparent;white-space:nowrap}.rail-link svg{flex:0 0 auto;display:block;opacity:.88}.rail-link svg.brand-mark{opacity:1}.rail-link:hover,.rail-link[aria-current=page]{background:var(--panel-2);color:var(--ink)}.rail-link[aria-current=page]{border-color:var(--line);font-weight:600}.rail-foot{margin-top:auto;padding:0 10px 8px;font-size:10.5px;color:var(--ink-faint)}html[data-rail=collapsed] .shell-rail{width:56px;padding:18px 8px 12px}html[data-rail=collapsed] .shell-content{padding-left:56px}html[data-rail=collapsed] .rail-brand{padding:0 0 14px;grid-template-columns:1fr;justify-items:center}html[data-rail=collapsed] .rail-brand-name,html[data-rail=collapsed] .rail-brand-sub,html[data-rail=collapsed] .rail-foot,html[data-rail=collapsed] .rail-link-label{display:none}html[data-rail=collapsed] .rail-link{justify-content:center;padding:8px 0;gap:0}html[data-rail=collapsed] .rail-logo{grid-column:1;grid-row:1}.rail-hamburger{display:none}@media (max-width:940px){.shell-rail{position:-webkit-sticky;position:sticky;top:0;bottom:auto;width:auto;flex-direction:row;align-items:center;gap:10px;padding:10px 16px;border-right:none;border-bottom:1px solid var(--line)}.shell-content{padding-left:0!important}.rail-brand{padding:0;display:flex;flex-direction:row;align-items:center;gap:8px;flex:1 1}.rail-brand-sub,.rail-foot,.shell-rail .rail-nav{display:none}.rail-logo{align-self:center;width:32px;flex:0 0 auto;margin:0}.rail-hamburger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;background:none;border:none;border-radius:8px;color:var(--ink-dim)}.rail-hamburger:hover{background:var(--panel-2);color:var(--ink)}html[data-rail=collapsed] .shell-rail{width:auto;padding:10px 16px}}.nav-scrim{position:fixed;inset:0;z-index:49;background:rgba(20,22,28,.35)}.nav-sheet{position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(84vw,320px);background:var(--paper);border-right:1px solid var(--line);box-shadow:12px 0 32px rgba(20,22,28,.16);padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease;display:flex;flex-direction:column;gap:14px}.nav-sheet[data-open=true]{transform:translateX(0)}@media (min-width:940.02px){.nav-scrim,.nav-sheet{display:none}}.nav-sheet-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--line-soft)}.nav-sheet .rail-nav{flex-direction:column;gap:2px}.nav-sheet .rail-link{min-height:44px;font-size:14.5px}.nav-sheet .rail-link-label{display:inline}@media (max-width:720px){.camp-scroll{max-height:none;overflow:auto hidden;overflow-x:auto}.camp-table thead th{position:static}.camp-table thead th.sticky-name,.camp-table thead th.sticky-on{position:-webkit-sticky;position:sticky}main{padding:20px 14px 56px!important}main h1{font-size:clamp(28px,8.5vw,38px)!important}main section[aria-label="Key metrics"],main section[aria-label="Secondary metrics"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.camp-table tbody td.sticky-name,.camp-table thead th.sticky-name{min-width:104px!important;max-width:104px!important;width:104px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;box-shadow:6px 0 8px -6px rgba(20,22,28,.18)}.camp-table tbody td.sticky-name>div:first-child{overflow:hidden}.camp-table tbody td.sticky-name>div:first-child>*{min-width:0}.camp-table tbody td.sticky-name>div:first-child>button[aria-hidden],.camp-table tbody td.sticky-name>div:first-child>button[aria-label^=Duplicate],.camp-table tbody td.sticky-name>div:first-child>span[aria-hidden]{display:none!important}.camp-table tbody td.sticky-on,.camp-table thead th.sticky-on{position:static!important;left:auto!important;box-shadow:none!important;min-width:72px!important;width:72px!important}tbody td:first-child,thead th:first-child{max-width:104px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;box-shadow:6px 0 8px -6px rgba(20,22,28,.18)}.day-perf-table td.day-perf-date,.day-perf-table th.day-perf-date{width:84px!important;min-width:84px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.camp-table td,.camp-table th{padding-left:8px!important;padding-right:8px!important}.wide-grid{grid-template-columns:1fr!important}.hour-window-row{grid-template-columns:1fr 1fr!important;grid-template-areas:"label label" "net cost" ". profit"!important;row-gap:4px!important}.hour-window-row>span:first-child{grid-area:label}.hour-window-row>span:nth-child(2){display:none}.hour-window-row>span:nth-child(3){grid-area:net}.hour-window-row>span:nth-child(4){grid-area:cost}.hour-window-row>span:nth-child(5){grid-area:profit;text-align:right}.setting-row{flex-wrap:wrap;row-gap:6px}.setting-row>:first-child{flex:1 1 100%!important;min-width:0!important}#period-body{flex-direction:column!important;left:0!important;right:0!important}#period-body>div{min-width:0!important;border-right:none!important}[role=dialog]{padding:10px!important}[role=dialog] .card{padding:14px!important;max-height:92vh!important}}@media (max-width:720px) and (pointer:coarse){.rail-link{padding:9px 11px!important}}.camp-name-toast{padding:5px 10px;border-radius:7px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.02em;box-shadow:0 6px 16px rgba(20,22,28,.22);pointer-events:none;animation:campNameToast 1.3s ease forwards}@keyframes campNameToast{0%{opacity:0;transform:translateY(-3px)}10%{opacity:1;transform:translateY(0)}78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media (max-width:720px){.comp-chip{flex-wrap:wrap;max-width:100%;row-gap:4px}.comp-chip>span:nth-child(2){max-width:calc(100% - 60px)!important}}