.lab{--label-w:208px;--lab-radius:10px;font-size:var(--text-sm);color:var(--ink);margin-top:var(--space-md);line-height:1.45}.lab :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab-input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:7px;width:100%;min-width:0;padding:.3rem .45rem;font-size:.85rem}.lab-input:focus{border-color:var(--accent);outline:none}.lab-input[disabled]{opacity:.45}textarea.lab-input{resize:vertical;font-size:.82rem}.lab-paste{font-family:var(--font-mono);font-size:.72rem;line-height:1.45}.lab-note code{font-family:var(--font-mono);background:var(--surface-alt);border-radius:4px;padding:0 .22rem;font-size:.88em}.lab-input-num{text-align:center;width:3.6rem;padding-inline:.2rem}.lab-input-year{text-align:center;width:4.4rem}.lab-btn{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);cursor:pointer;border-radius:7px;padding:.34rem .7rem;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.lab-btn:hover{background:var(--surface-alt);border-color:var(--ink-faint)}.lab-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.lab-btn-primary:hover{filter:brightness(1.07);background:var(--accent)}.lab-btn-ghost{color:var(--ink-muted);border-color:#0000}.lab-btn-danger:hover{color:#d03b3b;border-color:#d03b3b}.lab-btn-file{display:inline-block;position:relative;overflow:hidden}.lab-btn-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.lab-icon-btn{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.95rem;line-height:1;display:inline-flex}.lab-icon-btn:hover:not(:disabled){background:var(--surface-alt);color:var(--ink)}.lab-icon-btn:disabled{opacity:.3;cursor:default}.lab-seg{border:1px solid var(--rule);background:var(--surface);border-radius:7px;display:inline-flex;overflow:hidden}.lab-seg button{font:inherit;color:var(--ink-muted);border:0;border-right:1px solid var(--rule);cursor:pointer;background:0 0;padding:.33rem .62rem;font-size:.78rem}.lab-seg button:last-child{border-right:0}.lab-seg button:hover{background:var(--surface-alt);color:var(--ink)}.lab-seg button.is-on{background:var(--ink);color:var(--surface)}.lab-seg-sm button{padding:.28rem .55rem;font-size:.74rem}.lab-linkish{font:inherit;font-size:inherit;color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.lab-toolbar{border:1px solid var(--rule);border-radius:var(--lab-radius);background:var(--surface-alt);flex-direction:column;margin-bottom:.7rem;display:flex;overflow:hidden}.lab-tools-main{background:var(--surface);align-items:center;gap:.6rem;padding:.45rem .55rem;display:flex}.lab-tools-sub{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.42rem .6rem;display:flex}.lab-spacer{flex:auto}.lab-doc-title{letter-spacing:-.01em;background:0 0;border-color:#0000;flex:10rem;padding-left:.4rem;font-size:1rem;font-weight:700}.lab-doc-title:hover{border-color:var(--rule)}.lab-doc-title:focus{background:var(--surface)}.lab-toolgroup{align-items:center;gap:.25rem;display:flex}.lab-inline{color:var(--ink-muted);align-items:center;gap:.28rem;font-size:.78rem;display:inline-flex}.lab-dash{color:var(--ink-faint)}.lab-main{grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:.9rem;display:grid}.lab-board{min-width:0}.lab-scroll{scrollbar-width:thin;scrollbar-color:var(--ink-faint) transparent;border:1px solid var(--rule);border-radius:var(--lab-radius);background:var(--surface);overscroll-behavior-x:contain;max-height:clamp(320px,56vh,640px);overflow:auto}.lab-scroll::-webkit-scrollbar{width:10px;height:10px}.lab-scroll::-webkit-scrollbar-track{background:0 0}.lab-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink-faint) 60%, transparent);border:3px solid var(--surface);border-radius:6px}.lab-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.lab-inner{min-width:max-content;position:relative}.lab-scroll,.wk{user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.lab-head{z-index:30;background:var(--surface);border-bottom:1px solid var(--rule);display:flex;position:sticky;top:0}.lab-corner{z-index:36;flex:0 0 var(--label-w);width:var(--label-w);background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;justify-content:center;padding:.4rem .6rem;display:flex;position:sticky;left:0}.lab-corner span{font-size:.78rem;font-weight:600}.lab-corner small{color:var(--ink-faint);font-size:.68rem}.lab-head-cols{position:relative}.lab-months{height:18px;position:relative}.lab-month{letter-spacing:.06em;text-transform:uppercase;height:18px;color:var(--ink-faint);border-left:1px solid var(--rule);white-space:nowrap;font-size:.64rem;position:absolute;top:0;overflow:hidden}.lab-month span{padding-left:.3rem}.lab-weeks{height:30px;position:relative}.lab-week{border-left:1px solid var(--rule);white-space:nowrap;flex-direction:column;justify-content:center;height:30px;padding:.12rem .3rem;display:flex;position:absolute;top:0;overflow:hidden}.lab-week b{font-size:.72rem;font-weight:600}.lab-week small{color:var(--ink-faint);font-size:.6rem}.lab-week-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:4px}.lab-days{height:16px;position:relative}.lab-day{height:16px;color:var(--ink-faint);text-align:center;font-variant-numeric:tabular-nums;font-size:.58rem;position:absolute;top:0}.lab-day.is-today{color:var(--accent);font-weight:700}.lab-day.is-off{color:var(--ink-faint);opacity:.6}.lab-day.is-hol{color:var(--ink-muted);opacity:1;border-bottom:2px solid color-mix(in srgb, var(--ink-muted) 55%, transparent)}.lab-day.is-hol.is-part{border-bottom-style:dashed}.lab-day em{opacity:.75;margin-left:1px;font-style:normal}.lab-rows{position:relative}.lab-today-line{background:var(--accent);opacity:.5;z-index:5;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.lab-off-col{z-index:0;background:color-mix(in srgb, var(--ink-faint) 13%, transparent);pointer-events:none;position:absolute;top:0;bottom:0}.lab-track{border-bottom:1px solid var(--rule);z-index:1;align-items:stretch;display:flex;position:relative}.lab-track:nth-child(2n){background:color-mix(in srgb, var(--surface-alt) 45%, transparent)}.lab-track:nth-child(2n) .lab-track-label{background:color-mix(in srgb, var(--surface-alt) 45%, var(--surface))}.lab-track-label{z-index:20;flex:0 0 var(--label-w);width:var(--label-w);background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;justify-content:center;gap:1px;padding:.45rem .6rem;display:flex;position:sticky;left:0;overflow:hidden}.lab-track-name{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}.lab-track-label small{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.lab-dot{border-radius:2px;width:8px;height:8px;display:inline-block}.lab-track-label .lab-dot{border-radius:0;width:3px;height:auto;position:absolute;top:0;bottom:0;left:0}.lab-track-area{user-select:none;-webkit-touch-callout:none;flex:none;margin:.35rem 0;position:relative}.lab-sep{background:var(--rule);opacity:.55;width:1px;position:absolute;top:-.35rem;bottom:-.35rem}.lab-create{z-index:6;border:1.5px dashed var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:6px;position:absolute;top:0;bottom:0}.lab-bar{background:var(--bar);color:var(--bar-ink,#fff);cursor:grab;touch-action:none;user-select:none;border-radius:6px;align-items:center;transition:box-shadow .15s,transform .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0000001f}.lab-bar:hover{box-shadow:0 2px 6px #0000002e}.lab-bar.is-selected{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);z-index:8}.lab .lab-bar:active{cursor:grabbing}.lab.is-dragging .lab-bar{transition:none}.lab-bar-label{z-index:1;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;flex:1;min-width:0;padding:0 .45rem;font-size:.72rem;font-weight:600;position:relative;overflow:hidden}.lab-bar-label b{opacity:.8;font-weight:500}.lab-handle{z-index:2;cursor:ew-resize;touch-action:none;border-radius:6px 0 0 6px;flex:0 0 7px;align-self:stretch;position:relative}.lab-handle-r{border-radius:0 6px 6px 0}.lab-bar:hover .lab-handle{background:color-mix(in srgb, var(--bar-ink,#fff) 28%, transparent)}.lab-bar.kind-timeoff{background:repeating-linear-gradient(135deg, var(--surface-alt), var(--surface-alt) 4px, color-mix(in srgb, var(--ink-muted) 55%, transparent) 4px, color-mix(in srgb, var(--ink-muted) 55%, transparent) 7px);color:var(--ink);border:1px solid var(--ink-faint);box-shadow:none}.lab-bar.kind-timeoff .lab-bar-label{text-shadow:0 0 4px var(--surface), 0 0 4px var(--surface), 0 0 3px var(--surface)}.lab-track-area .lab-bar.kind-milestone{justify-content:center;padding:0}.lab-bar.kind-milestone{background:color-mix(in srgb, var(--bar) 14%, transparent);border:1px solid color-mix(in srgb, var(--bar) 45%, transparent);box-shadow:none;justify-content:flex-start;align-items:center;gap:3px;padding:0 3px;overflow:hidden}.lab-diamond{z-index:1;background:var(--bar);pointer-events:none;border-radius:2px;flex:0 0 9px;width:9px;height:9px;position:relative;transform:rotate(45deg)}.lab-bar-out{z-index:4;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;align-items:center;font-size:.74rem;font-weight:600;display:flex;position:absolute;overflow:hidden}.lab-bar-out.is-selected{color:var(--accent)}.lab-ms-label{z-index:1;min-width:0;color:var(--ink);overflow-wrap:anywhere;-webkit-line-clamp:2;pointer-events:none;-webkit-box-orient:vertical;flex:auto;font-size:.62rem;font-weight:600;line-height:1.1;display:-webkit-box;position:relative;overflow:hidden}.lab-mark{pointer-events:none;position:absolute;top:0;bottom:0}.lab-mark.is-clash{background:#d03b3b66;box-shadow:inset 0 -3px #d03b3b}.lab-mark.is-off{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--surface) 74%, transparent) 0 4px, color-mix(in srgb, var(--surface) 34%, transparent) 4px 8px)}.lab-empty-grid{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;display:flex}.lab-cap{z-index:25;background:var(--surface);border-top:1px solid var(--rule);display:flex;position:sticky;bottom:0}.lab-cap-label{z-index:26;flex:0 0 var(--label-w);width:var(--label-w);background:var(--surface);border-right:1px solid var(--rule);flex-direction:column;justify-content:flex-end;padding:.4rem .6rem;display:flex;position:sticky;left:0}.lab-cap-label span{font-size:.72rem;font-weight:600}.lab-cap-label small{color:var(--ink-faint);font-size:.64rem}.lab-cap-cols{height:84px;position:relative}.lab-cap-cell{border-left:1px solid var(--rule);flex-direction:column;justify-content:flex-end;align-items:center;padding:.25rem .2rem .22rem;display:flex;position:absolute;top:0;bottom:0}.lab-cap-cell.is-hover{background:var(--surface-alt)}.lab-cap-bar{flex:1;justify-content:center;align-items:flex-end;width:100%;max-width:54px;display:flex;position:relative}.lab-cap-avail{background:color-mix(in srgb, var(--ink-faint) 32%, transparent);border-top:1.5px dashed var(--ink-muted);border-radius:3px;position:absolute;bottom:0;left:12%;right:12%}.lab-cap-stack{border-radius:3px;flex-direction:column-reverse;gap:2px;display:flex;position:absolute;bottom:0;left:22%;right:22%;overflow:hidden}.lab-cap-stack>div{border-radius:2px;min-height:1px}.lab-cap-free{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-muted);margin-top:2px;font-size:.62rem;font-weight:600}.lab-status-dot{vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:3px;display:inline-block}.lab-cap-free.is-over{color:#d03b3b}.lab-cap-pop{z-index:40;background:var(--surface);border:1px solid var(--rule);pointer-events:none;white-space:nowrap;border-radius:8px;flex-direction:column;gap:.2rem;min-width:11rem;padding:.5rem .6rem;font-size:.7rem;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000029}.lab-cap-pop ul{gap:.1rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.lab-cap-pop li{color:var(--ink-muted);justify-content:space-between;gap:.75rem;display:flex}.lab-cap-pop span{color:var(--ink-muted)}.lab-cap-pop strong{color:var(--ink)}.wk{--wk-label-w:108px;--wk-sum-w:132px;border:1px solid var(--rule);border-radius:var(--lab-radius);background:var(--surface);overflow:clip}.wk-head{z-index:12;background:var(--surface-alt);border-bottom:1px solid var(--rule);box-shadow:0 1px 0 var(--rule);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);align-items:center;font-size:.66rem;display:flex;position:sticky;top:0}.wk-head-label{flex:0 0 var(--wk-label-w);padding:.3rem .6rem}.wk-head-days{flex:1;min-width:0;display:flex}.wk-head-days span{border-left:1px solid var(--rule);flex:1;min-width:0;padding:.3rem .4rem;overflow:hidden}.wk-head-days b{font-weight:inherit}.wk-d-abbr{display:none}.wk-head-days span.is-off{color:color-mix(in srgb, var(--ink-faint) 70%, transparent);background:color-mix(in srgb, var(--ink-faint) 10%, transparent)}.wk-head-sum{flex:0 0 var(--wk-sum-w);border-left:1px solid var(--rule);text-align:right;padding:.3rem .6rem}.wk-hint{color:var(--ink-faint);border-bottom:1px solid var(--rule);padding:.7rem .75rem;font-size:.74rem}.wk-row{border-bottom:1px solid var(--rule);align-items:stretch;display:flex}.wk-row:last-child{border-bottom:0}.wk-row:nth-child(2n){background:color-mix(in srgb, var(--surface-alt) 40%, transparent)}.wk-row.is-now{box-shadow:inset 3px 0 0 var(--accent)}.wk-row-label{flex:0 0 var(--wk-label-w);flex-direction:column;justify-content:center;gap:1px;padding:.5rem .6rem;display:flex}.wk-row-label b{font-size:.82rem;font-weight:600}.wk-row-label small{color:var(--ink-faint);white-space:nowrap;font-size:.64rem}.wk-row-days{user-select:none;-webkit-touch-callout:none;flex:1;min-width:0;position:relative}.wk-cell{border-left:1px solid var(--rule);position:absolute;top:0;bottom:0}.wk-cell span{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.6rem;position:absolute;top:2px;left:4px}.wk-cell.is-off{background:color-mix(in srgb, var(--ink-faint) 13%, transparent)}.wk-cell.is-off span{opacity:.55}.wk-cell.is-today{background:color-mix(in srgb, var(--accent) 9%, transparent)}.wk-cell.is-today span{color:var(--accent);font-weight:700}.wk-cell.is-hol{background:color-mix(in srgb, var(--ink-faint) 11%, transparent)}.wk-cell.is-hol.is-part{background:color-mix(in srgb, var(--ink-faint) 7%, transparent)}.wk-cell.is-off.is-hol{background:color-mix(in srgb, var(--ink-faint) 13%, transparent)}.wk-cell.is-hol:after{content:"";width:var(--off,100%);background:color-mix(in srgb, var(--ink-muted) 55%, transparent);height:2px;position:absolute;top:0;left:0}.wk-cell span em{opacity:.75;margin-left:2px;font-style:normal}.wk-seg{border-radius:6px}.wk-seg.is-cont-start{border-top-left-radius:2px;border-bottom-left-radius:2px}.wk-seg.is-cont-end{border-top-right-radius:2px;border-bottom-right-radius:2px}.wk-row-sum{flex:0 0 var(--wk-sum-w);border-left:1px solid var(--rule);text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;padding:.5rem .6rem;display:flex}.wk-free{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-size:.74rem;font-weight:600}.wk-free.is-over{color:#d03b3b}.wk-row-sum .lab-util{width:100%;height:4px;margin:0}.wk-row-sum small{color:var(--ink-faint);white-space:nowrap;font-size:.64rem}.wk-strained{cursor:help;font-weight:600;color:#d03b3b!important}.lab-bar.is-dragged{z-index:9;opacity:.94;box-shadow:0 6px 16px #00000047}.lab-belowbar{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem .2rem 0;font-size:.72rem;display:flex}.lab-legend{flex-wrap:wrap;gap:.35rem .85rem;display:flex}.lab-legend-item{align-items:center;gap:.35rem;display:inline-flex}.lab-legend-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.lab-legend-hatch{background:repeating-linear-gradient(135deg, var(--surface-alt), var(--surface-alt) 3px, var(--ink-muted) 3px, var(--ink-muted) 5px);border:1px solid var(--ink-faint)}.lab-legend-diamond{background:var(--ink);transform:rotate(45deg);border-radius:2px!important}.lab-legend-hol{background:color-mix(in srgb, var(--ink-faint) 28%, transparent);border-top:2px solid color-mix(in srgb, var(--ink-muted) 65%, transparent)}.lab-summary{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem .9rem;display:flex}.lab-summary b{color:var(--ink);font-weight:600}.lab-summary .is-over b{color:#d03b3b}.lab-faint{color:var(--ink-faint)}.lab-warn-chip{font:inherit;color:#d03b3b;cursor:pointer;background:#d03b3b1a;border:1px solid #d03b3b59;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.lab-warn-chip:hover{background:#d03b3b2e}.lab-panel{border:1px solid var(--rule);border-radius:var(--lab-radius);background:var(--surface);flex-direction:column;min-height:0;display:flex;position:sticky;top:1rem;overflow:hidden}.lab-tabs{border-bottom:1px solid var(--rule);background:var(--surface-alt);display:flex}.lab-tabs button{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:.5rem .2rem;font-size:.76rem;font-weight:500;position:relative}.lab-tabs button:hover{color:var(--ink)}.lab-tabs button.is-on{color:var(--ink);background:var(--surface);border-bottom-color:var(--accent)}.lab-sheet-toggle{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0 .7rem;font-size:1rem;line-height:1;display:none}.lab-badge{color:#fff;background:#d03b3b;border-radius:999px;min-width:1rem;margin-left:.25rem;padding:0 .2rem;font-size:.6rem;line-height:1rem;display:inline-block}.lab-panel-body{flex-direction:column;flex:auto;gap:.6rem;min-height:0;max-height:clamp(360px,62vh,700px);padding:.75rem;display:flex;overflow-y:auto}.lab-panel-foot{border-top:1px solid var(--rule);background:var(--surface-alt);flex:none;gap:.4rem;padding:.55rem .75rem;display:flex}.lab-panel-foot .lab-btn{background:var(--surface);flex:1}.lab-title-input{font-size:.9rem;font-weight:600}.lab-field{flex-direction:column;gap:.22rem;display:flex}.lab-field>span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);justify-content:space-between;font-size:.68rem;display:flex}.lab-field>span b{color:var(--ink);font-variant-numeric:tabular-nums}.lab-field input[type=range]{accent-color:var(--accent);width:100%}.lab-row2{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.lab-chips{flex-wrap:wrap;gap:.3rem;display:flex}.lab-chip{font:inherit;color:var(--ink-muted);background:var(--surface);border:1px solid var(--rule);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;display:inline-flex}.lab-chip i{background:var(--chip,var(--ink-faint));border-radius:50%;width:8px;height:8px}.lab-chip:hover{border-color:var(--ink-faint);color:var(--ink)}.lab-chip.is-on{background:var(--chip,var(--ink));border-color:var(--chip,var(--ink));color:#fff}.lab-chip.is-on i{background:#ffffffd9}.lab-chip-res.is-on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.lab-chip-add{border-style:dashed}.lab-chip-day{font-variant-numeric:tabular-nums;border-style:dashed}.lab-chip-day.is-on{background:var(--accent);border-color:var(--accent);color:#fff;border-style:solid}.lab-chip-day em{opacity:.7;text-overflow:ellipsis;white-space:nowrap;max-width:7rem;margin-left:.3rem;font-style:normal;overflow:hidden}.lab-actions{flex-wrap:wrap;gap:.4rem;display:flex}.lab-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.lab-list-row{align-items:center;gap:.35rem;display:flex}.lab-list-row>.lab-input:not(.lab-input-num){flex:6rem;width:auto;min-width:0}.lab-list-row>.lab-input-num{flex:0 0 3.6rem}.lab-list-cat{border:1px solid var(--rule);background:color-mix(in srgb, var(--surface-alt) 45%, transparent);border-radius:9px;flex-wrap:wrap;row-gap:.5rem;padding:.5rem}.lab-unit{color:var(--ink-faint);white-space:nowrap;font-size:.68rem}.lab-swatches{flex:1 0 100%;gap:4px;display:flex}.lab-list-wide{flex:1 0 100%}.lab-list-wide.lab-row2{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.lab-swatch{cursor:pointer;border:1px solid #0000;border-radius:5px;width:17px;height:17px;padding:0}.lab-swatch:hover{transform:scale(1.12)}.lab-swatch.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--ink)}.lab-h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin:.4rem 0 0;font-size:.68rem;font-weight:600}.lab-note{color:var(--ink-muted);margin:0;font-size:.7rem}.lab-holidays{flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.lab-holidays li{border-left:2px solid color-mix(in srgb, var(--ink-muted) 55%, transparent);flex-wrap:wrap;align-items:baseline;gap:.3rem;padding-left:.45rem;display:flex}.lab-holidays b{font-weight:600}.lab-holidays span{color:var(--ink-faint);white-space:nowrap;margin-left:auto}.lab-note-bad{color:#d03b3b}.lab-field-row{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem;display:grid}.lab-field-row select.lab-input{width:100%}.lab-h4{color:var(--ink-muted);margin:.2rem 0 0;font-size:.68rem;font-weight:600}.lab-list-name{text-overflow:ellipsis;white-space:nowrap;flex:0 5.5rem;min-width:0;font-size:.76rem;overflow:hidden}.lab-list-row>select.lab-input{flex:7rem;width:auto;min-width:0}.lab-empty{color:var(--ink-muted);margin:0;font-size:.78rem}.lab-ok{color:#0ca30c;margin:0;font-size:.76rem}.is-over{color:#d03b3b;font-weight:600}.lab-stats{grid-template-columns:1fr 1fr;gap:.4rem;margin:0;display:grid}.lab-stats div{background:var(--surface-alt);border-radius:8px;padding:.4rem .5rem}.lab-stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:.64rem}.lab-stats dd{margin:0;font-size:.95rem;font-weight:600}.lab-steps{color:var(--ink-muted);flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem;font-size:.78rem;display:flex}.lab-steps kbd{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--surface-alt);border-bottom-width:2px;border-radius:4px;padding:0 .22rem;font-size:.66rem}.lab-keys{color:var(--ink-faint);flex-wrap:wrap;gap:.3rem .7rem;margin:0;padding:0;font-size:.68rem;list-style:none;display:flex}.lab-keys kbd{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--surface-alt);border-bottom-width:2px;border-radius:4px;margin-right:.15rem;padding:0 .22rem;font-size:.62rem}.lab-clashes{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.lab-clashes li{color:var(--ink-muted);border-left:3px solid var(--ink-faint);background:var(--surface-alt);border-radius:7px;padding:.35rem .45rem;font-size:.72rem}.lab-clashes li strong{color:var(--ink)}.lab-clashes .sev-critical{border-left-color:#d03b3b}.lab-clashes .sev-serious{border-left-color:#ec835a}.lab-clashes .sev-warning{border-left-color:#fab219}.lab-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.72rem}.lab-table th,.lab-table td{text-align:right;padding:.22rem .3rem}.lab-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);border-bottom:1px solid var(--rule);font-size:.62rem;font-weight:600}.lab-table tbody th{text-align:left;font-weight:600}.lab-table-row{cursor:pointer}.lab-table-row:hover,.lab-table-row.is-open{background:var(--surface-alt)}.lab-table-detail td{padding:.2rem .3rem .5rem}.lab-table-detail ul{gap:.12rem;margin:0;padding:0;list-style:none;display:grid}.lab-table-detail li{color:var(--ink-muted);justify-content:space-between;gap:.5rem;font-size:.7rem;display:flex}.lab-table-detail .lab-seg-row{color:var(--ink-faint)}.lab-table-detail .lab-dot{margin-right:.3rem}.lab-util{background:var(--surface-alt);vertical-align:middle;border-radius:3px;width:2.2rem;height:5px;margin-right:.3rem;display:inline-block;overflow:hidden}.lab-util i{border-radius:3px;height:100%;display:block}.lab-overlaps{flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.lab-checks{color:var(--ink-muted);flex-direction:column;gap:.25rem;font-size:.74rem;display:flex}.lab-checks label{cursor:pointer;align-items:center;gap:.4rem;display:flex}.lab-checks input{accent-color:var(--accent)}.lab-coarse{display:none}@media (pointer:coarse){.lab-fine{display:none}.lab-coarse{display:revert}.lab-keys{display:none}}.lab-toast{z-index:60;background:var(--ink);color:var(--surface);border-radius:999px;padding:.45rem .8rem;font-size:.78rem;animation:.18s lab-toast-in;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0003}@keyframes lab-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (width<=1000px){.lab-main{grid-template-columns:minmax(0,1fr);gap:0}body:has(.lab-app) .site-header{flex-wrap:wrap;row-gap:.3rem}body:has(.lab-app) .site-nav{flex-wrap:wrap}.lab-tools-main{flex-wrap:wrap;row-gap:.4rem}.lab-panel{z-index:50;border-bottom:0;border-radius:12px 12px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #0000002e}.lab-panel.is-open{height:min(64dvh,32rem)}.lab-panel-body{flex:auto;min-height:0;max-height:none;display:none}.lab-panel.is-open .lab-panel-body{display:flex}.lab-panel-foot{display:none}.lab-panel.is-open .lab-panel-foot{display:flex}.lab-sheet-toggle{display:block}.lab-panel.is-open .lab-sheet-toggle{color:var(--ink)}.lab-tabs button{padding:.62rem .2rem}.lab-board{padding-bottom:3rem}.lab-toast{bottom:3.6rem}.lab-toolbar{margin-bottom:.5rem}.lab-tools-sub{flex-wrap:wrap;gap:.45rem .6rem}.lab-spacer{display:none}.lab-toolgroup{flex-wrap:wrap;flex:0 auto;row-gap:.4rem}}@media (width<=700px){.lab{--label-w:108px}.wk{--wk-label-w:58px;--wk-sum-w:0px}.wk-head-sum{display:none}.wk-head-days span{text-align:center;padding:.3rem .2rem}.wk-d-full{display:none}.wk-d-abbr{display:inline}.wk-row{flex-wrap:wrap}.wk-row-label{flex-basis:var(--wk-label-w)}.wk-row-label b{font-size:.76rem}.wk-row-label small{font-size:.56rem}.wk-row-sum{border-left:0;border-top:1px dashed var(--rule);flex-direction:row;flex:1 0 100%;order:3;justify-content:flex-end;align-items:baseline;gap:.5rem;padding:.15rem .5rem .35rem}.wk-row-sum .lab-util{width:3rem}.wk-cell span{font-size:.54rem}.lab-appbar-sub{display:none}.lab-doc-title{flex:5rem;min-width:4rem}}@media (pointer:coarse){.lab-handle{flex-basis:14px}.lab-icon-btn{width:2.2rem;height:2.2rem;font-size:1.05rem}.lab-swatch{width:22px;height:22px}.lab-input{min-height:2.2rem;font-size:1rem}.lab-input-num{width:3.6rem}.lab-input-year{width:4.6rem}.lab-doc-title{font-size:1.05rem}.lab-btn{min-height:2.2rem;padding-inline:.85rem}.lab-seg button{min-height:2.2rem;padding-inline:.85rem;font-size:.85rem}.lab-chip{min-height:1.95rem;padding-inline:.75rem;font-size:.78rem}.lab-tabs button{min-height:2.7rem;font-size:.82rem}.lab-checks label{min-height:2rem}}@media (prefers-reduced-motion:reduce){.lab *{transition:none!important;animation:none!important}}.lab-app{flex-direction:column;width:100%;min-width:0;display:flex}.lab-appbar{flex:none;align-items:baseline;gap:.6rem;display:flex}.lab-appbar h1{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:700;line-height:1.2}.lab-appbar-sub{font-size:var(--text-sm);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.lab-guide{flex:none;position:relative}.lab-guide>summary{cursor:pointer;color:var(--ink-muted);border:1px solid var(--rule);user-select:none;border-radius:7px;padding:.24rem .6rem;font-size:.8rem;list-style:none}.lab-guide>summary::-webkit-details-marker{display:none}.lab-guide>summary:hover{color:var(--ink);background:var(--surface-alt)}.lab-guide[open]>summary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.lab-guide-body{z-index:55;background:var(--surface);border:1px solid var(--rule);border-radius:var(--lab-radius);width:min(40rem,92vw);max-height:min(70vh,40rem);color:var(--ink-muted);flex-direction:column;gap:.9rem;padding:1rem 1.1rem;font-size:.82rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 12px 40px #0000002e}.lab-guide-body h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:.35rem;font-size:.68rem}.lab-guide-body ul{text-wrap:pretty;flex-direction:column;gap:.35rem;padding-left:1.05rem;display:flex}.lab-guide-body strong{color:var(--ink)}.lab-guide-body a{color:var(--accent);overflow-wrap:anywhere}.lab-guide-code{font-family:var(--font-mono);background:var(--surface-alt);border:1px solid var(--rule);color:var(--ink-muted);white-space:pre;border-radius:8px;padding:.6rem .7rem;font-size:.68rem;line-height:1.5;overflow-x:auto}.lab-guide-body code{font-family:var(--font-mono);background:var(--surface-alt);border-radius:4px;padding:0 .22rem;font-size:.88em}.lab-guide-body kbd{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--surface-alt);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:0 .22rem;font-size:.7rem}.lab-skeleton{border:1px solid var(--rule);border-radius:var(--lab-radius);background:var(--surface-alt);min-height:320px;color:var(--ink-faint);font-size:var(--text-sm);flex:1;justify-content:center;align-items:center;margin-top:.7rem;display:flex}@media (height>=560px){body:has(.lab-app){overflow:hidden}body:has(.lab-app) .site{padding-inline:clamp(1rem,2.4vw,2.5rem);flex-direction:column;max-width:none;height:100dvh;padding-bottom:.7rem;display:flex}body:has(.lab-app) .site-header{margin-bottom:.7rem;padding-bottom:.6rem}body:has(.lab-app) main{flex:1;min-height:0;display:flex}body:has(.lab-app) .site-footer{display:none}.lab-app{flex:1;min-height:0}.lab-app .lab{flex-direction:column;flex:1;min-height:0;margin-top:.7rem;display:flex}.lab-app .lab-main{flex:1;align-items:stretch;min-height:240px}.lab-app .lab-board{flex-direction:column;min-height:0;display:flex}.lab-app .lab-scroll{flex:1;min-height:0;max-height:none}.lab-app .wk{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.lab-app .lab-belowbar{flex:none}}@media (width>=1001px) and (height>=560px){.lab-app .lab-panel{flex-direction:column;height:100%;min-height:0;display:flex;position:static}.lab-app .lab-panel-body{flex:1;min-height:0;max-height:none}}@media (width<=1000px){.lab-appbar{flex-wrap:wrap}.lab-appbar-sub{white-space:normal;flex-basis:100%}.lab-guide-body{width:auto;max-height:calc(100dvh - 9rem);position:fixed;top:4.5rem;left:.75rem;right:.75rem}}
