html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0}:where(.contract-tab){font-variant-numeric:tabular-nums}:where(.contract-tab) .code-badge,:where(.contract-tab) .season-code-badge,:where(.contract-tab) .period-code-badge,:where(.contract-tab) .code-input{font-family:var(--app-font-mono);letter-spacing:.02em}:where(.contract-tab) .col-num,:where(.contract-tab) .col-pax{text-align:right}:where(.contract-tab) .price-table{width:100%;border-collapse:collapse;background:var(--app-elevated);font-size:.88rem}:where(.contract-tab) .table-scroll{overflow-x:auto}:where(.contract-tab) .table-header{background:var(--app-neutral-surface);border-bottom:1px solid var(--app-border)}:where(.contract-tab) .table-header--sticky{position:sticky;top:0;z-index:10}:where(.contract-tab) .table-header th{padding:11px 14px;text-align:left;font-weight:600;color:var(--app-text);white-space:nowrap}:where(.contract-tab) .table-row{border-bottom:1px solid var(--app-border);transition:background .15s}:where(.contract-tab) .table-row:hover{background:var(--app-hover)}:where(.contract-tab) .table-row:last-child{border-bottom:none}:where(.contract-tab) .table-cell{padding:10px 14px;color:var(--app-text);vertical-align:middle}:where(.contract-tab) .col-ref{width:120px}:where(.contract-tab) .col-ref-name{min-width:150px}:where(.contract-tab) .col-range{width:130px}:where(.contract-tab) .col-pax{width:70px}:where(.contract-tab) .col-actions{width:44px;text-align:center}:where(.contract-tab) .col-description{min-width:160px}:where(.contract-tab) .sira-col{width:70px}:where(.contract-tab) .show-web-col{width:90px;text-align:center}:where(.contract-tab) .child-cell{text-align:center;border-left:1px solid var(--app-border);color:var(--app-text-muted)}:where(.contract-tab) .cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}:where(.contract-tab) .master-row{cursor:pointer}:where(.contract-tab) .master-row:hover{background:var(--app-hover)}:where(.contract-tab) .master-row.row-active{background:var(--app-selected-row)!important;border-left:3px solid var(--app-primary)}:where(.contract-tab) .row-selected{background:var(--app-selected-row)!important}:where(.contract-tab) .col-select{text-align:center}:where(.contract-tab) .select-indicator{color:var(--app-text-muted);transition:color .15s}:where(.contract-tab) .select-indicator.active{color:var(--app-primary)}:where(.contract-tab) .select-group-hint{text-align:center;color:var(--app-text-muted);font-style:italic;background:var(--app-surface);border-radius:8px;border:1px dashed var(--app-border)}:where(.contract-tab) .section{display:flex;flex-direction:column}:where(.contract-tab) .section-header{display:flex;align-items:center;justify-content:space-between}:where(.contract-tab) .section-header--compact{gap:8px}:where(.contract-tab) .section-title{font-weight:700;color:var(--app-text);border-left:3px solid var(--app-primary)}:where(.contract-tab) .section-title-context{font-weight:400;color:var(--app-text-muted)}:where(.contract-tab) .section-detail{border-top:1px solid var(--app-border)}:where(.contract-tab) .detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 10px;align-items:end}:where(.contract-tab) .meta-field{display:flex;flex-direction:column;gap:2px;min-width:0}:where(.contract-tab) .meta-field label{font-size:.72rem;font-weight:600;color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.02em}:where(.contract-tab) .detail-desc-block{margin-top:8px;padding-top:8px;border-top:1px solid var(--app-border)}:where(.contract-tab) .detail-desc-label{display:block;font-size:.72rem;font-weight:600;color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px}:where(.contract-tab) .detail-desc-view{margin:0;font-size:.84rem;color:var(--app-text);line-height:1.4;white-space:pre-wrap;word-break:break-word}:where(.contract-tab) .detail-desc-input{resize:vertical;min-height:48px;font-family:inherit}:where(.contract-tab) .btn-add-row{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:.88rem;width:fit-content;background:var(--app-info-surface);border:1px dashed var(--app-primary);border-radius:5px;color:var(--app-primary);cursor:pointer;font-weight:500;transition:all .2s}:where(.contract-tab) .btn-add-row:hover{background:var(--app-selected-row);border-style:solid}:where(.contract-tab) .add-main-btn{margin-top:4px}:where(.contract-tab) .btn-remove-row{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--app-error-surface);border:1px solid var(--app-border);border-radius:4px;color:var(--app-danger);cursor:pointer;transition:all .2s}:where(.contract-tab) .btn-remove-row:hover{background:var(--app-error-surface);border-color:var(--app-danger)}:where(.contract-tab) .col-action{width:44px;text-align:center}:where(.contract-tab) .col-check{width:40px;text-align:center;padding:10px 8px}:where(.contract-tab) .col-check input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--app-primary)}:where(.contract-tab) .apply-inline{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--app-text);cursor:pointer}:where(.contract-tab) .apply-inline input{width:14px;height:14px;accent-color:var(--app-primary);cursor:pointer}:where(.contract-tab) .apply-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700;background:linear-gradient(135deg,var(--app-primary),var(--app-primary-dark));color:var(--app-on-primary)}:where(.contract-tab) .apply-pill--off{background:#6c757d}:where(.contract-tab) .col-pct{width:64px;text-align:right}:where(.contract-tab) .pct-input{text-align:right}:where(.contract-tab) .edit-input{border:1px solid var(--app-border-muted);color:var(--app-text);background:var(--app-input-bg);outline:none}:where(.contract-tab) .edit-input:focus{border-color:var(--app-primary);background:var(--app-input-focus-bg)}:where(.contract-tab) .edit-select{cursor:pointer}:where(.contract-tab) .cell-input{width:100%;outline:none;transition:border-color .2s,box-shadow .2s}:where(.contract-tab) .cell-input:focus{border-color:var(--app-primary);background:var(--app-input-focus-bg)}:where(.contract-tab) .cell-select{width:100%;border:1px solid var(--app-border-muted);border-radius:5px;color:var(--app-text);background:var(--app-input-bg);cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}:where(.contract-tab) .cell-select:focus{border-color:var(--app-primary);background:var(--app-input-focus-bg)}:where(.contract-tab) .iso-date-input__segment:focus{background:transparent;border-color:transparent}:where(.contract-tab) .currency-chip{display:inline-block}:where(.contract-tab) .markup-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;transition:border-color .2s,background .2s,box-shadow .2s}:where(.contract-tab) .markup-toolbar--active{background:var(--app-info-surface);border-color:var(--app-primary);box-shadow:0 0 0 3px #007bff14}:where(.contract-tab) .markup-selection-info{display:flex;align-items:center;gap:10px;flex-shrink:0}:where(.contract-tab) .markup-checkbox-icon input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--app-primary)}:where(.contract-tab) .markup-selected-count{font-size:.88rem;font-weight:600;color:var(--app-primary);white-space:nowrap}:where(.contract-tab) .markup-input,:where(.contract-tab) .price-input{flex:1;min-width:70px;padding:6px 8px;border:none;outline:none;font-size:.9rem;color:var(--app-text);background:transparent}:where(.contract-tab) .currency-select{padding:4px 6px;border:none;border-left:1px solid var(--app-border);outline:none;font-size:.82rem;font-weight:600;color:var(--app-text);background:var(--app-input-bg);cursor:pointer;min-width:62px}:where(.contract-tab) .markup-input:disabled,:where(.contract-tab) .price-input:disabled{background:var(--app-input-bg);color:var(--app-text-muted)}:where(.contract-tab) .markup-selected-count.muted{color:var(--app-text-muted);font-weight:400}:where(.contract-tab) .btn-remove-selected{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:var(--app-error-surface);border:1px solid var(--app-border);border-radius:5px;color:var(--app-danger);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}:where(.contract-tab) .btn-remove-selected:hover{background:var(--app-error-surface);border-color:var(--app-danger)}:where(.contract-tab) .markup-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}:where(.contract-tab) .markup-label{font-size:.85rem;font-weight:600;color:var(--app-text);white-space:nowrap}:where(.contract-tab) .input-group{display:flex;align-items:stretch;border:1px solid var(--app-border-muted);border-radius:6px;overflow:hidden;background:var(--app-elevated);transition:border-color .2s,box-shadow .2s}:where(.contract-tab) .input-group:focus-within{border-color:var(--app-primary);box-shadow:0 0 0 3px #007bff1a}:where(.contract-tab) .markup-type-toggle{display:flex;border:1px solid var(--app-border-muted);border-radius:6px;overflow:hidden}:where(.contract-tab) .type-btn{padding:6px 14px;border:none;background:var(--app-elevated);color:var(--app-text-muted);font-size:.92rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}:where(.contract-tab) .type-btn+.type-btn{border-left:1px solid var(--app-border-muted)}:where(.contract-tab) .type-btn--active{background:var(--app-primary);color:var(--app-on-primary)}:where(.contract-tab) .type-btn:hover:not(.type-btn--active):not(:disabled){background:var(--app-selected-row);color:var(--app-primary-dark)}:where(.contract-tab) .type-btn:disabled{color:var(--app-text-muted);cursor:not-allowed}:where(.contract-tab) .markup-type-hint{font-size:.78rem;color:var(--app-text-muted);font-style:italic;white-space:nowrap}:where(.contract-tab) .btn-apply-markup{padding:6px 16px;background:var(--app-primary);border:none;border-radius:6px;color:var(--app-on-primary);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,box-shadow .2s}:where(.contract-tab) .btn-apply-markup:hover:not(:disabled){background:var(--app-primary-dark);box-shadow:0 2px 8px #007bff4d}:where(.contract-tab) .btn-apply-markup:disabled{background:var(--app-border-muted);cursor:not-allowed}:where(.contract-tab) .price-view{display:inline-flex;align-items:center;gap:6px}:where(.contract-tab) .price-amount{min-width:6ch;font-weight:700;color:var(--app-text);font-size:.95rem;font-variant-numeric:tabular-nums;text-align:right}:where(.contract-tab) .price-view.sale .price-amount{color:var(--app-success-text)}:where(.contract-tab) .board-badge,:where(.contract-tab) .season-badge{display:inline-block;padding:3px 10px;border:1px solid var(--app-border-muted);border-radius:4px;background:var(--app-neutral-surface);color:var(--app-text);font-family:var(--app-font-mono);font-size:.82rem;font-weight:700;letter-spacing:.02em}:where(.contract-tab) .season-card{background:var(--app-elevated);border:1px solid var(--app-border);border-radius:8px;overflow:hidden}:where(.contract-tab) .season-header{display:flex;align-items:center;background:var(--app-neutral-surface);border-bottom:1px solid var(--app-border)}:where(.contract-tab) .period-badge{display:inline-block;background:var(--app-neutral-surface);color:var(--app-text);font-family:var(--app-font-mono)}:where(.contract-tab) .col-price{min-width:180px}:where(.contract-tab) .empty-state{padding:40px 24px;border-radius:8px;border:1px dashed var(--app-border-muted);text-align:center;color:var(--app-text-muted);background:var(--app-surface)}:where(.contract-tab) .empty-icon{font-size:2.2rem;margin-bottom:10px}:where(.contract-tab) .empty-text{margin:0 0 16px;font-size:.95rem}:where(.contract-tab) .currency-select:disabled{color:var(--app-text-muted);cursor:not-allowed}:where(.contract-tab) .definitions-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}:where(.contract-tab) .definitions-table .col-code{width:96px}:where(.contract-tab) .definitions-table .col-name{width:34%}:where(.contract-tab) .definitions-table .col-sejour{width:26%;min-width:190px;position:relative}:where(.contract-tab) .definitions-table .col-status{width:200px}:where(.contract-tab) .definitions-table .col-actions{width:48px;text-align:center}:where(.contract-tab) .definitions-table tbody tr.is-collision{background:#ffc10714}:where(.contract-tab) .definitions-table.quick-fix-highlight tbody tr{animation:quick-fix-row-highlight 1.4s ease-in-out 2}@keyframes quick-fix-row-highlight{0%,to{background:transparent}50%{background:#007bff1f}}:where(.contract-tab) .contracts-table th{background:#f0f4f8;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--app-border)}:where(.contract-tab) .policy-table th{padding:8px 14px;color:var(--app-primary-dark);border-bottom:1px solid var(--app-border)}:where(.contract-tab) .policy-table .table-cell{padding:8px 14px}@media(max-width:768px){:where(.contract-tab) .grid-table{min-width:0!important}:where(.contract-tab) .grid-table,:where(.contract-tab) .grid-table tbody,:where(.contract-tab) .grid-table tfoot,:where(.contract-tab) .grid-table tr{display:block}:where(.contract-tab) .grid-table thead{display:none}:where(.contract-tab) .grid-table .table-row{margin:0 0 8px;padding:4px 10px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-elevated)}:where(.contract-tab) .grid-table td.table-cell{display:grid;grid-template-columns:minmax(84px,38%) minmax(0,1fr);gap:10px;align-items:center;width:auto;min-width:0;max-width:none;padding:6px 0;border-bottom:1px dashed var(--app-border);text-align:start}:where(.contract-tab) .grid-table td.table-cell:last-child{border-bottom:0}:where(.contract-tab) .grid-table td.table-cell[data-label]:before{content:attr(data-label);color:var(--app-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}:where(.contract-tab) .grid-table td.table-cell:not([data-label]){display:flex;justify-content:flex-end;gap:8px}:where(.contract-tab) .cell-ellipsis{max-width:none;white-space:normal}}:root{--site-header-height: 56px;--app-banner-offset: 0px;--color-primary: #007bff;--color-primary-dark: #0056b3;--color-text: #333333;--color-text-muted: #666666;--color-border: #e0e0e0;--app-bg: #ffffff;--app-text: var(--color-text);--app-text-muted: var(--color-text-muted);--app-surface: #f8f9fa;--app-elevated: #ffffff;--app-hover: #f8f9fa;--app-border: var(--color-border);--app-border-muted: #dddddd;--app-primary: var(--color-primary);--app-primary-dark: var(--color-primary-dark);--app-input-bg: #f5f7fa;--app-input-focus-bg: #ffffff;--app-header-bg: #0078d4;--app-footer-bg: #f2f2f2;--app-shadow: rgba(0, 0, 0, .03);--app-card-hover-shadow: rgba(0, 123, 255, .08);--app-menu-shadow: rgba(15, 23, 42, .12);--app-overlay: rgba(0, 0, 0, .45);--app-icon-muted: #555555;--app-icon-hover-bg: #f3f4f6;--app-on-primary: #ffffff;--app-danger: #dc3545;--app-danger-dark: #c82333;--app-warning: #856404;--app-warning-surface: #fffbeb;--app-warning-border: #ffc107;--app-warning-border-muted: #f0d78c;--app-badge-system-bg: #e8f0fe;--app-badge-system-text: var(--color-primary-dark);--app-logic-or: #6f42c1;--app-inactive-border: #cccccc;--app-inactive-border-open: #adb5bd;--app-filter-active-bg: #000000;--app-success-surface: #e8f5e9;--app-success-text: #2e7d32;--app-error-surface: #ffebee;--app-error-text: #c62828;--app-info-surface: #f0f7ff;--app-info-text: var(--color-primary);--app-font-mono: "Cascadia Mono", ui-monospace, "SF Mono", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--app-neutral-surface: #f4f6f8;--app-alert-surface: #fff3cd;--app-alert-text: #856404;--app-alert-border: #ffc107;--status-sync-bg: #fff8e1;--status-sync-text: #b45309;--app-selected-row: #f0f7ff;--report-table-border: #333333;--report-table-head-bg: #f3f3f3;--report-table-head-text: #222222;--report-table-cell-bg: #ffffff;--report-table-price-bg: #fafafa;--report-table-footer-bg: #f7f7f7;--report-table-season-head-bg: #ececec;--report-section-head-bg: #d9d9d9;--report-doc-bg: #ffffff;--report-doc-border: #111111;--report-kv-head-bg: #f2f2f2;--report-meta-bar-bg: #e9e9e9;--report-row-divider: rgba(0, 0, 0, .05);--report-fin-highlight-bg: rgba(0, 123, 255, .06);--report-fin-highlight-border: rgba(0, 123, 255, .2);--review-success-icon: #238b45;--review-warning-icon: #c98000;--review-error-icon: #b3261e;--review-neutral-icon: #667085;--review-success-bg: #edf8f1;--review-success-text: #19713a;--review-warning-bg: #fff5df;--review-warning-text: #8f5700;--review-error-bg: #fff0ef;--review-error-text: #a51d18;--review-room-head-bg: #fbfbfc;--review-missing-cell-bg: #fffaf0;--review-rail-bg: #fafbfc;--review-selected-bg: #f5f9ff;--review-row-divider: #eceef1;--review-control-border: #cfd3d8;--review-radio-border: #a5abb3;--review-logo-frame: #ffffff;--review-muted-icon: #7b838c;--review-warning-border: #f0d59a;--review-warning-note-bg: #fffaf0;--review-warning-note-text: #75520b;--app-scrollbar-thumb: rgba(15, 23, 42, .22);--app-scrollbar-thumb-hover: rgba(15, 23, 42, .42)}[data-theme=dark]{color-scheme:dark;--app-bg: #121212;--app-text: #e8e8e8;--app-text-muted: #a0a0a0;--app-surface: #1e1e1e;--app-elevated: #252525;--app-hover: #2d2d2d;--app-border: #3a3a3a;--app-border-muted: #3a3a3a;--app-primary: #4dabf7;--app-primary-dark: #339af0;--app-input-bg: #2a2a2a;--app-input-focus-bg: #2f2f2f;--app-header-bg: #004578;--app-footer-bg: #1a1a1a;--app-shadow: rgba(0, 0, 0, .35);--app-card-hover-shadow: rgba(77, 171, 247, .12);--app-menu-shadow: rgba(0, 0, 0, .45);--app-overlay: rgba(0, 0, 0, .65);--app-icon-muted: #b0b0b0;--app-icon-hover-bg: #2d2d2d;--app-on-primary: #ffffff;--app-danger: #f87171;--app-danger-dark: #ef4444;--app-warning: #fbbf24;--app-warning-surface: #3d3520;--app-warning-border: #d4a017;--app-warning-border-muted: #6b5a2a;--app-badge-system-bg: #1e3a5f;--app-badge-system-text: #7ec8f7;--app-logic-or: #b197fc;--app-inactive-border: #4a4a4a;--app-inactive-border-open: #5a5a5a;--app-filter-active-bg: #4dabf7;--app-success-surface: #1a3d2a;--app-success-text: #6ee7a0;--app-error-surface: #3d2020;--app-error-text: #f87171;--app-info-surface: #1e3a5f;--app-info-text: #7ec8f7;--app-neutral-surface: #262c33;--app-alert-surface: #3d3520;--app-alert-text: #fbbf24;--app-alert-border: #d4a017;--status-sync-bg: #3d3520;--status-sync-text: #fbbf24;--app-selected-row: #1e3a5f;--review-success-icon: #4fd184;--review-warning-icon: #f2b94b;--review-error-icon: #ff8580;--review-neutral-icon: #a7b0bd;--review-success-bg: #173b28;--review-success-text: #8be3ae;--review-warning-bg: #3e3118;--review-warning-text: #ffd06a;--review-error-bg: #412326;--review-error-text: #ffaaa5;--review-room-head-bg: #202328;--review-missing-cell-bg: #352d1c;--review-rail-bg: #1b1d21;--review-selected-bg: #17324a;--review-row-divider: #3a3d43;--review-control-border: #555a63;--review-radio-border: #7a828e;--review-logo-frame: #ffffff;--review-muted-icon: #a4acb7;--review-warning-border: #6f5923;--review-warning-note-bg: #332b19;--review-warning-note-text: #f3cb73;--report-table-border: #4a4a4a;--report-table-head-bg: #333333;--report-table-head-text: #e8e8e8;--report-table-cell-bg: #252525;--report-table-price-bg: #2a2a2a;--report-table-footer-bg: #303030;--report-table-season-head-bg: #353535;--report-section-head-bg: #333333;--report-doc-bg: #1e1e1e;--report-doc-border: #4a4a4a;--report-kv-head-bg: #2d2d2d;--report-meta-bar-bg: #2d2d2d;--report-row-divider: rgba(255, 255, 255, .06);--report-fin-highlight-bg: rgba(77, 171, 247, .12);--report-fin-highlight-border: rgba(77, 171, 247, .25);--app-scrollbar-thumb: rgba(255, 255, 255, .2);--app-scrollbar-thumb-hover: rgba(255, 255, 255, .36)}*{scrollbar-width:thin;scrollbar-color:var(--app-scrollbar-thumb) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--app-scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-thumb-hover);background-clip:padding-box}html,body{min-height:100%;overflow-x:hidden}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;background:var(--app-bg);color:var(--app-text);transition:background-color .2s ease,color .2s ease}[data-theme=dark] .account-title,[data-theme=dark] .account-subtitle,[data-theme=dark] .settings-card h2,[data-theme=dark] .info-card h2,[data-theme=dark] .info-card h3,[data-theme=dark] .account-error-text,[data-theme=dark] .settings-profile-error p{color:var(--app-text)}[data-theme=dark] .account-subtitle,[data-theme=dark] .settings-hint,[data-theme=dark] .settings-rules,[data-theme=dark] .settings-status,[data-theme=dark] .account-loading,[data-theme=dark] .form-group label,[data-theme=dark] .label{color:var(--app-text-muted)}[data-theme=dark] .info-card{background:var(--app-surface);border-color:var(--app-border)}[data-theme=dark] .info-card:hover{border-color:var(--app-primary);box-shadow:0 2px 8px var(--app-card-hover-shadow)}[data-theme=dark] .edit-input{background:var(--app-input-bg);border-color:var(--app-border);color:var(--app-text)}[data-theme=dark] .edit-input:focus{background:var(--app-input-focus-bg);border-color:var(--app-primary)}.admin-page,.data-management-container,.account-page{width:100%;max-width:none;margin:0;padding:2rem;box-sizing:border-box;background-color:transparent;color:var(--app-text)}.admin-layout{--admin-nav-width: 248px;--admin-nav-collapsed-width: 56px;--admin-nav-gap: 1.25rem}body.admin-nav-collapsed .admin-layout{--admin-nav-width: var(--admin-nav-collapsed-width)}.admin-layout{display:flex;align-items:flex-start;gap:var(--admin-nav-gap);min-height:calc(100vh - 140px);padding-left:1.25rem;box-sizing:border-box}.admin-sidebar{position:fixed;left:1.25rem;top:calc(var(--site-header-height) + var(--app-banner-offset));z-index:40;width:var(--admin-nav-width);height:calc(100dvh - var(--site-header-height) - var(--app-banner-offset));max-height:calc(100dvh - var(--site-header-height) - var(--app-banner-offset));box-sizing:border-box;background:transparent;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--app-border)}.admin-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;margin-left:calc(var(--admin-nav-width) + var(--admin-nav-gap));border-left:0;padding:0;min-height:calc(100dvh - var(--site-header-height) - var(--app-banner-offset));box-sizing:border-box}.admin-main .page-content-wrapper{padding:0;display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.admin-main .page-content-wrapper>router-outlet+*{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}@media(max-width:700px){.admin-page,.data-management-container,.account-page{padding:1.25rem}}@media(max-width:1280px){:root{--site-header-height: 56px}}@media(max-width:1280px){.admin-layout{display:block;min-height:auto;padding-left:0}.admin-sidebar{display:none}.admin-main{margin-left:0;border-left:0;padding:0;min-height:auto;display:block}}.admin-page .page-title,.admin-page .header-content h1,.admin-page .header-content h1.page-title,.admin-page .user-name-cell,.admin-page .confirm-dialog h3,.admin-page h2,.admin-page h3{color:var(--app-text)}.admin-page .page-subtitle,.admin-page .loading-state,.admin-page .pagination-info,.admin-page .pagination-controls label,.admin-page .empty-state,.admin-page .confirm-dialog p{color:var(--app-text-muted)}.admin-page .header-section,.admin-page .pagination-section{border-color:var(--app-border)}.admin-page .search-input,.admin-page .page-size-select{background-color:var(--app-input-bg);border-color:var(--app-border-muted);color:var(--app-text)}.admin-page .search-input:focus{background-color:var(--app-input-focus-bg);border-color:var(--app-primary)}.admin-page .filter-btn,.admin-page .btn-secondary,.admin-page .page-btn,.admin-page .action-btn{background:var(--app-elevated);border-color:var(--app-border-muted);color:var(--app-text)}.admin-page .filter-btn:hover,.admin-page .btn-secondary:hover,.admin-page .page-btn:hover:not(:disabled){border-color:var(--app-primary);color:var(--app-primary)}.admin-page .filter-btn.active,.admin-page .page-btn.page-num.active,.admin-page .btn-primary{background:var(--app-primary);border-color:var(--app-primary);color:var(--app-on-primary)}.admin-page .btn-primary:hover{background:var(--app-primary-dark)}.admin-page .btn-danger{background:var(--app-danger);color:var(--app-on-primary)}.admin-page .btn-danger:hover{background:var(--app-danger-dark)}.admin-page .table-scroll-wrapper{border-color:var(--app-border)}.admin-page .users-table th,.admin-page .tenants-table th,.admin-page table th{background:var(--app-surface);color:var(--app-text);border-color:var(--app-border)}.admin-page .users-table td,.admin-page .tenants-table td,.admin-page table td{border-color:var(--app-border);color:var(--app-text)}.admin-page .users-table tbody tr:hover,.admin-page .tenants-table tbody tr:hover,.admin-page table tbody tr:hover{background:var(--app-hover)}.admin-page .action-btn{color:var(--app-primary);border-color:var(--app-primary)}.admin-page .action-btn:hover{background:var(--app-primary);color:var(--app-on-primary)}.admin-page .action-btn-warning{color:var(--app-warning);border-color:var(--app-warning)}.admin-page .action-btn-warning:hover{background:var(--app-warning);color:var(--app-on-primary)}.admin-page .action-btn-danger{color:var(--app-danger);border-color:var(--app-danger)}.admin-page .action-btn-danger:hover{background:var(--app-danger);color:var(--app-on-primary)}.admin-page .confirm-dialog,.admin-page .modal-panel,.admin-page .form-card{background:var(--app-elevated);color:var(--app-text)}.admin-nav{border-color:var(--app-border)}.admin-nav a{color:var(--app-text-muted)}.admin-nav a:hover,.admin-nav a.active{color:var(--app-primary)}.admin-nav a.active{border-bottom-color:transparent}.admin-page .description-panel,.admin-page .group-card,.admin-page .rule-card,.admin-page .usage-card,.admin-page .stat-card,.admin-page .panel-card,.admin-page .accordion-item,.admin-page .accordion-panel,.admin-page .rules-panel{background:var(--app-surface);border-color:var(--app-border);color:var(--app-text)}.admin-page .accordion-trigger,.admin-page .accordion-title,.admin-page .rules-section-title,.admin-page .rules-tab{color:var(--app-text)}.admin-page .accordion-tech-name,.admin-page .accordion-stats{color:var(--app-text-muted)}.admin-page .rules-tab.active{color:var(--app-primary);border-color:var(--app-primary)}.admin-page input,.admin-page select,.admin-page textarea{background-color:var(--app-input-bg);border-color:var(--app-border-muted);color:var(--app-text)}.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{background-color:var(--app-input-focus-bg);border-color:var(--app-primary);outline:none}.admin-page .modal-overlay{background:var(--app-overlay)}.admin-page .prompt-audit-header,.admin-page .prompt-audit-turn{color:var(--app-text)}.admin-page .prompt-audit-chevron{color:var(--app-primary)}.snack-error{--mdc-snackbar-container-color: #d32f2f;--mdc-snackbar-supporting-text-color: #fff;--mat-snack-bar-button-color: #ffcdd2}.snack-error .mdc-snackbar__label,.snack-success .mdc-snackbar__label{white-space:pre-line}.snack-success{--mdc-snackbar-container-color: #2e7d32;--mdc-snackbar-supporting-text-color: #fff;--mat-snack-bar-button-color: #c8e6c9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row-menu-wrap{position:relative;display:inline-flex}.row-menu-btn{width:2rem;height:2rem;padding:0;font-size:1.1rem;line-height:1}.row-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:13.5rem;background:var(--app-elevated);border:1px solid var(--app-border);border-radius:6px;box-shadow:0 8px 24px #0000001f;overflow:hidden}.row-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .85rem;border:0;background:transparent;color:var(--app-text);font-size:.88rem;text-align:left;cursor:pointer}.row-menu-item:hover:not(:disabled){background:var(--app-selected-row);color:var(--app-primary)}.row-menu-item:disabled{opacity:.5;cursor:not-allowed}.row-menu-item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;border-radius:4px}.row-menu-item-icon--summary{color:#007bff;background:#eef5ff}.row-menu-item-icon--report{color:#7c3aed;background:#ede9fe}.row-menu-item-icon--feedback{color:#d97706;background:#fff7ed}.row-menu-item-icon--validation{color:#dc2626;background:#fef2f2}.row-menu-item-label{flex:1;min-width:0}.row-menu-item:hover:not(:disabled) .row-menu-item-icon--summary{color:#0056b3;background:#dbeafe}.row-menu-item:hover:not(:disabled) .row-menu-item-icon--report{color:#6d28d9;background:#ddd6fe}.row-menu-item:hover:not(:disabled) .row-menu-item-icon--feedback{color:#b45309;background:#ffedd5}.row-menu-item:hover:not(:disabled) .row-menu-item-icon--validation{color:#b91c1c;background:#fee2e2}.row-menu-divider{border:0;border-top:1px solid var(--app-border);margin:.25rem 0}.row-menu-item--danger{color:var(--app-danger)}.row-menu-item--danger:hover:not(:disabled){background:var(--app-error-surface);color:var(--app-danger)}.row-menu-item--danger .row-menu-item-icon{color:currentColor}.feedback-col{width:72px;text-align:center}.feedback-indicator{border:1px solid #e0e0e0;border-radius:999px;background:#f8f9fa;color:#666;font-size:.78rem;padding:.2rem .55rem;cursor:pointer}.feedback-indicator--rated{border-color:#007bff;color:#007bff;background:#eef5ff}.feedback-indicator--low{border-color:#dc3545;color:#dc3545;background:#fff5f5}.modal-feedback-btn{border:1px solid #007bff;border-radius:6px;background:#fff;color:#007bff;font-size:.85rem;padding:.35rem .75rem;cursor:pointer;margin-right:.5rem}.feedback-modal-panel{width:min(760px,96vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--app-elevated);border:1px solid var(--app-border);border-radius:12px;box-shadow:0 8px 32px var(--app-menu-shadow)}.feedback-modal-panel app-extraction-feedback-panel{display:block;min-height:0;flex:1 1 auto}tfoot.table-row-count-footer td{padding:8px 12px;font-size:.82rem;font-weight:600;color:var(--app-text-muted);text-align:right;background:var(--report-table-footer-bg);border-top:1px solid var(--app-border)}.field-validation-error,td.field-validation-error,tr.field-validation-error,.field-row.field-validation-error,.season-card.field-validation-error,.periods-wrapper.field-validation-error{color:var(--app-danger)}.season-card.field-validation-error{background:var(--app-error-surface)}tr.field-validation-error{color:inherit}.value.field-validation-error,td.field-validation-error .code-badge,.field-row.field-validation-error>.value{display:inline-block;padding:2px 8px;border:1px dashed var(--app-danger);border-radius:6px;background:transparent;color:var(--app-danger)}td.field-validation-error{background:transparent}.season-card.field-validation-error{border-color:var(--app-danger);box-shadow:0 0 0 1px var(--app-danger)}.field-validation-error.edit-input,.edit-input.field-validation-error,.edit-select.field-validation-error,input.field-validation-error,select.field-validation-error{border:1px dashed var(--app-danger)!important;color:var(--app-danger);background:var(--app-input-bg)}.edit-select.field-validation-error option,select.field-validation-error option{background:var(--app-input-bg);color:var(--app-text)}.field-validation-error.edit-input::placeholder,.edit-input.field-validation-error::placeholder,input.field-validation-error::placeholder{color:var(--app-danger);opacity:.75}.season-code-badge.field-validation-error,.season-badge.field-validation-error,.period-code-badge.field-validation-error,.period-badge.field-validation-error,.date-range-label.field-validation-error,.code-badge.field-validation-error{color:var(--app-danger);border-color:var(--app-danger);background:var(--app-error-surface)}.field-row.field-validation-error strong,.field-row.field-validation-error span{color:var(--app-danger)}@media print{body.printing-contract-report{background:#fff!important}body.printing-contract-report,body.printing-contract-report html,body.printing-contract-report app-root,body.printing-contract-report app-contract-report-page,body.contract-report-print-window,body.contract-report-print-window html{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}body.printing-contract-report app-header,body.printing-contract-report app-footer,body.printing-contract-report app-loading-spinner{display:none!important}body.printing-contract-report .page-content-wrapper{min-height:0!important;padding:0!important}}.app-banner-stack{position:fixed;top:0;right:0;left:0;z-index:101}.search-container{position:relative}.search-clear{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--app-text-muted);font-size:1.2rem;line-height:1;cursor:pointer}.search-clear:hover{background:var(--app-hover);color:var(--app-text)}.mobile-nav app-side-nav .admin-nav-toggle{display:none}.mobile-nav app-side-nav .admin-nav{border-bottom:0}
