.sp-skip{position:absolute;left:8px;top:-40px;padding:8px 12px;background:var(--ink);color:var(--surface);border-radius:var(--sp-radius-2);z-index:200}.sp-skip:focus{top:8px}.sp-shell{--top: 56px;--nav: 240px;--rail: 56px;display:flex;flex-direction:column;min-height:100dvh;background:var(--surface);color:var(--ink)}.sp-shell[data-density=compact]{font-size:var(--sp-text-12);line-height:16px}.sp-shell__top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--sp-space-2);height:var(--top);padding:0 var(--sp-space-4);background:var(--surface-raised);border-bottom:1px solid var(--line)}.sp-shell__logo{display:inline-flex;align-items:center;height:32px;max-width:180px;color:inherit;text-decoration:none}.sp-shell__logo img,.sp-shell__logo svg{height:24px;width:auto}.sp-shell__wordmark{font-weight:600;font-size:var(--sp-text-15);letter-spacing:-.01em}.sp-shell__wsname{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-shell__spacer{flex:1}.sp-shell__control{display:inline-flex;align-items:center;gap:6px;height:36px;min-width:36px;padding:0 10px;border:1px solid transparent;border-radius:var(--sp-radius-2);background:transparent;color:var(--ink);font-size:var(--sp-text-13);text-decoration:none}.sp-shell__control:hover{background:var(--hover);border-color:var(--line)}.sp-shell__search-hint{display:inline-flex;gap:8px;align-items:center;color:var(--ink-muted)}.sp-shell__search-hint kbd{font:inherit;font-size:var(--sp-text-11);padding:1px 5px;border:1px solid var(--line-strong);border-radius:4px}.sp-shell__menu{display:none}.sp-shell__demo{margin-left:var(--sp-space-2)}.sp-popover{position:relative}.sp-popover__panel{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-width:min(360px,calc(100vw - 32px));padding:6px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--sp-radius-3);box-shadow:var(--shadow-dialog);z-index:40;animation:sp-dialog-in var(--sp-dur-2) var(--sp-ease-out)}.sp-popover[data-align=end] .sp-popover__panel{left:auto;right:0}.sp-menu__item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--sp-space-3);padding:8px 10px;border:0;border-radius:var(--sp-radius-1);background:transparent;text-align:left;font-size:var(--sp-text-13)}.sp-menu__item:hover{background:var(--hover)}.sp-menu__item[aria-checked=true]{background:var(--selected);box-shadow:inset 3px 0 0 var(--accent-line)}.sp-menu__item--action{color:var(--ink-muted);border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding-top:10px}.sp-apps{display:grid;gap:2px}.sp-apps__item{display:flex;gap:var(--sp-space-3);align-items:center;padding:8px 10px;border-radius:var(--sp-radius-1);color:inherit;text-decoration:none}.sp-apps__item:hover{background:var(--hover)}.sp-apps__item[aria-current=page]{background:var(--selected);box-shadow:inset 3px 0 0 var(--accent-line)}.sp-apps__item[aria-disabled=true]{opacity:.5;pointer-events:none}.sp-apps__mark{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:var(--sp-graphite-900);color:var(--sp-dark-text);flex:none}.sp-apps__s{color:var(--sp-orange);font-weight:600;letter-spacing:-.02em}.sp-apps__copy{display:flex;flex-direction:column;line-height:16px}.sp-apps__copy strong{font-weight:600;font-size:var(--sp-text-13)}.sp-apps__copy>span{color:var(--ink-muted);font-size:var(--sp-text-11)}.sp-shell__body{display:flex;flex:1;min-height:0}.sp-shell__nav{position:sticky;top:var(--top);align-self:flex-start;height:calc(100dvh - var(--top));width:var(--nav);flex:none;display:flex;flex-direction:column;padding:var(--sp-space-3) var(--sp-space-2);border-right:1px solid var(--line);background:var(--surface);transition:width var(--sp-dur-2) var(--sp-ease-out)}.sp-shell[data-rail=collapsed] .sp-shell__nav{width:var(--rail)}.sp-shell[data-rail=collapsed] .sp-nav__label,.sp-shell[data-rail=collapsed] .sp-nav__badge{display:none}.sp-nav{list-style:none;margin:0;padding:0;display:grid;gap:2px}.sp-nav__item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--sp-radius-2);color:var(--ink);text-decoration:none;font-size:var(--sp-text-13);font-weight:500}.sp-nav__item:hover{background:var(--hover)}.sp-nav__item[aria-current=page]{background:var(--selected);box-shadow:inset 3px 0 0 var(--accent-line);font-weight:600}.sp-nav__icon{width:18px;height:18px;display:grid;place-items:center;flex:none;color:var(--ink-muted)}.sp-nav__item[aria-current=page] .sp-nav__icon{color:var(--accent-line)}.sp-nav__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sp-nav__badge{margin-left:auto;font-size:var(--sp-text-11);color:var(--ink-muted)}.sp-nav__collapse{margin-top:auto;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;border-radius:var(--sp-radius-2);background:transparent;color:var(--ink-muted);font-size:var(--sp-text-12)}.sp-nav__collapse svg{transform:rotate(90deg)}.sp-shell[data-rail=collapsed] .sp-nav__collapse svg{transform:rotate(-90deg)}.sp-shell__scrim{display:none}.sp-shell__main{flex:1;min-width:0;padding:var(--sp-space-5) var(--sp-space-6);outline:none}.sp-page{max-width:1360px}.sp-panel{position:sticky;top:var(--top);align-self:flex-start;width:var(--panel-width);height:calc(100dvh - var(--top));flex:none;display:flex;flex-direction:column;background:var(--surface-raised);border-left:1px solid var(--line)}.sp-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-space-2);padding:var(--sp-space-4) var(--sp-space-5);border-bottom:1px solid var(--line)}.sp-panel__title{margin:0;font-size:var(--sp-text-15);font-weight:600;outline:none}.sp-panel__body{padding:var(--sp-space-5);overflow:auto}.sp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-space-2);margin-bottom:var(--sp-space-4)}.sp-toolbar__spacer{flex:1}.sp-page-title{margin:0 0 var(--sp-space-4);font-size:var(--sp-text-24);font-weight:600;letter-spacing:-.015em;line-height:1.2}.sp-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--sp-radius-3);background:var(--surface-raised)}.sp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--sp-text-13)}.sp-table th,.sp-table td{height:var(--table-row);padding:0 var(--sp-space-3);text-align:left;border-bottom:1px solid var(--table-line);white-space:nowrap;vertical-align:middle}.sp-table-wrap[data-density=compact] th,.sp-table-wrap[data-density=compact] td{height:var(--table-row-compact);font-size:var(--sp-text-12)}.sp-table th{position:sticky;top:0;z-index:2;background:var(--table-head-bg);color:var(--ink-muted);font-weight:600;font-size:var(--sp-text-11);letter-spacing:.02em;text-transform:uppercase}.sp-table [data-align=end]{text-align:right}.sp-table [data-sticky=true]{position:sticky;left:0;z-index:1;background:var(--surface-raised)}.sp-table th[data-sticky=true]{z-index:3;background:var(--table-head-bg)}.sp-table tbody tr:last-child td{border-bottom:0}.sp-table tbody tr:hover td{background:var(--hover)}.sp-table tbody tr[data-selected=true] td{background:var(--table-selected)}.sp-table tbody tr[data-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--accent-line)}.sp-table td:focus-visible{outline-offset:-2px}.sp-table__check{width:40px}.sp-table__check input{accent-color:var(--accent)}.sp-table__sort{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.sp-table__sort-icon{opacity:.5}.sp-table th[aria-sort=ascending] .sp-table__sort-icon,.sp-table th[aria-sort=descending] .sp-table__sort-icon{opacity:1;color:var(--accent-line)}.sp-table__empty{color:var(--ink-muted);text-align:center;padding:var(--sp-space-7)!important;white-space:normal!important}.sp-grid{--person: var(--grid-person-col);--row: var(--grid-row);position:relative;overflow:auto;border:1px solid var(--line);border-radius:var(--sp-radius-3);background:var(--surface-raised);font-size:var(--sp-text-12)}.sp-grid[data-narrow=true]{--person: 120px}.sp-grid__head,.sp-grid__row,.sp-grid__team{display:grid;grid-template-columns:var(--person) 1fr;min-width:calc(var(--person) + var(--grid-cols) * var(--grid-col))}.sp-grid__head{position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:var(--person) repeat(var(--grid-cols),var(--grid-col))}.sp-grid__corner,.sp-grid__person{position:sticky;left:0;z-index:2;background:var(--surface-raised);border-right:1px solid var(--line)}.sp-grid__corner{background:var(--surface);display:flex;align-items:center;padding:0 var(--sp-space-3);height:44px;color:var(--ink-muted);font-size:var(--sp-text-11);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.sp-grid__period{display:flex;flex-direction:column;align-items:center;justify-content:center;height:44px;border-right:1px solid var(--line);color:var(--ink-muted);line-height:14px}.sp-grid__period-label{color:var(--ink);font-weight:600}.sp-grid__period-sub{font-size:var(--sp-text-10);text-transform:uppercase}.sp-grid__period[data-weekend=true]{background:var(--surface);color:var(--ink-muted)}.sp-grid__period[data-today=true]{box-shadow:inset 0 3px 0 var(--accent-line)}.sp-grid__team{grid-template-columns:1fr}.sp-grid__team-name{position:sticky;left:0;width:max-content;padding:6px var(--sp-space-3);color:var(--ink-muted);font-size:var(--sp-text-11);font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:var(--surface);border-bottom:1px solid var(--line)}.sp-grid__row{border-bottom:1px solid var(--line)}.sp-grid__row:last-child{border-bottom:0}.sp-grid__person{display:flex;gap:10px;align-items:center;min-height:var(--row);padding:6px var(--sp-space-3)}.sp-grid__avatar{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--selected);color:var(--ink);font-weight:600;font-size:var(--sp-text-12)}.sp-grid__person-copy{display:flex;flex-direction:column;min-width:0;gap:2px;flex:1}.sp-grid__person-name{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-grid__person-role{color:var(--ink-muted);font-size:var(--sp-text-11)}.sp-grid__cells{position:relative;display:grid;grid-template-columns:repeat(var(--grid-cols),var(--grid-col));min-height:var(--row)}.sp-grid__cell{border-right:1px solid var(--line);min-height:var(--row)}.sp-grid__cell[data-weekend=true]{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in oklch,var(--line) 55%,transparent) 4px 5px)}.sp-grid__cell[data-today=true]{background-color:var(--selected)}.sp-grid__cell:focus-visible{outline-offset:-2px;z-index:1}.sp-grid__cells[data-mode=aggregate] .sp-grid__cell{cursor:pointer}.sp-grid__cells[data-mode=aggregate] .sp-grid__cell:hover{background:var(--hover)}.sp-grid__agg{display:grid;gap:4px;padding:8px 10px;height:100%;align-content:center;font-variant-numeric:tabular-nums}.sp-grid__agg-hours{font-weight:600;color:var(--ink);font-size:var(--sp-text-13)}.sp-grid__agg-bar{display:block;height:4px;border-radius:2px;background:var(--capacity-track);overflow:hidden}.sp-grid__agg-bar>span{display:block;height:100%;background:var(--capacity-fill)}.sp-grid__agg-util{font-size:var(--sp-text-10);color:var(--ink-muted)}.sp-grid__cell[data-over=true] .sp-grid__agg-bar>span{background:repeating-linear-gradient(135deg,var(--capacity-over) 0 3px,color-mix(in oklch,var(--capacity-over) 50%,transparent) 3px 6px)}.sp-grid__cell[data-over=true] .sp-grid__agg-util{color:var(--capacity-over);font-weight:600}.sp-grid__cell[data-empty=true] .sp-grid__agg-hours{color:var(--ink-muted);font-weight:400}.sp-booking{position:absolute;top:6px;height:calc(var(--row) - 12px);left:calc(var(--col-start) * var(--grid-col) + 2px);width:calc((var(--col-end) - var(--col-start)) * var(--grid-col) - 4px);display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px 0 10px;border:1px solid var(--line);border-left:4px solid var(--project);border-radius:var(--booking-radius);background:var(--surface-raised);color:var(--ink);font-size:var(--sp-text-11);text-align:left;overflow:hidden;box-shadow:0 1px #0000000a}.sp-booking:hover{background:var(--hover)}.sp-booking[data-tentative=true]{border-style:dashed;border-left-style:solid;color:var(--ink-muted)}.sp-booking[data-selected=true]{outline:2px solid var(--focus);outline-offset:1px}.sp-booking__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.sp-booking__hours{flex:none;color:var(--ink-muted)}.sp-booking[data-interactive=true]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.sp-booking[data-dragging=true]{cursor:grabbing;z-index:3;box-shadow:var(--shadow-dialog)}.sp-booking--ghost{opacity:.35;border-style:dashed;pointer-events:none}.sp-booking__handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.sp-booking__handle[data-edge=start]{left:0}.sp-booking__handle[data-edge=end]{right:0}.sp-booking:hover .sp-booking__handle,.sp-booking:focus-visible .sp-booking__handle{background:color-mix(in oklch,var(--project) 30%,transparent)}.sp-capacity{display:flex;align-items:center;gap:8px;margin-top:2px}.sp-capacity__track{flex:1;height:4px;border-radius:2px;background:var(--capacity-track);overflow:hidden}.sp-capacity__fill{height:100%;background:var(--capacity-fill);transition:width var(--sp-dur-3) var(--sp-ease-out)}.sp-capacity[data-over=true] .sp-capacity__fill{background:repeating-linear-gradient(135deg,var(--capacity-over) 0 3px,color-mix(in oklch,var(--capacity-over) 50%,transparent) 3px 6px)}.sp-capacity__text{flex:none;min-width:34px;text-align:right;font-size:var(--sp-text-10);color:var(--ink-muted);font-variant-numeric:tabular-nums}.sp-capacity[data-over=true] .sp-capacity__text{color:var(--capacity-over);font-weight:600}@media(max-width:1279px){.sp-panel{position:fixed;right:0;z-index:35;box-shadow:var(--shadow-dialog)}}@media(max-width:1023px){.sp-shell__nav{width:var(--rail)}.sp-shell .sp-nav__label,.sp-shell .sp-nav__badge,.sp-shell__search-hint{display:none}.sp-shell__search{padding:0}}@media(max-width:767px){.sp-shell__menu{display:inline-flex}.sp-shell__nav{position:fixed;inset:var(--top) auto 0 0;width:var(--nav);transform:translate(-100%);transition:transform var(--sp-dur-2) var(--sp-ease-out);z-index:36;box-shadow:var(--shadow-dialog)}.sp-shell__nav[data-open=true]{transform:none}.sp-shell__nav[data-open=true] .sp-nav__label{display:inline}.sp-nav__collapse{display:none}.sp-shell__scrim{display:block;position:fixed;inset:var(--top) 0 0 0;background:var(--backdrop);border:0;z-index:34}.sp-shell__main{padding:var(--sp-space-4)}.sp-panel{width:100vw;height:calc(100dvh - var(--top))}.sp-shell__wsname{max-width:96px}.sp-grid{--person: 120px;scroll-snap-type:x proximity}.sp-grid__period,.sp-grid__cell{scroll-snap-align:start}.sp-grid__person-role{display:none}}@media(max-width:479px){.sp-shell__logo{max-width:120px}.sp-shell__top{padding:0 var(--sp-space-3);gap:4px}.sp-shell__demo{display:none}}@media(pointer:coarse){.sp-shell{--row: 48px}.sp-shell__control,.sp-nav__item{min-height:44px}}
