@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable-DiVDrmQJ.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{scrollbar-color:var(--color-scrollbar) transparent;height:100%}body{height:100%;font-family:var(--font-family);font-size:var(--text-body-size);line-height:var(--text-body-line-height);color:var(--color-ink);background-color:var(--color-paper);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-weight:var(--font-weight-semibold);letter-spacing:-.015em;margin:0}p{margin:0}a{color:var(--color-accent)}button,input,select,textarea{font-family:inherit;font-size:var(--text-control-size)}:where(a,button,summary,[tabindex]):focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinner{border:3px solid var(--color-surface-muted);border-top-color:var(--color-accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-area=home]{--area-start:var(--area-home-start);--area-end:var(--area-home-end);--area-glyph:var(--area-home-glyph);--area-mark:var(--area-home-mark)}[data-area=my-sites]{--area-start:var(--area-my-sites-start);--area-end:var(--area-my-sites-end);--area-glyph:var(--area-my-sites-glyph);--area-mark:var(--area-my-sites-mark)}[data-area=reference-data]{--area-start:var(--area-reference-data-start);--area-end:var(--area-reference-data-end);--area-glyph:var(--area-reference-data-glyph);--area-mark:var(--area-reference-data-mark)}[data-area=estimating]{--area-start:var(--area-estimating-start);--area-end:var(--area-estimating-end);--area-glyph:var(--area-estimating-glyph);--area-mark:var(--area-estimating-mark)}[data-area=scheduling]{--area-start:var(--area-scheduling-start);--area-end:var(--area-scheduling-end);--area-glyph:var(--area-scheduling-glyph);--area-mark:var(--area-scheduling-mark)}[data-area=timekeeping]{--area-start:var(--area-timekeeping-start);--area-end:var(--area-timekeeping-end);--area-glyph:var(--area-timekeeping-glyph);--area-mark:var(--area-timekeeping-mark)}[data-area=procurement]{--area-start:var(--area-procurement-start);--area-end:var(--area-procurement-end);--area-glyph:var(--area-procurement-glyph);--area-mark:var(--area-procurement-mark)}[data-area=logistics]{--area-start:var(--area-logistics-start);--area-end:var(--area-logistics-end);--area-glyph:var(--area-logistics-glyph);--area-mark:var(--area-logistics-mark)}[data-area=finance]{--area-start:var(--area-finance-start);--area-end:var(--area-finance-end);--area-glyph:var(--area-finance-glyph);--area-mark:var(--area-finance-mark)}[data-area=hr]{--area-start:var(--area-hr-start);--area-end:var(--area-hr-end);--area-glyph:var(--area-hr-glyph);--area-mark:var(--area-hr-mark)}[data-area=electrical]{--area-start:var(--area-electrical-start);--area-end:var(--area-electrical-end);--area-glyph:var(--area-electrical-glyph);--area-mark:var(--area-electrical-mark)}[data-area=administration]{--area-start:var(--area-administration-start);--area-end:var(--area-administration-end);--area-glyph:var(--area-administration-glyph);--area-mark:var(--area-administration-mark)}.stack{flex-direction:column;min-width:0;display:flex}.stack--horizontal{flex-direction:row}.stack--wrap{flex-wrap:wrap}.grid{min-width:0;display:grid}.grid[data-columns="1"]{grid-template-columns:minmax(0,1fr)}.grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.grid[data-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.grid[data-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}.grid[data-track=small]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid[data-track=medium]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid[data-track=large]{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}[data-gap="2"]{gap:var(--space-2)}[data-gap="4"]{gap:var(--space-4)}[data-gap="6"]{gap:var(--space-6)}[data-gap="8"]{gap:var(--space-8)}[data-gap="10"]{gap:var(--space-10)}[data-gap="12"]{gap:var(--space-12)}[data-gap="14"]{gap:var(--space-14)}[data-gap="16"]{gap:var(--space-16)}[data-gap="18"]{gap:var(--space-18)}[data-gap="20"]{gap:var(--space-20)}[data-gap="24"]{gap:var(--space-24)}[data-gap="30"]{gap:var(--space-30)}[data-align=start]{align-items:flex-start}[data-align=center]{align-items:center}[data-align=end]{align-items:flex-end}[data-align=stretch]{align-items:stretch}[data-align=baseline]{align-items:baseline}[data-justify=start]{justify-content:flex-start}[data-justify=center]{justify-content:center}[data-justify=end]{justify-content:flex-end}[data-justify=space-between]{justify-content:space-between}.toolbar{gap:var(--space-10);flex-wrap:wrap;align-items:center;display:flex}.toolbar__end{gap:var(--space-10);align-items:center;margin-left:auto;display:flex}@media screen and (width<=1100px){.grid[data-columns="3"],.grid[data-columns="4"],.grid[data-columns="5"],.grid[data-columns="6"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (width<=700px){.grid[data-columns]{grid-template-columns:minmax(0,1fr)}}.week-navigator{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.week-navigator__value{min-width:190px;font-weight:var(--font-weight-semibold);text-align:center}.icon{flex:none}.icon--ink{color:var(--color-ink)}.icon--muted{color:var(--color-ink-muted)}.icon--accent{color:var(--color-accent)}.icon--inverse{color:var(--color-ink-inverse)}.icon--success{color:var(--tone-success-strong)}.icon--warning{color:var(--tone-warning-ink)}.icon--danger{color:var(--tone-danger-strong)}.button{gap:var(--space-6);padding:var(--space-8) var(--space-14);font-size:var(--text-control-size);font-weight:var(--font-weight-medium);color:var(--color-ink);white-space:nowrap;cursor:pointer;background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);transition:color var(--duration-fast), background-color var(--duration-fast), border-color var(--duration-fast);align-items:center;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{color:var(--color-accent);background-color:var(--color-accent-soft);border-color:var(--color-accent-bright)}.button--primary{color:var(--color-ink-inverse);background-color:var(--color-accent);border-color:var(--color-accent)}.button--primary:hover{color:var(--color-ink-inverse);background-color:var(--color-accent-bright);border-color:var(--color-accent-bright)}.button--highlight{color:var(--color-navy);background-color:var(--color-highlight);border-color:var(--color-highlight)}.button--highlight:hover{color:var(--color-navy);background-color:var(--color-highlight-hover);border-color:var(--color-highlight-hover)}.button--danger{color:var(--destructive-fill);border-color:var(--destructive-outline)}.button--danger:hover,.button--danger-filled{color:var(--color-ink-inverse);background-color:var(--destructive-fill);border-color:var(--destructive-fill)}.button--danger-filled:hover{color:var(--color-ink-inverse);background-color:var(--destructive-hover);border-color:var(--destructive-hover)}.button--ghost{background-color:#0000;border-color:#0000}.button--small{padding:var(--space-4) var(--space-10);font-size:var(--text-label-size)}.button--large{padding:var(--space-10) var(--space-20);font-size:var(--text-body-size)}.button--block{justify-content:center;width:100%}.button:disabled{cursor:not-allowed;opacity:.5}.button--busy:disabled{cursor:progress;opacity:.6}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.9s linear infinite spin}.icon-button{width:34px;height:34px;color:var(--color-ink-muted);cursor:pointer;border-radius:var(--radius-pill);transition:color var(--duration-fast), background-color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{color:var(--color-navy);background-color:var(--color-surface-subtle);border-color:var(--color-line)}.icon-button--danger:hover{color:var(--destructive-fill);background-color:var(--tone-danger-soft);border-color:var(--tone-danger-line)}.icon-button:disabled{cursor:not-allowed;opacity:.5}.badge{min-width:18px;font-size:10.5px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:1px 7px;line-height:1.45;display:inline-flex}.badge--highlight{color:var(--color-navy);background-color:var(--color-highlight)}.badge--neutral{color:var(--color-ink-muted);background-color:var(--color-surface-muted)}.badge--danger{color:var(--color-ink-inverse);background-color:var(--tone-danger-strong)}.badge--warning{color:var(--tone-warning-ink);background-color:var(--tone-warning-soft)}.badge--success{color:var(--tone-success-ink);background-color:var(--tone-success-soft)}.badge--info{color:var(--tone-info-ink);background-color:var(--tone-info-soft)}.tag{gap:var(--space-4);font-size:var(--text-badge-size);font-weight:var(--text-badge-weight);letter-spacing:var(--text-badge-letter-spacing);white-space:nowrap;border-radius:var(--radius-badge);align-items:center;padding:3px 9px;line-height:1.45;display:inline-flex}.tag--neutral{color:var(--tone-neutral-ink);background-color:var(--tone-neutral-soft)}.tag--success{color:var(--tone-success-ink);background-color:var(--tone-success-soft)}.tag--warning{color:var(--tone-warning-ink);background-color:var(--tone-warning-soft)}.tag--danger{color:var(--tone-danger-ink);background-color:var(--tone-danger-soft)}.tag--info{color:var(--tone-info-ink);background-color:var(--tone-info-soft)}.tag--highlight{color:var(--tone-highlight-ink);background-color:var(--tone-highlight-soft)}.avatar{width:32px;height:32px;font-size:var(--text-label-size);font-weight:var(--font-weight-bold);color:var(--color-ink-inverse);background-color:var(--color-navy);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar--large{width:44px;height:44px;font-size:var(--text-body-size)}.area-icon{width:44px;height:44px;color:var(--area-glyph);background-image:linear-gradient(135deg, var(--area-start), var(--area-end));border-radius:var(--radius-card);box-shadow:var(--shadow-icon);flex:none;justify-content:center;align-items:center;display:inline-flex}.area-icon--large{border-radius:var(--radius-tile);width:52px;height:52px}.cost-category-chip{gap:var(--space-6);white-space:nowrap;align-items:center;display:inline-flex}.cost-category-chip__letter{width:18px;height:18px;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-chip);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.cost-category-chip__letter--aggregates{color:var(--cost-category-aggregates-letter);background-color:var(--cost-category-aggregates-fill)}.cost-category-chip__letter--asphalt{color:var(--cost-category-asphalt-letter);background-color:var(--cost-category-asphalt-fill)}.cost-category-chip__letter--fuel{color:var(--cost-category-fuel-letter);background-color:var(--cost-category-fuel-fill)}.cost-category-chip__letter--supplies{color:var(--cost-category-supplies-letter);background-color:var(--cost-category-supplies-fill)}.cost-category-chip__letter--labor{color:var(--cost-category-labor-letter);background-color:var(--cost-category-labor-fill)}.cost-category-chip__letter--services{color:var(--cost-category-services-letter);background-color:var(--cost-category-services-fill)}.cost-category-chip__letter--subcontracting{color:var(--cost-category-subcontracting-letter);background-color:var(--cost-category-subcontracting-fill)}.cost-category-chip__letter--indirect{color:var(--cost-category-indirect-letter);background-color:var(--cost-category-indirect-fill)}.cost-category-chip__letter--tooling{color:var(--cost-category-tooling-letter);background-color:var(--cost-category-tooling-fill)}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field__label{font-size:var(--text-label-size);font-weight:var(--text-label-weight);color:var(--color-ink-muted)}.field__control{width:100%;font-size:var(--text-control-size);color:var(--color-ink);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);outline:none;padding:9px 12px}.field__control::placeholder{color:var(--color-ink-subtle)}.field__control:focus{border-color:var(--focus-input-border);box-shadow:var(--focus-input-ring)}.field__control:disabled{color:var(--color-ink-muted);background-color:var(--color-surface-subtle)}.field__control:read-only{background-color:var(--color-surface-subtle)}.field--invalid .field__control{border-color:var(--focus-invalid-border);box-shadow:var(--focus-invalid-ring)}.field__hint{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.field__error{font-size:var(--text-caption-size);font-weight:var(--font-weight-medium);color:var(--destructive-fill)}.field__control--multiline{resize:vertical;min-height:84px;line-height:1.45}.field__control--date{font-variant-numeric:tabular-nums;max-width:200px}.field__control--time{font-variant-numeric:tabular-nums;max-width:140px}.slider-field{gap:var(--space-12);align-items:center;display:flex}.slider-field__control{min-width:0;accent-color:var(--color-accent);flex:1}.slider-field__control:disabled{cursor:default}.slider-field__value{min-width:4ch;font-size:var(--text-control-size);font-variant-numeric:tabular-nums;text-align:right}.number-field{gap:var(--space-8);align-items:center;display:flex}.number-field__control{font-variant-numeric:tabular-nums;text-align:right;max-width:140px}.number-field__unit{font-size:var(--text-control-size);color:var(--color-ink-muted)}.field-width--short{width:6rem}.field-width--medium{width:8rem}.field-width--wide{width:13rem}.formula-field{gap:var(--space-6);align-items:center;display:flex}.formula-field__control{font-variant-numeric:tabular-nums;min-width:0}.formula-field__control--formula{background-color:var(--tone-highlight-soft)}.formula-field__control--pending{color:var(--color-ink-muted)}.formula-field__result{font-size:var(--text-caption-size);font-variant-numeric:tabular-nums;color:var(--color-ink-muted);white-space:nowrap}.field:has(>.file-field){max-width:30rem}.file-field{align-self:flex-start;display:inline-flex;position:relative}.file-field__input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.file-field__input:disabled{cursor:not-allowed}.file-field__input:hover+.file-field__button{color:var(--color-accent);background-color:var(--color-accent-soft);border-color:var(--color-accent-bright)}.file-field__input:focus-visible+.file-field__button{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.file-field__input:disabled+.file-field__button{color:var(--color-ink-muted);background-color:var(--color-surface-subtle);border-color:var(--color-line-strong)}.field--invalid .file-field__button{border-color:var(--focus-invalid-border);box-shadow:var(--focus-invalid-ring)}.field:has(>.drop-zone){max-width:36rem}.drop-zone{display:flex;position:relative}.drop-zone__input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.drop-zone__input:disabled{cursor:not-allowed}.drop-zone__content{gap:var(--space-8);padding:var(--space-20) var(--space-14);font-size:var(--text-control-size);color:var(--color-ink-muted);text-align:center;background-color:var(--color-surface-subtle);border:2px dashed var(--color-line-strong);border-radius:var(--radius-control);transition:border-color var(--duration-fast), background-color var(--duration-fast);flex-direction:column;flex:1;align-items:center;display:flex}.drop-zone__input:hover+.drop-zone__content,.drop-zone--active .drop-zone__content{color:var(--color-accent);background-color:var(--color-accent-soft);border-color:var(--color-accent-bright)}.drop-zone__input:focus-visible+.drop-zone__content{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.drop-zone__input:disabled+.drop-zone__content{color:var(--color-ink-muted);background-color:var(--color-surface-subtle);border-color:var(--color-line)}.field--invalid .drop-zone__content{border-color:var(--focus-invalid-border);box-shadow:var(--focus-invalid-ring)}.toolbar .field{min-width:180px}.fieldset{min-width:0;padding:var(--space-12) var(--space-14) var(--space-14);border:1px solid var(--color-line);border-radius:var(--radius-control);margin:0}.fieldset__legend{padding:0 var(--space-6);font-size:var(--text-label-size);font-weight:var(--font-weight-semibold);color:var(--color-ink-header)}.fieldset__hint{margin-bottom:var(--space-8);font-size:var(--text-caption-size);color:var(--color-ink-muted)}.fieldset__body{gap:var(--space-8);flex-direction:column;display:flex}.checkbox{column-gap:var(--space-8);grid-template-columns:auto 1fr;align-content:start;align-items:center;display:grid}.checkbox__input{width:16px;height:16px;accent-color:var(--color-accent);margin:0}.checkbox__label{font-size:var(--text-control-size);color:var(--color-ink);cursor:pointer}.checkbox__hint{font-size:var(--text-caption-size);color:var(--color-ink-muted);grid-column:2}.segmented{border:0;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;display:flex}.segmented__options{background-color:var(--color-surface-subtle);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);flex-wrap:wrap;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.segmented__option{display:inline-flex;position:relative}.segmented__input{cursor:pointer;opacity:0;margin:0;position:absolute;inset:0}.segmented__label{padding:6px var(--space-12);font-size:var(--text-control-size);color:var(--color-ink-muted);transition:color var(--duration-fast), background-color var(--duration-fast);border-radius:6px}.segmented__input:hover+.segmented__label{color:var(--color-ink)}.segmented__input:checked+.segmented__label{font-weight:var(--font-weight-semibold);color:var(--color-navy);background-color:var(--color-card);box-shadow:var(--shadow-card)}.segmented__input:focus-visible+.segmented__label{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.search-field{gap:var(--space-10);align-items:center;display:flex}.search-field__status{font-size:var(--text-control-size);color:var(--color-ink-muted);white-space:nowrap}.swatch-picker{border:0;flex-direction:column;gap:5px;min-width:0;margin:0;padding:0;display:flex}.swatch-picker__legend{margin-bottom:var(--space-8);padding:0}.swatch-picker__options{gap:var(--space-6);flex-wrap:wrap;display:flex}.swatch-picker__option{display:inline-flex;position:relative}.swatch-picker__input{cursor:pointer;opacity:0;margin:0;position:absolute;inset:0}.swatch-picker__swatch{background-color:var(--swatch-colour);border:1px solid var(--color-line-strong);border-radius:var(--radius-chip);width:28px;height:28px}.swatch-picker__input:checked+.swatch-picker__swatch{box-shadow:0 0 0 2px var(--color-card), 0 0 0 4px var(--color-navy)}.swatch-picker__input:focus-visible+.swatch-picker__swatch{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:5px}.swatch-picker__input:disabled+.swatch-picker__swatch{cursor:not-allowed;opacity:.6}.segmented__input:disabled{cursor:not-allowed}.segmented__input:disabled+.segmented__label{color:var(--color-ink-muted)}.segmented--invalid .segmented__options{border-color:var(--focus-invalid-border);box-shadow:var(--focus-invalid-ring)}.searchable-select{position:relative}.searchable-select__input{padding-right:40px}.searchable-select__clear{top:50%;right:var(--space-4);position:absolute;transform:translateY(-50%)}.searchable-select__list{z-index:var(--layer-select-list);max-height:280px;padding:var(--space-4);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-menu);box-shadow:var(--shadow-dropdown);position:fixed;overflow-y:auto}.searchable-select__option{width:100%;padding:var(--space-8) var(--space-10);font:inherit;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;gap:1px;display:flex}.searchable-select__option--active{background-color:var(--color-accent-soft)}.searchable-select__label{font-size:var(--text-control-size);font-weight:var(--font-weight-medium)}.searchable-select__detail{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.searchable-select__empty{padding:var(--space-10);font-size:var(--text-caption-size);color:var(--color-ink-muted)}.filter-chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.filter-chips__chip{padding:6px var(--space-12);font:inherit;font-size:var(--text-control-size);color:var(--color-ink-muted);cursor:pointer;background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);transition:color var(--duration-fast), border-color var(--duration-fast);align-items:center;gap:5px;display:inline-flex}.filter-chips__chip:hover{color:var(--color-ink);border-color:var(--color-accent-bright)}.filter-chips__chip--chosen,.filter-chips__chip--chosen:hover{font-weight:var(--font-weight-semibold);color:var(--color-accent);background-color:var(--color-accent-soft);border-color:var(--color-accent)}.filter-chips__chip:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.filter-chips__count{font-size:11px;font-weight:var(--font-weight-semibold)}.color-field{gap:var(--space-8);align-items:center;display:inline-flex}.color-field__control{cursor:pointer;background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);width:44px;height:36px;padding:2px}.color-field__control:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.color-field__code{font-size:var(--text-control-size);font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.tag-picker{gap:var(--space-8);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.tag-picker__legend{margin-bottom:5px;padding:0}.tag-picker__tags{gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-picker__tag{gap:var(--space-2);font-size:var(--text-badge-size);color:var(--color-ink);background-color:var(--color-surface-muted);border:1px solid var(--color-line);border-radius:var(--radius-pill);align-items:center;padding:2px 4px 2px 10px;display:inline-flex}.tag-picker__note{color:var(--tone-warning-ink)}.tag-picker__none{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.signature-pad{gap:var(--space-4);display:grid}.signature-pad__surface{aspect-ratio:520/160;background-color:var(--color-card);border:1px dashed var(--color-line-strong);border-radius:var(--radius-control);cursor:crosshair;touch-action:none;width:100%;max-width:520px;display:block}.signature-pad__stroke{fill:none;stroke:var(--color-accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.signature-pad__hint{font-size:var(--text-caption-size);color:var(--color-ink-muted);margin:0}.shift-toggle{width:30px;height:30px;color:var(--color-ink-muted);cursor:pointer;background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.shift-toggle:hover{color:var(--color-navy);border-color:var(--color-line-strong)}.shift-toggle--night,.shift-toggle--night:hover{color:var(--color-ink-inverse);background-color:var(--color-navy);border-color:var(--color-navy)}.shift-toggle:disabled{cursor:not-allowed;opacity:.5}.card{padding:var(--space-18) var(--space-20);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.card--accent-success{border-left:4px solid var(--tone-success-strong)}.card--accent-warning{border-left:4px solid var(--tone-warning-strong)}.card--accent-danger{border-left:4px solid var(--tone-danger-strong)}.card--accent-info{border-left:4px solid var(--tone-info-strong)}.card--accent-highlight{border-left:4px solid var(--tone-highlight-strong)}.card--accent-neutral{border-left:4px solid var(--color-navy)}.card__header{gap:var(--space-10);margin-bottom:var(--space-12);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-section-title-size)}.card__aside{gap:var(--space-8);align-items:center;display:flex}.card--link{transition:border-color var(--duration-fast);position:relative}.card--link:hover{border-color:var(--color-accent-bright)}.card__link{color:inherit;text-decoration:none}.card__link:after{content:"";position:absolute;inset:0}.card__link:focus-visible{outline:none}.card--link:has(.card__link:focus-visible){outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:var(--focus-outline-offset)}.card--link :is(a,button):not(.card__link){z-index:1;position:relative}.image-preview{max-width:min(100%,360px);max-height:120px;padding:var(--space-8);object-fit:contain;background-color:var(--color-surface-subtle);border:1px solid var(--color-line);border-radius:var(--radius-control);display:block}.text-block{white-space:pre-line;overflow-wrap:anywhere;margin:0}.photo-grid{gap:var(--space-12);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.photo-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid__figure{gap:var(--space-8);break-inside:avoid;margin:0;display:grid}.photo-grid__image,.photo-grid__placeholder{aspect-ratio:4/3;object-fit:contain;background-color:var(--color-surface-subtle);border:1px solid var(--color-line);border-radius:var(--radius-control);width:100%;display:block}.photo-grid__caption{color:var(--color-ink-muted);font-size:var(--text-table-size)}@media screen and (width<=700px){.photo-grid[data-columns]{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-value-list{gap:var(--space-6);font-size:var(--text-table-size);margin:0;display:grid}.key-value-list__item{gap:var(--space-12);grid-template-columns:160px minmax(0,1fr);display:grid}.key-value-list__label{color:var(--color-ink-muted)}.key-value-list__value{margin:0}.empty-state{gap:var(--space-8);color:var(--color-ink-muted);text-align:center;background-color:var(--color-card);border:1px dashed var(--color-line-strong);border-radius:var(--radius-card);flex-direction:column;align-items:center;padding:34px;display:flex}.empty-state__title{font-weight:var(--font-weight-semibold);color:var(--color-ink)}.empty-state__action{margin-top:var(--space-4)}.notice{padding:var(--space-10) var(--space-14);font-size:var(--text-label-size);border-radius:0 var(--radius-control) var(--radius-control) 0;border-left:3px solid}.notice--highlight{color:var(--tone-highlight-ink);background-color:var(--tone-highlight-soft);border-left-color:var(--tone-highlight-strong)}.notice--info{color:var(--tone-info-ink);background-color:var(--tone-info-soft);border-left-color:var(--tone-info-strong)}.notice--success{color:var(--tone-success-ink);background-color:var(--tone-success-soft);border-left-color:var(--tone-success-strong)}.notice--warning{color:var(--tone-warning-ink);background-color:var(--tone-warning-soft);border-left-color:var(--tone-warning-strong)}.notice--danger{color:var(--tone-danger-ink);background-color:var(--tone-danger-soft);border-left-color:var(--tone-danger-strong)}.notice--neutral{color:var(--color-ink-muted);background-color:var(--color-surface-subtle);border-left-color:var(--color-line-strong)}.notice__title{margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold)}.color-swatch{background-color:var(--swatch-colour);border:1px solid var(--color-line-strong);border-radius:var(--radius-chip);flex:none;width:14px;height:14px;display:inline-block}.disclosure{border:1px solid var(--color-line);border-radius:var(--radius-card)}.disclosure__title{font-weight:var(--font-weight-semibold);cursor:pointer;padding:10px 14px}.disclosure__body{padding:0 14px 14px}.stat-tile{gap:var(--space-4);min-width:0;padding:var(--space-16) var(--space-18);color:var(--color-ink);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);transition:border-color var(--duration-fast);flex-direction:column;text-decoration:none;display:flex}.stat-tile--link:hover{border-color:var(--color-accent-bright)}.stat-tile__label{font-size:11.5px;font-weight:var(--font-weight-semibold);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em}.stat-tile__figure{gap:var(--space-8);justify-content:space-between;align-items:flex-end;display:flex}.stat-tile__value{margin-top:var(--space-2);font-size:var(--text-kpi-size);font-weight:var(--text-kpi-weight);font-variant-numeric:tabular-nums;letter-spacing:var(--text-kpi-letter-spacing);line-height:1.15}.stat-tile__value--accent{color:var(--color-accent)}.stat-tile__value--success{color:var(--tone-success-strong)}.stat-tile__value--warning{color:var(--tone-warning-ink)}.stat-tile__value--danger{color:var(--tone-danger-strong)}.stat-tile__detail{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.progress-gauge{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.progress-gauge__header{gap:var(--space-8);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.progress-gauge__label{font-size:12.5px;font-weight:var(--font-weight-semibold);color:var(--color-ink-muted)}.progress-gauge__value{font-variant-numeric:tabular-nums;color:var(--color-ink)}.progress-gauge__track{display:flex;position:relative}.progress-gauge__marker{background:var(--color-ink);border-radius:1px;inline-size:2px;position:absolute;inset-block:-3px;inset-inline-start:var(--marker-position);transform:translate(-1px)}.progress-gauge__meter{appearance:none;background:var(--color-line);border-radius:var(--radius-pill);border:0;block-size:8px;inline-size:100%}.progress-gauge__meter::-webkit-meter-bar{background:var(--color-line);border-radius:var(--radius-pill);border:0;block-size:8px}.progress-gauge__meter::-webkit-meter-optimum-value{background:var(--color-accent);border-radius:var(--radius-pill)}.progress-gauge__meter::-moz-meter-bar{background:var(--color-accent);border-radius:var(--radius-pill)}.progress-gauge__meter--success::-webkit-meter-optimum-value{background:var(--tone-success-strong)}.progress-gauge__meter--success::-moz-meter-bar{background:var(--tone-success-strong)}.progress-gauge__meter--warning::-webkit-meter-optimum-value{background:var(--tone-warning-strong)}.progress-gauge__meter--warning::-moz-meter-bar{background:var(--tone-warning-strong)}.progress-gauge__meter--danger::-webkit-meter-optimum-value{background:var(--tone-danger-strong)}.progress-gauge__meter--danger::-moz-meter-bar{background:var(--tone-danger-strong)}.document-viewer{gap:var(--space-8);flex-direction:column;min-width:0;margin:0;display:flex}.document-viewer__toolbar{gap:var(--space-4);align-items:center;display:flex}.document-viewer__title{min-width:0;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.document-viewer__frame{background-color:var(--color-surface-muted);border:1px solid var(--color-line);border-radius:var(--radius-card);max-block-size:70vh;overflow:auto}.document-viewer__image{max-inline-size:none;display:block}.document-viewer__pdf{border:0;block-size:70vh;inline-size:100%;display:block}.horizontal-bars{gap:var(--space-8);flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.horizontal-bars__bar{gap:var(--space-10);grid-template-columns:minmax(0,12rem) minmax(0,1fr) auto;align-items:center;display:grid}.horizontal-bars__label{min-width:0;font-size:12.5px;font-weight:var(--font-weight-semibold);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.horizontal-bars__track{background:var(--color-line);border-radius:var(--radius-pill);block-size:10px;position:relative}.horizontal-bars__fill{inline-size:var(--bar-width);background:var(--color-accent);border-radius:var(--radius-pill);position:absolute;inset-block:0;inset-inline-start:0}.horizontal-bars__fill--success{background:var(--tone-success-strong)}.horizontal-bars__fill--warning{background:var(--tone-warning-strong)}.horizontal-bars__fill--danger{background:var(--tone-danger-strong)}.horizontal-bars__target{background:var(--color-ink);border-radius:var(--radius-pill);inline-size:2px;position:absolute;inset-block:-4px;inset-inline-start:var(--bar-target);transform:translate(-1px)}.horizontal-bars__value{font-variant-numeric:tabular-nums;color:var(--color-ink-muted);white-space:nowrap;font-size:12.5px}.horizontal-bars__empty{color:var(--color-ink-muted);margin:0}@media (width<=640px){.horizontal-bars__bar{grid-template-columns:minmax(0,1fr) auto}.horizontal-bars__track{grid-area:2/1/auto/-1}}.chart{gap:var(--space-10);flex-direction:column;min-width:0;margin:0;display:flex;container-type:inline-size}.chart__legend{gap:var(--space-14);color:var(--color-ink-muted);flex-wrap:wrap;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.chart__legend-item{gap:var(--space-6);align-items:center;display:inline-flex}.chart__swatch{border-radius:2px;block-size:10px;inline-size:10px;display:inline-block}.chart__swatch--line{border-radius:1px;block-size:2px;inline-size:16px}.chart__series-1{background:var(--chart-series-1)}.chart__series-2{background:var(--chart-series-2)}.chart__stroke-1{stroke:var(--chart-series-1)}.chart__stroke-2{stroke:var(--chart-series-2)}.chart__plot{gap:var(--space-8);block-size:200px;padding-block:var(--space-8) var(--space-20);grid-template-columns:auto minmax(0,1fr);display:grid}.chart__scale{min-inline-size:2.5rem;position:relative}.chart__tick{font-variant-numeric:tabular-nums;color:var(--color-ink-subtle);white-space:nowrap;font-size:11px;line-height:1;position:absolute;inset-block-end:var(--chart-tick);inset-inline-end:0;transform:translateY(50%)}.chart__area{min-inline-size:0;position:relative}.chart__grid{border-block-start:1px solid var(--color-line);position:absolute;inset-block-end:var(--chart-tick);inset-inline:0}.chart__grid--zero{border-block-start-color:var(--color-ink-subtle)}.chart__label{color:var(--color-ink-subtle);white-space:nowrap;font-size:11px;line-height:1;position:absolute;inset-block-start:calc(100% + var(--space-6))}.chart__tooltip{z-index:2;gap:var(--space-4);padding:var(--space-8) var(--space-10);color:var(--color-ink);white-space:nowrap;pointer-events:none;background:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);flex-direction:column;font-size:12px;display:none;position:absolute;inset-block-end:calc(100% + var(--space-6))}.chart__tooltip--start{inset-inline-start:0}.chart__tooltip--end{inset-inline-end:0}.chart__tooltip-title{font-weight:var(--font-weight-semibold);color:var(--color-ink-muted)}.chart__tooltip-row{gap:var(--space-6);align-items:center;display:flex}.chart__empty{color:var(--color-ink-muted);margin:0}.bars{gap:2px;display:flex;position:absolute;inset:0}.bars__group{flex:1 1 0;justify-content:center;align-items:flex-end;gap:2px;min-inline-size:0;display:flex;position:relative}.bars__group:hover .chart__tooltip,.lines__column:hover .chart__tooltip{display:flex}.bars__group:hover .bars__bar{opacity:.8}.bars__bar{min-inline-size:1px;block-size:var(--bar-height);border-radius:4px 4px 0 0;flex:0 24px}.lines__drawing{block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:visible}.lines__line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.lines{display:flex;position:absolute;inset:0}.lines__column{flex:1 1 0;justify-content:center;min-inline-size:0;display:flex;position:relative}.lines__column:hover{background:linear-gradient(var(--color-line-strong), var(--color-line-strong)) center / 1px 100% no-repeat}.lines__point{border:2px solid var(--color-card);box-sizing:content-box;border-radius:50%;block-size:8px;inline-size:8px;position:absolute;inset-block-end:var(--point-height);transform:translateY(50%)}@container (width<=559px){.chart__label--minor{display:none}}@container (width<=279px){.chart__label--middle{display:none}}.sparkline{vertical-align:middle;align-items:flex-end;gap:1px;block-size:18px;inline-size:72px;display:inline-flex;position:relative}.sparkline__bar{max-inline-size:12px;block-size:var(--bar-height);border-radius:1px 1px 0 0;flex:1 1 0}.sparkline__bar--filled{min-block-size:2px}.sparkline--line{display:inline-block}.sparkline__drawing{block-size:100%;inline-size:100%;overflow:visible}.sparkline__line{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.sparkline__reference{border-block-start:1px dashed var(--chart-reference);position:absolute;inset-block-end:var(--reference-height);inset-inline:0}.area-tile{gap:var(--space-14);min-height:112px;padding:var(--space-20) var(--space-20) var(--space-18);color:var(--color-ink);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-tile);box-shadow:var(--shadow-card);transition:transform var(--duration-overlay) var(--easing-standard), box-shadow var(--duration-overlay) var(--easing-standard), border-color var(--duration-overlay) var(--easing-standard);animation:rise-in var(--duration-entrance) var(--easing-entrance) both;align-items:flex-start;text-decoration:none;display:flex;position:relative;overflow:hidden}.area-tile:before{content:"";background-color:var(--area-mark);width:4px;position:absolute;top:0;bottom:0;left:0}.area-tile:hover{border-color:var(--area-mark);box-shadow:var(--shadow-dropdown);transform:translateY(-3px)}.area-tile__text{min-width:0;padding-right:var(--space-30);flex-direction:column;flex:1;gap:3px;display:flex}.area-tile__label{font-size:15.5px;font-weight:var(--font-weight-semibold)}.area-tile__deck{font-size:var(--text-label-size);color:var(--color-ink-muted);line-height:1.4}.area-tile__count{top:var(--space-14);right:var(--space-14);position:absolute}@media (prefers-reduced-motion:reduce){.area-tile:hover{transform:none}}.toast-region{right:var(--space-18);bottom:var(--space-18);z-index:var(--layer-toast);gap:var(--space-8);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast{gap:var(--space-10);max-width:440px;font-size:var(--text-label-size);color:var(--color-ink-inverse);pointer-events:auto;background-color:var(--color-navy);border-radius:var(--radius-toast);box-shadow:var(--shadow-card);animation:rise-in var(--duration-dialog) var(--easing-standard);align-items:center;padding:11px 15px;display:flex}.toast--success{background-color:var(--tone-success-ink)}.toast--danger{background-color:var(--tone-danger-ink)}.toast--warning{background-color:var(--tone-warning-ink)}.toast--info{background-color:var(--color-accent)}.toast__dismiss{min-width:32px;min-height:32px;color:inherit;cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;justify-content:center;align-items:center;margin:-6px -8px -6px 0;padding:0;display:inline-flex}.toast__dismiss:hover{background-color:#ffffff26}.loading-bar{z-index:var(--layer-loading-bar);pointer-events:none;opacity:0;animation:fade-in var(--duration-overlay) var(--easing-standard) var(--duration-loading-bar-delay) forwards;position:fixed;top:0;left:0;right:0}.loading-bar__track{background-image:linear-gradient(90deg, transparent 0, var(--color-highlight) 30%, var(--color-accent) 70%, transparent 100%);background-repeat:no-repeat;background-size:50% 100%;height:3px;animation:1.1s linear infinite loading-slide;display:block}.loading-bar__label{max-width:calc(100vw - 32px);font-size:var(--text-caption-size);color:var(--color-ink-inverse);text-overflow:ellipsis;white-space:nowrap;background-color:var(--color-navy);border-radius:var(--radius-pill);padding:3px 12px;position:absolute;top:6px;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes loading-slide{0%{background-position:-50% 0}to{background-position:150% 0}}.status-page{gap:var(--space-16);min-height:60vh;padding:var(--space-24);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.status-page__message{color:var(--color-ink-muted);font-size:15px}.tabs{gap:var(--space-4);border-bottom:1px solid var(--color-line);flex-wrap:wrap;display:flex}.tabs__tab{padding:var(--space-10) var(--space-14);font-size:var(--text-tab-size);font-weight:var(--text-tab-weight);color:var(--color-ink-muted);white-space:nowrap;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:0;border-bottom:2.5px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;text-decoration:none;display:inline-flex}.tabs__tab:hover{color:var(--color-ink)}.tabs__tab--active,.tabs__tab--active:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tabs__count{font-size:10.5px;font-weight:var(--font-weight-semibold);color:var(--color-ink-muted);background-color:var(--color-surface-muted);border-radius:var(--radius-pill);padding:1px 6px}.tabs--pills{gap:var(--space-8);border-bottom:0}.tabs--pills .tabs__tab{padding:7px var(--space-14);font-size:12px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);margin-bottom:0}.tabs--pills .tabs__tab--active,.tabs--pills .tabs__tab--active:hover{color:var(--color-card);background-color:var(--color-navy);border-color:var(--color-navy)}.step-track{gap:var(--space-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.step-track__step{gap:var(--space-8);padding:6px var(--space-12) 6px 6px;font-size:var(--text-label-size);color:var(--color-ink-muted);background-color:var(--color-surface-subtle);border-radius:var(--radius-pill);align-items:center;display:inline-flex}.step-track__number{width:22px;height:22px;font-size:11.5px;font-weight:var(--font-weight-bold);color:var(--color-ink-muted);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);place-items:center;display:inline-grid}.step-track__step--done .step-track__number{color:var(--color-card);background-color:var(--tone-success-strong);border-color:var(--tone-success-strong)}.step-track__step--current{font-weight:var(--font-weight-semibold);color:var(--color-navy);background-color:var(--color-accent-soft)}.step-track__step--current .step-track__number{color:var(--color-card);background-color:var(--color-accent);border-color:var(--color-accent)}.data-table{background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);max-height:70vh;position:relative;overflow:auto}.data-table__table{width:100%;font-size:var(--text-table-size);border-collapse:collapse}.data-table__header{z-index:var(--layer-sticky-header);font-size:var(--text-table-header-size);font-weight:var(--text-table-header-weight);color:var(--color-ink-header);text-align:left;text-transform:uppercase;letter-spacing:var(--text-table-header-letter-spacing);background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-line-strong);padding:11px 12px;position:sticky;top:0}.data-table__sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.data-table__sort:hover,.data-table__sort .icon{color:var(--color-accent)}.data-table__cell{vertical-align:middle;border-bottom:1px solid var(--color-line);padding:11px 12px}.data-table__cell--numeric{font-variant-numeric:tabular-nums;text-align:right}.data-table__cell--emphasis{font-weight:var(--font-weight-semibold)}.data-table__totals .data-table__cell{font-weight:var(--font-weight-bold);background-color:var(--color-surface-subtle);border-top:1px solid var(--color-line-strong);border-bottom:0}.data-table__row:last-child .data-table__cell{border-bottom:0}.data-table__row:hover .data-table__cell{background-color:var(--color-row-hover)}.data-table__row--pressable{cursor:pointer;position:relative}.data-table__row-action{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.data-table__row-action:after{content:"";position:absolute;inset:0}.data-table__row--pressable .data-table__cell :is(a,button,input,select,textarea,label):not(.data-table__row-action){z-index:1;position:relative}.data-table__row-action:focus-visible{outline:none}.data-table__row--pressable:has(.data-table__row-action:focus-visible){outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:calc(var(--focus-outline-width) * -1)}.data-table__empty{padding:var(--space-24) 12px;color:var(--color-ink-muted);text-align:center}.pagination{gap:var(--space-6);font-size:var(--text-table-size);color:var(--color-ink-muted);justify-content:flex-end;align-items:center;display:flex}.pagination__range{margin-right:var(--space-6);font-variant-numeric:tabular-nums}.data-table--sticky-first :is(.data-table__header,.data-table__cell):first-child{z-index:1;background-color:var(--color-card);box-shadow:inset -1px 0 0 var(--color-line);position:sticky;left:0}.data-table--sticky-first .data-table__header:first-child{z-index:calc(var(--layer-sticky-header) + 1);background-color:var(--color-surface-subtle)}.data-table--sticky-first .data-table__row:hover .data-table__cell:first-child{background-color:var(--color-row-hover)}.data-table .field__control{min-width:72px}.editable-grid{background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);max-width:100%;overflow-x:auto}.editable-grid__table{width:100%;font-size:var(--text-table-size);border-collapse:collapse}.editable-grid__header{font-size:var(--text-table-header-size);font-weight:var(--text-table-header-weight);color:var(--color-ink-header);text-align:center;vertical-align:top;letter-spacing:var(--text-table-header-letter-spacing);background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-line-strong);padding:8px 10px}.editable-grid__header--row{text-align:left;text-transform:uppercase}.editable-grid__row-header{min-width:180px;font-weight:var(--font-weight-semibold);text-align:left;background-color:var(--color-card);border-bottom:1px solid var(--color-line);padding:8px 10px;position:sticky;left:0}.editable-grid__caption{font-size:var(--text-caption-size);font-weight:var(--font-weight-regular);color:var(--color-ink-muted);display:block}.editable-grid__cell{text-align:center;white-space:nowrap;border-bottom:1px solid var(--color-line);border-left:1px solid var(--color-line);min-width:92px;padding:6px 8px}.editable-grid__content{justify-content:center;align-items:center;gap:4px;display:inline-flex}.editable-grid__value{font-variant-numeric:tabular-nums}.editable-grid__value--editable{font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-control);background:0 0;border:1px dashed #0000;padding:3px 6px}.editable-grid__value--editable:hover,.editable-grid__value--editable:focus-visible{color:var(--color-accent);border-color:var(--color-line-strong)}.editable-grid__cell--red{color:var(--tone-warning-ink);background-color:var(--tone-warning-soft)}.editable-grid__cell--alert{font-weight:var(--font-weight-bold);color:var(--tone-danger-ink);background-color:var(--tone-danger-soft)}.editable-grid__totals .editable-grid__cell,.editable-grid__totals .editable-grid__row-header{font-weight:var(--font-weight-bold);background-color:var(--color-surface-subtle);border-top:1px solid var(--color-line-strong)}.editable-grid__footers .editable-grid__cell,.editable-grid__footers .editable-grid__row-header{border-bottom:0}.editable-grid__empty{color:var(--color-ink-muted);text-align:center;padding:16px}.sheet-grid{background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);max-width:100%;overflow-x:auto}.sheet-grid__table{width:100%;font-size:var(--text-table-size);border-collapse:collapse}.sheet-grid__header{font-size:var(--text-table-header-size);font-weight:var(--text-table-header-weight);color:var(--color-ink-header);text-align:left;text-transform:uppercase;white-space:nowrap;letter-spacing:var(--text-table-header-letter-spacing);background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-line-strong);padding:8px 10px}.sheet-grid__header--end{text-align:right}.sheet-grid__actions-column{width:48px}.sheet-grid__cell{white-space:pre-line;vertical-align:top;border-bottom:1px solid var(--color-line);padding:6px 10px}.sheet-grid__cell:focus{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:calc(var(--focus-outline-width) * -1)}.sheet-grid__cell--end{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.sheet-grid__cell--editable{cursor:text}.sheet-grid__row:hover .sheet-grid__cell{background-color:var(--color-row-hover)}.sheet-grid__cell--pending,.sheet-grid__placeholder{color:var(--color-ink-muted);font-style:italic}.sheet-grid__cell--editing{padding:2px 4px}.sheet-grid__cell--actions{text-align:right;white-space:nowrap;padding:2px 6px}.sheet-grid__editor{box-sizing:border-box;width:100%;font:inherit;color:inherit;background-color:var(--color-card);border:1px solid var(--color-accent);border-radius:var(--radius-control);outline:none;padding:3px 6px}textarea.sheet-grid__editor{resize:vertical}.sheet-grid__editor--number{text-align:right;font-variant-numeric:tabular-nums}.sheet-grid__row--heading .sheet-grid__cell{font-weight:var(--font-weight-semibold);background-color:var(--color-surface-subtle)}.sheet-grid__row--subheading .sheet-grid__cell{font-weight:var(--font-weight-semibold);font-style:italic}.sheet-grid__row--total .sheet-grid__cell{font-weight:var(--font-weight-semibold);border-top:1px solid var(--color-line-strong)}.sheet-grid__row--footer .sheet-grid__cell{font-weight:var(--font-weight-semibold);background-color:var(--color-surface-subtle);border-top:2px solid var(--color-line-strong);border-bottom:0}.sheet-grid__empty{color:var(--color-ink-muted);text-align:center;padding:18px 10px}.sheet-grid__control-column{width:60px}.sheet-grid__header--control{text-align:left}.sheet-grid__cell--control{vertical-align:top;padding:4px 8px}.sheet-grid__controls{align-items:center;gap:6px;display:inline-flex}.sheet-grid__check{cursor:pointer;width:16px;height:16px;accent-color:var(--color-accent);margin:0}.sheet-grid__handle{width:20px;height:24px;color:var(--color-ink-muted);touch-action:none;cursor:grab;border-radius:var(--radius-control);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sheet-grid__handle:hover{color:var(--color-accent);background-color:var(--color-accent-soft)}.sheet-grid__sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.sheet-grid__sort:hover,.sheet-grid__sort .icon{color:var(--color-accent)}.sheet-grid__detail{font-size:var(--text-caption-size);font-style:italic;font-weight:var(--font-weight-regular);color:var(--color-ink-muted);margin-top:2px;display:block}.sheet-grid__row--mark-yellow .sheet-grid__cell{background-color:var(--tone-highlight-soft)}.sheet-grid__row--mark-green .sheet-grid__cell{background-color:var(--tone-success-soft)}.sheet-grid__row--mark-red .sheet-grid__cell{background-color:var(--tone-danger-soft)}.sheet-grid__row--mark-blue .sheet-grid__cell{background-color:var(--tone-info-soft)}.sheet-grid__row--mark-orange .sheet-grid__cell{background-color:var(--tone-warning-soft)}.sheet-grid__row--mark-yellow .sheet-grid__cell:first-child{box-shadow:inset 4px 0 0 var(--tone-highlight-strong)}.sheet-grid__row--mark-green .sheet-grid__cell:first-child{box-shadow:inset 4px 0 0 var(--tone-success-strong)}.sheet-grid__row--mark-red .sheet-grid__cell:first-child{box-shadow:inset 4px 0 0 var(--tone-danger-strong)}.sheet-grid__row--mark-blue .sheet-grid__cell:first-child{box-shadow:inset 4px 0 0 var(--tone-info-strong)}.sheet-grid__row--mark-orange .sheet-grid__cell:first-child{box-shadow:inset 4px 0 0 var(--tone-warning-strong)}.sheet-grid__row--selected .sheet-grid__cell{background-color:var(--color-accent-soft)}.sheet-grid__row--dragged{opacity:.55}.sheet-grid__row--drop-before .sheet-grid__cell{box-shadow:inset 0 3px 0 var(--timeline-drop-line)}.sheet-grid__row--drop-after .sheet-grid__cell{box-shadow:inset 0 -3px 0 var(--timeline-drop-line)}.sheet-grid__table--reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}.sheet-grid--dense .sheet-grid__table{font-size:var(--text-caption-size)}.sheet-grid--dense .sheet-grid__header{white-space:normal;letter-spacing:0;padding:4px 5px}.sheet-grid--dense .sheet-grid__cell{padding:3px 5px}@media print{.sheet-grid--dense{overflow-x:visible}}.timeline-grid{min-height:320px;max-height:calc(100dvh - 260px);scroll-padding:56px 0 0 var(--timeline-label-width);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-card);position:relative;overflow:auto}.timeline-grid--reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}.timeline-grid__canvas{width:calc(var(--timeline-label-width) + var(--timeline-width));position:relative}.timeline-grid__header{z-index:4;background-color:var(--color-card);border-bottom:2px solid var(--color-line-strong);display:flex;position:sticky;top:0}.timeline-grid__corner{z-index:5;width:var(--timeline-label-width);padding:var(--space-6) var(--space-10);font-size:var(--text-badge-size);font-weight:var(--font-weight-semibold);color:var(--color-ink-subtle);text-transform:uppercase;letter-spacing:.04em;background-color:var(--color-card);border-right:1px solid var(--color-line-strong);flex-shrink:0;align-items:flex-end;display:flex;position:sticky;left:0}.timeline-grid__scale{width:var(--timeline-width);flex-shrink:0}.timeline-grid__weeks,.timeline-grid__days{display:flex}.timeline-grid__week{width:calc(var(--timeline-span) * var(--timeline-day-width));height:18px;font-size:var(--text-badge-size);font-weight:var(--font-weight-bold);color:var(--color-ink-muted);white-space:nowrap;background-color:var(--color-surface-subtle);border-right:1px solid var(--color-line-strong);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.timeline-grid__day,.timeline-grid__week-column{width:var(--timeline-day-width);white-space:nowrap;border-right:1px solid var(--color-line);flex-direction:column;flex-shrink:0;align-items:center;padding:2px 0;line-height:1.25;display:flex;overflow:hidden}.timeline-grid__week-column{width:calc(var(--timeline-span) * var(--timeline-day-width))}.timeline-grid__weekday{color:var(--color-ink-subtle);text-transform:uppercase;font-size:9px}.timeline-grid__date{font-size:var(--text-badge-size);font-weight:var(--font-weight-medium);color:var(--color-ink-muted)}.timeline-grid__month{font-size:9px;font-weight:var(--font-weight-regular)}.timeline-grid__day--weekend{background-color:var(--timeline-weekend-header)}.timeline-grid__day--current-week,.timeline-grid__week-column--current-week{background-color:var(--color-accent-soft)}.timeline-grid__day--current-week .timeline-grid__date,.timeline-grid__week-column--current-week .timeline-grid__date{font-weight:var(--font-weight-bold);color:var(--color-navy)}.timeline-grid__day--non-working{background-color:var(--timeline-non-working-header)}.timeline-grid__day--non-working .timeline-grid__date{color:var(--timeline-non-working-ink)}.timeline-grid__day--today{background-color:var(--timeline-today-header);box-shadow:inset 0 -3px 0 var(--color-accent-bright)}.timeline-grid__day--today .timeline-grid__date{font-weight:var(--font-weight-bold);color:var(--color-accent)}.timeline-grid__day--past{opacity:.55}.timeline-grid__body{position:relative}.timeline-grid__backdrop{top:0;bottom:0;left:var(--timeline-label-width);width:var(--timeline-width);pointer-events:none;display:flex;position:absolute}.timeline-grid__frame{top:0;bottom:0;left:var(--frame-left);width:var(--frame-width);background-color:color-mix(in srgb, var(--tone-danger-strong) 10%, transparent);position:absolute}.timeline-grid__frame-edges{top:0;bottom:0;left:calc(var(--timeline-label-width) + var(--frame-left));z-index:2;width:var(--frame-width);pointer-events:none;border-inline:3px solid var(--tone-danger-strong);position:absolute}.timeline-grid__week--framed,.timeline-grid__week-column--framed{color:var(--tone-danger-ink);background-color:var(--tone-danger-soft);box-shadow:inset 0 3px 0 var(--tone-danger-strong)}.timeline-grid__frame-label{margin-left:var(--space-2)}.timeline-grid__column{width:var(--timeline-day-width);border-right:1px solid var(--color-line);flex-shrink:0}.timeline-grid__column--week{width:calc(var(--timeline-span) * var(--timeline-day-width))}.timeline-grid__column--weekend{background-color:var(--timeline-weekend)}.timeline-grid__column--current-week{background-color:var(--timeline-current-week);border-right-color:var(--timeline-current-week-line)}.timeline-grid__column--non-working{background-color:var(--timeline-non-working)}.timeline-grid__column--today{background-color:var(--timeline-today)}.timeline-grid__column--past{background-color:var(--timeline-past)}.gantt-row{min-height:var(--gantt-row-height);border-bottom:1px solid var(--color-line);display:flex;position:relative}.gantt-row__label{z-index:3;gap:var(--space-4);width:var(--timeline-label-width);min-width:0;padding:var(--space-4) var(--space-8);background-color:var(--color-card);border-right:1px solid var(--color-line-strong);flex-shrink:0;align-items:center;display:flex;position:sticky;left:0}.gantt-row--resource .gantt-row__label{padding-left:var(--space-20)}.gantt-row__label .icon-button{width:24px;height:24px}.gantt-row__heading{flex-direction:column;flex:1;min-width:0;display:flex}.gantt-row__title{gap:var(--space-2) var(--space-4);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.gantt-row__name{font-size:var(--text-badge-size);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.gantt-row--resource .gantt-row__name{font-weight:var(--font-weight-regular);color:var(--color-ink-muted)}.gantt-row__caption{color:var(--color-ink-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gantt-row__lane{width:var(--timeline-width);flex-shrink:0;position:relative}.gantt-row__handle{width:20px;height:26px;color:var(--color-ink-subtle);touch-action:none;cursor:grab;border-radius:var(--radius-chip);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.gantt-row__handle:hover{color:var(--color-accent);background-color:var(--color-accent-soft)}.gantt-row--dragged{opacity:.55}.gantt-row--drop-before{box-shadow:inset 0 3px 0 var(--timeline-drop-line)}.gantt-row--drop-after{box-shadow:inset 0 -3px 0 var(--timeline-drop-line)}.gantt-row--power-cut{border-top:2px solid var(--timeline-power-cut-line)}.gantt-row--power-cut .gantt-row__label{color:var(--timeline-power-cut-ink);background-color:var(--timeline-power-cut-label)}.gantt-row--power-cut .gantt-row__lane{background-color:color-mix(in srgb, var(--timeline-power-cut) 70%, transparent)}.gantt-row--logistics{border-top:2px solid var(--timeline-logistics-line)}.gantt-row--logistics .gantt-row__label{color:var(--timeline-logistics-ink);background-color:var(--timeline-logistics-label)}.gantt-row--logistics .gantt-row__lane{background-color:color-mix(in srgb, var(--timeline-logistics) 70%, transparent)}.gantt-row--unassigned{border-top:2px dashed var(--timeline-unassigned-line)}.gantt-row--unassigned .gantt-row__label{color:var(--timeline-unassigned-ink);background-color:var(--timeline-unassigned)}.gantt-row--unassigned .gantt-row__lane{background-color:color-mix(in srgb, var(--timeline-unassigned) 70%, transparent)}.gantt-row--former .gantt-row__label{color:var(--color-ink-subtle);background-color:var(--timeline-former)}@media screen and (width<=600px){.timeline-grid{--timeline-label-width:140px}}.bar{top:5px;left:var(--bar-left);z-index:1;gap:var(--space-4);width:var(--bar-width);height:28px;padding:0 var(--space-6);font:inherit;font-size:var(--text-badge-size);font-weight:var(--font-weight-medium);color:var(--bar-ink);text-align:left;white-space:nowrap;cursor:pointer;background-color:var(--bar-colour);border-radius:var(--radius-chip);transform:translateX(var(--bar-shift));border:0;align-items:center;display:flex;position:absolute;overflow:hidden}.bar:hover{z-index:2;filter:brightness(1.08)}.bar:focus-visible{z-index:2;outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:1px}.bar--movable{touch-action:none;cursor:grab}.bar--dragging{z-index:3;cursor:grabbing;box-shadow:var(--shadow-raised);opacity:.9}.bar--found{z-index:2;outline:3px solid var(--color-highlight);outline-offset:1px;box-shadow:0 0 0 6px var(--color-navy)}.bar--dimmed{color:var(--color-ink-muted);background-color:var(--color-surface-muted)}.bar--dimmed .bar__progress{background-color:var(--color-ink-muted)}.bar--stacked{top:calc(7px + var(--bar-lane) * 32px);height:17px;font-size:10px}.gantt-row--stack .bar{top:calc(4px + var(--bar-lane) * var(--timeline-stack-lane));height:22px}.gantt-row--resource .bar{height:22px;top:6px}.gantt-row--resource .bar--strip{z-index:2;height:12px;font-size:9px;top:20px}.bar__label{text-overflow:ellipsis;flex:1;min-width:0;position:relative;overflow:hidden}.bar__hatch{top:0;bottom:0;left:var(--hatch-left);width:var(--hatch-width);pointer-events:none;background:repeating-linear-gradient(135deg,#0000 0 4px,#00000061 4px 6px);position:absolute}.bar__mark{top:0;bottom:0;left:var(--hatch-left);width:var(--hatch-width);pointer-events:none;background:repeating-linear-gradient(45deg, var(--tone-danger-strong) 0 4px, transparent 4px 7px);box-shadow:inset 0 0 0 2px var(--tone-danger-strong);position:absolute}.bar__badge{color:var(--color-ink-inverse);font-size:9px;font-weight:var(--font-weight-semibold);background-color:var(--tone-danger-strong);border-radius:6px;flex-shrink:0;margin-right:4px;padding:0 4px;position:relative}.bar__caption{font-size:9px;font-weight:var(--font-weight-semibold);flex-shrink:0;position:relative}.bar__progress{width:var(--bar-progress);background-color:var(--bar-ink);height:3px;position:absolute;bottom:0;left:0}.bar__indicator{background-color:var(--color-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex;position:relative}.bar__indicator--success{color:var(--tone-success-strong)}.bar__indicator--warning{color:var(--tone-warning-strong)}.bar__indicator--danger{color:var(--tone-danger-strong)}.bar__indicator--info,.bar__indicator--highlight,.bar__indicator--neutral{color:var(--tone-neutral-strong)}.bar__handle{z-index:1;cursor:ew-resize;background-color:#0000001f;width:5px;position:absolute;top:0;bottom:0}.bar__handle--start{left:0}.bar__handle--end{right:0}.gantt-row__ghost{top:4px;bottom:4px;left:var(--bar-left);width:var(--bar-width);pointer-events:none;border:2px dashed var(--color-accent-bright);border-radius:var(--radius-chip);background-color:#3457b821;position:absolute}.milestone{top:3px;left:var(--milestone-left);z-index:4;gap:var(--space-4);max-width:160px;font:inherit;color:var(--milestone-ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex;position:absolute;transform:translate(-7px)}.gantt-row--milestones .milestone{top:12px}.milestone__diamond{background-color:var(--milestone-colour);border:2px solid #00000059;border-radius:2px;flex-shrink:0;width:14px;height:14px;transform:rotate(45deg)scale(.8)}.milestone__label{padding:0 var(--space-4);font-size:9px;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;background-color:var(--milestone-colour);border-radius:4px;line-height:14px;overflow:hidden}.milestone:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline);outline-offset:2px}.milestone--movable{touch-action:none;cursor:grab}.milestone--dragging{z-index:5;cursor:grabbing}.milestone--found .milestone__diamond{outline:3px solid var(--color-highlight);box-shadow:0 0 0 5px var(--color-navy)}.milestone--dimmed .milestone__diamond,.milestone--dimmed .milestone__label{color:var(--color-ink-muted);background-color:var(--color-surface-muted)}.timeline-legend{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.timeline-legend__title{margin:0 0 var(--space-6);font-size:var(--text-caption-size);font-weight:var(--font-weight-semibold);color:var(--color-ink-muted);text-transform:uppercase}.timeline-legend__items{gap:var(--space-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline-legend__item{gap:var(--space-8);font-size:var(--text-control-size);align-items:center;display:flex}.timeline-legend__sample{background-color:var(--legend-colour);border:1px solid var(--color-line-strong);border-radius:3px;flex-shrink:0;width:24px;height:12px}.timeline-legend__sample--night{background:repeating-linear-gradient(135deg, transparent 0 4px, #00000061 4px 6px), var(--timeline-neutral-bar)}.timeline-legend__sample--conflict{background:repeating-linear-gradient(45deg, var(--tone-danger-strong) 0 4px, transparent 4px 7px), var(--timeline-neutral-bar);box-shadow:inset 0 0 0 2px var(--tone-danger-strong)}.timeline-legend__sample--absence{background-color:var(--timeline-absence-bar)}.timeline-legend__sample--breakdown{background-color:var(--timeline-breakdown-bar)}.timeline-legend__sample--employee{background-color:var(--timeline-employee-bar)}.timeline-legend__sample--equipment{background-color:var(--timeline-equipment-bar)}.timeline-legend__sample--need{background-color:var(--timeline-need-bar)}.timeline-legend__sample--milestone{background-color:var(--timeline-power-cut-line);width:12px;height:12px;margin:0 6px;transform:rotate(45deg)}.timeline-legend__sample--power-cut{background-color:var(--timeline-power-cut);border-top:2px solid var(--timeline-power-cut-line)}.timeline-legend__sample--logistics{background-color:var(--timeline-logistics);border-left:3px solid var(--timeline-logistics-line)}.timeline-legend__sample--unassigned{background-color:var(--timeline-unassigned);border-top:2px dashed var(--timeline-unassigned-line)}.timeline-legend__sample--former{background-color:var(--timeline-former)}.timeline-legend__sample--today{background-color:var(--timeline-today-header);border-bottom:2px solid var(--color-accent-bright)}.timeline-legend__sample--current-week{background-color:var(--timeline-current-week-line)}.timeline-legend__sample--non-working{background-color:var(--timeline-non-working-header)}.timeline-legend__sample--weekend{background-color:var(--timeline-weekend-header)}.bar-pill{top:calc(var(--hover-card-y) - 32px);left:calc(var(--hover-card-x) + 14px);z-index:var(--layer-menu);gap:var(--space-6);padding:var(--space-4) var(--space-10);font-size:var(--text-badge-size);font-weight:var(--font-weight-bold);color:var(--color-ink-inverse);white-space:nowrap;pointer-events:none;background-color:var(--color-navy);border-radius:var(--radius-pill);box-shadow:var(--shadow-dropdown);align-items:center;display:inline-flex;position:fixed}.hover-card{top:var(--hover-card-top);left:var(--hover-card-left);z-index:var(--layer-menu);max-width:320px;padding:var(--space-10) var(--space-12);font-size:var(--text-caption-size);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-menu);box-shadow:var(--shadow-dropdown);position:fixed}.context-menu{top:var(--context-menu-y);left:var(--context-menu-x);z-index:var(--layer-menu);min-width:200px;padding:var(--space-4);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-menu);box-shadow:var(--shadow-dropdown);flex-direction:column;display:flex;position:fixed}.print-document .timeline-grid{min-height:0;max-height:none;overflow:visible}.printed-timeline{gap:var(--space-12);flex-direction:column;display:flex}@media print{.timeline-grid{min-height:0;max-height:none;overflow:visible}.timeline-grid__header{position:static}.printed-timeline{display:block}.printed-timeline__page+.printed-timeline__page{break-before:page}.gantt-row{break-inside:avoid}}.dialog{width:min(880px,100% - 40px);max-width:none;max-height:calc(100vh - 88px);color:var(--color-ink);background-color:var(--color-card);border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog);animation:rise-in var(--duration-dialog) var(--easing-standard);border:0;margin:44px auto auto;padding:0;overflow:hidden}.dialog:focus-visible{outline:none}.dialog::backdrop{background-color:var(--scrim-dialog);animation:fade-in var(--duration-overlay) var(--easing-standard)}.dialog--narrow{width:min(420px,100% - 32px);margin-top:18vh}.dialog--narrow::backdrop{background-color:var(--scrim-confirmation)}.dialog--wide{width:min(1240px,100% - 40px)}.dialog__surface{max-height:inherit;flex-direction:column;display:flex}.dialog__header{gap:var(--space-10);padding:var(--space-16) 26px;color:var(--color-ink-inverse);background-color:var(--color-navy);flex-direction:column;display:flex}.dialog__heading{gap:var(--space-8);align-items:center;display:flex}.dialog__title{font-size:var(--text-section-title-size)}.dialog__close{width:32px;height:32px;color:var(--color-ink-inverse-muted);cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;justify-content:center;align-items:center;margin:-6px -10px -6px auto;padding:0;display:inline-flex}.dialog__close:hover{color:var(--color-ink-inverse);background-color:#ffffff1f}.dialog__header-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.dialog__header-actions .button{color:var(--color-ink-inverse);background-color:#ffffff1f;border-color:#0000}.dialog__header-actions .button:hover{color:var(--color-ink-inverse);background-color:#ffffff38;border-color:#0000}.dialog__body{padding:var(--space-18) 26px var(--space-24);flex:1;overflow:auto}.dialog__footer{gap:var(--space-8);padding:0 26px var(--space-24);flex-wrap:wrap;justify-content:flex-end;display:flex}.dialog__message{font-size:var(--text-table-size)}.dialog--narrow .dialog__header,.dialog--narrow .dialog__body{padding:var(--space-14) var(--space-18)}.dialog--narrow .dialog__footer{padding:0 var(--space-18) var(--space-16)}.menu{align-items:center;display:flex;position:relative}.menu__trigger{gap:var(--space-10);color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.menu__popup{z-index:var(--layer-menu);min-width:220px;padding:var(--space-6);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-menu);box-shadow:var(--shadow-dropdown);animation:fade-in var(--duration-overlay) var(--easing-standard);position:absolute;top:42px;right:0}.menu__header{padding:var(--space-8) var(--space-10) var(--space-10);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-line)}.menu__items{flex-direction:column;display:flex}.menu__item{gap:var(--space-8);width:100%;padding:9px var(--space-10);font-size:var(--text-control-size);color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;display:flex}.menu__item:hover,.menu__item:focus-visible{background-color:var(--color-surface-subtle)}.menu__item--danger{color:var(--destructive-fill)}.notification-bell{align-items:center;display:flex;position:relative}.notification-bell__trigger{width:34px;height:34px;color:var(--color-ink-muted);cursor:pointer;border-radius:var(--radius-pill);transition:color var(--duration-fast), background-color var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notification-bell__trigger:hover,.notification-bell__trigger[aria-expanded=true]{color:var(--color-navy);background-color:var(--color-surface-subtle);border-color:var(--color-line)}.notification-bell__count{min-width:17px;height:17px;font-size:10.5px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--color-ink-inverse);background-color:var(--tone-warning-strong);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:flex;position:absolute;top:1px;right:0}.notification-bell__count--urgent{background-color:var(--tone-danger-strong)}.notification-bell__panel{z-index:var(--layer-menu);background-color:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-card);width:380px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-dropdown);animation:fade-in var(--duration-overlay) var(--easing-standard);position:absolute;top:42px;right:0;overflow:hidden}.notification-bell__header{gap:var(--space-8);padding:var(--space-10) var(--space-14);font-size:var(--text-control-size);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:baseline;display:flex}.notification-bell__title{font-size:var(--text-control-size);font-weight:var(--font-weight-semibold);white-space:nowrap}.notification-bell__summary{font-size:var(--text-caption-size);color:var(--color-ink-muted);text-align:right}.notification-bell__entries{max-height:min(70vh,560px);margin:0;padding:0;list-style:none;overflow-y:auto}.notification-bell__entry{gap:var(--space-8);padding-right:var(--space-14);border-bottom:1px solid var(--color-line);align-items:center;display:flex}.notification-bell__entry:last-child{border-bottom:0}.notification-bell__entry:hover{background-color:var(--color-row-hover)}.notification-bell__link{gap:var(--space-10);min-width:0;padding:9px 0 9px var(--space-14);font-size:var(--text-label-size);color:var(--color-ink);flex:1;align-items:center;text-decoration:none;display:flex}.notification-bell__link>.icon{color:var(--color-ink-muted);flex:none}.notification-bell__entry-count{min-width:26px;height:26px;font-size:12px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--tone-neutral-ink);background-color:var(--tone-neutral-soft);border-radius:var(--radius-pill);flex:none;justify-content:center;align-items:center;padding:0 6px;display:flex}.notification-bell__entry--alert .notification-bell__entry-count{color:var(--tone-danger-ink);background-color:var(--tone-danger-soft)}.notification-bell__entry--warning .notification-bell__entry-count{color:var(--tone-warning-ink);background-color:var(--tone-warning-soft)}.notification-bell__text{flex-direction:column;flex:1;min-width:0;display:flex}.notification-bell__entry-title{font-weight:var(--font-weight-semibold)}.notification-bell__detail{font-size:var(--text-caption-size);color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-bell__postpone{color:var(--color-ink-muted);white-space:nowrap;cursor:pointer;background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-badge);flex:none;padding:3px 7px;font-size:11px}.notification-bell__postpone:hover{color:var(--color-ink);border-color:var(--color-accent-bright)}.notification-bell__message{padding:var(--space-18);font-size:var(--text-label-size);color:var(--color-ink-muted);text-align:center}.notification-bell__message--error{color:var(--tone-danger-ink)}.notification-bell__footer{gap:var(--space-8);padding:var(--space-8) var(--space-14);font-size:var(--text-caption-size);color:var(--color-ink-muted);background-color:var(--color-surface-subtle);justify-content:space-between;align-items:center;display:flex}.global-search__trigger{gap:var(--space-6);height:34px;padding:0 var(--space-10);color:var(--color-ink-muted);cursor:pointer;background-color:var(--color-surface-subtle);border:1px solid var(--color-line);border-radius:var(--radius-pill);transition:color var(--duration-fast), border-color var(--duration-fast);align-items:center;display:inline-flex}.global-search__trigger:hover{color:var(--color-navy);border-color:var(--color-accent-bright)}.global-search__shortcut{font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.02em}.global-search{gap:var(--space-10);flex-direction:column;display:flex}.global-search__input{width:100%;padding:11px var(--space-14);font:inherit;color:var(--color-ink);background-color:var(--color-card);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);outline:none;font-size:16px}.global-search__input:focus{border-color:var(--focus-input-border);box-shadow:0 0 0 3px var(--focus-input-ring)}.global-search__message{padding:var(--space-14) var(--space-4);font-size:var(--text-label-size);color:var(--color-ink-muted)}.global-search__results{max-height:55vh;overflow-y:auto}.global-search__group{padding:var(--space-10) var(--space-8) var(--space-4);font-size:11.5px;font-weight:var(--font-weight-bold);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.05em}.global-search__result{padding:var(--space-8) var(--space-10);color:var(--color-ink);cursor:pointer;border-radius:var(--radius-control);flex-direction:column;gap:2px;text-decoration:none;display:flex}.global-search__result--active{background-color:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.global-search__label{gap:var(--space-6);font-size:var(--text-control-size);font-weight:var(--font-weight-semibold);align-items:center;display:flex}.global-search__detail{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.global-search__hint{font-size:var(--text-caption-size);color:var(--color-ink-muted);margin-right:auto}@media screen and (width<=1100px){.global-search__shortcut{display:none}}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-shell__main{flex:1;min-height:0;padding:22px 30px 30px;overflow:auto}.app-shell__main--backdrop{background:linear-gradient(#f4f6fbe6,#f4f6fbf7),url(/banner-pvrd.jpg) 50%/cover no-repeat fixed}.top-bar{gap:var(--space-14);height:56px;padding:0 var(--space-18);background-color:var(--color-card);border-bottom:1px solid var(--color-line);flex-shrink:0;align-items:center;display:flex}.top-bar__brand{height:34px;padding-right:var(--space-14);border-right:1px solid var(--color-line);align-items:center;display:flex}.top-bar__title{min-width:0}.top-bar__name{font-size:14.5px;font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar__subtitle{font-size:var(--text-caption-size);color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-bar__navigation{flex:1;align-self:stretch;min-width:0;display:flex}.top-bar__actions{gap:var(--space-10);align-items:center;display:flex}.brand{gap:var(--space-10);align-items:center;text-decoration:none;display:flex}.brand__logo{width:auto;height:28px;display:block}.brand__name{font-size:var(--text-caption-size);font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:.06em}.area-nav{scrollbar-width:none;flex:1;align-items:stretch;gap:2px;display:flex;overflow-x:auto}.area-nav__item{padding:0 var(--space-8);font-size:var(--text-navigation-size);font-weight:var(--text-navigation-weight);color:var(--color-ink-muted);white-space:nowrap;transition:color var(--duration-fast);border-bottom:2.5px solid #0000;align-items:center;gap:5px;text-decoration:none;display:flex}.area-nav__item:hover{color:var(--color-ink)}.area-nav__item--active,.area-nav__item--active:hover{color:var(--color-navy);border-bottom-color:var(--area-mark)}.user-menu__who{flex-direction:column;line-height:1.2;display:flex}.user-menu__name{font-size:var(--text-label-size);font-weight:var(--font-weight-semibold)}.user-menu__detail{color:var(--color-ink-muted);font-size:11px}.user-menu__header{flex-direction:column;gap:2px;display:flex}.page-header{gap:var(--space-14);align-items:center;display:flex}.page-header__text{min-width:0}.page-header__title{font-size:var(--text-page-title-size);font-weight:var(--text-page-title-weight);letter-spacing:var(--text-page-title-letter-spacing)}.page-header__deck{font-size:var(--text-deck-size);color:var(--color-ink-muted);margin-top:1px}.page-header__actions{gap:var(--space-8);align-items:center;margin-left:auto;display:flex}.welcome-banner{min-height:150px;color:var(--color-ink-inverse);background:url(/banner-pvrd.jpg) center 62% / cover no-repeat var(--color-navy);border-radius:var(--radius-banner);box-shadow:var(--shadow-banner);animation:rise-in var(--duration-entrance) var(--easing-entrance) both;flex-direction:column;justify-content:flex-end;padding:34px 34px 30px;display:flex;position:relative;overflow:hidden}.welcome-banner:before{content:"";background-image:linear-gradient(90deg,#0f1946b8 0%,#0f194659 55%,#0f19461a 100%);position:absolute;inset:0}.welcome-banner>*{position:relative}.welcome-banner__eyebrow{margin-bottom:var(--space-6);font-size:var(--text-deck-size);color:#ffffffbf;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 6px #00000059}.welcome-banner__title{font-size:var(--text-greeting-size);font-weight:var(--text-greeting-weight);letter-spacing:var(--text-greeting-letter-spacing);text-shadow:0 2px 10px #00000059}.welcome-banner__subtitle{margin-top:var(--space-4);font-size:var(--text-body-size);color:#ffffffd9;text-shadow:0 1px 6px #00000059}.welcome-banner__actions{gap:var(--space-8);margin-top:var(--space-14);display:flex}.welcome-banner__actions .button{color:var(--color-ink-inverse);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff24;border-color:#ffffff73}.welcome-banner__actions .button:hover{color:var(--color-ink-inverse);background-color:#ffffff42;border-color:#ffffff73}@media screen and (width<=1500px){.user-menu__who{display:none}}@media screen and (width<=1380px){.top-bar{gap:var(--space-8);padding:0 var(--space-10)}.brand__name{display:none}.area-nav__item{padding:0 var(--space-6);font-size:var(--text-label-size)}}@media screen and (width<=900px){.app-shell__main{padding:var(--space-16) var(--space-14) var(--space-14)}.welcome-banner{background-position:70%}}@media (hover:none) and (pointer:coarse){body{--color-ink-muted:var(--color-ink-muted-touch)}.button{min-width:var(--touch-default);min-height:var(--touch-default);justify-content:center}.button--small{padding:var(--space-8) var(--space-12);font-size:var(--text-control-size)}.icon-button,.shift-toggle,.avatar{width:var(--touch-default);height:var(--touch-default)}.field__control{min-height:var(--touch-default);font-size:var(--tablet-text-body-size)}.checkbox__input{width:24px;height:24px}.checkbox__label{align-items:center;display:inline-flex}.checkbox__label,.tabs__tab,.area-nav__item,.menu__item{min-height:var(--touch-default)}.area-nav__item{min-width:var(--touch-default);padding:0 var(--space-10);justify-content:center}.menu__item{padding:13px var(--space-12)}.tag,.field__hint,.field__error,.data-table__header{font-size:var(--text-caption-size)}}.print-document{min-height:100vh;padding:var(--space-16);background-color:var(--color-surface-muted)}.print-document--a4-portrait{--print-document-width:210mm;page:a4-portrait}.print-document--a4-landscape{--print-document-width:297mm;page:a4-landscape}.print-document--a3-landscape{--print-document-width:420mm;page:a3-landscape}.print-document--dense .data-table__table{font-size:12px;line-height:1.3}.print-document--dense .data-table__header,.print-document--dense .data-table__cell{padding:3px 6px}.print-document--dense .tag{padding-block:0}.print-document--dense .chart__plot{block-size:120px}.print-document--dense .key-value-list{gap:var(--space-2)}.print-document__toolbar{gap:var(--space-8);max-width:var(--print-document-width);margin:0 auto var(--space-12);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.print-document__sheet{gap:var(--space-12);max-width:var(--print-document-width);color:var(--color-ink);background-color:var(--color-card);box-shadow:var(--shadow-card);flex-direction:column;margin:0 auto;padding:8mm;display:flex}.print-document__header{gap:var(--space-16);padding-bottom:var(--space-8);border-bottom:2px solid var(--color-line-strong);justify-content:space-between;align-items:flex-start;display:flex}.print-document__title{font-size:var(--text-page-title-size);font-weight:var(--font-weight-semibold);color:var(--color-navy);margin:0}.print-document__subtitle,.print-document__meta{font-size:var(--text-caption-size);color:var(--color-ink-muted);margin:0}.print-document__meta{white-space:nowrap}.letterhead{gap:var(--space-16);align-items:center;display:flex}.letterhead__logo{object-fit:contain;max-width:48mm;max-height:22mm}.letterhead__identity{gap:var(--space-2);font-size:var(--text-caption-size);color:var(--color-ink-muted);flex-direction:column;display:flex}.letterhead__name{font-size:var(--text-section-title-size);color:var(--color-navy)}.acceptance-box{gap:var(--space-12);min-height:40mm;padding:var(--space-12);border:1px solid var(--color-line-strong);border-radius:var(--radius-control);break-inside:avoid;flex-direction:column;display:flex}.acceptance-box__title{color:var(--color-navy)}.acceptance-box__field{font-size:var(--text-caption-size);color:var(--color-ink-muted)}.print-page{gap:var(--space-12);flex-direction:column;display:flex}.print-page+.print-page{padding-top:var(--space-16);border-top:1px dashed var(--color-line-strong)}@page a4-portrait{size:A4 portrait;margin:8mm}@page a4-landscape{size:A4 landscape;margin:8mm}@page a3-landscape{size:A3 landscape;margin:8mm}@media print{.print-document{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:0 0;min-height:0;padding:0}.print-document__toolbar{display:none}.print-document__sheet{max-width:none;box-shadow:none;padding:0}.print-page{break-after:page}.print-page:last-child{break-after:auto}.print-page+.print-page{border-top:none;padding-top:0}@page{size:A4;margin:12mm}body{background-color:var(--color-card)}.app-shell{height:auto;display:block}.app-shell__main{padding:0;overflow:visible}.top-bar,.tabs,.toolbar,.button,.icon-button,.toast-region,.loading-bar{display:none}.area-icon,.card{box-shadow:none}.card,.key-value-list__item{break-inside:avoid}.data-table{max-height:none;overflow:visible}.data-table__header{position:static}.data-table__row{break-inside:avoid}}
