/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./node_modules/@svar-ui/react-filemanager/dist-full/index.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************/
.wx-textarea.wx-3yFVAC{display:block;resize:vertical;width:var(--wx-input-width);max-width:100%;padding:var(--wx-input-padding);outline:none;min-height:100px;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:var(--wx-input-background)}.wx-textarea.wx-3yFVAC:focus{border:var(--wx-input-border-focus)}.wx-textarea.wx-3yFVAC::placeholder{color:var(--wx-input-placeholder-color)}.wx-textarea[disabled].wx-3yFVAC{cursor:not-allowed;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled);resize:none}.wx-textarea[disabled].wx-3yFVAC::placeholder{color:var(--wx-color-font-disabled)}.wx-textarea.wx-error.wx-3yFVAC{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wx-button.wx-2ZWgb4{display:inline-block;vertical-align:top;text-decoration:none;text-align:center;letter-spacing:normal;text-transform:var(--wx-button-text-transform);font-family:var(--wx-button-font-family);font-size:var(--wx-button-font-size);line-height:var(--wx-button-line-height);font-weight:var(--wx-button-font-weight);padding:var(--wx-button-padding);border:var(--wx-button-border);border-radius:var(--wx-button-border-radius);background-color:var(--wx-button-background);color:var(--wx-button-font-color);cursor:pointer;box-shadow:none;transition:none;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:var(--wx-button-width)}.wx-button.wx-2ZWgb4:hover{background-image:linear-gradient(#0000001a 0% 100%)}.wx-button.wx-2ZWgb4,.wx-button.wx-2ZWgb4:focus,.wx-button.wx-2ZWgb4:active{outline:none}.wx-button[disabled].wx-2ZWgb4{cursor:not-allowed;background:var(--wx-color-disabled);border-color:transparent;color:var(--wx-color-font-disabled)}.wx-block.wx-2ZWgb4{display:block;width:100%}.wx-square.wx-2ZWgb4{border-radius:0}i.wx-2ZWgb4{position:relative;display:inline-block;vertical-align:top;font-size:var(--wx-button-icon-size);line-height:1;height:var(--wx-button-line-height);margin-right:2px;opacity:.7}i.wx-2ZWgb4:before{display:block;position:relative;top:50%;transform:translateY(-50%)}.wx-icon.wx-2ZWgb4{padding-left:var(--wx-button-icon-indent);padding-right:var(--wx-button-icon-indent);min-width:auto}.wx-icon.wx-2ZWgb4 i.wx-2ZWgb4{margin:0;opacity:1}.wx-primary.wx-2ZWgb4{background-color:var(--wx-color-primary);color:var(--wx-color-primary-font)}.wx-2ZWgb4.wx-pressed,.wx-2ZWgb4.wx-pressed:hover,.wx-2ZWgb4.wx-pressed:active,.wx-2ZWgb4.wx-pressed[disabled]{background-color:var(--wx-button-pressed);box-shadow:var(--wx-button-box-shadow)}.wx-2ZWgb4.wx-primary.wx-pressed:not([disabled]),.wx-2ZWgb4.wx-primary.wx-pressed:hover:not([disabled]),.wx-2ZWgb4.wx-primary.wx-pressed:active:not([disabled]){background-color:var(--wx-button-primary-pressed);box-shadow:var(--wx-button-primary-box-shadow)}.wx-2ZWgb4.wx-danger.wx-pressed:not([disabled]),.wx-2ZWgb4.wx-danger.wx-pressed:hover:not([disabled]),.wx-2ZWgb4.wx-danger.wx-pressed:active:not([disabled]){background-color:var(--wx-button-danger-pressed);box-shadow:var(--wx-button-primary-box-shadow)}.wx-secondary.wx-2ZWgb4{background:var(--wx-color-secondary);color:var(--wx-color-secondary-font);border-color:var(--wx-color-secondary-border)}.wx-secondary.wx-2ZWgb4:hover:not([disabled]){background:var(--wx-color-secondary-hover)}.wx-secondary.wx-pressed:not([disabled]).wx-2ZWgb4,.wx-secondary.wx-pressed:hover:not([disabled]).wx-2ZWgb4,.wx-secondary.wx-pressed:active:not([disabled]).wx-2ZWgb4{background:var(--wx-color-secondary-hover);box-shadow:var(--wx-button-primary-box-shadow)}.wx-secondary[disabled].wx-2ZWgb4{border-color:var(--wx-color-secondary-border-disabled)}.wx-danger.wx-2ZWgb4{background-color:var(--wx-color-danger);color:var(--wx-button-danger-font-color)}.wx-link.wx-2ZWgb4{color:var(--wx-color-link);padding:0;border:none;vertical-align:baseline}.wx-link.wx-2ZWgb4,.wx-link.wx-2ZWgb4:hover,.wx-link[disabled].wx-2ZWgb4{background:transparent}.wx-link[disabled].wx-2ZWgb4{color:var(--wx-color-font-disabled)}.wx-checkbox.wx-2IvefP{position:relative;display:inline-block;vertical-align:top;max-width:var(--wx-input-width)}.wx-check.wx-2IvefP{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;opacity:0;position:absolute;left:0;top:0;margin:0;padding:0}.wx-label.wx-2IvefP{display:flex;flex-wrap:nowrap;align-items:flex-start;font-family:var(--wx-checkbox-font-family);font-size:var(--wx-checkbox-font-size);line-height:var(--wx-checkbox-line-height);font-weight:var(--wx-checkbox-font-weight);color:var(--wx-checkbox-font-color);cursor:pointer}.wx-before.wx-2IvefP,.wx-after.wx-2IvefP{display:block}.wx-after.wx-2IvefP{margin-left:8px;padding-top:calc((var(--wx-checkbox-height) - var(--wx-checkbox-line-height)) / 2);padding-bottom:calc((var(--wx-checkbox-height) - var(--wx-checkbox-line-height)) / 2)}.wx-before.wx-2IvefP{position:relative;flex-shrink:0;padding-top:calc((var(--wx-checkbox-height) - var(--wx-checkbox-size)) / 2);padding-bottom:calc((var(--wx-checkbox-height) - var(--wx-checkbox-size)) / 2)}.wx-before.wx-2IvefP:before{content:"";display:block;width:var(--wx-checkbox-size);height:var(--wx-checkbox-size);border:var(--wx-checkbox-border-width) solid var(--wx-checkbox-border-color);border-radius:var(--wx-checkbox-border-radius);background:var(--wx-input-background)}.wx-before.wx-2IvefP:after{content:"";position:absolute;display:none;left:50%;top:50%;width:calc(var(--wx-checkbox-size) * .56);height:calc(var(--wx-checkbox-size) * .32);border-style:solid;border-color:var(--wx-color-primary-font);border-width:0 0 calc(var(--wx-checkbox-size) * .12) calc(var(--wx-checkbox-size) * .12);transform:rotate(-45deg);margin-left:calc(var(--wx-checkbox-size) * -.26);margin-top:calc(var(--wx-checkbox-size) * -.24)}.wx-check.wx-2IvefP:checked~.wx-label.wx-2IvefP .wx-before.wx-2IvefP:before{background:var(--wx-color-primary);border-color:transparent}.wx-check.wx-2IvefP:checked~.wx-label.wx-2IvefP .wx-before.wx-2IvefP:after{display:block}.wx-check.wx-2IvefP[disabled]~.wx-label.wx-2IvefP{color:var(--wx-checkbox-border-color-disabled);cursor:not-allowed}.wx-check.wx-2IvefP[disabled]:not(:checked)~.wx-label.wx-2IvefP .wx-before.wx-2IvefP:before{border-color:var(--wx-checkbox-border-color-disabled)}.wx-check.wx-2IvefP[disabled]:checked~.wx-label.wx-2IvefP .wx-before.wx-2IvefP:before{background:var(--wx-checkbox-border-color-disabled)}.wx-check.wx-2IvefP[disabled]~.wx-label.wx-2IvefP .wx-before.wx-2IvefP:after{border-color:var(--wx-input-background)}.wx-checkboxgroup.wx-q8xwRD{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;margin-top:calc(var(--wx-field-gutter) * -1)}.wx-item.wx-q8xwRD{flex:0 0 100%;max-width:100%;margin-top:var(--wx-field-gutter)}.wx-checkboxgroup.wx-inline.wx-q8xwRD .wx-item.wx-q8xwRD{flex:none;padding-right:var(--wx-field-gutter)}.wx-checkboxgroup.wx-grid.wx-q8xwRD .wx-item.wx-q8xwRD{flex:0 0 50%;max-width:50%;padding-right:var(--wx-field-gutter)}.wx-popup.wx-37M6Fj{z-index:var(--wx-popup-z-index);background:var(--wx-popup-background);box-shadow:var(--wx-popup-shadow);border:var(--wx-popup-border);border-radius:var(--wx-popup-border-radius);overflow:hidden}.wx-dropdown.wx-aaaVytZW{position:absolute;z-index:5;background:var(--wx-popup-background);box-shadow:var(--wx-popup-shadow);border:var(--wx-popup-border);border-radius:var(--wx-popup-border-radius);overflow:hidden}.wx-top-center.wx-aaaVytZW{top:0;left:50%;transform:translate(-50%,-100%) translateY(-2px)}.wx-top-start.wx-aaaVytZW{top:0;left:0;transform:translateY(-100%) translateY(-2px)}.wx-top-end.wx-aaaVytZW{top:0;right:0;transform:translateY(-100%) translateY(-2px)}.wx-bottom-center.wx-aaaVytZW{bottom:0;left:50%;transform:translate(-50%,100%) translateY(2px)}.wx-bottom-start.wx-aaaVytZW{bottom:0;left:0;transform:translateY(100%) translateY(2px)}.wx-bottom-end.wx-aaaVytZW{bottom:0;right:0;transform:translateY(100%) translateY(2px)}.wx-left-center.wx-aaaVytZW{bottom:50%;left:0;transform:translate(-100%,50%) translate(-2px)}.wx-left-start.wx-aaaVytZW{top:0;left:0;transform:translate(-100%) translate(-2px)}.wx-left-end.wx-aaaVytZW{bottom:0;left:0;transform:translate(-100%) translate(-2px)}.wx-right-center.wx-aaaVytZW{bottom:50%;right:0;transform:translate(100%,50%) translate(2px)}.wx-right-start.wx-aaaVytZW{top:0;right:0;transform:translate(100%) translate(2px)}.wx-right-end.wx-aaaVytZW{bottom:0;right:0;transform:translate(100%) translate(2px)}.wx-portal-node.wx-32GZ52{display:none}.wx-colorselect.wx-121TgJ{position:relative;width:var(--wx-input-width)}.wx-selected.wx-121TgJ{position:absolute;left:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%)}.wx-colors.wx-121TgJ{display:flex;flex-wrap:wrap;gap:8px;padding:8px}.wx-color.wx-121TgJ{width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);border-radius:var(--wx-input-border-radius);cursor:pointer}.wx-input.wx-121TgJ{display:block;width:100%;height:var(--wx-input-height);outline:none;background:var(--wx-input-background);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);padding-left:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden;text-overflow:ellipsis}.wx-input.wx-121TgJ.wx-focus{border:var(--wx-input-border-focus)}.wx-input.wx-121TgJ::placeholder{color:var(--wx-input-placeholder-color)}.wx-input.wx-121TgJ[disabled]{cursor:not-allowed;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled)}.wx-input.wx-121TgJ[disabled]::placeholder{color:var(--wx-color-font-disabled)}.wx-input.wx-121TgJ[disabled]~.wx-color,.wx-input.wx-121TgJ[disabled]~.wx-empty{cursor:not-allowed}.wx-input.wx-121TgJ.wx-error{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wx-empty.wx-121TgJ{width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:linear-gradient(to top left,#0000 0% calc(50% - 1px),red 50%,#0000 calc(50% + 1px) 100%);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wxi-close.wx-121TgJ{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;display:flex;justify-content:center;align-items:center;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);border-radius:var(--wx-input-border-radius);color:var(--wx-input-icon-color);cursor:pointer}.wxi-close.wx-121TgJ:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-colorboard.wx-1yoKzq{display:flex;flex-direction:column;gap:12px;padding:8px;width:100%}.wx-color-block.wx-1yoKzq{height:140px;width:100%;position:relative;box-shadow:0 1px 3px #0003}.wx-color-block.wx-1yoKzq:before,.wx-color-block.wx-1yoKzq:after{content:"";width:100%;height:100%;position:absolute}.wx-color-block.wx-1yoKzq:before{background-image:linear-gradient(0deg,#000,#fff0);z-index:2}.wx-color-block.wx-1yoKzq:after{background-image:linear-gradient(90deg,#fff,#cb998000);z-index:1}.wx-color-block-slider.wx-1yoKzq{height:16px;width:16px;margin:-8px 0 0 -8px}.wx-slider.wx-1yoKzq{border:2px solid white;border-radius:50%;position:absolute;z-index:3;box-shadow:0 1px 3px #0003}.wx-slider.wx-1yoKzq:focus,.wx-slider.wx-1yoKzq:hover{outline:none;box-shadow:0 1px 3px #0003,inset 0 0 4px #fff}.wx-color-line.wx-1yoKzq{width:100%;height:8px;background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);position:relative;border-radius:6px}.wx-color-line-slider.wx-1yoKzq{height:14px;width:14px;margin:0 0 0 -7px;top:-4px}.wx-color-controls.wx-1yoKzq{display:flex;flex-wrap:wrap;justify-content:space-between}.wx-color.wx-1yoKzq,.wx-text.wx-1yoKzq{width:calc(50% - 4px)}.wx-color.wx-1yoKzq{height:32px}.wx-text.wx-1yoKzq{outline:none;background:var(--wx-input-background);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding)}.wx-text.wx-1yoKzq:focus{border:var(--wx-input-border-focus)}.wx-colorpicker.wx-mmT8WH{position:relative;width:var(--wx-input-width)}.wx-color.wx-mmT8WH{width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);border-radius:var(--wx-input-border-radius);cursor:pointer;position:absolute;left:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%)}.wx-input.wx-mmT8WH{display:block;width:100%;height:var(--wx-input-height);outline:none;background:var(--wx-input-background);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);padding-left:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden;text-overflow:ellipsis}.wx-input.wx-focus.wx-mmT8WH{border:var(--wx-input-border-focus)}.wx-input.wx-mmT8WH::placeholder{color:var(--wx-input-placeholder-color)}.wx-input.wx-mmT8WH[disabled]{cursor:not-allowed;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled)}.wx-input.wx-mmT8WH[disabled]::placeholder{color:var(--wx-color-font-disabled)}.wx-input.wx-mmT8WH[disabled]~.wx-color.wx-mmT8WH{cursor:not-allowed}.wx-input.wx-error.wx-mmT8WH{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wxi-close.wx-mmT8WH{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);display:flex;justify-content:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color);cursor:pointer}.wxi-close.wx-mmT8WH:before{display:block}.wxi-close.wx-mmT8WH:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-list.wx-233fr7{max-height:250px;overflow-y:auto;position:relative}.wx-list-wrapper.wx-233fr7{position:relative;width:100%}.wx-list-content.wx-233fr7{position:absolute;top:0;left:0;right:0}.wx-item.wx-233fr7{display:flex;flex-wrap:nowrap;align-items:center;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);color:var(--wx-input-font-color);padding:var(--wx-input-padding);cursor:pointer}.wx-item.wx-focus.wx-233fr7{background:var(--wx-background-hover)}.wx-no-data.wx-233fr7{padding:var(--wx-input-padding)}.wx-combo.wx-1j11Jk{position:relative;width:var(--wx-input-width)}.wx-input.wx-1j11Jk{display:block;width:100%;height:var(--wx-input-height);outline:none;background:var(--wx-input-background);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden;text-overflow:ellipsis;cursor:pointer}.wx-input.wx-1j11Jk:focus{border:var(--wx-input-border-focus)}.wx-input.wx-1j11Jk::placeholder{color:var(--wx-input-placeholder-color)}.wx-input.wx-1j11Jk[disabled]{cursor:not-allowed;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled)}.wx-input.wx-1j11Jk[disabled]::placeholder{color:var(--wx-color-font-disabled)}.wx-input.wx-1j11Jk[disabled]~.wx-icon.wx-1j11Jk{color:var(--wx-color-font-disabled)}.wx-input.wx-error.wx-1j11Jk{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wx-input.wx-error.wx-1j11Jk~.wx-icon.wx-1j11Jk{color:var(--wx-color-danger)}.wx-icon.wx-1j11Jk{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);display:flex;justify-content:center;align-items:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color)}.wx-icon.wx-1j11Jk:before{display:block}.wx-icon.wxi-close.wx-1j11Jk{pointer-events:all;cursor:pointer}.wx-icon.wxi-close.wx-1j11Jk:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-text.wx-hQ64J4{position:relative;width:var(--wx-input-width)}.wx-text.wx-disabled.wx-hQ64J4 .wx-icon.wx-hQ64J4{color:var(--wx-color-font-disabled)}.wx-text.wx-error.wx-hQ64J4 .wx-icon.wx-hQ64J4{color:var(--wx-color-danger)}.wx-icon.wx-hQ64J4{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);display:flex;justify-content:center;align-items:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color)}.wx-icon.wx-hQ64J4:before{display:block}.wx-icon-left.wx-hQ64J4 .wx-icon.wx-hQ64J4:not(.wxi-close){right:auto;left:var(--wx-input-icon-indent)}.wx-icon.wxi-close.wx-hQ64J4{pointer-events:all;cursor:pointer}.wx-icon.wxi-close.wx-hQ64J4:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-input.wx-hQ64J4{display:block;width:var(--wx-input-width);height:var(--wx-input-height);max-width:100%;padding:var(--wx-input-padding);outline:none;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:var(--wx-input-background);overflow:hidden;text-overflow:ellipsis}.wx-input.wx-hQ64J4:focus{border:var(--wx-input-border-focus)}.wx-input.wx-hQ64J4::placeholder{color:var(--wx-input-placeholder-color)}.wx-icon-left.wx-hQ64J4 .wx-input.wx-hQ64J4{padding-left:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2)}.wx-icon-right.wx-hQ64J4 .wx-input.wx-hQ64J4,.wx-text.wx-clear.wx-hQ64J4 .wx-input.wx-hQ64J4{padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2)}.wx-input.wx-hQ64J4[disabled]{cursor:not-allowed!important;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled);pointer-events:none}.wx-input.wx-hQ64J4[disabled]::placeholder{color:var(--wx-color-font-disabled)}.wx-error.wx-hQ64J4 .wx-input.wx-hQ64J4{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wx-header.wx-8HQVQV{display:flex;flex-wrap:nowrap;align-items:center;margin-bottom:calc(var(--wx-calendar-gap) * 2);font-size:var(--wx-calendar-header-font-size);line-height:var(--wx-calendar-header-line-height);font-weight:var(--wx-calendar-header-font-weight)}.wx-spacer.wx-8HQVQV,.wx-pager.wx-8HQVQV{width:var(--wx-calendar-cell-size);height:var(--wx-calendar-cell-size);flex-shrink:0}.wx-pager.wx-8HQVQV{cursor:pointer;border-radius:50%;line-height:1;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-calendar-icon-color);font-size:var(--wx-calendar-icon-size)}.wx-pager.wx-8HQVQV:before{display:block}.wx-pager.wx-8HQVQV:hover{background-color:var(--wx-background-hover)}.wx-label.wx-8HQVQV{flex:0 0 calc(100% - var(--wx-calendar-cell-size) * 2);max-width:calc(100% - var(--wx-calendar-cell-size) * 2);text-align:center;color:var(--wx-color-link);cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wx-button.wx-3s8W4d{display:inline-block;vertical-align:top;text-decoration:none;text-align:center;letter-spacing:normal;font-family:var(--wx-calendar-controls-font-family);font-size:var(--wx-calendar-controls-font-size);line-height:var(--wx-calendar-controls-line-height);font-weight:var(--wx-calendar-controls-font-weight);text-transform:none;padding:0;border:none;border-radius:0;background:transparent;color:var(--wx-calendar-controls-font-color);cursor:pointer;box-shadow:none;transition:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx-button.wx-3s8W4d,.wx-button.wx-3s8W4d:focus,.wx-button.wx-3s8W4d:active{outline:none}.wx-button.wx-3s8W4d:active{opacity:.8}.wx-398RBS.wx-weekdays{display:flex;flex-wrap:nowrap;margin-bottom:calc(var(--wx-calendar-gap) * 1.5)}.wx-398RBS.wx-weekday{flex-grow:0;flex-shrink:0;flex-basis:calc(100% / 7);max-width:calc(100% / 7);font-size:var(--wx-font-size-sm);line-height:var(--wx-line-height-sm);color:var(--wx-color-font-alt);text-align:center}.wx-398RBS.wx-days{display:flex;flex-wrap:wrap}.wx-398RBS.wx-day{border-radius:var(--wx-calendar-border-radius);flex-grow:0;flex-shrink:0;flex-basis:calc(100% / 7);max-width:calc(100% / 7);height:calc(var(--wx-calendar-cell-size) - var(--wx-calendar-line-gap) * 2);margin:calc(var(--wx-calendar-line-gap) / 2) 0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;text-align:center}.wx-398RBS.wx-day:not(.wx-out):not(.wx-selected){cursor:pointer}.wx-398RBS.wx-day:not(.wx-out):not(.wx-selected):hover{background:var(--wx-background-hover)}.wx-398RBS.wx-day.wx-out{color:var(--wx-color-font-disabled)}.wx-398RBS.wx-day.wx-selected:not(.wx-out){background:var(--wx-color-primary);color:var(--wx-color-primary-font)}.wx-398RBS.wx-day.wx-selected.wx-left:not(.wx-out){border-radius:calc(var(--wx-calendar-border-radius)) 0 0 calc(var(--wx-calendar-border-radius))}.wx-398RBS.wx-day.wx-selected.wx-right:not(.wx-out){border-radius:0 calc(var(--wx-calendar-border-radius)) calc(var(--wx-calendar-border-radius)) 0}.wx-398RBS.wx-day.wx-inrange:not(.wx-out){border-radius:0;background:var(--wx-color-primary-selected)}.wx-398RBS.wx-day.wx-weekend:not(.wx-selected):not(.wx-out){color:var(--wx-color-primary)}.wx-398RBS.wx-day.wx-inactive{pointer-events:none}.wx-months.wx-34U8T8{display:flex;flex-wrap:wrap;margin:var(--wx-calendar-gap)}.wx-month.wx-34U8T8{flex:0 0 calc(100% / 4 - var(--wx-calendar-gap) * 2);max-width:calc(100% / 4 - var(--wx-calendar-gap) * 2);margin:calc(var(--wx-calendar-gap) * 2) var(--wx-calendar-gap);text-align:center;cursor:pointer;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;height:var(--wx-calendar-cell-size);border-radius:var(--wx-calendar-border-radius)}.wx-month.wx-current.wx-34U8T8{background:var(--wx-color-primary);color:var(--wx-color-primary-font)}.wx-month:not(.wx-current):hover{background-color:var(--wx-background-hover)}.wx-buttons.wx-34U8T8{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;margin-top:var(--wx-calendar-gap)}.wx-years.wx-1XEF33{display:flex;flex-wrap:wrap;margin:var(--wx-calendar-gap)}.wx-year.wx-1XEF33{flex:0 0 calc(100% / 4 - var(--wx-calendar-gap) * 2);max-width:calc(100% / 4 - var(--wx-calendar-gap) * 2);margin:calc(var(--wx-calendar-gap) * 2) var(--wx-calendar-gap);text-align:center;cursor:pointer;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;height:var(--wx-calendar-cell-size);border-radius:var(--wx-calendar-border-radius)}.wx-year.wx-current.wx-1XEF33{background:var(--wx-color-primary);color:var(--wx-color-primary-font)}.wx-year:not(.wx-current):hover.wx-1XEF33{background-color:var(--wx-background-hover)}.wx-prev-decade.wx-1XEF33,.wx-next-decade.wx-1XEF33{color:var(--wx-color-font-disabled)}.wx-buttons.wx-1XEF33{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;margin-top:var(--wx-calendar-gap)}.wx-calendar.wx-2Gr4AS{height:auto;width:100%;padding:var(--wx-calendar-padding);cursor:default;font-family:var(--wx-calendar-font-family);font-size:var(--wx-calendar-font-size);line-height:var(--wx-calendar-line-height);font-weight:var(--wx-calendar-font-weight);color:var(--wx-calendar-font-color)}.wx-calendar.wx-2Gr4AS.wx-part{padding-bottom:0}.wx-wrap.wx-2Gr4AS{width:calc(var(--wx-calendar-cell-size) * 7);margin:0 auto}.wx-buttons.wx-2Gr4AS{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;margin-top:calc(var(--wx-calendar-gap) * 2)}.wx-button-item.wx-2Gr4AS+.wx-button-item.wx-2Gr4AS{margin-left:calc(var(--wx-calendar-gap) * 3)}.wx-datepicker.wx-1lKOFG{position:relative;width:var(--wx-input-width)}.wx-rangecalendar.wx-p2jCaW{display:flex;padding-bottom:var(--wx-calendar-padding)}.wx-half.wx-p2jCaW{flex:1 1}.wx-daterangepicker.wx-1b0WDQ{position:relative;width:var(--wx-input-width)}.wx-13aa5W.wx-fullscreen::-webkit-backdrop{background-color:var(--wx-background)}.wx-13aa5W.wx-fullscreen::backdrop{background-color:var(--wx-background)}.wx-13aa5W.wx-fullscreen{position:relative;height:100%;width:100%;outline:none}.wx-13aa5W.wx-fullscreen-icon{font-size:20px;height:20px;margin:auto}.wx-13aa5W.wx-fullscreen .wx-fullscreen-button{width:40px;height:40px;border:none;border-radius:50%;position:absolute;right:25px;bottom:35px;display:flex;padding:initial}.wx-icon.wx-mdnST1{color:var(--wx-color-font-alt);cursor:pointer;font-size:var(--wx-button-icon-size);padding:var(--wx-button-icon-indent);line-height:var(--wx-button-line-height);display:inline-block}.wx-icon.wx-mdnST1:hover{background-color:var(--wx-background-hover)}.wx-multicombo.wx-12Wj21{position:relative;width:var(--wx-input-width)}.wx-multicombo.wx-12Wj21.wx-focus .wx-wrapper.wx-12Wj21{border:var(--wx-input-border-focus)}.wx-multicombo.wx-12Wj21.wx-disabled .wx-wrapper.wx-12Wj21{border:var(--wx-input-border-disabled);background:var(--wx-input-background-disabled)}.wx-multicombo.wx-12Wj21.wx-disabled .wx-tag.wx-12Wj21{background:var(--wx-color-disabled);color:var(--wx-color-font-disabled)}.wx-multicombo.wx-12Wj21:not(.wx-disabled) .wx-tag.wx-12Wj21{padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2)}.wx-multicombo.wx-12Wj21.wx-disabled .wx-input.wx-12Wj21{cursor:not-allowed;color:var(--wx-color-font-disabled)}.wx-multicombo.wx-12Wj21.wx-disabled .wx-icon.wxi-angle-down.wx-12Wj21{color:var(--wx-color-font-disabled)}.wx-multicombo.wx-12Wj21.wx-error .wx-wrapper.wx-12Wj21{border-color:var(--wx-color-danger)}.wx-multicombo.wx-12Wj21.wx-error .wx-input.wx-12Wj21,.wx-multicombo.wx-12Wj21.wx-error .wx-icon.wxi-angle-down.wx-12Wj21{color:var(--wx-color-danger)}.wx-multicombo.wx-12Wj21.wx-not-empty .wx-tags.wx-12Wj21{gap:var(--wx-multicombo-tag-gap);padding:var(--wx-multicombo-tag-gap)}.wx-multicombo.wx-12Wj21.wx-not-empty .wx-input.wx-12Wj21{border-top:var(--wx-input-border)}.wx-multicombo.wx-12Wj21.wx-not-empty.wx-focus .wx-input.wx-12Wj21{border-top:var(--wx-input-border-focus)}.wx-multicombo.wx-12Wj21.wx-not-empty.wx-disabled .wx-input.wx-12Wj21{border-top:var(--wx-input-border-disabled)}.wx-multicombo.wx-12Wj21.wx-not-empty.wx-error .wx-input.wx-12Wj21{border-top-color:var(--wx-color-danger)}.wx-wrapper.wx-12Wj21{border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:var(--wx-input-background)}.wx-tags.wx-12Wj21{display:flex;flex-wrap:wrap;align-items:flex-start;overflow:hidden}.wx-tag.wx-12Wj21{position:relative;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);border:var(--wx-multicombo-tag-border);border-radius:var(--wx-multicombo-tag-border-radius);background:var(--wx-multicombo-tag-background);padding:var(--wx-multicombo-tag-pading)}.wx-icon.wx-12Wj21{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;display:flex;justify-content:center;align-items:center;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color)}.wx-icon.wx-12Wj21:before{display:block}.wxi-close.wx-12Wj21{pointer-events:all;cursor:pointer}.wxi-close.wx-12Wj21:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-select.wx-12Wj21{position:relative}.wx-input.wx-12Wj21{display:block;width:100%;height:var(--wx-input-height);outline:none;background:transparent;border:none;border-radius:0;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden;text-overflow:ellipsis;cursor:pointer}.wx-pager.wx-35Np0p{display:flex;flex-wrap:wrap;gap:var(--wx-padding);align-items:center;padding:var(--wx-padding)}.wx-input.wx-35Np0p{display:block;width:50px;height:var(--wx-input-height);padding:var(--wx-input-padding);outline:none;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:var(--wx-input-background)}.wx-input.wx-35Np0p:focus{border:var(--wx-input-border-focus)}.wx-input.wx-35Np0p::placeholder{color:var(--wx-input-placeholder-color)}.wx-icon.wx-35Np0p{cursor:pointer;padding:var(--wx-input-padding);border-radius:var(--wx-input-border-radius);font-size:var(--wx-icon-size);line-height:1;color:var(--wx-color-link)}.wx-icon.wx-35Np0p:before{display:block}.wx-icon.wx-35Np0p:hover{background-color:var(--wx-background-hover)}.wx-icon.wx-35Np0p.wx-disabled{cursor:default;pointer-events:none;color:var(--wx-color-font-disabled)}.wx-left.wx-35Np0p,.wx-center.wx-35Np0p,.wx-right.wx-35Np0p{display:flex;align-items:center;gap:var(--wx-padding)}.wx-radio.wx-3lDF1s{position:relative;display:inline-block;vertical-align:top;max-width:var(--wx-input-width)}.wx-input.wx-3lDF1s{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;opacity:0;position:absolute;left:0;top:0;margin:0;padding:0}.wx-label.wx-3lDF1s{display:flex;flex-wrap:nowrap;align-items:flex-start;font-family:var(--wx-checkbox-font-family);font-size:var(--wx-checkbox-font-size);line-height:var(--wx-checkbox-line-height);font-weight:var(--wx-checkbox-font-weight);color:var(--wx-checkbox-font-color);cursor:pointer}.wx-circle.wx-3lDF1s{display:block}.wx-radio-text.wx-3lDF1s{margin-left:8px;padding-top:calc((var(--wx-checkbox-height) - var(--wx-checkbox-line-height)) / 2);padding-bottom:calc((var(--wx-checkbox-height) - var(--wx-checkbox-line-height)) / 2)}.wx-circle.wx-3lDF1s{position:relative;flex-shrink:0;padding-top:calc((var(--wx-checkbox-height) - var(--wx-checkbox-size)) / 2);padding-bottom:calc((var(--wx-checkbox-height) - var(--wx-checkbox-size)) / 2)}.wx-circle.wx-3lDF1s:before{content:"";display:block;width:var(--wx-checkbox-size);height:var(--wx-checkbox-size);border:var(--wx-checkbox-border-width) solid var(--wx-checkbox-border-color);border-radius:50%;background:var(--wx-input-background)}.wx-circle.wx-3lDF1s:after{content:"";position:absolute;display:none;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--wx-checkbox-size) - var(--wx-checkbox-border-width) * 2);height:calc(var(--wx-checkbox-size) - var(--wx-checkbox-border-width) * 2);border-style:solid;border-color:var(--wx-input-background);border-width:calc(var(--wx-checkbox-size) * .2);border-radius:50%}.wx-input.wx-3lDF1s:checked~.wx-label.wx-3lDF1s .wx-circle.wx-3lDF1s:before{background:var(--wx-color-primary);border-color:transparent}.wx-input.wx-3lDF1s:checked~.wx-label.wx-3lDF1s .wx-circle.wx-3lDF1s:after{display:block}.wx-input.wx-3lDF1s[disabled]~.wx-label.wx-3lDF1s{color:var(--wx-checkbox-border-color-disabled);cursor:not-allowed}.wx-input.wx-3lDF1s[disabled]:not(:checked)~.wx-label.wx-3lDF1s .wx-circle.wx-3lDF1s:before{border-color:var(--wx-checkbox-border-color-disabled)}.wx-input.wx-3lDF1s[disabled]:checked~.wx-label.wx-3lDF1s .wx-circle.wx-3lDF1s:before{background:var(--wx-checkbox-border-color-disabled)}.wx-radiogroup.wx-38w70j{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;margin-top:calc(var(--wx-field-gutter) * -1)}.wx-item.wx-38w70j{flex:0 0 100%;max-width:100%;margin-top:var(--wx-field-gutter)}.wx-radiogroup.wx-inline.wx-38w70j .wx-item.wx-38w70j{flex:none;padding-right:var(--wx-field-gutter)}.wx-radiogroup.wx-grid.wx-38w70j .wx-item.wx-38w70j{flex:0 0 50%;max-width:50%;padding-right:var(--wx-field-gutter)}.wx-richselect.wx-2YgblL{position:relative;outline:none;width:var(--wx-input-width);min-height:var(--wx-input-height);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);background:var(--wx-input-background);cursor:pointer}.wx-richselect.wx-2YgblL:focus{border:var(--wx-input-border-focus)}.wx-richselect.wx-disabled.wx-2YgblL{cursor:not-allowed;border:var(--wx-input-border-disabled);background:var(--wx-input-background-disabled)}.wx-richselect.wx-disabled.wx-2YgblL .wx-label.wx-2YgblL,.wx-richselect.wx-disabled.wx-2YgblL .wx-icon.wx-2YgblL{color:var(--wx-color-font-disabled)}.wx-richselect.wx-error.wx-2YgblL{border-color:var(--wx-color-danger)}.wx-richselect.wx-error.wx-2YgblL .wx-label.wx-2YgblL,.wx-richselect.wx-error.wx-2YgblL .wx-icon.wx-2YgblL{color:var(--wx-color-danger)}.wx-label.wx-2YgblL{display:block;width:100%;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden}.wx-placeholder.wx-2YgblL{color:var(--wx-input-placeholder-color)}.wx-icon.wx-2YgblL{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);display:flex;justify-content:center;align-items:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color)}.wx-icon.wx-2YgblL:before{display:block}.wx-icon.wxi-close.wx-2YgblL{pointer-events:all}.wx-icon.wxi-close.wx-2YgblL:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-nowrap.wx-2YgblL .wx-label.wx-2YgblL{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-segmented.wx-0hMO7P{display:inline-flex;flex-wrap:nowrap;background:var(--wx-segmented-background);border:var(--wx-segmented-border);border-radius:var(--wx-segmented-border-radius);padding:var(--wx-segmented-padding);max-width:100%}.wx-segment.wx-0hMO7P{display:flex;text-decoration:none;flex-wrap:nowrap;align-items:center;text-align:center;letter-spacing:normal;text-transform:var(--wx-button-text-transform);font-family:var(--wx-button-font-family);font-size:var(--wx-button-font-size);line-height:var(--wx-button-line-height);font-weight:var(--wx-button-font-weight);padding:var(--wx-button-padding);border:var(--wx-button-border);border-radius:var(--wx-segmented-border-radius);background:transparent;color:var(--wx-button-font-color);cursor:pointer;box-shadow:none;transition:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx-segment.wx-0hMO7P,.wx-segment.wx-0hMO7P:focus,.wx-segment.wx-0hMO7P:active{outline:none}.wx-segment.wx-0hMO7P+.wx-segment.wx-0hMO7P{margin-left:var(--wx-segmented-padding)}.wx-segment.wx-0hMO7P:hover{background:var(--wx-segmented-background-hover)}.wx-segment.wx-selected.wx-0hMO7P,.wx-segment.wx-selected.wx-0hMO7P:hover,.wx-segment.wx-selected.wx-0hMO7P:focus{background:var(--wx-color-primary);color:var(--wx-color-primary-font);cursor:default}.wx-icon.wx-0hMO7P{position:relative;font-size:var(--wx-button-icon-size);line-height:1;height:var(--wx-button-line-height);opacity:.7}.wx-icon.wx-0hMO7P:before{display:block;position:relative;top:50%;transform:translateY(-50%)}.wx-icon.wx-only.wx-0hMO7P{opacity:1}.wx-icon.wx-0hMO7P+.wx-label.wx-0hMO7P{margin-left:4px}.wx-select-box.wx-2yx1Fo{position:relative;width:var(--wx-input-width)}.wx-select.wx-2yx1Fo{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:var(--wx-input-height);outline:none;background:var(--wx-input-background);border:var(--wx-input-border);border-radius:var(--wx-input-border-radius);font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-font-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);overflow:hidden!important;text-overflow:ellipsis;cursor:pointer}.wx-select.wx-2yx1Fo:focus{border:var(--wx-input-border-focus)}.wx-select[disabled].wx-2yx1Fo{cursor:not-allowed;border:var(--wx-input-border-disabled);color:var(--wx-color-font-disabled);background:var(--wx-input-background-disabled)}.wx-select[disabled].wx-2yx1Fo~.wx-placeholder.wx-2yx1Fo{color:var(--wx-color-font-disabled)}.wx-select[disabled].wx-2yx1Fo~.wx-icon.wx-2yx1Fo{color:var(--wx-color-font-disabled)}.wx-select.wx-error.wx-2yx1Fo{border-color:var(--wx-color-danger);color:var(--wx-color-danger)}.wx-select.wx-error.wx-2yx1Fo option{color:var(--wx-input-font-color)}.wx-select.wx-error.wx-2yx1Fo~.wx-icon.wx-2yx1Fo{color:var(--wx-color-danger)}.wx-placeholder.wx-2yx1Fo{position:absolute;left:0;top:0;width:100%;border:var(--wx-input-border);border-color:transparent;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);line-height:var(--wx-input-line-height);font-weight:var(--wx-input-font-weight);text-align:var(--wx-input-text-align);color:var(--wx-input-placeholder-color);padding:var(--wx-input-padding);padding-right:calc(var(--wx-input-icon-size) + var(--wx-input-icon-indent) * 2);white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis;cursor:pointer;pointer-events:none}.wx-icon.wx-2yx1Fo{position:absolute;right:var(--wx-input-icon-indent);top:50%;transform:translateY(-50%);font-size:var(--wx-input-icon-size);line-height:1;width:var(--wx-input-icon-size);height:var(--wx-input-icon-size);display:flex;justify-content:center;align-items:center;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--wx-input-icon-color)}.wx-icon.wx-2yx1Fo:before{display:block}.wx-icon.wx-2yx1Fo.wxi-close{pointer-events:all;cursor:pointer}.wx-icon.wxi-close:hover{background:var(--wx-background-hover);border-radius:var(--wx-icon-border-radius)}.wx-slider.wx-2EDJ8G{width:var(--wx-input-width)}.wx-label.wx-2EDJ8G{display:block;margin:var(--wx-slider-label-margin);font-family:var(--wx-slider-label-font-family);font-size:var(--wx-slider-label-font-size);line-height:var(--wx-slider-label-line-height);font-weight:var(--wx-slider-label-font-weight);color:var(--wx-slider-label-font-color)}.wx-inner.wx-2EDJ8G{padding:calc((var(--wx-slider-height) - var(--wx-slider-track-height)) / 2) 0}.wx-input.wx-2EDJ8G{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:var(--wx-slider-track-height);background:var(--wx-slider-background);border:none;border-radius:var(--wx-slider-track-border-radius);margin:0}.wx-input.wx-2EDJ8G:focus{outline:none}.wx-input.wx-2EDJ8G::-webkit-slider-runnable-track{margin:0;width:100%;height:var(--wx-slider-track-height);border:none;border-radius:var(--wx-slider-track-border-radius);cursor:pointer;background:transparent}.wx-input.wx-2EDJ8G::-webkit-slider-thumb{margin-top:calc((var(--wx-slider-track-height) - var(--wx-slider-thumb-size)) / 2);width:var(--wx-slider-thumb-size);height:var(--wx-slider-thumb-size);background:var(--wx-slider-primary);border:var(--wx-slider-thumb-border);box-shadow:var(--wx-slider-thumb-shadow);border-radius:50%;cursor:pointer;-webkit-appearance:none;appearance:none}.wx-input.wx-2EDJ8G::-moz-range-track{margin:0;width:100%;height:var(--wx-slider-track-height);border:none;border-radius:var(--wx-slider-track-border-radius);cursor:pointer;background:transparent}.wx-input.wx-2EDJ8G::-moz-range-thumb{margin-top:calc((var(--wx-slider-track-height) - var(--wx-slider-thumb-size)) / 2);width:var(--wx-slider-thumb-size);height:var(--wx-slider-thumb-size);background:var(--wx-slider-primary);border:var(--wx-slider-thumb-border);border-radius:50%;cursor:pointer;-moz-appearance:none;appearance:none}.wx-input.wx-2EDJ8G::-moz-range-progress{background-color:var(--wx-slider-primary);height:var(--wx-slider-track-height);border-top-left-radius:var(--wx-slider-track-border-radius);border-bottom-left-radius:var(--wx-slider-track-border-radius)}.wx-input.wx-2EDJ8G::-ms-track{color:transparent;margin:0;width:100%;height:var(--wx-slider-track-height);border:none;border-radius:var(--wx-slider-track-border-radius);cursor:pointer;background:transparent}.wx-input.wx-2EDJ8G::-ms-fill-lower{background:var(--wx-slider-primary);border:.2px solid var(--wx-slider-primary);border-radius:var(--wx-slider-track-border-radius)}.wx-input.wx-2EDJ8G::-ms-fill-upper{background:var(--wx-slider-background);border:.2px solid var(--wx-slider-background);border-radius:var(--wx-slider-track-border-radius)}.wx-input.wx-2EDJ8G::-ms-thumb{margin-top:calc((var(--wx-slider-track-height) - var(--wx-slider-thumb-size)) / 2);width:var(--wx-slider-thumb-size);height:var(--wx-slider-thumb-size);background:var(--wx-slider-primary);border:var(--wx-slider-thumb-border);border-radius:50%;cursor:pointer;appearance:none}.wx-input.wx-2EDJ8G:focus::-ms-fill-lower{background:var(--wx-slider-primary)}.wx-input.wx-2EDJ8G:focus::-ms-fill-upper{background:var(--wx-slider-background)}.wx-input.wx-2EDJ8G[disabled]{cursor:not-allowed;background:var(--wx-color-disabled)}.wx-input.wx-2EDJ8G[disabled]::-webkit-slider-runnable-track{cursor:not-allowed}.wx-input.wx-2EDJ8G[disabled]::-webkit-slider-thumb{cursor:not-allowed;background:var(--wx-background);border:var(--wx-slider-thumb-border-disabled)}.wx-input.wx-2EDJ8G[disabled]::-moz-range-track{cursor:not-allowed}.wx-input.wx-2EDJ8G[disabled]::-moz-range-thumb{cursor:not-allowed;background:var(--wx-background);border:var(--wx-slider-thumb-border-disabled)}.wx-input.wx-2EDJ8G[disabled]::-moz-range-progress{cursor:not-allowed;background:var(--wx-color-disabled)}.wx-input.wx-2EDJ8G[disabled]::-ms-track{cursor:not-allowed}.wx-input.wx-2EDJ8G[disabled]::-ms-fill-lower{background:var(--wx-color-disabled);border-color:var(--wx-color-disabled)}.wx-input.wx-2EDJ8G[disabled]::-ms-fill-upper{background:var(--wx-color-disabled);border-color:var(--wx-color-disabled)}.wx-input.wx-2EDJ8G[disabled]::-ms-thumb{cursor:not-allowed;background:var(--wx-background);border:var(--wx-slider-thumb-border-disabled)}.wx-input.wx-2EDJ8G[disabled]:focus::-ms-fill-lower{background:var(--wx-color-disabled)}.wx-input.wx-2EDJ8G[disabled]:focus::-ms-fill-upper{background:var(--wx-color-disabled)}.wx-switch.wx-2dAR5c{position:relative;display:inline-block;vertical-align:top;margin:0;cursor:default}.wx-input.wx-2dAR5c{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:0;opacity:0;position:absolute;left:0;top:0;margin:0;padding:0}.wx-box.wx-2dAR5c{display:block;position:relative;width:var(--wx-switch-width);height:var(--wx-switch-height);border:var(--wx-switch-border-width) solid var(--wx-switch-border-color);border-radius:calc(var(--wx-switch-height) / 2);background-color:var(--wx-switch-background);transition:background-color .4s ease;cursor:pointer;overflow:hidden}.wx-box.wx-2dAR5c:before{content:"";position:absolute;left:var(--wx-switch-thumb-offset);top:var(--wx-switch-thumb-offset);height:calc(var(--wx-switch-height) - var(--wx-switch-thumb-offset) * 2 - var(--wx-switch-border-width) * 2);width:calc(var(--wx-switch-height) - var(--wx-switch-thumb-offset) * 2 - var(--wx-switch-border-width) * 2);border:var(--wx-switch-thumb-border);border-radius:50%;background:var(--wx-switch-thumb-background);box-shadow:var(--wx-switch-thumb-shadow);transition:transform .4s ease}.wx-input.wx-2dAR5c:checked~.wx-box.wx-2dAR5c{background-color:var(--wx-switch-primary)}.wx-input.wx-2dAR5c:checked~.wx-box.wx-2dAR5c:before{transform:translate(calc(var(--wx-switch-width) - var(--wx-switch-height)))}.wx-input.wx-2dAR5c[disabled]~.wx-box.wx-2dAR5c{background-color:var(--wx-color-disabled);border-color:var(--wx-switch-border-color-disabled);cursor:not-allowed}.wx-input.wx-2dAR5c[disabled]~.wx-box.wx-2dAR5c:before{border:var(--wx-switch-thumb-border-disabled);background:var(--wx-switch-thumb-background-disabled)}.wx-tabs.wx-138fWJ{display:inline-flex;flex-wrap:nowrap}.wx-tab.wx-138fWJ{position:relative;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;text-decoration:none;text-align:center;letter-spacing:normal;text-transform:var(--wx-button-text-transform);font-family:var(--wx-button-font-family);font-size:var(--wx-button-font-size);line-height:var(--wx-button-line-height);font-weight:var(--wx-button-font-weight);padding:var(--wx-button-padding);border:var(--wx-button-border);border-width:var(--wx-tabs-border-width);border-radius:0;background:var(--wx-tabs-background);color:var(--wx-button-font-color);cursor:pointer;box-shadow:none;transition:none;max-width:100%;min-width:var(--wx-tabs-cell-min-width);-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx-tab.wx-138fWJ+.wx-tab.wx-138fWJ:before{content:"";display:block;position:absolute;left:calc(var(--wx-tabs-border-width) * -1 - var(--wx-tabs-divider-width) / 2);top:50%;transform:translateY(-50%);width:0;height:calc(var(--wx-tabs-border-width) * 2 + var(--wx-tabs-divider-height));border-left:var(--wx-tabs-divider-width) solid var(--wx-tabs-divider-color)}.wx-tab.wx-138fWJ:first-child{border-top-left-radius:var(--wx-tabs-border-radius);border-bottom-left-radius:var(--wx-tabs-border-radius)}.wx-tab.wx-138fWJ:last-child{border-top-right-radius:var(--wx-tabs-border-radius);border-bottom-right-radius:var(--wx-tabs-border-radius)}.wx-tab.wx-138fWJ,.wx-tab.wx-138fWJ:focus,.wx-tab.wx-138fWJ:active{outline:none}.wx-tab.wx-138fWJ:hover{background:var(--wx-tabs-background-hover)}.wx-tab.wx-active.wx-138fWJ,.wx-tab.wx-active.wx-138fWJ:hover,.wx-tab.wx-active.wx-138fWJ:focus{background:var(--wx-tabs-active-background);color:var(--wx-tabs-active-color);cursor:default}.wx-tab.wx-active.wx-138fWJ:before{display:none}.wx-tab.wx-active.wx-138fWJ+.wx-tab.wx-138fWJ:before{display:none}.wx-tab.wx-active.wx-138fWJ:after,.wx-tab.wx-138fWJ:hover:after{content:"";display:block;position:absolute;left:13px;height:0;width:calc(100% - 26px)}.wx-tab.wx-active.wx-138fWJ:after{border-bottom:2px solid var(--wx-tabs-active-border)}.wx-tab:not(.wx-active):hover:after{border-bottom:2px solid var(--wx-tabs-hover-border)}.wx-top.wx-138fWJ .wx-tab.wx-active.wx-138fWJ:after,.wx-top.wx-138fWJ .wx-tab.wx-138fWJ:hover:after{top:100%}.wx-bottom.wx-138fWJ .wx-tab.wx-active.wx-138fWJ:after,.wx-bottom.wx-138fWJ .wx-tab.wx-138fWJ:hover:after{top:0}.wx-icon.wx-138fWJ{position:relative;font-size:var(--wx-button-icon-size);line-height:1;height:var(--wx-button-line-height);opacity:.7}.wx-icon.wx-138fWJ:before{display:block;position:relative;top:50%;transform:translateY(-50%)}.wx-icon.wx-only.wx-138fWJ{opacity:1}.wx-icon.wx-138fWJ+.wx-label.wx-138fWJ{margin-left:4px}.wx-counter.wx-22t21n{display:flex;border:var(--wx-input-border);width:max-content;border-radius:var(--wx-input-border-radius)}.wx-counter.wx-22t21n:not(.wx-readonly):has(.wx-input:focus){border:var(--wx-input-border-focus)}.wx-input.wx-22t21n{box-sizing:border-box;background:var(--wx-background);width:40px;height:30px;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);color:var(--wx-input-font-color);padding-left:8px;padding-right:8px;outline:none;border:none;border-left:var(--wx-input-border);border-right:var(--wx-input-border)}.wx-btn.wx-22t21n{box-sizing:border-box;display:flex;justify-content:center;align-items:center;width:32px;height:30px;font-family:var(--wx-input-font-family);font-size:var(--wx-input-font-size);color:var(--wx-input-font-color);background-color:var(--wx-background-alt);outline:none;border:none;cursor:pointer}.wx-counter.wx-22t21n:not(.wx-readonly):not(.wx-disabled) .wx-btn:active{background-color:var(--wx-background-hover)}.wx-dec.wx-22t21n,.wx-inc.wx-22t21n{fill:var(--wx-color-primary)}.wx-btn-dec.wx-22t21n{border-radius:2px 0 0 2px}.wx-btn-inc.wx-22t21n{border-radius:0 2px 2px 0}.wx-error.wx-22t21n,.wx-counter.wx-error.wx-22t21n:has(.wx-input:focus){border:1px solid var(--wx-color-danger)}.wx-error.wx-22t21n .wx-input.wx-22t21n{color:var(--wx-color-danger)}.wx-disabled.wx-22t21n .wx-input.wx-22t21n,.wx-disabled.wx-22t21n .wx-btn.wx-22t21n{cursor:not-allowed;color:var(--wx-color-font-disabled)}.wx-disabled.wx-22t21n .wx-btn.wx-22t21n{background:var(--wx-color-disabled-alt)}.wx-disabled.wx-22t21n .wx-btn.wx-22t21n .wx-dec.wx-22t21n,.wx-disabled.wx-22t21n .wx-btn.wx-22t21n .wx-inc.wx-22t21n,.wx-readonly.wx-22t21n .wx-btn.wx-22t21n .wx-dec.wx-22t21n,.wx-readonly.wx-22t21n .wx-btn.wx-22t21n .wx-inc.wx-22t21n{fill:var(--wx-color-font-disabled)}.wx-readonly.wx-22t21n .wx-btn.wx-22t21n{cursor:default}.wx-notice.wx-11sNg5{position:relative;background:var(--wx-notice-background);box-shadow:var(--wx-notice-shadow);border:var(--wx-notice-border);border-radius:var(--wx-notice-border-radius);margin:var(--wx-notice-margin);display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;overflow:hidden;font-family:var(--wx-notice-font-family);font-size:var(--wx-notice-font-size);line-height:var(--wx-notice-line-height);font-weight:var(--wx-notice-font-weight);color:var(--wx-notice-font-color);width:var(--wx-notice-width)}.wx-notice.wx-11sNg5:before{content:"";display:block;position:absolute;z-index:1;left:0;top:0;width:var(--wx-notice-type-border-width);height:100%;border-top-right-radius:var(--wx-notice-type-border-width);border-bottom-right-radius:var(--wx-notice-type-border-width);background:var(--wx-notice-type-border-color)}.wx-notice.wx-11sNg5:after{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;opacity:var(--wx-notice-type-background-opacity);background:transparent}.wx-text.wx-11sNg5,.wx-button.wx-11sNg5{position:relative;z-index:2;padding:var(--wx-notice-padding)}.wx-text.wx-11sNg5{flex-shrink:0;word-wrap:break-word;max-width:calc(var(--wx-notice-width) - var(--wx-notice-padding) * 2 - var(--wx-notice-icon-size))}.wxi-close.wx-11sNg5{position:relative;display:flex;justify-content:center;align-items:center;font-size:var(--wx-notice-icon-size);line-height:1;width:var(--wx-notice-icon-size);height:var(--wx-notice-icon-size);color:var(--wx-notice-type-icon-color);cursor:pointer}.wxi-close.wx-11sNg5:before{display:block;z-index:1}.wxi-close.wx-11sNg5:after{content:"";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% + 4px);height:calc(100% + 4px);border-radius:var(--wx-icon-border-radius)}.wxi-close.wx-11sNg5:hover:after{background:var(--wx-background-hover)}.wx-notice.wx-info.wx-11sNg5,.wx-notice.wx-warning.wx-11sNg5,.wx-notice.wx-success.wx-11sNg5,.wx-notice.wx-danger.wx-11sNg5{color:var(--wx-notice-type-font-color)}.wx-notice.wx-info.wx-11sNg5:before,.wx-notice.wx-info.wx-11sNg5:after{background:var(--wx-color-info)}.wx-notice.wx-warning.wx-11sNg5:before,.wx-notice.wx-warning.wx-11sNg5:after{background:var(--wx-color-warning)}.wx-notice.wx-success.wx-11sNg5:before,.wx-notice.wx-success.wx-11sNg5:after{background:var(--wx-color-success)}.wx-notice.wx-danger.wx-11sNg5:before,.wx-notice.wx-danger.wx-11sNg5:after{background:var(--wx-color-danger)}.wx-notice.wx-info.wx-11sNg5 .wxi-close.wx-11sNg5:after,.wx-notice.wx-warning.wx-11sNg5 .wxi-close.wx-11sNg5:after,.wx-notice.wx-success.wx-11sNg5 .wxi-close.wx-11sNg5:after,.wx-notice.wx-danger.wx-11sNg5 .wxi-close.wx-11sNg5:after{opacity:var(--wx-notice-type-close-hover-opacity)}.wx-notices.wx-3nwoO9{position:fixed;z-index:var(--wx-notice-z-index);top:0;right:0}.wx-modal.wx-1FxkZa{position:fixed;z-index:var(--wx-modal-z-index);top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--wx-modal-backdrop);text-align:center}.wx-window.wx-1FxkZa{background:var(--wx-modal-background);box-shadow:var(--wx-modal-shadow);border:var(--wx-modal-border);border-radius:var(--wx-modal-border-radius);padding:var(--wx-modal-padding);min-width:var(--wx-modal-width)}.wx-header.wx-1FxkZa{font-family:var(--wx-modal-header-font-family);font-size:var(--wx-modal-header-font-size);line-height:var(--wx-modal-header-line-height);font-weight:var(--wx-modal-header-font-weight);color:var(--wx-modal-header-font-color);margin-bottom:var(--wx-modal-gutter)}.wx-buttons.wx-1FxkZa{margin-top:var(--wx-modal-gutter);display:flex;justify-content:center;margin-left:calc(var(--wx-modal-gutter) / -2);margin-right:calc(var(--wx-modal-gutter) / -2)}.wx-button.wx-1FxkZa{flex:1 1;max-width:50%;padding:0 calc(var(--wx-modal-gutter) / 2)}.wx-field.wx-2oVUvC{width:var(--wx-field-width);max-width:100%;margin-bottom:var(--wx-field-gutter)}.wx-field.wx-left.wx-2oVUvC{display:flex;flex-wrap:nowrap;align-items:flex-start}.wx-field.wx-left.wx-2oVUvC>.wx-label.wx-2oVUvC{width:var(--wx-label-width);flex-shrink:0;margin:0 var(--wx-field-gutter) 0 0;padding-top:calc((var(--wx-input-height) - var(--wx-label-line-height)) / 2);text-align:right}.wx-field.wx-left.wx-2oVUvC>.wx-field-control.wx-2oVUvC{max-width:calc(100% - var(--wx-label-width) - var(--wx-field-gutter))}.wx-field.wx-error.wx-2oVUvC .wx-label.wx-2oVUvC{color:var(--wx-color-danger)}.wx-field.wx-left.wx-2oVUvC .wx-field-control.wx-checkbox.wx-2oVUvC{padding-top:calc((var(--wx-input-height) - var(--wx-checkbox-height)) / 2);padding-bottom:calc((var(--wx-input-height) - var(--wx-checkbox-height)) / 2)}.wx-field.wx-left.wx-2oVUvC .wx-field-control.wx-slider.wx-2oVUvC{padding-top:calc((var(--wx-input-height) - var(--wx-slider-height)) / 2);padding-bottom:calc((var(--wx-input-height) - var(--wx-slider-height)) / 2)}.wx-field.wx-left.wx-2oVUvC .wx-field-control.wx-switch.wx-2oVUvC{padding-top:calc((var(--wx-input-height) - var(--wx-switch-height)) / 2);padding-bottom:calc((var(--wx-input-height) - var(--wx-switch-height)) / 2)}.wx-label.wx-2oVUvC{display:block;margin:var(--wx-label-margin);padding:var(--wx-label-padding);font-family:var(--wx-label-font-family);font-size:var(--wx-label-font-size);line-height:var(--wx-label-line-height);font-weight:var(--wx-label-font-weight);color:var(--wx-label-font-color)}.wx-required.wx-2oVUvC .wx-label.wx-2oVUvC:after{content:" *";color:var(--wx-color-danger)}.wx-field-control.wx-2oVUvC{position:relative;width:100%}.wx-timepicker.wx-7f497i{position:relative;width:var(--wx-input-width)}.wx-wrapper.wx-7f497i{padding:10px 20px}.wx-timer.wx-7f497i{display:flex;text-align:center;justify-content:center;margin-bottom:10px}.wx-digit.wx-7f497i{display:block;width:50px;height:38px;border:none;border-bottom:var(--wx-input-border);font-family:var(--wx-input-font-family);font-size:24px;line-height:28px;padding:5px;text-align:center;color:var(--wx-input-font-color);background-color:transparent;outline:none}.wx-digit.wx-7f497i:focus{border-bottom:var(--wx-input-border-focus)}.wx-separator.wx-7f497i{font-size:24px;line-height:38px}.wx-modal.wx-KgpO9N{position:absolute;z-index:var(--wx-modal-z-index);top:0;left:0;width:100%;height:100%;background:var(--wx-modal-backdrop);display:flex;align-items:center;justify-content:center}.wx-window.wx-KgpO9N{background:var(--wx-modal-background);box-shadow:var(--wx-modal-shadow);border:var(--wx-modal-border);border-radius:var(--wx-modal-border-radius);min-width:var(--wx-modal-width)}.wx-sidearea.wx-2L733M{position:absolute;z-index:var(--wx-popup-z-index);background:var(--wx-modal-background);box-shadow:var(--wx-modal-shadow);border:var(--wx-modal-border);border-radius:var(--wx-modal-border-radius);min-width:var(--wx-modal-width);height:100vh;max-height:100%}.wx-sidearea.wx-pos-right.wx-2L733M{right:0;top:0}.wx-avatar.wx-aadkRiRf{position:relative;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;font-weight:600;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx-avatar.wx-aadkRiRf img{width:100%;height:100%;object-fit:cover}.wx-avatar.wx-aadkRiRf span{text-transform:uppercase}.wx-avatar-overflow.wx-aadkRiRf .wx-avatar-overflow-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:#fff;text-transform:none}.wx-avatar-stack.wx-aadkRiRf{display:inline-flex;align-items:center}.wx-avatar-root.wx-aadkRiRf{display:block;min-width:0}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local(""),url(https://cdn.svar.dev/fonts/roboto/regular.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/roboto/regular.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:local(""),url(https://cdn.svar.dev/fonts/roboto/500.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/roboto/500.woff) format("woff")}.wx-material-theme{--wx-color-primary: #2f77e3;--wx-color-primary-selected: #d5e6ff;--wx-color-primary-font: #fff;--wx-color-secondary: rgba(0, 0, 0, .04);--wx-color-secondary-hover: rgba(0, 0, 0, .1);--wx-color-secondary-font: rgba(0, 0, 0, .7);--wx-color-secondary-font-hover: rgba(0, 0, 0, .7);--wx-color-secondary-border: transparent;--wx-color-secondary-border-disabled: transparent;--wx-color-success: #00d19a;--wx-color-warning: #ffc975;--wx-color-info: #37a9ef;--wx-color-danger: #ff5252;--wx-color-disabled: #ededed;--wx-color-disabled-alt: #e9e9e9;--wx-color-font: rgba(0, 0, 0, .7);--wx-color-font-alt: rgba(0, 0, 0, .5);--wx-color-font-disabled: rgba(0, 0, 0, .3);--wx-color-link: var(--wx-color-primary);--wx-background: #fff;--wx-background-alt: #f7f7f7;--wx-background-hover: linear-gradient( rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .15) 100% );--wx-font-family: Roboto, Arial, Helvetica, sans-serif;--wx-font-size: 14px;--wx-line-height: 20px;--wx-font-size-md: 16px;--wx-line-height-md: 24px;--wx-font-size-hd: 16px;--wx-line-height-hd: 30px;--wx-font-size-sm: 12px;--wx-line-height-sm: 16px;--wx-font-weight: 400;--wx-font-weight-md: 500;--wx-font-weight-b: 700;--wx-icon-color: var(--wx-color-font-alt);--wx-icon-size: var(--wx-line-height);--wx-border: 1px solid #dfdfdf;--wx-border-radius: 2px;--wx-radius-medium: var(--wx-border-radius);--wx-border-light: none;--wx-border-medium: 1px solid #eaedf5;--wx-shadow-light: 0px 4px 20px rgba(44, 47, 60, .12);--wx-shadow-medium: 0px 2px 4px rgba(0, 0, 0, .15);--wx-box-shadow: 0px 2px 4px rgba(0, 0, 0, .15);--wx-box-shadow-strong: 0px 2px 5px rgba(0, 0, 0, .3);--wx-padding: 8px;--wx-field-gutter: 16px;--wx-field-width: 400px;--wx-input-font-family: var(--wx-font-family);--wx-input-font-size: var(--wx-font-size);--wx-input-line-height: var(--wx-line-height);--wx-input-font-weight: var(--wx-font-weight);--wx-input-text-align: left;--wx-input-font-color: var(--wx-color-font);--wx-input-background: var(--wx-background);--wx-input-background-disabled: var(--wx-background);--wx-input-placeholder-color: var(--wx-color-font-alt);--wx-input-border: var(--wx-border);--wx-input-border-focus: 1px solid rgba(0, 0, 0, .5);--wx-input-border-disabled: 1px solid var(--wx-color-disabled);--wx-input-border-radius: var(--wx-border-radius);--wx-input-height: 32px;--wx-input-width: 100%;--wx-input-padding: 5px 8px;--wx-input-icon-indent: 6px;--wx-input-icon-color: var(--wx-icon-color);--wx-input-icon-size: var(--wx-icon-size);--wx-multicombo-tag-gap: 4px;--wx-multicombo-tag-border: none;--wx-multicombo-tag-border-radius: var(--wx-input-border-radius);--wx-multicombo-tag-pading: 2px 8px;--wx-multicombo-tag-background: var(--wx-background-alt);--wx-checkbox-height: var(--wx-line-height);--wx-checkbox-size: 18px;--wx-checkbox-border-width: 2px;--wx-checkbox-border-color: var(--wx-color-font-alt);--wx-checkbox-border-color-disabled: var(--wx-color-font-disabled);--wx-checkbox-border-radius: var(--wx-input-border-radius);--wx-checkbox-font-family: var(--wx-font-family);--wx-checkbox-font-size: var(--wx-font-size);--wx-checkbox-line-height: var(--wx-line-height);--wx-checkbox-font-weight: var(--wx-font-weight);--wx-checkbox-font-color: var(--wx-color-font);--wx-label-width: 80px;--wx-label-margin: 0 0 8px;--wx-label-padding: 0;--wx-label-font-family: var(--wx-font-family);--wx-label-font-size: var(--wx-font-size);--wx-label-line-height: var(--wx-line-height);--wx-label-font-weight: var(--wx-font-weight-md);--wx-label-font-color: var(--wx-color-font);--wx-button-font-family: var(--wx-font-family);--wx-button-font-size: var(--wx-font-size);--wx-button-line-height: var(--wx-line-height);--wx-button-font-weight: var(--wx-font-weight-md);--wx-button-text-transform: none;--wx-button-font-color: var(--wx-color-font);--wx-button-danger-font-color: #fff;--wx-button-background: var(--wx-background-alt);--wx-button-border: 1px solid transparent;--wx-button-border-radius: var(--wx-border-radius);--wx-button-height: 32px;--wx-button-padding: 5px 20px;--wx-button-icon-indent: 7px;--wx-button-icon-size: 16px;--wx-button-pressed: rgba(0, 0, 0, .16);--wx-button-danger-pressed: #cc4242;--wx-button-primary-pressed: #265fb6;--wx-button-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .56) inset, 2px 2px 3px 1px rgba(0, 0, 0, .12) inset;--wx-button-primary-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .26) inset, 2px 2px 3px 1px rgba(0, 0, 0, .16) inset;--wx-segmented-background: var(--wx-background-alt);--wx-segmented-background-hover: var(--wx-background-hover);--wx-segmented-border: var(--wx-border);--wx-segmented-border-radius: var(--wx-border-radius);--wx-segmented-padding: 3px;--wx-tabs-background: var(--wx-background-alt);--wx-tabs-background-hover: var(--wx-background-hover);--wx-tabs-hover-border: transparent;--wx-tabs-border-width: 1px;--wx-tabs-border-radius: var(--wx-border-radius);--wx-tabs-divider-width: 1px;--wx-tabs-divider-height: 100%;--wx-tabs-divider-color: #dfdfdf;--wx-tabs-cell-min-width: 100px;--wx-tabs-active-background: var(--wx-color-primary);--wx-tabs-active-color: var(--wx-color-primary-font);--wx-tabs-active-border: transparent;--wx-slider-height: 16px;--wx-slider-primary: var(--wx-color-primary);--wx-slider-background: #dfdfdf;--wx-slider-track-height: 4px;--wx-slider-track-border-radius: 2px;--wx-slider-thumb-size: var(--wx-slider-height);--wx-slider-thumb-border: 2px solid var(--wx-background);--wx-slider-thumb-border-disabled: none;--wx-slider-thumb-shadow: var(--wx-box-shadow-strong);--wx-slider-label-margin: 0 0 5px;--wx-slider-label-font-family: var(--wx-font-family);--wx-slider-label-font-size: var(--wx-font-size);--wx-slider-label-line-height: var(--wx-line-height);--wx-slider-label-font-weight: var(--wx-font-weight-md);--wx-slider-label-font-color: var(--wx-color-font);--wx-switch-primary: var(--wx-color-primary);--wx-switch-background: rgba(0, 0, 0, .3);--wx-switch-width: 44px;--wx-switch-height: 22px;--wx-switch-border-width: 1px;--wx-switch-border-color: transparent;--wx-switch-border-color-disabled: #dfdfdf;--wx-switch-thumb-offset: 1px;--wx-switch-thumb-border: none;--wx-switch-thumb-border-disabled: none;--wx-switch-thumb-background: var(--wx-background);--wx-switch-thumb-background-disabled: var(--wx-background);--wx-switch-thumb-shadow: var(--wx-box-shadow-strong);--wx-popup-z-index: 1001;--wx-popup-background: var(--wx-background);--wx-popup-shadow: var(--wx-shadow-light);--wx-popup-border: none;--wx-popup-border-radius: var(--wx-border-radius);--wx-modal-z-index: 1000;--wx-modal-background: var(--wx-background);--wx-modal-shadow: var(--wx-shadow-medium);--wx-modal-border: none;--wx-modal-border-radius: var(--wx-border-radius);--wx-modal-width: 280px;--wx-modal-padding: 16px 20px;--wx-modal-gutter: 14px;--wx-modal-backdrop: rgba(0, 0, 0, .5);--wx-modal-header-font-family: var(--wx-font-family);--wx-modal-header-font-size: var(--wx-font-size-hd);--wx-modal-header-line-height: var(--wx-line-height-hd);--wx-modal-header-font-weight: var(--wx-font-weight);--wx-modal-header-font-color: #000;--wx-notice-z-index: 1010;--wx-notice-background: var(--wx-background);--wx-notice-shadow: var(--wx-shadow-medium);--wx-notice-border: none;--wx-notice-border-radius: var(--wx-border-radius);--wx-notice-margin: 6px 12px;--wx-notice-font-family: var(--wx-font-family);--wx-notice-font-size: var(--wx-font-size);--wx-notice-line-height: var(--wx-line-height);--wx-notice-font-weight: var(--wx-font-weight);--wx-notice-font-color: var(--wx-color-font);--wx-notice-padding: var(--wx-padding);--wx-notice-width: 240px;--wx-notice-icon-size: var(--wx-icon-size);--wx-notice-icon-color: var(--wx-icon-color);--wx-notice-type-border-width: 0px;--wx-notice-type-border-color: transparent;--wx-notice-type-font-color: #fff;--wx-notice-type-icon-color: rgba(255, 255, 255, .8);--wx-notice-type-background-opacity: 1;--wx-notice-type-close-hover-opacity: .3;--wx-calendar-padding: 16px;--wx-calendar-cell-size: 32px;--wx-calendar-gap: 4px;--wx-calendar-line-gap: 0px;--wx-calendar-border-radius: var(--wx-calendar-cell-size);--wx-calendar-font-family: var(--wx-font-family);--wx-calendar-font-size: var(--wx-font-size);--wx-calendar-line-height: var(--wx-line-height);--wx-calendar-font-weight: var(--wx-font-weight);--wx-calendar-font-color: var(--wx-color-font);--wx-calendar-icon-color: var(--wx-icon-color);--wx-calendar-icon-size: var(--wx-icon-size);--wx-calendar-header-font-size: var(--wx-font-size);--wx-calendar-header-line-height: var(--wx-line-height);--wx-calendar-header-font-weight: var(--wx-font-weight-md);--wx-calendar-controls-font-family: var(--wx-button-font-family);--wx-calendar-controls-font-size: var(--wx-button-font-size);--wx-calendar-controls-line-height: var(--wx-button-line-height);--wx-calendar-controls-font-weight: var(--wx-button-font-weight);--wx-calendar-controls-font-color: var(--wx-color-link)}.wx-material-theme{font-family:var(--wx-font-family);font-size:var(--wx-font-size);line-height:var(--wx-line-height);font-weight:var(--wx-font-weight);font-style:normal;letter-spacing:normal;text-align:left;color:var(--wx-color-font);background:var(--wx-background);color-scheme:dark}.wx-material-theme *,.wx-material-theme *:before,.wx-material-theme *:after{box-sizing:border-box}@font-face{font-family:Open Sans;font-style:normal;font-weight:500;src:local(""),url(https://cdn.svar.dev/fonts/open-sans/500.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/open-sans/500.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:local(""),url(https://cdn.svar.dev/fonts/open-sans/regular.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/open-sans/regular.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;src:local(""),url(https://cdn.svar.dev/fonts/open-sans/600.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/open-sans/600.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;src:local(""),url(https://cdn.svar.dev/fonts/open-sans/700.woff2) format("woff2"),url(https://cdn.svar.dev/fonts/open-sans/700.woff) format("woff")}.wx-willow-theme{--wx-color-primary: #37a9ef;--wx-color-primary-selected: #d5eaf7;--wx-color-primary-font: #fff;--wx-color-secondary: transparent;--wx-color-secondary-hover: rgba(55, 169, 239, .12);--wx-color-secondary-font: var(--wx-color-primary);--wx-color-secondary-font-hover: var(--wx-color-primary);--wx-color-secondary-border: var(--wx-color-primary);--wx-color-secondary-border-disabled: #c0c3ce;--wx-color-success: #77d257;--wx-color-warning: #fcba2e;--wx-color-info: #37a9ef;--wx-color-danger: #fe6158;--wx-color-disabled: #f2f3f7;--wx-color-disabled-alt: #e9e9e9;--wx-color-font: #2c2f3c;--wx-color-font-alt: #9fa1ae;--wx-color-font-disabled: #c0c3ce;--wx-color-link: var(--wx-color-primary);--wx-background: #ffffff;--wx-background-alt: #f2f3f7;--wx-background-hover: #eaedf5;--wx-font-family: "Open Sans", Arial, Helvetica, sans-serif;--wx-font-size: 14px;--wx-line-height: 20px;--wx-font-size-md: 14px;--wx-line-height-md: 24px;--wx-font-size-hd: 16px;--wx-line-height-hd: 30px;--wx-font-size-sm: 12px;--wx-line-height-sm: 16px;--wx-font-weight: 400;--wx-font-weight-md: 600;--wx-font-weight-b: 700;--wx-icon-color: #9fa1ae;--wx-icon-size: var(--wx-line-height);--wx-button-pressed: #d7dde3;--wx-button-danger-pressed: #cb4e46;--wx-button-primary-pressed: #098cdc;--wx-button-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .56) inset, 2px 2px 3px 1px rgba(0, 0, 0, .12) inset;--wx-button-primary-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .26) inset, 2px 2px 3px 1px rgba(0, 0, 0, .16) inset;--wx-border: 1px solid #e6e6e6;--wx-border-radius: 3px;--wx-radius-major: 6px;--wx-border-light: none;--wx-border-medium: 1px solid #eaedf5;--wx-shadow-light: 0px 3px 10px 0px rgba(44, 47, 60, .12), 0px 1px 2px 0px rgba(44, 47, 60, .06);--wx-shadow-medium: 0px 4px 20px 0px rgba(44, 47, 60, .12);--wx-box-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-box-shadow-strong: 0px 4px 20px rgba(44, 47, 60, .16);--wx-padding: 8px;--wx-field-gutter: 16px;--wx-field-width: 400px;--wx-input-font-family: var(--wx-font-family);--wx-input-font-size: var(--wx-font-size);--wx-input-line-height: var(--wx-line-height);--wx-input-font-weight: var(--wx-font-weight);--wx-input-text-align: left;--wx-input-font-color: var(--wx-color-font);--wx-input-background: var(--wx-background);--wx-input-background-disabled: var(--wx-color-disabled);--wx-input-placeholder-color: var(--wx-color-font-alt);--wx-input-border: var(--wx-border);--wx-input-border-focus: 1px solid var(--wx-color-primary);--wx-input-border-disabled: var(--wx-border);--wx-input-border-radius: 3px;--wx-input-height: 32px;--wx-input-width: 100%;--wx-input-padding: 5px 8px;--wx-input-icon-indent: 6px;--wx-input-icon-color: var(--wx-icon-color);--wx-input-icon-size: var(--wx-icon-size);--wx-multicombo-tag-gap: 3px;--wx-multicombo-tag-border: none;--wx-multicombo-tag-border-radius: var(--wx-input-border-radius);--wx-multicombo-tag-pading: 2px 8px;--wx-multicombo-tag-background: var(--wx-background-alt);--wx-checkbox-height: var(--wx-line-height);--wx-checkbox-size: var(--wx-checkbox-height);--wx-checkbox-border-width: 2px;--wx-checkbox-border-color: var(--wx-color-font-alt);--wx-checkbox-border-color-disabled: var(--wx-color-disabled);--wx-checkbox-border-radius: var(--wx-input-border-radius);--wx-checkbox-font-family: var(--wx-font-family);--wx-checkbox-font-size: var(--wx-font-size);--wx-checkbox-line-height: var(--wx-line-height);--wx-checkbox-font-weight: var(--wx-font-weight);--wx-checkbox-font-color: var(--wx-color-font);--wx-label-width: 100px;--wx-label-margin: 0 0 4px;--wx-label-padding: 0;--wx-label-font-family: var(--wx-font-family);--wx-label-font-size: var(--wx-font-size);--wx-label-line-height: var(--wx-line-height);--wx-label-font-weight: var(--wx-font-weight-md);--wx-label-font-color: var(--wx-color-font);--wx-button-font-family: var(--wx-font-family);--wx-button-font-size: var(--wx-font-size-md);--wx-button-line-height: var(--wx-line-height);--wx-button-font-weight: var(--wx-font-weight-md);--wx-button-text-transform: none;--wx-button-font-color: var(--wx-color-font);--wx-button-danger-font-color: #fff;--wx-button-background: var(--wx-background-alt);--wx-button-border: 1px solid transparent;--wx-button-border-radius: var(--wx-border-radius);--wx-button-height: 32px;--wx-button-padding: 5px 16px;--wx-button-icon-indent: 5px;--wx-button-icon-size: 20px;--wx-segmented-background: var(--wx-background-alt);--wx-segmented-background-hover: var(--wx-background-hover);--wx-segmented-border: none;--wx-segmented-border-radius: 6px;--wx-segmented-padding: 0px;--wx-tabs-background: var(--wx-background);--wx-tabs-background-hover: transparent;--wx-tabs-hover-border: #9fa1ae;--wx-tabs-border-width: 1px;--wx-tabs-border-radius: var(--wx-border-radius);--wx-tabs-divider-width: 1px;--wx-tabs-divider-height: 60%;--wx-tabs-divider-color: transparent;--wx-tabs-cell-min-width: 100px;--wx-tabs-active-background: transparent;--wx-tabs-active-color: var(--wx-color-primary);--wx-tabs-active-border: var(--wx-tabs-active-color);--wx-slider-height: 14px;--wx-slider-primary: var(--wx-color-primary);--wx-slider-background: var(--wx-background-alt);--wx-slider-track-height: 4px;--wx-slider-track-border-radius: 2px;--wx-slider-thumb-size: var(--wx-slider-height);--wx-slider-thumb-border: none;--wx-slider-thumb-border-disabled: none;--wx-slider-thumb-shadow: var(--wx-box-shadow-strong);--wx-slider-label-margin: 0 0 5px;--wx-slider-label-font-family: var(--wx-font-family);--wx-slider-label-font-size: var(--wx-font-size);--wx-slider-label-line-height: var(--wx-line-height);--wx-slider-label-font-weight: var(--wx-font-weight-md);--wx-slider-label-font-color: var(--wx-color-font);--wx-switch-primary: var(--wx-color-primary);--wx-switch-background: #9fa1ae;--wx-switch-width: 48px;--wx-switch-height: 24px;--wx-switch-border-width: 0px;--wx-switch-border-color: transparent;--wx-switch-border-color-disabled: transparent;--wx-switch-thumb-offset: 1px;--wx-switch-thumb-border: none;--wx-switch-thumb-border-disabled: 1px solid #c0c3ce;--wx-switch-thumb-background: var(--wx-background);--wx-switch-thumb-background-disabled: var(--wx-color-disabled);--wx-switch-thumb-shadow: none;--wx-popup-z-index: 1001;--wx-popup-background: var(--wx-background);--wx-popup-shadow: var(--wx-shadow-light);--wx-popup-border: 1px solid transparent;--wx-popup-border-radius: var(--wx-border-radius);--wx-modal-z-index: 1000;--wx-modal-background: var(--wx-background);--wx-modal-shadow: var(--wx-shadow-medium);--wx-modal-border: none;--wx-modal-border-radius: var(--wx-border-radius);--wx-modal-width: 280px;--wx-modal-padding: 16px 20px;--wx-modal-gutter: 14px;--wx-modal-backdrop: rgba(108, 114, 131, .2);--wx-modal-header-font-family: var(--wx-font-family);--wx-modal-header-font-size: var(--wx-font-size-hd);--wx-modal-header-line-height: var(--wx-line-height-hd);--wx-modal-header-font-weight: var(--wx-font-weight-b);--wx-modal-header-font-color: #000;--wx-notice-z-index: 1010;--wx-notice-background: var(--wx-background);--wx-notice-shadow: var(--wx-shadow-medium);--wx-notice-border: none;--wx-notice-border-radius: 0 var(--wx-border-radius) var(--wx-border-radius) 0;--wx-notice-margin: 6px 12px;--wx-notice-font-family: var(--wx-font-family);--wx-notice-font-size: var(--wx-font-size);--wx-notice-line-height: var(--wx-line-height);--wx-notice-font-weight: var(--wx-font-weight);--wx-notice-font-color: var(--wx-color-font);--wx-notice-padding: 14px;--wx-notice-width: 240px;--wx-notice-icon-size: var(--wx-icon-size);--wx-notice-icon-color: var(--wx-icon-color);--wx-notice-type-border-width: 4px;--wx-notice-type-border-color: var(--wx-icon-color);--wx-notice-type-font-color: var(--wx-color-font);--wx-notice-type-icon-color: var(--wx-icon-color);--wx-notice-type-background-opacity: 0;--wx-notice-type-close-hover-opacity: 1;--wx-calendar-padding: 16px;--wx-calendar-cell-size: 32px;--wx-calendar-gap: 4px;--wx-calendar-line-gap: 4px;--wx-calendar-border-radius: var(--wx-border-radius);--wx-calendar-font-family: var(--wx-font-family);--wx-calendar-font-size: var(--wx-font-size);--wx-calendar-line-height: var(--wx-line-height);--wx-calendar-font-weight: var(--wx-font-weight);--wx-calendar-font-color: var(--wx-color-font);--wx-calendar-icon-color: var(--wx-icon-color);--wx-calendar-icon-size: var(--wx-icon-size);--wx-calendar-header-font-size: var(--wx-font-size);--wx-calendar-header-line-height: var(--wx-line-height);--wx-calendar-header-font-weight: var(--wx-font-weight-md);--wx-calendar-controls-font-family: var(--wx-button-font-family);--wx-calendar-controls-font-size: var(--wx-font-size);--wx-calendar-controls-line-height: var(--wx-line-height);--wx-calendar-controls-font-weight: var(--wx-font-weight);--wx-calendar-controls-font-color: var(--wx-color-font)}.wx-willow-theme{font-family:var(--wx-font-family);font-size:var(--wx-font-size);line-height:var(--wx-line-height);font-weight:var(--wx-font-weight);font-style:normal;letter-spacing:normal;text-align:left;color:var(--wx-color-font);background:var(--wx-background)}.wx-willow-theme *,.wx-willow-theme *:before,.wx-willow-theme *:after{box-sizing:border-box}.wx-willow-dark-theme{--wx-color-primary: #7a67eb;--wx-color-primary-selected: rgba(122, 103, 235, .3);--wx-color-primary-font: #fff;--wx-color-secondary: transparent;--wx-color-secondary-hover: rgba(122, 103, 235, .12);--wx-color-secondary-font: var(--wx-color-primary);--wx-color-secondary-font-hover: var(--wx-color-primary);--wx-color-secondary-border: var(--wx-color-primary);--wx-color-secondary-border-disabled: #9fa1ae;--wx-color-success: #77d257;--wx-color-warning: #fcba2e;--wx-color-info: var(--wx-color-primary);--wx-color-danger: #fe6158;--wx-color-disabled: #384047;--wx-color-disabled-alt: #44474a;--wx-color-font: rgba(255, 255, 255, .9);--wx-color-font-alt: #9fa1ae;--wx-color-font-disabled: #9fa1ae;--wx-color-link: var(--wx-color-primary);--wx-background: #2a2b2d;--wx-background-alt: #384047;--wx-background-hover: #20262b;--wx-font-family: "Open Sans", Arial, Helvetica, sans-serif;--wx-font-size: 14px;--wx-line-height: 20px;--wx-font-size-md: 14px;--wx-line-height-md: 24px;--wx-font-size-hd: 16px;--wx-line-height-hd: 30px;--wx-font-size-sm: 12px;--wx-line-height-sm: 16px;--wx-font-weight: 400;--wx-font-weight-md: 600;--wx-font-weight-b: 700;--wx-icon-color: #c0c3ce;--wx-icon-size: var(--wx-line-height);--wx-border: 1px solid #384047;--wx-border-radius: 3px;--wx-radius-major: 6px;--wx-border-light: 1px solid #384047;--wx-border-medium: 1px solid #384047;--wx-shadow-light: 0px 4px 20px 0px rgba(44, 47, 60, .12);--wx-shadow-medium: none;--wx-box-shadow: 0px 4px 48px rgba(44, 47, 60, .18);--wx-box-shadow-strong: 0px 4px 48px rgba(44, 47, 60, .18), 0px 4px 8px rgba(14, 14, 15, .3);--wx-padding: 8px;--wx-field-gutter: 16px;--wx-field-width: 400px;--wx-input-font-family: var(--wx-font-family);--wx-input-font-size: var(--wx-font-size);--wx-input-line-height: var(--wx-line-height);--wx-input-font-weight: var(--wx-font-weight);--wx-input-text-align: left;--wx-input-font-color: var(--wx-color-font);--wx-input-background: var(--wx-background);--wx-input-background-disabled: var(--wx-color-disabled);--wx-input-placeholder-color: var(--wx-color-font-alt);--wx-input-border: var(--wx-border);--wx-input-border-focus: 1px solid var(--wx-color-primary);--wx-input-border-disabled: var(--wx-border);--wx-input-border-radius: 3px;--wx-input-height: 32px;--wx-input-width: 100%;--wx-input-padding: 5px 8px;--wx-input-icon-indent: 6px;--wx-input-icon-color: var(--wx-icon-color);--wx-input-icon-size: var(--wx-icon-size);--wx-multicombo-tag-gap: 3px;--wx-multicombo-tag-border: none;--wx-multicombo-tag-border-radius: var(--wx-input-border-radius);--wx-multicombo-tag-pading: 2px 8px;--wx-multicombo-tag-background: var(--wx-background-alt);--wx-checkbox-height: var(--wx-line-height);--wx-checkbox-size: var(--wx-checkbox-height);--wx-checkbox-border-width: 2px;--wx-checkbox-border-color: var(--wx-color-font-alt);--wx-checkbox-border-color-disabled: var(--wx-color-disabled);--wx-checkbox-border-radius: var(--wx-input-border-radius);--wx-checkbox-font-family: var(--wx-font-family);--wx-checkbox-font-size: var(--wx-font-size);--wx-checkbox-line-height: var(--wx-line-height);--wx-checkbox-font-weight: var(--wx-font-weight);--wx-checkbox-font-color: var(--wx-color-font);--wx-label-width: 100px;--wx-label-margin: 0 0 4px;--wx-label-padding: 0;--wx-label-font-family: var(--wx-font-family);--wx-label-font-size: var(--wx-font-size);--wx-label-line-height: var(--wx-line-height);--wx-label-font-weight: var(--wx-font-weight-md);--wx-label-font-color: var(--wx-color-font);--wx-button-font-family: var(--wx-font-family);--wx-button-font-size: var(--wx-font-size-md);--wx-button-line-height: var(--wx-line-height);--wx-button-font-weight: var(--wx-font-weight-md);--wx-button-text-transform: none;--wx-button-background: var(--wx-background-alt);--wx-button-font-color: var(--wx-color-font);--wx-button-danger-font-color: #fff;--wx-button-border: 1px solid transparent;--wx-button-border-radius: var(--wx-border-radius);--wx-button-height: 32px;--wx-button-padding: 5px 16px;--wx-button-icon-indent: 5px;--wx-button-icon-size: 20px;--wx-button-pressed: #353d44;--wx-button-danger-pressed: #cb4e46;--wx-button-primary-pressed: #5643c7;--wx-button-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .06) inset, 2px 2px 3px 1px rgba(0, 0, 0, .16) inset;--wx-button-primary-box-shadow: -2px -2px 4px 0px rgba(255, 255, 255, .12) inset, 2px 2px 3px 1px rgba(0, 0, 0, .2) inset;--wx-segmented-background: var(--wx-background-alt);--wx-segmented-background-hover: var(--wx-background-hover);--wx-segmented-border: none;--wx-segmented-border-radius: 6px;--wx-segmented-padding: 0px;--wx-tabs-background: var(--wx-background);--wx-tabs-background-hover: transparent;--wx-tabs-hover-border: #9fa1ae;--wx-tabs-border-width: 1px;--wx-tabs-border-radius: var(--wx-border-radius);--wx-tabs-divider-width: 1px;--wx-tabs-divider-height: 60%;--wx-tabs-divider-color: transparent;--wx-tabs-cell-min-width: 100px;--wx-tabs-active-background: transparent;--wx-tabs-active-color: var(--wx-color-primary);--wx-tabs-active-border: var(--wx-tabs-active-color);--wx-slider-height: 14px;--wx-slider-primary: var(--wx-color-primary);--wx-slider-background: var(--wx-background-alt);--wx-slider-track-height: 4px;--wx-slider-track-border-radius: 2px;--wx-slider-thumb-size: var(--wx-slider-height);--wx-slider-thumb-border: none;--wx-slider-thumb-border-disabled: 1px solid var(--wx-color-disabled);--wx-slider-thumb-shadow: none;--wx-slider-label-margin: 0 0 5px;--wx-slider-label-font-family: var(--wx-font-family);--wx-slider-label-font-size: var(--wx-font-size);--wx-slider-label-line-height: var(--wx-line-height);--wx-slider-label-font-weight: var(--wx-font-weight-md);--wx-slider-label-font-color: var(--wx-color-font);--wx-switch-primary: var(--wx-color-primary);--wx-switch-background: #384047;--wx-switch-width: 48px;--wx-switch-height: 24px;--wx-switch-border-width: 0px;--wx-switch-border-color: transparent;--wx-switch-border-color-disabled: transparent;--wx-switch-thumb-offset: 1px;--wx-switch-thumb-border: none;--wx-switch-thumb-border-disabled: 1px solid rgba(255, 255, 255, .7);--wx-switch-thumb-background: rgba(255, 255, 255, .9);--wx-switch-thumb-background-disabled: var(--wx-color-disabled);--wx-switch-thumb-shadow: none;--wx-popup-z-index: 1001;--wx-popup-background: var(--wx-background);--wx-popup-shadow: var(--wx-shadow-light);--wx-popup-border: 1px solid rgba(255, 255, 255, .26);--wx-popup-border-radius: var(--wx-border-radius);--wx-modal-z-index: 1000;--wx-modal-background: var(--wx-background);--wx-modal-shadow: var(--wx-shadow-medium);--wx-modal-border: 1px solid #ffffff42;--wx-modal-border-radius: var(--wx-border-radius);--wx-modal-width: 280px;--wx-modal-padding: 16px 20px;--wx-modal-gutter: 14px;--wx-modal-backdrop: rgba(108, 114, 131, .2);--wx-modal-header-font-family: var(--wx-font-family);--wx-modal-header-font-size: var(--wx-font-size-hd);--wx-modal-header-line-height: var(--wx-line-height-hd);--wx-modal-header-font-weight: var(--wx-font-weight-b);--wx-modal-header-font-color: #fff;--wx-notice-z-index: 1010;--wx-notice-background: var(--wx-background-alt);--wx-notice-shadow: var(--wx-shadow-medium);--wx-notice-border: none;--wx-notice-border-radius: 0 var(--wx-border-radius) var(--wx-border-radius) 0;--wx-notice-margin: 6px 12px;--wx-notice-font-family: var(--wx-font-family);--wx-notice-font-size: var(--wx-font-size);--wx-notice-line-height: var(--wx-line-height);--wx-notice-font-weight: var(--wx-font-weight);--wx-notice-font-color: var(--wx-color-font);--wx-notice-padding: 14px;--wx-notice-width: 240px;--wx-notice-icon-size: var(--wx-icon-size);--wx-notice-icon-color: var(--wx-icon-color);--wx-notice-type-border-width: 4px;--wx-notice-type-border-color: var(--wx-icon-color);--wx-notice-type-font-color: var(--wx-color-font);--wx-notice-type-icon-color: #9fa1ae;--wx-notice-type-background-opacity: 0;--wx-notice-type-close-hover-opacity: 1;--wx-calendar-padding: 16px;--wx-calendar-cell-size: 32px;--wx-calendar-gap: 4px;--wx-calendar-line-gap: 4px;--wx-calendar-border-radius: var(--wx-border-radius);--wx-calendar-font-family: var(--wx-font-family);--wx-calendar-font-size: var(--wx-font-size);--wx-calendar-line-height: var(--wx-line-height);--wx-calendar-font-weight: var(--wx-font-weight);--wx-calendar-font-color: var(--wx-color-font);--wx-calendar-icon-color: var(--wx-icon-color);--wx-calendar-icon-size: var(--wx-icon-size);--wx-calendar-header-font-size: var(--wx-font-size);--wx-calendar-header-line-height: var(--wx-line-height);--wx-calendar-header-font-weight: var(--wx-font-weight-md);--wx-calendar-controls-font-family: var(--wx-button-font-family);--wx-calendar-controls-font-size: var(--wx-font-size);--wx-calendar-controls-line-height: var(--wx-line-height);--wx-calendar-controls-font-weight: var(--wx-font-weight);--wx-calendar-controls-font-color: var(--wx-color-font)}.wx-willow-dark-theme{font-family:var(--wx-font-family);font-size:var(--wx-font-size);line-height:var(--wx-line-height);font-weight:var(--wx-font-weight);font-style:normal;letter-spacing:normal;text-align:left;color:var(--wx-color-font);background:var(--wx-background)}.wx-willow-dark-theme *,.wx-willow-dark-theme *:before,.wx-willow-dark-theme *:after{box-sizing:border-box}.wx-option.wx-cDCz9rZQ{display:flex;align-items:center;box-sizing:border-box;height:36px;line-height:36px;padding:2px 12px;font-family:var(--wx-font-family);font-weight:var(--wx-font-weight);font-size:var(--wx-font-size);background-color:var(--wx-background);cursor:pointer}.wx-option.wx-cDCz9rZQ:hover{background:var(--wx-background-alt)}.wx-option.wx-cDCz9rZQ:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.wx-option.wx-cDCz9rZQ:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.wx-value.wx-cDCz9rZQ{flex-grow:1;white-space:nowrap;color:var(--wx-color-font)}.wx-icon.wx-cDCz9rZQ,.wx-sub-icon.wx-cDCz9rZQ{vertical-align:middle;height:inherit;line-height:inherit;font-size:var(--wx-icon-size);color:var(--wx-icon-color)}.wx-icon.wx-cDCz9rZQ{margin-right:8px}.wx-subtext.wx-cDCz9rZQ{color:var(--wx-color-font-disabled);margin-left:20px;white-space:nowrap}.wx-disabled.wx-cDCz9rZQ{pointer-events:none}.wx-disabled.wx-cDCz9rZQ .wx-value,.wx-disabled.wx-cDCz9rZQ .wx-icon,.wx-disabled.wx-cDCz9rZQ .wx-sub-icon{color:var(--wx-color-font-disabled)}.wx-menu.wx-XMmAGqVx{position:absolute;box-shadow:var(--wx-shadow-light);min-width:125px;display:flex;flex-direction:column;z-index:20;border-radius:var(--wx-border-radius);background-color:var(--wx-background);padding:4px 0}.wx-separator.wx-XMmAGqVx{width:100%;border-top:var(--wx-border-medium)}.wx-menubar.wx-UfhPCLL4{display:flex;position:relative;width:-moz-fit-content;width:fit-content}.wx-option.wx-UfhPCLL4{background-color:transparent;border:none;color:var(--wx-color-font);box-sizing:border-box;height:36px;line-height:30px;padding:2px 12px;font-family:var(--wx-font-family);font-weight:var(--wx-font-weight);font-size:var(--wx-font-size);cursor:pointer;outline:none;white-space:nowrap}.wx-active.wx-UfhPCLL4,.wx-option.wx-UfhPCLL4:hover{background-color:var(--wx-background-alt);border-radius:var(--wx-button-border-radius)}.wx-disabled.wx-UfhPCLL4{pointer-events:none;color:var(--wx-color-font-disabled)}.wx-measure-cell-body,.wx-print-cell,.wx-cell.wx-TSCaXsGV{background:inherit;box-sizing:border-box;padding:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-print-tree-cell,.wx-tree-cell.wx-TSCaXsGV{display:flex}.wx-measure-cell-body,.wx-cell.wx-TSCaXsGV:not(:last-child){border-right:var(--wx-table-cell-border)}.wx-print-draggable,.wx-draggable.wx-TSCaXsGV,.wx-draggable-stub.wx-TSCaXsGV{display:inline-block;vertical-align:middle;margin-right:3px;font-size:20px;height:20px;width:20px}.wx-draggable.wx-TSCaXsGV{cursor:move}.wx-shadow.wx-cell.wx-TSCaXsGV{border-right:var(--wx-table-fixed-column-border);-webkit-clip-path:inset(0px -15px 0px 0px);clip-path:inset(0px -15px 0px 0px);z-index:1}.wx-fixed-right.wx-shadow.wx-cell.wx-TSCaXsGV{border-right:var(--wx-table-cell-border);border-left:var(--wx-table-fixed-column-border)}.wx-fixed-right.wx-shadow.wx-cell.wx-TSCaXsGV:last-child{border-right:none}.wx-print-grid-tree-toggle,.wx-table-tree-toggle.wx-TSCaXsGV{font-size:20px;cursor:pointer;margin:0 4px 0 0;display:inline-block}.wx-cell.wx-TSCaXsGV[tabindex="0"]:focus{outline:1px solid var(--wx-color-primary);outline-offset:-1px}.wx-search.wx-TSCaXsGV{background-color:#ffeb3b}.wx-print-filter,.wx-cell.wx-filter>.wx-text>input{height:28px;padding:4px 8px}.wx-print-filter{border:var(--wx-table-border);background:var(--wx-background);border-radius:var(--wx-input-border-radius);font-weight:400;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-cell.wx-filter.wx-D3voQpJs div.wx-richselect{min-height:28px;height:28px;padding:4px 8px}.wx-cell.wx-filter.wx-D3voQpJs div.wx-richselect .wx-label{padding:0}.wx-cell.wx-filter div.wx-datepicker input{height:28px;padding:4px 8px}.wx-measure-cell-header,.wx-print-cell-header,.wx-cell.wx-RsQD74qC{padding:8px;position:relative;display:flex;align-items:center;font-weight:var(--wx-header-font-weight);background:var(--wx-table-header-background);line-height:20px}.wx-cell.wx-RsQD74qC:focus{outline:1px solid var(--wx-color-primary);outline-offset:-1px}.wx-print-cell-header{display:table-cell;position:static}.wx-cell.wx-RsQD74qC.wx-vertical{align-items:flex-end}.wx-measure-cell-header,.wx-cell.wx-RsQD74qC:not(:last-child){border-right:var(--wx-table-header-cell-border)}.wx-print-cell-filter.wx-RsQD74qC,.wx-cell.wx-filter.wx-RsQD74qC{padding:4px;z-index:8}.wx-print-cell-header .wx-text,.wx-text.wx-RsQD74qC{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wx-print-cell-header.wx-vertical .wx-text,.wx-vertical.wx-RsQD74qC .wx-text.wx-RsQD74qC{height:100%;transform:rotate(-180deg);writing-mode:vertical-lr;text-overflow:ellipsis;overflow:hidden}.wx-print-cell-header.wx-vertical .wx-text{display:block}.wx-cell.wx-shadow.wx-RsQD74qC{-webkit-clip-path:inset(0px -15px 0px 0px);clip-path:inset(0px -15px 0px 0px);border-right:var(--wx-table-fixed-column-border)}.wx-cell.wx-fixed-right.wx-shadow.wx-RsQD74qC{border-right:var(--wx-table-cell-border);border-left:var(--wx-table-fixed-column-border)}.wx-cell.wx-fixed-right.wx-cell.wx-RsQD74qC:last-child{border-right:none}.wx-shadow.wx-RsQD74qC,.wx-fixed.wx-RsQD74qC{z-index:7}.wx-shadow.wx-rowspan.wx-RsQD74qC,.wx-shadow.wx-colspan.wx-RsQD74qC,.wx-fixed.wx-rowspan.wx-RsQD74qC,.wx-fixed.wx-colspan.wx-RsQD74qC{z-index:8}.wx-grip.wx-RsQD74qC{box-sizing:border-box;position:absolute;top:0;bottom:0;right:-4px;width:9px;background-color:transparent;opacity:0;cursor:ew-resize;z-index:8}.wx-grip.wx-RsQD74qC div{margin-left:5px;width:1px;height:100%;background-color:var(--wx-color-primary)}.wx-cell.wx-RsQD74qC:last-child .wx-grip.wx-RsQD74qC{width:5px;right:0}.wx-cell.wx-RsQD74qC:last-child .wx-grip.wx-RsQD74qC div{margin-left:4px}.wx-grip.wx-RsQD74qC:before,.wx-cell.wx-RsQD74qC:not(:last-child) .wx-grip.wx-RsQD74qC:after{content:"";position:absolute;top:0;bottom:0;width:0;height:0;margin:auto}.wx-grip.wx-RsQD74qC:before{border:3px dashed transparent;border-right:3px solid var(--wx-color-primary);right:7px}.wx-cell.wx-RsQD74qC:last-child .wx-grip.wx-RsQD74qC:before{right:3px}.wx-cell.wx-RsQD74qC:not(:last-child) .wx-grip.wx-RsQD74qC:after{border:3px dashed transparent;border-left:3px solid var(--wx-color-primary);left:9px}.wx-cell.wx-RsQD74qC:has(.wx-grip.wx-RsQD74qC:hover){z-index:9}.wx-grip.wx-RsQD74qC:hover{opacity:1}.wx-sort.wx-RsQD74qC{height:100%;margin-left:auto;display:flex;align-items:center}.wx-order.wx-RsQD74qC{width:16px;height:16px;line-height:16px;border-radius:50%;font-size:12px;text-align:center;color:#fff;background-color:#3498ff}.wx-collapse.wx-RsQD74qC:focus{outline:none}.wx-collapse.wx-RsQD74qC:focus i,.wx-collapse.wx-RsQD74qC:hover i{color:var(--wx-color-primary)}.wx-rowspan.wx-RsQD74qC,.wx-colspan.wx-RsQD74qC{z-index:6}.wx-collapse.wx-RsQD74qC,.wx-collapsed.wx-RsQD74qC{cursor:pointer;z-index:1}.wx-collapsed.wx-RsQD74qC{position:relative}.wx-collapse.wx-RsQD74qC i{margin-right:4px}.wx-h-row:not(:last-child) .wx-cell.wx-RsQD74qC:not(.wx-rowspan.wx-RsQD74qC){border-bottom:var(--wx-table-header-cell-border)}.wx-measure-cell-footer,.wx-print-cell-footer,.wx-cell.wx-6Sdi3Dfd{padding:8px;display:flex;align-items:center;font-weight:var(--wx-header-font-weight);background:var(--wx-table-header-background);overflow:hidden}.wx-print-cell-footer{display:table-cell}.wx-cell.wx-6Sdi3Dfd:not(:last-child){border-right:var(--wx-table-footer-cell-border)}.wx-cell.wx-vertical.wx-6Sdi3Dfd{align-items:flex-end}.wx-print-cell-footer .wx-text,.wx-text.wx-6Sdi3Dfd{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wx-print-cell-footer.wx-vertical .wx-text,.wx-vertical.wx-6Sdi3Dfd .wx-text{transform:rotate(-90deg) translateY(100%);transform-origin:left bottom;text-overflow:clip;overflow:unset}.wx-print-cell-footer.wx-vertical .wx-text{display:block}.wx-cell.wx-shadow.wx-6Sdi3Dfd{-webkit-clip-path:inset(0px -15px 0px 0px);clip-path:inset(0px -15px 0px 0px);border-right:var(--wx-table-fixed-column-border)}.wx-cell.wx-fixed-right.wx-shadow.wx-6Sdi3Dfd{border-right:var(--wx-table-cell-border);border-left:var(--wx-table-fixed-column-border)}.wx-cell.wx-fixed-right.wx-cell:last-child.wx-6Sdi3Dfd{border-right:none}.wx-shadow.wx-6Sdi3Dfd,.wx-fixed.wx-6Sdi3Dfd{z-index:3}.wx-rowspan.wx-6Sdi3Dfd{z-index:2}.wx-rowspan.wx-shadow.wx-6Sdi3Dfd,.wx-rowspan.wx-fixed.wx-6Sdi3Dfd,.wx-colspan.wx-shadow.wx-6Sdi3Dfd,.wx-colspan.wx-fixed.wx-6Sdi3Dfd{z-index:4}.wx-f-row:not(:last-child) .wx-cell:not(.wx-rowspan).wx-6Sdi3Dfd{border-bottom:var(--wx-table-header-cell-border)}.wx-header.wx-sAsPVaUK,.wx-footer.wx-sAsPVaUK{font-weight:500}.wx-header.wx-sAsPVaUK{top:0;border-bottom:var(--wx-table-header-border)}.wx-footer.wx-sAsPVaUK{position:-webkit-sticky;position:sticky;z-index:2;bottom:0;border-top:var(--wx-table-header-border)}.wx-overlay.wx-1ty666CQ{width:100%;height:100%;position:absolute;z-index:5;background-color:var(--wx-background);padding:14px 8px;text-align:center}.wx-text.wx-e7Ao5ejY{width:100%;height:100%;border:none;outline:none;padding-left:8px;font:inherit;background:var(--wx-background);color:var(--wx-color-font);border:1px solid var(--wx-color-primary)}.wx-input.wx-0UYfSd1x{height:100%;width:100%;border:none;outline:none;padding-left:8px;font:inherit;background:var(--wx-background);color:var(--wx-color-font);border:1px solid var(--wx-color-primary)}.wx-value.wx-lNWNYUb6{width:100%;height:100%;padding:8px;overflow:hidden;outline:none;border:1px solid var(--wx-color-primary)}.wx-text.wx-lNWNYUb6{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.wx-value.wx-ywGRk611{width:100%;height:100%;padding:8px;overflow:hidden;outline:none;border:1px solid var(--wx-color-primary)}.wx-text.wx-ywGRk611{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-value.wx-ywGRk611:focus{outline:none;display:block}.wx-option.wx-aacZ4gNU{display:flex;direction:row;align-items:center;justify-content:flex-start;gap:8px}.wx-text.wx-aacZ4gNU{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-value.wx-aacZ4gNU{width:100%;height:100%;padding:8px;overflow:hidden;outline:none;border:1px solid var(--wx-color-primary);text-overflow:ellipsis;white-space:nowrap}.wx-8l724t2g.wx-cell{box-sizing:border-box;padding:0;background-color:var(--wx-background);color:var(--wx-color-font);position:relative;z-index:3}.wx-8l724t2g.wx-cell .wx-dropdown{border:var(--wx-table-editor-dropdown-border);box-shadow:var(--wx-table-editor-dropdown-shadow)}.wx-print-grid .wx-vertical.wx-Gy81xq2u{vertical-align:bottom}.wx-flex-columns.wx-8NTMLH0z{width:100%}.wx-print-container{display:none}.wx-print-grid{border-collapse:collapse;table-layout:fixed;border:var(--wx-table-border);border-spacing:0;text-indent:initial;print-color-adjust:exact;-webkit-print-color-adjust:exact}.wx-print-grid tr,.wx-print-grid th,.wx-print-grid td{border:var(--wx-table-border)}@media print{.wx-print>*{display:none!important}.wx-print-container>.wx-print-grid-wrapper{page-break-after:always;break-after:page}.wx-print-container{display:block!important}}.wx-grid.wx-4VuBwK2D{height:100%}.wx-table-box.wx-4VuBwK2D{outline:none;position:relative;display:flex;flex-direction:column;height:100%;border:var(--wx-table-cell-border);overflow:hidden;box-sizing:content-box}.wx-header-wrapper.wx-4VuBwK2D{position:-webkit-sticky;position:sticky;z-index:3;top:0}.wx-body.wx-4VuBwK2D,.wx-data.wx-4VuBwK2D{position:relative}.wx-scroll.wx-4VuBwK2D{position:relative;flex:1 1;scroll-padding-top:var(--header-height);scroll-padding-bottom:var(--footer-height)}.wx-row.wx-4VuBwK2D{display:flex;box-sizing:border-box;background-color:var(--wx-background)}.wx-row.wx-4VuBwK2D:not(:last-child){border-bottom:var(--wx-table-cell-border)}.wx-row.wx-autoheight.wx-4VuBwK2D .wx-cell{overflow:visible;text-overflow:initial;white-space:normal;word-break:break-all}.wx-row.wx-autoheight.wx-4VuBwK2D{height:max-content}.wx-selected.wx-4VuBwK2D{color:var(--wx-table-select-color);background-color:var(--wx-table-select-background)}.wx-selected.wx-4VuBwK2D .wx-cell:first-child{box-shadow:var(--wx-table-select-border)}.wx-inactive.wx-4VuBwK2D{color:var(--wx-table-drag-over-background);background-color:var(--wx-table-drag-over-background);--wx-table-select-border: none}.wx-drag-zone{z-index:10;position:absolute;pointer-events:none;overflow:hidden;box-shadow:var(--wx-table-drag-zone-shadow)}.wx-cell.wx-collapsed.wx-4VuBwK2D{width:36px;border-right:var(--wx-table-cell-border)}.wx-icon.wx-v13lZxja{display:inline-block;vertical-align:middle;margin-right:4px}.wx-hidden.wx-v13lZxja{color:var(--wx-color-font-disabled)}.wx-area.wx-RYccULtD{position:relative;height:100%;width:100%}.tooltip{padding:2px 10px;border-radius:2px;box-shadow:var(--wx-box-shadow);pointer-events:none;position:absolute;z-index:10;font-size:var(--wx-font-size-sm);font-family:var(--wx-font-family);color:var(--wx-color-primary-font);background-color:#1a1e21}.wx-menu .wx-option.wx-disabled{pointer-events:none}.wx-menu .wx-option.wx-disabled .wx-value,.wx-menu .wx-option.wx-disabled .wx-icon{color:var(--wx-color-font-disabled)}.wx-material-theme{--wx-table-select-background: #f0f0f0;--wx-table-select-color: var(--wx-color-font);--wx-table-border: 1px solid #dfdfdf;--wx-table-select-border: none;--wx-table-header-border: var(--wx-table-border);--wx-table-header-cell-border: var(--wx-table-border);--wx-table-footer-cell-border: var(--wx-table-border);--wx-table-cell-border: var(--wx-table-border);--wx-header-font-weight: 500;--wx-table-header-background: #fafafb;--wx-table-fixed-column-border: 3px solid #dfdfdf;--wx-table-editor-dropdown-border: none;--wx-table-editor-dropdown-shadow: 0px 2px 5px 0px rgba(0, 0, 0, .3);--wx-table-drag-over-background: var(--wx-background-alt);--wx-table-drag-zone-shadow: var(--wx-box-shadow)}.wx-material-theme .wx-table-menu{box-shadow:0 2px 5px #0000004d;outline:none}.wx-willow-theme{--wx-table-select-background: #eaedf5;--wx-table-select-color: var(--wx-color-font);--wx-table-border: 1px solid #e6e6e6;--wx-table-select-border: inset 3px 0 var(--wx-color-primary);--wx-table-header-border: var(--wx-table-border);--wx-table-header-cell-border: var(--wx-table-border);--wx-table-footer-cell-border: var(--wx-table-border);--wx-table-cell-border: var(--wx-table-border);--wx-header-font-weight: 600;--wx-table-header-background: #f2f3f7;--wx-table-fixed-column-border: 3px solid #e6e6e6;--wx-table-editor-dropdown-border: var(--wx-table-border);--wx-table-editor-dropdown-shadow: 0px 4px 20px 0px rgba(44, 47, 60, .12);--wx-table-drag-over-background: var(--wx-background-alt);--wx-table-drag-zone-shadow: var(--wx-box-shadow)}.wx-willow-theme .wx-table-menu{box-shadow:0 4px 20px #2c2f3c1f;outline:1px solid #e6e6e6}.wx-willow-dark-theme{color-scheme:dark;--wx-table-select-background: #384047;--wx-table-select-color: var(--wx-color-font);--wx-table-border: var(--wx-border);--wx-table-select-border: inset 3px 0 var(--wx-color-primary);--wx-table-header-border: var(--wx-table-border);--wx-table-header-cell-border: var(--wx-table-border);--wx-table-footer-cell-border: var(--wx-table-border);--wx-table-cell-border: var(--wx-table-border);--wx-header-font-weight: 600;--wx-table-header-background: #20262b;--wx-table-fixed-column-border: 3px solid var(--wx-background-alt);--wx-table-editor-dropdown-border: var(--wx-border);--wx-table-editor-dropdown-shadow: 0px 4px 16px 0px rgba(0, 0, 0, .6);--wx-table-drag-over-background: var(--wx-background-alt);--wx-table-drag-zone-shadow: 0px 1px 2px var(--wx-background-hover), 0px 3px 10px var(--wx-background-hover)}.wx-willow-dark-theme .wx-table-menu{box-shadow:0 4px 16px #0009;outline:var(--wx-border)}.wx-at1A8tb8.wx-label{display:flex;align-items:center}.wx-at1A8tb8.wx-label.wx-active:not(.wx-disabled) .wx-at1A8tb8.wx-dropzone{background-color:var(--wx-background-alt)}.wx-at1A8tb8.wx-input{position:absolute;width:0;height:0;opacity:0}.wx-at1A8tb8.wx-dropzone{display:flex;align-items:center;justify-content:center;padding:var(--wx-padding);border:var(--wx-input-border);border-style:dashed;border-radius:var(--wx-input-border-radius);background:var(--wx-uploader-background)}.wx-at1A8tb8.wx-label:not(.wx-disabled) .wx-at1A8tb8.wx-action{cursor:pointer;color:var(--wx-color-link);text-decoration:underline}.wx-at1A8tb8.wx-label.wx-disabled .wx-at1A8tb8.wx-dropzone{background:var(--wx-color-disabled);color:var(--wx-color-font-disabled)}.wx-LT1A8tb8.wx-layout{display:flex;flex-direction:column;width:100%}.wx-LT1A8tb8.wx-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--wx-padding);border-bottom:var(--wx-border)}.wx-LT1A8tb8.wx-list{overflow:auto}.wx-LT1A8tb8.wx-row{display:flex;align-items:center;gap:var(--wx-padding);padding:var(--wx-padding);border-bottom:var(--wx-border)}.wx-LT1A8tb8.wx-name{flex:1 1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wx-LT1A8tb8.wx-icon{display:flex;justify-content:center;align-items:center;width:var(--wx-icon-size);height:var(--wx-icon-size);font-size:var(--wx-icon-size);line-height:1;border-radius:var(--wx-border-radius);color:var(--wx-icon-color);cursor:pointer}.wx-LT1A8tb8.wx-icon:before{display:block}.wx-LT1A8tb8.wx-icon:hover{background-color:var(--wx-background-hover)}.wx-LT1A8tb8.wx-row:hover .wxi-close{display:flex}.wx-LT1A8tb8.wx-row:hover .wxi-check,.wx-LT1A8tb8.wx-row:hover .wxi-alert,.wx-LT1A8tb8.wx-row .wxi-close{display:none}.wx-LT1A8tb8.wxi-check,.wx-LT1A8tb8.wxi-alert{display:flex}.wx-list.wx-gq7BMzEP{text-align:left;padding-left:20px;max-height:300px;overflow:auto}.wx-list li.wx-gq7BMzEP{font-weight:var(--wx-font-weight-md)}.wx-item.wx-GAOa4kDV{display:flex;flex-direction:column;width:210px;height:200px;margin:0 20px 20px 0;overflow:hidden;cursor:pointer;background-color:var(--wx-background);border-radius:6px;box-shadow:var(--wx-fm-box-shadow)}.wx-preview.wx-GAOa4kDV{display:flex;align-items:center;justify-content:center;flex-grow:1}.wx-preview.wx-GAOa4kDV i{font-size:105px;color:var(--wx-color-primary)}.wx-preview.wx-GAOa4kDV i:before{line-height:105px}.wx-file-preview.wx-GAOa4kDV .wx-card-preview.wx-GAOa4kDV{height:154px;width:100%}.wx-file-icon.wx-GAOa4kDV .wx-card-preview.wx-GAOa4kDV{height:100px;width:100px}.wx-selected.wx-GAOa4kDV{outline:1px solid var(--wx-color-primary)}.wx-info.wx-GAOa4kDV{display:flex;align-items:center;height:46px;padding:0 6px 3px 10px}.wx-folder-name.wx-GAOa4kDV{display:flex;flex-direction:column;flex-grow:1;max-width:80%}.wx-more.wx-GAOa4kDV{display:flex;padding:4px;line-height:1}.wx-more.wx-GAOa4kDV i{font-size:24px;width:24px;height:24px;color:var(--wx-icon-color)}.wx-more.wx-GAOa4kDV:hover{background-color:var(--wx-button-background);border-radius:50%}.wx-info.wx-GAOa4kDV .wx-type.wx-GAOa4kDV{color:var(--wx-color-font-alt);font-size:12px;height:18px}.wx-file-name.wx-GAOa4kDV{display:flex;align-items:center;flex-grow:1;max-width:160px;overflow:hidden;text-overflow:ellipsis}.wx-name.wx-GAOa4kDV{display:inline-block;font-size:14px;font-weight:var(--wx-font-weight-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wx-back-item.wx-GAOa4kDV{width:100%;margin:6px 0;font-size:12px;line-height:18px}.wx-back.wx-GAOa4kDV{display:flex;width:-moz-fit-content;width:fit-content;color:var(--wx-color-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.wx-back.wx-GAOa4kDV i{display:flex;align-items:center;margin-right:8px;font-size:20px}.wx-back.wx-GAOa4kDV i,.wx-back.wx-GAOa4kDV span{cursor:pointer}.wx-cards.wx-iyjASZCY{flex-grow:1;flex-wrap:wrap;height:100%;border-top:none;padding:30px 20px 10px;display:flex;align-items:flex-start;overflow-y:auto;align-content:flex-start;outline:none}.wx-cards.wx-has-back-link.wx-iyjASZCY{padding:0 20px 10px}.wx-not-found-text.wx-iyjASZCY{text-align:center;color:var(--wx-color-font-alt)}.wx-not-found.wx-iyjASZCY{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:100%}.wx-icon.wx-uwcvNSAG{display:flex;align-items:center;justify-content:center;height:38px;width:38px;font-size:var(--wx-icon-size);color:var(--wx-icon-color);border-radius:50%}.wx-icon.wx-clickable.wx-uwcvNSAG{cursor:pointer}.wx-icon.wx-clickable.wx-uwcvNSAG:hover{background-color:var(--wx-background-alt)}.wx-spin.wx-uwcvNSAG:before{color:var(--wx-color-primary);animation-name:spin;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wx-search.wx-GDJvtROw{display:flex;flex-direction:column;height:100%;max-height:100%;max-width:100%;flex-shrink:1;padding:0 10px 10px}.wx-toolbar.wx-GDJvtROw{flex:0 0 48px;display:flex;justify-content:flex-start;align-items:center;padding:0 12px;max-width:100%;background-color:var(--wx-background);border:1px solid var(--wx-border)}.wx-text.wx-GDJvtROw{font-size:16px}.wx-back-icon.wx-GDJvtROw{margin-right:4px}.wx-wrapper.wx-O0BTtRrH{height:100%;width:100%;cursor:default;padding:0 10px 10px}.wx-toolbar.wx-O0BTtRrH{flex:0 0 48px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;width:100%;background-color:var(--wx-background);border-radius:6px 6px 0 0;height:48px}.wx-toolbar.wx-O0BTtRrH .wx-name.wx-O0BTtRrH{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--wx-font-weight-md);font-size:16px}.wx-toolbar.wx-O0BTtRrH .wx-icons.wx-O0BTtRrH{display:flex}.wx-preview.wx-O0BTtRrH{display:flex;flex-direction:column;box-shadow:var(--wx-fm-box-shadow);height:60%;margin-bottom:10px;border-radius:6px}.wx-preview.wx-O0BTtRrH .wx-img-wrapper.wx-O0BTtRrH,.wx-preview.wx-O0BTtRrH .wx-icon-wrapper.wx-O0BTtRrH{border-top:none;flex-grow:1;border-radius:0 0 6px 6px}.wx-preview.wx-O0BTtRrH .wx-icon-wrapper.wx-O0BTtRrH{padding:20px}.wx-preview.wx-O0BTtRrH .wx-img-wrapper.wx-O0BTtRrH{height:calc(100% - 48px)}.wx-preview.wx-O0BTtRrH .wx-img-wrapper.wx-O0BTtRrH img{width:100%;height:100%;object-fit:cover}.wx-img-wrapper.wx-O0BTtRrH,.wx-icon-wrapper.wx-O0BTtRrH{background-color:var(--wx-background);display:flex;justify-content:center;align-items:center}.wx-icon.wx-O0BTtRrH{color:var(--wx-color-primary)}.wx-preview.wx-O0BTtRrH .wx-icon.wx-O0BTtRrH{font-size:105px}.wx-img-wrapper.wx-O0BTtRrH img.wx-O0BTtRrH{max-width:100%}.wx-info-panel.wx-O0BTtRrH{flex-grow:1;height:calc(40% - 10px);border-radius:6px;background-color:var(--wx-background);box-shadow:var(--wx-fm-box-shadow)}.wx-title.wx-O0BTtRrH{display:flex;border-bottom:var(--wx-fm-grid-border);font-weight:var(--wx-font-weight-md);align-items:center;justify-content:flex-start;padding:15px;font-size:16px}.wx-list.wx-O0BTtRrH{padding:14px;max-height:calc(100% - 51px);display:grid;grid-template-columns:minmax(40px,max-content) 1fr;grid-auto-rows:auto;grid-column-gap:25px;column-gap:25px;overflow-y:auto}.wx-list.wx-O0BTtRrH span.wx-O0BTtRrH{padding:6px}.wx-list.wx-O0BTtRrH .wx-name.wx-O0BTtRrH{font-size:14px;font-weight:var(--wx-font-weight-md);grid-column:1 / 2;min-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-list.wx-O0BTtRrH .wx-value.wx-O0BTtRrH{grid-column:2 / 3;padding:6px}.wx-no-info-panel.wx-O0BTtRrH{height:100%;width:100%;background-color:var(--wx-background);border-radius:6px;box-shadow:var(--wx-fm-box-shadow)}.wx-no-info-wrapper.wx-O0BTtRrH{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.wx-no-info.wx-O0BTtRrH{padding:5px;text-align:center}.wx-no-info.wx-O0BTtRrH .wx-icon-wrapper.wx-O0BTtRrH{min-height:120px}.wx-no-info.wx-O0BTtRrH .wx-icon.wx-O0BTtRrH{font-size:120px}.wx-no-info.wx-O0BTtRrH .wx-text.wx-O0BTtRrH{font-size:var(--wx-font-size);line-height:var(--wx-line-height);font-weight:var(--wx-font-weight-md);text-align:center}.wx-breadcrumbs.wx-SNY5LTYx{flex:0 0 48px;display:flex;justify-content:flex-start;align-items:center;padding:0 4px;max-width:100%;border-radius:6px 6px 0 0;background-color:var(--wx-background);font-size:16px;overflow:hidden}.wx-refresh-icon.wx-SNY5LTYx{margin-right:4px}.wx-item.wx-SNY5LTYx{cursor:pointer;font-size:16px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-item.wx-SNY5LTYx:hover{color:var(--wx-color-primary)}.wx-name-cell.wx-qgAqG6sL{padding:0 4px;display:flex;align-items:center;height:100%;overflow:hidden;flex-shrink:0;text-overflow:clip}.wx-qgAqG6sL i,.wx-icon.wx-qgAqG6sL{margin-right:10px;display:flex;align-items:center}.wx-qgAqG6sL i{font-size:24px;color:var(--wx-color-primary)}.wx-name.wx-qgAqG6sL{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-upload-area.wx-LT9X7tb7{height:100%}.wx-upload-area.wx-active.wx-LT9X7tb7{background:var(--wx-color-primary-selected)}.wx-wrapper.wx-SSaVhET7{display:flex;flex-direction:column;height:100%;max-height:100%;max-width:100%;box-shadow:var(--wx-fm-box-shadow);border-radius:6px}.wx-list.wx-SSaVhET7{height:calc(100% - 50px)}.wx-list.wx-SSaVhET7>.wx-upload-area .wx-grid{--wx-table-cell-border: var(--wx-fm-grid-border);--wx-table-header-border: var(--wx-fm-grid-border);--wx-table-header-cell-border: var(--wx-fm-grid-border)}.wx-list.wx-SSaVhET7>.wx-upload-area .wx-body .wx-each-cell{border-right:none}.wx-list.wx-SSaVhET7>.wx-upload-area .wx-header .wx-cell:first-child .wx-text{padding:0 6px}.wx-list.wx-SSaVhET7>.wx-upload-area .wx-table{border-radius:0 0 6px 6px}.wx-list.wx-active.wx-SSaVhET7>.wx-upload-area .wx-grid,.wx-list.wx-SSaVhET7>.wx-upload-area.wx-active .wx-grid{--wx-table-cell-border: 1px solid var(--wx-color-primary)}.wx-list.wx-active.wx-SSaVhET7>.wx-upload-area .wx-row{--wx-table-cell-border: var(--wx-fm-grid-border)}.wx-list.wx-SSaVhET7>.wx-upload-area.wx-active .wx-row{background:var(--wx-color-primary-selected);--wx-table-cell-border: 1px solid var(--wx-color-primary-selected)}.wx-list.wx-SSaVhET7>.wx-upload-area .wx-grid .wx-cell{outline:none}.wx-list.wx-SSaVhET7>.wx-upload-area{border-right:1px solid transparent}.wx-panels.wx-L55BfJa2{display:flex;width:100%;max-width:100%;height:100%}.wx-item.wx-L55BfJa2{flex-grow:1;flex-shrink:0;width:calc(50% - 10px)}.wx-item.wx-L55BfJa2:first-child{margin-right:10px}.wx-folder.wx-NYfhvGIt{display:flex;align-items:center;cursor:default;letter-spacing:.2px;width:100%;height:32px;vertical-align:top;white-space:nowrap;position:relative}.wx-selected.wx-NYfhvGIt{background-color:var(--wx-fm-select-background)}i.wx-NYfhvGIt{font-size:22px;margin-right:8px;max-height:100%;color:var(--wx-color-primary)}.wx-toggle.wx-NYfhvGIt{cursor:pointer;color:var(--wx-icon-color);font-size:24px;margin-right:-2px}.wx-toggle-placeholder.wx-NYfhvGIt{width:23px;flex-shrink:0}.wx-name.wx-NYfhvGIt{padding-right:8px}ul.wx-LyHJ6R6A{padding:0;margin:0;height:100%;min-width:100%;width:-moz-fit-content;width:fit-content}.wx-drive.wx-DetSyKGG{display:flex;flex-direction:column;justify-content:center;padding:8px}.wx-progress.wx-DetSyKGG{width:100%;height:8px;border-radius:20px;background-color:var(--wx-button-background);border:none}.wx-progress.wx-DetSyKGG[value]::-webkit-progress-bar{border-radius:20px;background-color:var(--wx-fm-progress-bar-color)}.wx-progress.wx-DetSyKGG[value]::-moz-progress-bar{background-color:var(--wx-color-primary);border-radius:10px}.wx-progress.wx-DetSyKGG[value]::-webkit-progress-value{background-color:var(--wx-color-primary);border-radius:10px}.wx-drive.wx-DetSyKGG p{margin:20px 0}.wx-upload-button.wx-9XiKcxq5{width:100%}.wx-wrapper.wx-FlucfALM{display:flex;flex-direction:column;height:100%;background-color:var(--wx-background);border-radius:6px;box-shadow:var(--wx-fm-box-shadow)}.wx-button.wx-FlucfALM{padding:8px 8px 0}.wx-tree.wx-FlucfALM{padding-top:8px;flex-grow:1;overflow-x:auto}.wx-search-input.wx-lUZMtgT1{position:relative;width:100%;height:30px}.wx-icon.wx-lUZMtgT1{display:flex;justify-content:center;align-items:center;position:absolute;top:4px;bottom:4px;right:1px;width:25px;color:#94a1b3;font-size:20px;cursor:pointer}.wx-text.wx-lUZMtgT1{display:block;width:100%;height:30px;padding-left:12px;border:var(--wx-border);outline:none;background-color:var(--wx-background);border-radius:2px}.wx-text.wx-lUZMtgT1::placeholder{color:#94a1b3}.wx-text.wx-lUZMtgT1:focus{border:1px solid var(--wx-color-primary)}.wx-toolbar.wx-5PZQQztG{height:var(--wx-fm-toolbar-height);display:flex;justify-content:space-between;align-items:center;padding:0 12px;max-width:100%;background-color:var(--wx-background);box-shadow:var(--wx-fm-box-shadow);gap:8px}.wx-left.wx-5PZQQztG,.wx-right.wx-5PZQQztG{display:flex}.wx-left.wx-5PZQQztG{align-items:center;width:35%;justify-content:space-between}.wx-left-narrow.wx-5PZQQztG{width:70%}.wx-name.wx-5PZQQztG{margin-right:20px;font-size:16px;font-weight:var(--wx-font-weight-md)}.wx-sidebar-icon.wx-5PZQQztG{margin-right:20px}.wx-preview-icon.wx-5PZQQztG{display:flex;justify-content:center;align-items:center;margin-right:20px;--wx-button-icon-size: 22px;--wx-button-line-height: 25px;--wx-button-padding: 4px 10px;--wx-button-border-radius: 6px}.wx-preview-icon.wx-5PZQQztG i.wx-5PZQQztG{position:relative;display:inline-block;vertical-align:top;font-size:var(--wx-button-icon-size);line-height:1;height:var(--wx-button-line-height)}.wx-preview-icon.wx-5PZQQztG i.wx-5PZQQztG:before{display:block;position:relative;top:50%;transform:translateY(-50%);color:var(--wx-fm-button-font-color)}.wx-modes.wx-5PZQQztG{--wx-button-font-color: var(--wx-fm-button-font-color);--wx-segmented-padding: 1.5px;--wx-segmented-background-hover: linear-gradient( rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .1) 100% );--wx-button-icon-size: 22px;--wx-segmented-border-radius: 6px;--wx-segmented-border: none}.wx-wrapper.wx-NwohNJzN{display:flex;flex-direction:column;height:100%;max-height:100%;max-width:100%;flex-shrink:1}.wx-wrapper.wx-NwohNJzN>.wx-upload-area{height:calc(100% - 48px)}.wx-wrapper.wx-NwohNJzN>.wx-upload-area{overflow-y:auto;border:1px solid transparent;border-radius:0 0 6px 6px}.wx-wrapper.wx-NwohNJzN>.wx-upload-area.wx-active{border:1px solid var(--wx-color-primary)}.wx-flex.wx-RJbNonjJ{display:flex;width:100%}.wx-filemanager.wx-RJbNonjJ{max-width:100vw;max-height:100vh;overflow:hidden;background-color:var(--wx-fm-background);flex-direction:column;height:100%}.wx-content.wx-RJbNonjJ{flex-grow:1;display:flex;flex-shrink:0}.wx-content-item-fit{width:100%;padding:0 10px 10px}.wx-content-item{width:67%;min-width:0;overflow:hidden;padding:0 10px 10px}.wx-content-wrapper.wx-RJbNonjJ{margin-top:10px;max-width:100%;max-height:100%;position:relative}.wx-info.wx-RJbNonjJ{width:38%}.wx-sidebar.wx-RJbNonjJ{flex:0 0 auto;width:238px;padding:0 10px 10px;height:100%}.wx-sidebar-narrow{position:absolute!important;z-index:5;left:-300px;transition-duration:.6s}.wx-sidebar-visible{left:0}.wx-info-narrow.wx-RJbNonjJ{width:100%;height:100%;padding-top:10px}.wx-filemanager.wx-RJbNonjJ>div[data-menu-ignore=true]{height:100%;width:100%}.wx-filemanager.wx-RJbNonjJ>span[data-menu-ignore=true],.wx-filemanager.wx-RJbNonjJ>span[data-menu-ignore=true]>span[data-menu-ignore=true]{min-height:0;height:100%;width:100%;display:flex}.wx-material-theme{--wx-theme-name: material;--wx-fm-background: #f2f3f7;--wx-fm-box-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-fm-select-background: rgba(0, 0, 0, .06);--wx-fm-grid-border: 1px solid #ededf1;--wx-fm-grid-header-color: #fafafb;--wx-fm-button-font-color: #9fa1ae;--wx-fm-toolbar-height: 56px}.wx-willow-theme{--wx-theme-name: willow;--wx-fm-background: #f2f3f7;--wx-fm-box-shadow: 0px 1px 2px rgba(44, 47, 60, .06), 0px 3px 10px rgba(44, 47, 60, .12);--wx-fm-select-background: #eaedf5;--wx-fm-grid-border: 1px solid #ededf1;--wx-fm-grid-header-color: #fafafb;--wx-fm-button-font-color: #9fa1ae;--wx-fm-toolbar-height: 56px}.wx-willow-dark-theme{--wx-theme-name: willow-dark;color-scheme:dark;--wx-fm-background: #2b343b;--wx-fm-box-shadow: none;--wx-fm-select-background: #384047;--wx-fm-grid-border: 1px solid #384047;--wx-fm-grid-header-color: var(--wx-background);--wx-fm-button-font-color: #9fa1ae;--wx-fm-toolbar-height: 56px}

/*!****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/core.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************/
/* === reset largeur / hauteur === */
html,
body,
#root {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-y: hidden;
}

html,
body,
.app-root {
  text-size-adjust: 100%;
}

:root {
  --sp-theme-bg-app: #b3b3b3;
  --sp-theme-text-primary: #111111;
  --sp-theme-text-on-header: #f2f2f2;
  --sp-theme-header-bg: #000000;
  --sp-theme-panel-bg: #b3b3b3;
  --sp-theme-card-bg: #d9d9d9;
  --sp-theme-card-border: #000000;
  --sp-theme-card-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  --sp-ui-surface: #ffffff;
  --sp-ui-surface-soft: #f8fafc;
  --sp-ui-text: #111111;
  --sp-ui-text-muted: #6b7280;
  --sp-ui-border: #d1d5db;
  --sp-ui-overlay: rgba(17, 24, 39, 0.55);
  --sp-ui-input-bg: #ffffff;
  --sp-ui-input-border: #000000;
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: #ffffff;
  --sp-ui-modal-bg: #f2f2f2;
  --sp-ui-modal-border: #000000;
  --sp-ui-btn-neutral-bg: #d0d0d0;
  --sp-ui-danger-text: #b00000;
}

.theme-light {
  --sp-theme-bg-app: #b3b3b3;
  --sp-theme-text-primary: #111111;
  --sp-theme-text-on-header: #f2f2f2;
  --sp-theme-header-bg: #000000;
  --sp-theme-panel-bg: #b3b3b3;
  --sp-theme-card-bg: #d9d9d9;
  --sp-theme-card-border: #000000;
  --sp-theme-card-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  --sp-ui-surface: #ffffff;
  --sp-ui-surface-soft: #f8fafc;
  --sp-ui-text: #111111;
  --sp-ui-text-muted: #6b7280;
  --sp-ui-border: #d1d5db;
  --sp-ui-overlay: rgba(17, 24, 39, 0.55);
  --sp-ui-input-bg: #ffffff;
  --sp-ui-input-border: #000000;
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: #ffffff;
  --sp-ui-modal-bg: #f2f2f2;
  --sp-ui-modal-border: #000000;
  --sp-ui-btn-neutral-bg: #d0d0d0;
  --sp-ui-danger-text: #b00000;
}

.theme-dark {
  --sp-theme-bg-app: #0f141a;
  --sp-theme-text-primary: #e6ebf2;
  --sp-theme-text-on-header: #f5f7fb;
  --sp-theme-header-bg: #101820;
  --sp-theme-panel-bg: #161d26;
  --sp-theme-card-bg: #1d2733;
  --sp-theme-card-border: #2f3a48;
  --sp-theme-card-shadow: 0 12px 26px rgba(0, 0, 0, 0.5);
  --sp-ui-surface: #1f2a36;
  --sp-ui-surface-soft: #273443;
  --sp-ui-text: #e6edf7;
  --sp-ui-text-muted: #aab7c7;
  --sp-ui-border: #3a4a5d;
  --sp-ui-overlay: rgba(7, 12, 18, 0.72);
  --sp-ui-input-bg: #19232e;
  --sp-ui-input-border: #44566d;
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: #ffffff;
  --sp-ui-modal-bg: #1f2a36;
  --sp-ui-modal-border: #44566d;
  --sp-ui-btn-neutral-bg: #243241;
  --sp-ui-danger-text: #ff9a9a;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Ubuntu", sans-serif;
  background: var(--sp-theme-bg-app);
  color: var(--sp-theme-text-primary);
  overflow-x: auto;
}

:root {
  --sp-grid-header-h: 46px;
  --sp-header-h: 46px;
  --sp-main-pad: 0.6rem;
  --sp-color-validation-bg: #39ff14;
  --sp-color-validation-text: #003b00;
  --sp-color-danger-bg: #ff3b30;
  --sp-color-danger-text: #ffffff;
  --sp-color-accent-orange: #ff6a00;
  --sp-scrollbar-line: rgba(255, 106, 0, 0.32);
  --sp-scrollbar-dot: var(--sp-color-accent-orange);

  /* Official UI tokens: aliases of existing validated StonePilot values. */
  --sp-color-accent: #ff6a00;
  --sp-color-bg-app: #b3b3b3;
  --sp-color-bg-panel: #b3b3b3;
  --sp-color-bg-card: #d9d9d9;
  --sp-color-bg-header: #000000;
  --sp-color-bg-control: #d0d0d0;
  --sp-color-bg-control-dark: #0a0a0a;
  --sp-color-surface: #ffffff;
  --sp-color-surface-soft: #f8fafc;
  --sp-color-text: #111111;
  --sp-color-text-muted: #6b7280;
  --sp-color-text-inverse: #ffffff;
  --sp-color-border: #d1d5db;
  --sp-color-border-strong: #000000;
  --sp-color-overlay: rgba(17, 24, 39, 0.55);
  --sp-radius-sm: 6px;
  --sp-radius-md: 8px;
  --sp-radius-lg: 14px;
  --sp-radius-pill: 999px;
  --sp-shadow-card: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  --sp-shadow-nav: inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22);
  --sp-shadow-modal: 0 24px 64px rgba(0, 0, 0, 0.55);
  --sp-title-1-size: 1.575rem;
  --sp-title-1-letter-spacing: 0.32rem;
  --sp-title-1-font-weight: 800;
  --sp-common-content-title-size: 1.8rem;
  --sp-common-content-title-line-height: 1.05;
  --sp-common-content-title-font-weight: 900;
  --sp-common-content-title-row-padding: 0 0 0.7rem;
  --sp-common-content-title-divider: rgba(255, 255, 255, 0.12);
  --sp-common-content-body-gap: 0.35rem;
  --sp-text-sm: 0.68rem;
  --sp-text-md: 0.85rem;
  --sp-text-lg: 0.95rem;
  --sp-space-page-y: 0.6rem;
  --sp-space-page-x: 0.5rem;
  --sp-space-page-gap: 0.75rem;
  --sp-space-l1-gap: 0.85rem;
  --sp-space-card-pad: 0.75rem;
  --sp-space-modal-pad: 18px 18px 16px;
  --sp-button-pad-y: 0.35rem;
  --sp-button-pad-x: 0.9rem;
  --sp-button-font-size: 0.85rem;
  --sp-icon-size-md: 16px;
  --sp-input-padding: 0.35rem 0.45rem;
  --sp-input-font-size: 0.95rem;
  --sp-l1-nav-width: 196px;
  --sp-l1-nav-rail-width: 66px;
  --sp-modal-width-md: 460px;
  --sp-z-header: 30;
  --sp-z-modal: 1000;
  --sp-breakpoint-desktop: 901px;
  --sp-breakpoint-min-app: 1100px;
}

/* Common UI aliases: existing StonePilot visual values, no legacy class replacement yet. */
.sp-btn {
  padding: 0.3rem 0.7rem;
  border: 1px solid #000000;
  border-radius: 6px;
  background: #ffffff;
  color: #111111;
  cursor: pointer;
  font-weight: 700;
}

.sp-btn--primary {
  padding: 0.35rem 0.8rem;
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  font-weight: 800;
}

.sp-btn--neutral {
  padding: 0.3rem 0.7rem;
  background: #ffffff;
  color: #111111;
}

.sp-btn--secondary {
  padding: 0.3rem 0.6rem;
  border-color: var(--sp-ui-input-border);
  background: var(--sp-ui-btn-neutral-bg);
  color: var(--sp-ui-text);
}

.sp-btn--danger {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.sp-btn--compact {
  position: relative;
  min-height: 20px;
  padding: 0 0.18rem;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 20px;
  text-decoration: none;
}

.sp-btn--danger.sp-btn--compact {
  color: inherit;
}

.sp-btn--compact::after {
  content: "";
  position: absolute;
  left: 12.5%;
  right: 12.5%;
  bottom: 1px;
  height: 1px;
  background: currentColor;
  pointer-events: none;
}

.sp-btn--compact:hover,
.sp-btn--compact:active {
  background: transparent;
  border-color: transparent;
}

.sp-btn--compact:focus-visible {
  outline: 2px solid var(--sp-color-accent-orange);
  outline-offset: 2px;
}

.app-root.compact-root .sp-action-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  flex-wrap: wrap;
}

.app-root.compact-root .sp-action-row > .sp-btn {
  display: inline-flex;
  align-items: center;
  flex: 1 1 8.5rem;
  min-width: 0;
  justify-content: center;
  text-align: center;
}

.app-root.compact-root .sp-action-row > .sp-btn:only-child {
  flex: 0 1 14rem;
}

.app-root.compact-root .sp-action-row--compact {
  column-gap: 0.45rem;
  row-gap: 0.08rem;
  justify-content: space-evenly;
}

.app-root.compact-root .sp-action-row--compact > .sp-btn {
  flex: 0 1 auto;
}

.app-root.compact-root .sp-action-stack {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  width: 100%;
}

.app-root.compact-root .sp-action-stack > .sp-btn {
  display: inline-flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  text-align: center;
}

.sp-toggle {
  min-height: 32px;
  padding: 0.28rem 0.72rem;
  border: 2px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1;
  opacity: 0.42;
  text-transform: uppercase;
}

.sp-toggle.active,
.sp-toggle.is-active,
.sp-toggle.is-on {
  border-color: var(--sp-color-accent-orange);
  background: rgba(0, 0, 0, 0.18);
  box-shadow: none;
  color: #ffffff;
  opacity: 1;
}

.sp-toggle:hover {
  opacity: 0.85;
}

.sp-toggle.active:hover,
.sp-toggle.is-active:hover,
.sp-toggle.is-on:hover {
  opacity: 1;
}

.sp-toggle:disabled {
  cursor: not-allowed;
}

.sp-tabs {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 0 auto;
  gap: 0.5rem;
  padding: 0 0.2rem;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--sp-tabs-bg, var(--sp-local-card-bg, var(--sp-theme-card-bg, #d9d9d9)));
  background-clip: padding-box;
}

.sp-tab {
  padding: 0.35rem 0.9rem;
  font-size: 0.85rem;
  border-radius: 6px;
  border: 1px solid #000000;
  background: #d0d0d0;
  color: #111111;
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.06rem;
  font-weight: 700;
}

.sp-tab.active,
.sp-tab.is-active {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 143, 42, 0.24);
  color: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(255, 143, 42, 0.95);
}

.sp-tab:hover:not(.active):not(.is-active) {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.sp-card {
  --sp-local-card-bg: var(--sp-theme-card-bg);

  background: #d9d9d9;
  border: 0;
  border-radius: 14px;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  padding: 0.75rem;
  overflow: hidden;
  overflow-y: auto;
  flex: 1 1;
  min-height: 0;
}

.app-root.compact-root .sp-card {
  box-shadow: inset 0 0 0 6px #000000, inset 0 0 0 12px #808080, 0 10px 18px rgba(0, 0, 0, 0.25);
}

.sp-card--plain {
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
}

.app-root:not(.compact-root) .sp-common-view {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.app-root:not(.compact-root) .sp-common-view__header {
  flex: 0 0 auto;
  padding: var(--sp-common-content-title-row-padding);
  border-bottom: 1px solid var(--sp-common-content-title-divider);
}

.app-root:not(.compact-root) .sp-common-view__title {
  font-size: var(--sp-common-content-title-size);
  line-height: var(--sp-common-content-title-line-height);
  font-weight: var(--sp-common-content-title-font-weight);
}

.app-root:not(.compact-root) .sp-common-view__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.sp-input {
  width: 100%;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 0.95rem;
  box-sizing: border-box;
}

.sp-select {
  padding: 0.25rem 0.4rem;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.sp-modal {
  width: min(100%, 460px);
  position: relative;
  background: var(--sp-theme-card-bg);
  color: var(--sp-theme-text-primary);
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  padding: 18px 18px 16px;
}

.sp-modal--wide {
  width: min(760px, calc(100vw - 2rem));
}

.sp-modal--history {
  width: min(1180px, calc(100vw - 2rem));
}

.sp-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.sp-alert {
  padding: 0.5rem 0.65rem;
  border-radius: 7px;
  font-size: 0.72rem;
  font-weight: 800;
}

.sp-alert--success {
  border: 1px solid rgba(34, 197, 94, 0.36);
  background: rgba(34, 197, 94, 0.13);
  color: #bbf7d0;
}

.sp-alert--error {
  border: 1px solid rgba(244, 63, 94, 0.38);
  background: rgba(244, 63, 94, 0.13);
  color: #fecdd3;
}

.sp-module {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.6rem 0.5rem;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
}

.sp-module__eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  opacity: 0.72;
}

.sp-section-title {
  margin: 0;
  color: #ffffff;
  font-size: 0.86rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
}

.sp-empty-state {
  padding: 0.9rem;
  color: rgba(226, 232, 240, 0.74);
  font-weight: 700;
}

.sp-loading {
  margin-top: 0.65rem;
  font-size: 0.9rem;
  color: var(--sp-ui-text);
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--sp-scrollbar-dot) transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: linear-gradient(
    to right,
    transparent 0 4px,
    var(--sp-scrollbar-line) 4px 5px,
    transparent 5px 100%
  );
}

*::-webkit-scrollbar-track:horizontal {
  background: linear-gradient(
    to bottom,
    transparent 0 4px,
    var(--sp-scrollbar-line) 4px 5px,
    transparent 5px 100%
  );
}

*::-webkit-scrollbar-thumb {
  min-height: 28px;
  min-width: 28px;
  border: 0;
  border-radius: 999px;
  background: radial-gradient(circle, var(--sp-scrollbar-dot) 0 3px, transparent 3.5px) center / 10px 18px no-repeat;
}

*::-webkit-scrollbar-thumb:hover {
  background:
    radial-gradient(circle, #ff8a2b 0 3.5px, transparent 4px) center / 10px 18px no-repeat,
    linear-gradient(to right, transparent 0 4px, rgba(255, 106, 0, 0.55) 4px 5px, transparent 5px 100%);
}

*::-webkit-scrollbar-thumb:horizontal:hover {
  background:
    radial-gradient(circle, #ff8a2b 0 3.5px, transparent 4px) center / 18px 10px no-repeat,
    linear-gradient(to bottom, transparent 0 4px, rgba(255, 106, 0, 0.55) 4px 5px, transparent 5px 100%);
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

.app-root.is-stone-piloter {
  --sp-access-stone-bg: #15803d;
  --sp-access-stone-border: #22c55e;
  --sp-access-stone-text: #ffffff;
  --sp-access-marbrier-bg: var(--sp-color-accent-orange);
  --sp-access-marbrier-border: #ffb15f;
  --sp-access-marbrier-text: #111111;
  --sp-access-shared-bg: #12335f;
  --sp-access-shared-border: #2f5f9f;
  --sp-access-shared-text: #ffffff;
  --sp-access-prescripteur-bg: #38bdf8;
  --sp-access-prescripteur-border: #7dd3fc;
  --sp-access-prescripteur-text: #06243b;
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-stone,
  button.compact-menu-item.sp-access-stone,
  .toggle-btn.sp-access-stone,
  .admin-tab.sp-access-stone,
  .extranet-nav__item.sp-access-stone
) {
  background: var(--sp-access-stone-bg);
  border-color: var(--sp-access-stone-border);
  color: var(--sp-access-stone-text);
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-marbrier,
  button.compact-menu-item.sp-access-marbrier,
  .toggle-btn.sp-access-marbrier,
  .admin-tab.sp-access-marbrier,
  .extranet-nav__item.sp-access-marbrier
) {
  background: var(--sp-access-marbrier-bg);
  border-color: var(--sp-access-marbrier-border);
  color: var(--sp-access-marbrier-text);
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-shared,
  button.compact-menu-item.sp-access-shared,
  .toggle-btn.sp-access-shared,
  .admin-tab.sp-access-shared,
  .extranet-nav__item.sp-access-shared
) {
  background: var(--sp-access-shared-bg);
  border-color: var(--sp-access-shared-border);
  color: var(--sp-access-shared-text);
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-prescripteur,
  button.compact-menu-item.sp-access-prescripteur,
  .toggle-btn.sp-access-prescripteur,
  .admin-tab.sp-access-prescripteur,
  .extranet-nav__item.sp-access-prescripteur,
  .extranet-nav__toggle.sp-access-prescripteur
) {
  background: var(--sp-access-prescripteur-bg);
  border-color: var(--sp-access-prescripteur-border);
  color: var(--sp-access-prescripteur-text);
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-stone,
  button.sp-access-marbrier,
  button.sp-access-shared,
  button.sp-access-prescripteur,
  button.compact-menu-item[class*="sp-access-"],
  .toggle-btn.sp-access-stone,
  .toggle-btn.sp-access-marbrier,
  .toggle-btn.sp-access-shared,
  .toggle-btn.sp-access-prescripteur,
  .extranet-nav__item[class*="sp-access-"]
):is(:hover, .active, .is-active) {
  filter: brightness(1.08);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.18);
}

.app-root.is-stone-piloter.is-access-color-enabled :is(
  button.sp-access-stone,
  button.sp-access-marbrier,
  button.sp-access-shared,
  button.sp-access-prescripteur,
  button.compact-menu-item[class*="sp-access-"],
  .toggle-btn[class*="sp-access-"],
  .extranet-nav__item[class*="sp-access-"]
):disabled {
  opacity: 0.55;
  filter: grayscale(0.18);
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/layout.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/* === structure globale === */
.app-root {
  height: 100%;
  min-width: 1100px;
  width: max(100%, 1100px);
  display: flex;
  flex-direction: column;
}

.sp-initial-load-overlay {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.5);
}

.sp-initial-load-card {
  width: min(80vw, calc(100vw - 2rem));
  width: min(80dvw, calc(100dvw - 2rem));
  border: 2px solid var(--sp-color-accent-orange);
  background: rgba(16, 24, 32, 0.96);
  color: var(--sp-theme-text-on-header);
  border-radius: 10px;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.45);
  padding: 1rem 1.1rem;
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
}

.sp-initial-load-title {
  font-size: clamp(2.1rem, 2.5vw, 2.7rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sp-initial-load-message {
  font-size: clamp(1.9rem, 2.1vw, 2.1rem);
  color: #d7e0eb;
}

.sp-initial-load-message.is-waiting-server {
  color: #ffd089;
  animation: sp-initial-load-blink 0.95s ease-in-out infinite;
}

.sp-initial-load-bar-track {
  height: 12px;
  width: 100%;
  border-radius: 999px;
  border: 1px solid #6d421f;
  background: #1b2633;
  overflow: hidden;
}

.sp-initial-load-overlay--affaires .sp-initial-load-bar-track {
  height: 6px;
}

.sp-initial-load-bar-fill {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #c86425 0%, var(--sp-color-accent-orange) 100%);
  transition: width 220ms ease-out;
}

.sp-initial-load-bar-track.is-indeterminate .sp-initial-load-bar-fill {
  width: 34%;
  min-width: 76px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--sp-color-accent-orange), rgba(255, 255, 255, 0));
  animation: sp-initial-load-indeterminate 1.05s ease-in-out infinite;
  transform: translateX(-120%);
  transition: none;
}

@keyframes sp-initial-load-indeterminate {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(320%);
  }
}

.sp-initial-load-percent {
  justify-self: end;
  font-weight: 800;
  color: var(--sp-color-accent-orange);
  font-size: 1.9rem;
}

.sp-initial-load-refresh {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 139;
  pointer-events: none;
  background: rgba(16, 24, 32, 0.9);
  color: var(--sp-theme-text-on-header);
  box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.18);
}

.sp-initial-load-refresh__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.18rem 0.65rem 0.14rem;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.sp-initial-load-refresh__track {
  height: 3px;
  width: 100%;
  background: rgba(255, 255, 255, 0.18);
  overflow: hidden;
}

.sp-initial-load-refresh__fill {
  height: 100%;
  width: 0;
  background: var(--sp-color-accent-orange);
  transition: width 220ms ease-out;
}

.sp-initial-load-refresh--error {
  background: rgba(64, 20, 20, 0.92);
}

.sp-initial-load-refresh--error .sp-initial-load-refresh__fill {
  background: #ff6b6b;
}

.app-root:not(.compact-root) .sp-initial-load-card {
  width: min(40vw, 520px);
  padding: 0.65rem 0.75rem;
  gap: 0.35rem;
}

.app-root:not(.compact-root) .sp-initial-load-title {
  font-size: clamp(1.05rem, 1.25vw, 1.35rem);
  letter-spacing: 0.02em;
}

.app-root:not(.compact-root) .sp-initial-load-message {
  font-size: clamp(0.92rem, 1vw, 1.05rem);
}

.app-root:not(.compact-root) .sp-initial-load-bar-track {
  height: 6px;
}

.app-root:not(.compact-root) .sp-initial-load-percent {
  font-size: 0.95rem;
}

.sp-inline-load-overlay {
  position: fixed;
  inset: auto 1rem 1rem 1rem;
  z-index: 135;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.sp-initial-load-card--inline {
  width: min(28rem, calc(100vw - 2rem));
  width: min(28rem, calc(100dvw - 2rem));
  padding: 0.75rem 0.9rem;
  gap: 0.35rem;
  border-radius: 12px;
  background: rgba(16, 24, 32, 0.98);
}

.sp-initial-load-title--inline {
  font-size: clamp(1rem, 1.1vw, 1.2rem);
}

.app-blur-popup-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  padding: 24px;
  margin: 0;
  display: grid;
  place-items: center;
  background: rgba(7, 12, 18, 0.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1700;
  box-sizing: border-box;
}

.app-blur-popup {
  position: relative;
  width: min(100%, 460px);
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--sp-theme-card-border);
  border-radius: 14px;
  background: var(--sp-theme-card-bg);
  color: var(--sp-theme-text-primary);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.36);
  box-sizing: border-box;
}

.app-blur-popup--sm {
  width: min(100%, 360px);
}

.app-blur-popup--md {
  width: min(100%, 460px);
}

.app-blur-popup--lg {
  width: min(100%, 720px);
}

.app-blur-popup--full {
  width: calc(100vw - 48px);
  height: calc(100vh - 48px);
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
}

@keyframes sp-initial-load-blink {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.42;
  }
}

/* Bandeau du haut */
.app-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--sp-theme-header-bg);
  min-height: 46px;
  padding: 0 0.7rem;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 1.6fr) minmax(220px, 1fr);
  align-items: center;
  border-bottom: 2px solid var(--sp-color-accent-orange);
  box-sizing: border-box;
  width: 100%;
  position: relative;
  grid-gap: 0.3rem clamp(0.2rem, 0.35vw, 0.35rem);
  gap: 0.3rem clamp(0.2rem, 0.35vw, 0.35rem);
  --sp-header-center-row-h: 30px;
  --sp-header-center-row-gap: clamp(0.2rem, 0.6vw, 0.5rem);
}

.app-header-left {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  gap: clamp(0.25rem, 0.6vw, 0.5rem);
  justify-self: start;
  min-width: 220px;
}

.header-week-left {
  flex: 0 0 auto;
  font-size: 0.82rem;
  color: var(--sp-theme-text-on-header);
  letter-spacing: 0;
  white-space: nowrap;
  line-height: 1;
}

.app-header h1 {
  font-size: clamp(1rem, 1.5vw, 1.5rem);
  font-weight: 700;
  margin: 0;
  color: var(--sp-theme-text-on-header);
  white-space: nowrap;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-header-brand {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.8vw, 0.7rem);
  min-width: 0;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.app-header-user-name {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  white-space: normal;
  line-height: 1.05;
  max-width: 8ch;
}

.app-header-user-block {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  line-height: 1;
}

.app-header-user-role {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-header-user-name-line {
  display: block;
}

.app-header-device-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--sp-theme-text-on-header);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.app-header-logo {
  display: block;
  width: clamp(48px, 5vw, 84px);
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

.app-header-center {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-self: stretch;
  align-self: center;
  flex: 1 1;
  min-width: 0;
  overflow: hidden;
  padding-inline: 0.25rem;
}

.app-header-right {
  font-size: 0.95rem;
  color: var(--sp-theme-text-on-header);
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: clamp(0.25rem, 0.7vw, 0.75rem);
  justify-self: end;
  min-width: 220px;
}

.header-logout {
  margin-left: 0.5rem;
}

.theme-toggle-btn {
  margin-right: 0.25rem;
  white-space: nowrap;
}

.header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(0.2rem, 0.6vw, 0.5rem);
  justify-content: center;
  align-items: center;
  min-width: 0;
}

.header-week-search {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 0 1 auto;
  min-width: 0;
}

/* Zone centrale : blocs empilés */
.app-main {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: var(--sp-main-pad) 0.5rem;
  width: 100%;
  box-sizing: border-box;
  align-items: stretch;
  position: relative;
  height: calc(100% - var(--sp-header-h, 64px));
  min-height: 0;
  overflow: hidden;
}

.header-actions-stack {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  width: 100%;
  justify-items: stretch;
}

/* Bouton masquer/afficher */
.toggle-btn {
  margin-left: 0.5rem;
  padding: 0.3rem 0.8rem;
  font-size: 0.8rem;
  border-radius: 6px;
  border: 1px solid var(--sp-color-accent-orange);
  background: #0a0a0a;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.15s ease;
}

.header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-header-center-row-gap);
  margin-right: 0;
  align-content: flex-start;
  width: 100%;
  max-height: calc(
    (var(--sp-header-center-row-h) * 2) + var(--sp-header-center-row-gap)
  );
  overflow: hidden;
}

.header-first-setup-alert {
  border-color: var(--sp-color-accent-orange) !important;
  background: #7f1111 !important;
  color: #ffffff !important;
  font-weight: 800;
  white-space: nowrap;
}

.header-first-setup-alert:hover,
.header-first-setup-alert:focus-visible {
  background: var(--sp-color-accent-orange) !important;
  color: #0a0a0a !important;
}

.title-actions {
  display: flex;
  gap: 0.5rem;
  margin-right: 0.75rem;
}

.toggle-btn,
.title-btn {
  padding: clamp(0.2rem, 0.45vw, 0.3rem) clamp(0.45rem, 0.9vw, 0.8rem);
  font-size: clamp(0.72rem, 0.8vw, 0.8rem);
  line-height: 1.1;
  border-radius: 6px;
  border: 1px solid var(--sp-color-accent-orange);
  background: #0a0a0a;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.15s ease;
}

.app-header .toggle-btn {
  margin-left: 0;
  padding: clamp(0.16rem, 0.36vw, 0.24rem) clamp(0.36rem, 0.72vw, 0.64rem);
  font-size: clamp(0.58rem, 0.64vw, 0.64rem);
  border: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
}

.app-header .toggle-btn:hover,
.app-header .toggle-btn:focus-visible,
.app-header .toggle-btn.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.app-header .header-settings-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--sp-header-center-row-h);
  min-width: var(--sp-header-center-row-h);
  height: var(--sp-header-center-row-h);
  padding: 0;
  margin-left: 0.45rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.app-header .header-settings-btn svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.app-header .header-settings-btn:hover,
.app-header .header-settings-btn:focus-visible,
.app-header .header-settings-btn.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.app-header .header-first-setup-alert {
  border: 1px solid var(--sp-color-accent-orange);
  background: #7f1111;
  color: #ffffff;
}

.app-root.is-stone-piloter.is-access-color-enabled .app-header .toggle-btn[class*="sp-access-"] {
  border: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  filter: none;
}

.app-root.is-stone-piloter.is-access-color-enabled .app-header .toggle-btn[class*="sp-access-"]:hover,
.app-root.is-stone-piloter.is-access-color-enabled .app-header .toggle-btn[class*="sp-access-"]:focus-visible,
.app-root.is-stone-piloter.is-access-color-enabled .app-header .toggle-btn[class*="sp-access-"].active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  filter: none;
}

.header-submenu {
  position: relative;
  display: inline-flex;
}

.header-submenu__panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 42;
  display: grid;
  min-width: 220px;
  padding: 0.35rem;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 6px;
  background: #0a0a0a;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.32);
}

.header-submenu__panel button {
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0.45rem 0.55rem;
  text-align: left;
}

.header-submenu__panel button:hover,
.header-submenu__panel button:focus-visible {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  outline: none;
}

.personal-space-placeholders {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.65rem;
  gap: 0.65rem;
  margin-bottom: 0.85rem;
}

.personal-space-placeholder {
  border: 1px dashed rgba(0, 0, 0, 0.35);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.42);
  padding: 0.7rem;
}

.personal-space-placeholder h3 {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
}

.personal-space-placeholder p {
  margin: 0;
  color: #333333;
  font-size: 0.78rem;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .personal-space-placeholders {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.title-btn.print-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.title-btn .btn-icon {
  display: inline-flex;
  align-items: center;
}

.toggle-btn:hover,
.title-btn:hover,
.title-btn.active,
.toggle-btn.active {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.toggle-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  background: #1a1a1a;
  color: #bdbdbd;
  border-color: #555555;
}

.title-actions-left {
  position: absolute;
  left: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.users-connected .users-label {
  font-size: 0.75rem;
  letter-spacing: 0.04rem;
}

.users-connected {
  gap: 0.22rem;
}

/* Réglage manuel de l'écart entre initiales dans le badge utilisateur */
:root {
  /* Essais rapides:
     -0.16em = très serré
     -0.12em = serré (actuel conseillé)
     -0.08em = plus lisible */
  --sp-user-badge-letter-spacing: -0.01em;
}

.user-badge {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--sp-color-accent-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: var(--sp-user-badge-letter-spacing);
  font-feature-settings: none;
  font-variant-ligatures: none;
  white-space: nowrap;
  background: #0a0a0a;
  color: #ffffff;
  cursor: default;
  transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.user-badge.is-active {
  background: var(--sp-color-accent-orange);
  color: #111111;
  border-color: #ffcf6a;
  box-shadow: 0 0 0 1px rgba(255, 175, 0, 0.2);
  cursor: pointer;
}

.sp-title-1 {
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.32rem;
  padding: 0.675rem 0.6rem;
  font-size: 1.575rem;
  color: #ffffff;
  background: #000000;
  border-bottom: 3px solid var(--sp-color-accent-orange);
}

.sp-title-1-spaced {
  letter-spacing: 0.32rem;
}

.sp-card-1 {
  background: #d9d9d9;
  border: 0;
  border-radius: 14px;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  padding: 0.75rem;
  overflow: hidden;
  overflow-y: auto;
  flex: 1 1;
  min-height: 0;
}

.app-root.compact-root .sp-card-1 {
  --sp-card-frame-radius: 14px;
  --sp-card-inner-frame-radius: calc(var(--sp-card-frame-radius) - 6px);

  position: relative;
  isolation: isolate;
  border-radius: var(--sp-card-frame-radius);
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
}

.app-root.compact-root .sp-card-1::before,
.app-root.compact-root .sp-card-1::after {
  content: "";
  position: absolute;
  z-index: 100;
  pointer-events: none;
}

.app-root.compact-root .sp-card-1::before {
  inset: 0;
  border: 6px solid #000000;
  border-radius: inherit;
}

.app-root.compact-root .sp-card-1::after {
  inset: 6px;
  border: 6px solid #d9d9d9;
  border-radius: 12px;
}

@media (min-width: 901px) {
  .app-header {
    min-height: 41px;
    padding-inline: 0.63rem;
    grid-template-columns: minmax(198px, 1fr) minmax(0, 1.6fr) minmax(198px, 1fr);
    gap: 0.27rem clamp(0.18rem, 0.315vw, 0.315rem);
    --sp-header-center-row-h: 27px;
    --sp-header-center-row-gap: clamp(0.18rem, 0.54vw, 0.45rem);
  }

  .app-header-left,
  .app-header-right {
    min-width: 198px;
  }

  .app-header-logo {
    width: clamp(43px, 4.5vw, 76px);
  }

  .app-header h1 {
    font-size: clamp(0.9rem, 1.35vw, 1.35rem);
  }

  .app-main {
    gap: 0.675rem;
    padding: calc(var(--sp-main-pad) * 0.9) 0.45rem;
  }
}

.title-text {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header-search {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 620px;
}

.header-search-field {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 1 1;
  min-width: 0;
}

.search-input {
  height: 1.6rem;
  padding: 0.1rem 1.7rem 0.1rem 0.45rem;
  border-radius: 6px;
  border: 1px solid var(--sp-color-accent-orange);
  background: #111;
  color: #f5f5f5;
  flex: 1 1;
  width: auto;
  min-width: 0;
  max-width: 100%;
}

.search-clear-btn {
  position: absolute;
  right: 0.24rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.14rem;
  height: 1.14rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
}

.search-clear-btn:hover,
.search-clear-btn:focus-visible {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.access-color-toggle-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.access-color-toggle {
  width: 1.6rem;
  min-width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  background:
    conic-gradient(
      from 0deg,
      #15803d,
      #22c55e,
      #38bdf8,
      #12335f,
      #ff7a00,
      #15803d
    );
  cursor: pointer;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.22);
}

.access-color-toggle > span {
  display: block;
  width: 0.58rem;
  height: 0.58rem;
  margin: auto;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.86);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.75);
}

.access-color-toggle.is-on > span {
  background: #ffffff;
}

.access-color-toggle:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.access-color-tooltip {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: 1200;
  width: 16rem;
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  padding: 0.6rem 0.7rem;
  border: 1px solid rgba(255, 122, 0, 0.75);
  border-radius: 8px;
  background: rgba(16, 24, 32, 0.98);
  color: #f5f5f5;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.38);
  font-size: 0.72rem;
  line-height: 1.25;
}

.access-color-tooltip strong {
  color: #ffffff;
  font-size: 0.78rem;
}

.search-filter {
  color: #e6e6e6;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/modals.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--sp-ui-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}

.admin-modal {
  background: var(--sp-ui-modal-bg);
  border: 2px solid var(--sp-ui-modal-border);
  padding: 1rem;
  width: 420px;
  max-width: calc(100vw - 2rem);
  box-shadow: 0 16px 28px rgba(0, 0, 0, 0.35);
}

.admin-modal--wide {
  width: min(760px, calc(100vw - 2rem));
}

.admin-modal--history {
  width: min(1180px, calc(100vw - 2rem));
}

.admin-modal-title {
  font-weight: 800;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
}

.admin-modal-body {
  margin-bottom: 0.9rem;
}

.admin-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.admin-modal-btn {
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-btn-neutral-bg);
  color: var(--sp-ui-text);
  cursor: pointer;
  font-weight: 700;
}

.admin-modal-btn.danger {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.sp-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 1000;
}

.sp-modal {
  --sp-popup-title-size: 13px;
  --sp-popup-label-size: 12px;
  --sp-popup-subtitle-size: 11px;
  --sp-popup-hint-size: 11px;
  --sp-popup-body-size: 12px;
  --sp-popup-button-size: 0.82rem;

  width: min(100%, 460px);
  position: relative;
  background: var(--sp-theme-card-bg);
  color: var(--sp-theme-text-primary);
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  padding: 18px 18px 16px;
}

.sp-modal-title {
  font-weight: 800;
  font-size: var(--sp-popup-title-size);
  line-height: 1.2;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.sp-modal-body {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 0.9rem;
}

.sp-modal-field {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-size: var(--sp-popup-label-size);
  font-weight: 700;
  line-height: 1.25;
}

.sp-modal .sp-line-field {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  color: var(--sp-ui-text);
  font-size: var(--sp-popup-label-size);
  font-weight: 700;
  line-height: 1.25;
}

.sp-line-input {
  width: 100%;
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  background: transparent;
  background-color: transparent;
  background-image: none;
  color: var(--sp-ui-text);
  padding: 7px 0 6px;
  outline: none;
  box-shadow: none;
  font: inherit;
  font-size: var(--sp-popup-body-size);
  line-height: 1.25;
}

.sp-modal .sp-popup-line-input {
  width: 100%;
  min-height: 0;
  border: 0 !important;
  border-bottom: 1px solid var(--sp-line-input-border) !important;
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--sp-ui-text) !important;
  padding: 7px 0 6px;
  outline: none;
  box-shadow: none !important;
  font: inherit;
  font-size: var(--sp-popup-body-size);
  line-height: 1.25;
}

.sp-line-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus);
  background: transparent;
  box-shadow: none;
}

.sp-modal .sp-popup-line-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sp-line-input:disabled {
  background: transparent;
  color: var(--sp-ui-text-muted);
  opacity: 1;
}

.sp-modal .sp-popup-line-input:disabled {
  background: transparent !important;
  color: var(--sp-ui-text-muted) !important;
  opacity: 1;
}

select.sp-line-input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}

.sp-popup-date-input {
  color-scheme: dark;
}

.sp-popup-date-input::-webkit-datetime-edit,
.sp-popup-date-input::-webkit-datetime-edit-fields-wrapper,
.sp-popup-date-input::-webkit-datetime-edit-text,
.sp-popup-date-input::-webkit-datetime-edit-month-field,
.sp-popup-date-input::-webkit-datetime-edit-day-field,
.sp-popup-date-input::-webkit-datetime-edit-year-field {
  color: currentColor;
}

.sp-popup-date-input::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.9;
}

.sp-popup-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sp-popup-choice-toggle {
  min-height: 32px;
  padding: 0.28rem 0.72rem;
  border: 2px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc;
  cursor: pointer;
  font-size: var(--sp-popup-button-size);
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1;
  opacity: 0.42;
  text-transform: uppercase;
}

.sp-popup-choice-toggle:hover {
  opacity: 0.85;
}

.sp-popup-choice-toggle.active,
.sp-popup-choice-toggle.is-active,
.sp-popup-choice-toggle[aria-pressed="true"] {
  border-color: var(--sp-color-accent-orange);
  background: rgba(0, 0, 0, 0.18);
  box-shadow: none;
  color: #ffffff;
  opacity: 1;
}

.sp-popup-choice-toggle.active:hover,
.sp-popup-choice-toggle.is-active:hover,
.sp-popup-choice-toggle[aria-pressed="true"]:hover {
  opacity: 1;
}

.sp-popup-choice-toggle:disabled {
  cursor: not-allowed;
}

.sp-line-input option {
  background: var(--sp-theme-card-bg);
  color: var(--sp-theme-text-primary);
}

textarea.sp-line-input {
  resize: vertical;
}

.sp-back-exit-modal .sp-line-input {
  color-scheme: dark;
}

.sp-back-exit-modal .sp-line-input option {
  background: #111111;
  color: #ffffff;
}

.sp-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.sp-back-exit-modal .sp-modal-actions {
  justify-content: center;
}

.sp-back-exit-modal {
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: var(--sp-color-accent-orange);
  --sp-ui-btn-neutral-bg: #1f1f1f;
  --sp-ui-input-border: #4a4a4a;
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  --sp-popup-title-size: 13px;
  --sp-popup-label-size: 12px;
  --sp-popup-subtitle-size: 11px;
  --sp-popup-hint-size: 11px;
  --sp-popup-body-size: 12px;
  --sp-popup-button-size: 0.82rem;

  background: #171717;
  color: #f2f2f2;
  border-color: #4a4a4a;
}

.sp-back-exit-modal .sp-modal-title {
  color: #f2f2f2;
}

.sp-back-exit-modal label {
  font-size: var(--sp-popup-label-size);
  line-height: 1.25;
}

.sp-back-exit-modal :is(.sp-popup-subtitle, .sp-modal-subtitle) {
  color: var(--sp-ui-text-muted);
  font-size: var(--sp-popup-subtitle-size);
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
}

.sp-back-exit-modal :is(.sp-popup-hint, .sp-modal-hint, .admin-hint, small) {
  color: var(--sp-ui-text-muted);
  font-size: var(--sp-popup-hint-size);
  line-height: 1.3;
}

.sp-modal-btn {
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 8px;
  background: var(--sp-ui-btn-neutral-bg);
  color: var(--sp-ui-text);
  cursor: pointer;
  font-size: var(--sp-popup-button-size);
  font-weight: 700;
  line-height: 1.1;
}

.sp-modal-btn-primary {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  border-color: var(--sp-color-accent-orange);
}

.quote-auto-prelayout-modal {
  position: fixed;
  top: calc(var(--sp-header-h, 46px) + var(--sp-main-pad, 0.6rem));
  right: var(--sp-main-pad, 0.6rem);
  bottom: var(--sp-main-pad, 0.6rem);
  left: var(--sp-main-pad, 0.6rem);
  z-index: 2200;
  display: grid;
  place-items: center;
  padding: 0;
  background: rgba(0, 0, 0, 0.72);
  box-sizing: border-box;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-modal__panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  grid-gap: 0;
  gap: 0;
  width: min(96vw, 1180px);
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  background: #111111;
  color: #f8fafc;
  border: 1px solid rgba(249, 115, 22, 0.72);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}

.quote-auto-prelayout-modal .quote-auto-prelayout-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background: #0a0a0a;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-modal__title {
  margin: 0;
  color: #f8fafc;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-modal__subtitle {
  margin-top: 0.25rem;
  color: #cbd5e1;
}

.quote-auto-prelayout-modal .admin-hint {
  color: #cbd5e1;
}

.quote-auto-prelayout-modal__body {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.85rem 1rem 1rem;
  scrollbar-gutter: stable;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-modal__empty,
.quote-auto-prelayout-modal .quote-auto-prelayout-group__warning,
.quote-auto-prelayout-modal .admin-warning {
  margin: 0;
  color: #fbbf24;
}

.quote-auto-prelayout-need {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.quote-auto-prelayout-need__title {
  color: #f8fafc;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.quote-auto-prelayout-need__list {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
}

.quote-auto-prelayout-need__row {
  display: grid;
  grid-template-columns: 54px minmax(180px, 1.2fr) minmax(130px, 0.8fr) minmax(90px, 0.45fr);
  grid-gap: 0.7rem;
  gap: 0.7rem;
  align-items: baseline;
  min-height: 24px;
  color: #f8fafc;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-need__row,
.quote-auto-prelayout-modal .quote-auto-prelayout-need__row span,
.quote-auto-prelayout-modal .quote-auto-prelayout-need__row strong {
  color: #f8fafc;
}

.quote-auto-prelayout-need__row--head {
  color: #94a3b8;
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.quote-auto-prelayout-need__row strong {
  color: var(--sp-color-accent-orange);
}

.quote-auto-prelayout-modal .quote-auto-prelayout-need__row--head,
.quote-auto-prelayout-modal .quote-auto-prelayout-need__row--head span {
  color: #b8b8b8;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-need__row strong {
  color: var(--sp-color-accent-orange);
}

.quote-auto-prelayout-modal__groups,
.quote-auto-prelayout-preview,
.quote-auto-prelayout-group,
.quote-auto-prelayout-group__details {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-group {
  padding: 0.85rem;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
}

.quote-auto-prelayout-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-group__title,
.quote-auto-prelayout-modal .quote-auto-prelayout-group__details-title {
  font-weight: 850;
  color: #f8fafc;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-group__meta {
  margin-top: 0.15rem;
  color: #94a3b8;
}

.quote-auto-prelayout-group__status {
  padding: 0.35rem 0.65rem;
  border-radius: 8px;
  font-weight: 900;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-group__summary {
  margin-top: 0;
  color: #cbd5e1;
}

.quote-auto-prelayout-placed-slab {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  margin-top: 0.45rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: #101010;
}

.quote-auto-prelayout-placed-slab__title {
  color: #f8fafc;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-placed-piece {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  align-items: baseline;
  color: #cbd5e1;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-placed-piece span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #f8fafc;
  font-weight: 700;
}

.quote-auto-prelayout-group__grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.15fr) minmax(240px, 0.85fr);
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: start;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-preview__slab {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: #101010;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-preview__slab-title {
  padding: 0.35rem 0.55rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  color: #e2e8f0;
  font-weight: 800;
}

.quote-auto-prelayout-modal .quote-auto-prelayout-preview__canvas {
  display: block;
  width: 100%;
  min-width: 520px;
  background: #101010;
}

@media (max-width: 900px) {
  .quote-auto-prelayout-need__row {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .quote-auto-prelayout-need__row span:nth-child(3),
  .quote-auto-prelayout-need__row span:nth-child(4) {
    grid-column: 2;
  }

  .quote-auto-prelayout-group__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.quote-plan-upload-btn {
  position: relative;
  overflow: hidden;
  min-width: 150px;
}

.quote-plan-upload-btn.is-uploading {
  opacity: 1;
  cursor: wait;
}

.quote-plan-upload-btn__label {
  position: relative;
  z-index: 1;
}

.quote-plan-upload-btn.is-uploading .quote-plan-upload-btn__label {
  animation: quote-plan-upload-blink 0.8s ease-in-out infinite;
}

.quote-plan-upload-btn__progress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 45%;
  height: 4px;
  background: #0a0a0a;
  opacity: 0.85;
  animation: quote-plan-upload-progress 1.05s ease-in-out infinite;
}

@keyframes quote-plan-upload-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.38;
  }
}

@keyframes quote-plan-upload-progress {
  0% {
    transform: translateX(-110%);
  }
  100% {
    transform: translateX(230%);
  }
}

.sp-modal-close {
  position: absolute;
  right: 14px;
  top: 12px;
  background: transparent;
  border: none;
  color: inherit;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
}

.sp-device-mode-modal {
  width: min(100%, 520px);
  border-width: 2px;
  padding: 0;
  overflow: hidden;
}

.sp-device-mode-text {
  font-size: 14px;
  line-height: 1.45;
}

.sp-device-mode-text--muted {
  color: var(--sp-theme-text-secondary);
  padding-top: 2px;
}

.sp-device-mode-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.sp-device-mode-modal .sp-modal-title {
  margin: 0;
  padding: 12px 16px;
  border-bottom: 2px solid var(--sp-color-accent-orange);
  background: #111111;
  color: #ffffff;
}

.sp-device-mode-modal .sp-modal-body {
  gap: 14px;
  margin: 0;
  padding: 16px;
}

.sp-device-mode-modal .sp-modal-actions {
  padding: 0 16px 16px;
}

.sp-device-mode-option {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  min-height: 96px;
  align-content: start;
  text-align: left;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 10px;
  background: color-mix(in srgb, var(--sp-theme-card-bg) 88%, #111111);
  color: var(--sp-theme-text-primary);
  padding: 12px;
  cursor: pointer;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.14);
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

.sp-device-mode-option:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(0, 0, 0, 0.2);
  background: color-mix(in srgb, var(--sp-color-accent-orange) 10%, var(--sp-theme-card-bg));
}

.sp-device-mode-option__title {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sp-device-mode-option__meta {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sp-theme-text-secondary);
}

@media (max-width: 720px) {
  .sp-device-mode-options {
    grid-template-columns: 1fr;
  }
}

.sp-modal-code-wrap {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.sp-modal-code-value {
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 10px;
  background: rgba(255, 106, 0, 0.08);
  color: inherit;
  font-weight: 800;
  letter-spacing: 0.08rem;
  word-break: break-all;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/login.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
/* === login demo === */
.login-root {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #050505;
}

/* === login O365 === */
.login-o365-root {
  --login-o365-logo-width: min(320px, 92vw);
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 34%),
    linear-gradient(180deg, #0b0b0b 0%, #000000 100%);
  color: #f5f5f5;
  padding: 24px;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
}

.login-o365-root--login-screen {
  position: relative;
  --login-o365-logo-width: min(394px, 94vw);
}

@keyframes login-o365-page-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.login-o365-card {
  width: min(420px, 100%);
  padding: 2rem 1.75rem;
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.login-o365-scale-shell {
  width: 100%;
  min-height: calc(100vh - 48px);
  min-height: calc(100dvh - 48px);
  display: grid;
  place-items: center;
  visibility: visible;
}

.login-o365-scale-shell--intro-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.login-o365-scale-shell--intro-visible {
  opacity: 1;
  visibility: visible;
  animation: login-o365-page-fade-in 2.8s ease-out both;
}

.login-o365-card--login-screen {
  transform: scale(var(--login-screen-scale, 1));
  transform-origin: center center;
  will-change: transform;
}

.login-o365-splash {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 24px;
  pointer-events: none;
}

.login-o365-splash-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #000;
  opacity: 0;
  transition: opacity 0.32s ease-out;
}

.login-o365-splash-overlay--visible {
  opacity: 1;
}

.login-o365-logo {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 12px;
  display: block;
  margin: auto;
}

.login-o365-logo-frame {
  width: 100%;
  --login-o365-logo-frame-height: min(var(--login-o365-logo-width, 320px), max(112px, calc(100dvh - 590px)));
  height: var(--login-o365-logo-frame-height);
  display: grid;
  place-items: center;
  justify-self: center;
  overflow: visible;
  margin: 0 auto;
}

.login-o365-logo-frame .login-o365-logo {
  width: auto;
  height: var(--login-o365-logo-frame-height);
  max-height: var(--login-o365-logo-frame-height);
}

.login-o365-logo.passive {
  opacity: 1;
}

.login-o365-splash-logo-shell {
  position: relative;
  z-index: 0;
}

.login-o365-splash-logo {
  width: var(--login-o365-logo-width);
  margin: 0;
}

.login-o365-title {
  font-size: 1.9rem;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}

.login-o365-form {
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.login-o365-label {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12rem;
  color: rgba(255, 255, 255, 0.74);
}

.sp-line-input,
.sp-login-input,
.login-o365-input {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  padding: 14px 0 12px;
  font-size: 1rem;
  outline: none;
}

.sp-line-input:focus,
.sp-login-input:focus,
.login-o365-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus);
}

.login-o365-password-criteria {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.82rem;
}

.login-o365-password-criterion {
  display: flex;
  align-items: center;
  gap: 8px;
}

.login-o365-password-criterion-mark {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: transparent;
  font-size: 0.6rem;
  font-weight: 800;
  line-height: 1;
}

.login-o365-password-criterion.is-valid {
  color: #e9f7ee;
}

.login-o365-password-criterion.is-valid .login-o365-password-criterion-mark {
  border-color: #2fbf71;
  background: #2fbf71;
  color: #06140b;
}

.sp-line-input:-webkit-autofill,
.sp-line-input:-webkit-autofill:hover,
.sp-line-input:-webkit-autofill:focus,
.sp-line-input:-webkit-autofill:active,
.sp-login-input:-webkit-autofill,
.sp-login-input:-webkit-autofill:hover,
.sp-login-input:-webkit-autofill:focus,
.sp-login-input:-webkit-autofill:active,
.login-o365-input:-webkit-autofill,
.login-o365-input:-webkit-autofill:hover,
.login-o365-input:-webkit-autofill:focus,
.login-o365-input:-webkit-autofill:active {
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 1000px #000000 inset !important;
  caret-color: #ffffff !important;
  border-bottom-color: var(--sp-line-input-border) !important;
}

.login-o365-primary {
  margin-top: 10px;
  min-height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: #000000;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.12rem;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.login-o365-primary:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
}

.login-o365-primary:disabled {
  color: rgba(255, 255, 255, 0.48);
  cursor: not-allowed;
  opacity: 0.7;
}

.login-o365-divider {
  text-align: center;
  font-size: 0.78rem;
  letter-spacing: 0.16rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.52);
}

.login-o365-provider-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.login-o365-provider {
  min-height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12rem;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.login-o365-provider-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.login-o365-provider:not(:disabled):hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
}

.login-o365-provider:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.login-o365-error {
  margin-top: 4px;
  color: #ff8f8f;
  font-size: 0.9rem;
  line-height: 1.35;
  text-align: center;
  overflow-wrap: anywhere;
}

.login-o365-error--reserved {
  min-height: calc(0.9rem * 1.35 * 2);
  display: grid;
  place-items: center;
}

.login-o365-error--reserved.is-empty {
  visibility: hidden;
}

.login-o365-modal-backdrop {
  z-index: 1000;
}

.login-o365-card.login-o365-modal-card {
  max-width: 460px;
  background: #111111;
  color: #ffffff;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 18px;
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.52);
  opacity: 1;
}

.login-o365-modal-close {
  color: #d5d5d5;
}

@media (max-width: 700px) {
  .login-o365-root {
    align-items: center;
    padding: max(14px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom)) 14px;
  }

  .login-o365-card {
    width: min(100%, 420px);
    padding: 1.25rem 1rem;
    gap: 8px;
  }

  .login-o365-logo-frame {
    width: 100%;
    --login-o365-logo-frame-height: min(92vw, max(96px, calc(100dvh - 604px)));
    height: var(--login-o365-logo-frame-height);
    margin-bottom: 0;
  }

  .login-o365-logo-frame .login-o365-logo {
    height: var(--login-o365-logo-frame-height);
    max-height: var(--login-o365-logo-frame-height);
  }

  .login-o365-title {
    font-size: 1.45rem;
    letter-spacing: 0.05rem;
  }

  .login-o365-form {
    gap: 12px;
  }

  .login-o365-label {
    gap: 6px;
    font-size: 0.74rem;
    letter-spacing: 0.08rem;
  }

  .sp-line-input,
  .sp-login-input,
  .login-o365-input {
    padding: 11px 0 10px;
    font-size: 16px;
  }

  .login-o365-primary,
  .login-o365-provider {
    min-height: 46px;
    letter-spacing: 0.08rem;
  }

  .login-o365-divider {
    font-size: 0.72rem;
    letter-spacing: 0.1rem;
  }

  .login-o365-card.login-o365-modal-card {
    width: min(100%, 420px);
    max-width: min(100%, 420px);
    border-radius: 16px;
  }
}

@media (min-width: 701px) and (max-width: 1024px) {
  .login-o365-root {
    align-items: center;
    padding: max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)) 20px;
  }

  .login-o365-card {
    width: min(100%, 460px);
  }
}

@media (min-width: 701px) and (max-height: 700px) {
  .login-o365-logo-frame {
    --login-o365-logo-frame-height: min(var(--login-o365-logo-width, 320px), 40dvh);
  }

  .login-o365-card--login-screen {
    transform: scale(0.9);
    transform-origin: top center;
  }
}

@media (min-width: 701px) and (max-height: 620px) {
  .login-o365-card--login-screen {
    transform: scale(0.78);
    transform-origin: top center;
  }
}

@media (min-width: 701px) and (max-height: 520px) {
  .login-o365-card--login-screen {
    transform: scale(0.58);
    transform-origin: top center;
  }
}

.login-card {
  width: min(420px, 90vw);
  background: #1a1a1a;
  color: #f0f0f0;
  border: 2px solid #000;
  border-radius: 14px;
  padding: 2rem 2.2rem;
  box-shadow: 0 20px 35px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.login-logo {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center 45%;
  border-radius: 10px;
  border: 1px solid #222;
}

.login-title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.login-subtitle {
  font-size: 0.95rem;
  color: #bbbbbb;
  margin-bottom: 0.5rem;
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.login-label {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.9rem;
  color: #d7d7d7;
}

.login-input {
  padding: 0.6rem 0.75rem;
  border-radius: 8px;
  border: 1px solid #444;
  background: #0f0f0f;
  color: #f3f3f3;
  font-size: 0.95rem;
}

.login-input:focus {
  outline: 2px solid var(--sp-color-accent-orange);
  border-color: var(--sp-color-accent-orange);
}

.login-error {
  color: #ff9b88;
  font-size: 0.9rem;
  background: rgba(233, 84, 32, 0.18);
  border: 1px solid rgba(233, 84, 32, 0.5);
  padding: 0.5rem 0.7rem;
  border-radius: 8px;
}

.login-submit {
  margin-top: 0.3rem;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #111;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.login-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 12px rgba(233, 84, 32, 0.35);
}

.login-hint {
  font-size: 0.78rem;
  color: #aaaaaa;
  text-align: center;
}

.login-hint span {
  color: #ffffff;
  font-weight: 600;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/admin.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
.admin-general-shortcut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 44px;
  border: 1px solid #000000;
  background: #ffffff;
  color: #111111;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

.admin-general-shortcut__icon {
  font-size: 1rem;
  line-height: 1;
}

/* === Admin page === */
.admin-page {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.6rem 0.5rem;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
}

.app-root:not(.compact-root) .admin-page.level-one-module {
  padding: 0;
  gap: 0;
}

.admin-page--settings-module {
  max-height: calc(100dvh - var(--sp-header-h, 46px) - (var(--sp-main-pad, 0.6rem) * 2));
  overflow: hidden;
}

.admin-page--embedded-tab {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  max-height: none;
  overflow: hidden;
}

.admin-page--settings-module > .sp-title-1 {
  flex: 0 0 auto;
}

.app-root:not(.compact-root) {
  --sp-level-one-menu-width: 196px;
  --sp-level-one-menu-rail-width: 66px;
  --sp-level-one-layout-gap: 0.85rem;
  --sp-level-one-menu-padding: 0.75rem;
  --sp-level-one-menu-radius: 14px;
  --sp-level-one-menu-rail-radius: 8px;
  --sp-level-one-menu-bg: #111111;
  --sp-level-one-menu-color: #ffffff;
  --sp-level-one-menu-shadow: inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22);
}

.admin-title {
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.32rem;
  padding: 0.675rem 0.6rem;
  font-size: 1.575rem;
  color: #ffffff;
  background: #000000;
  border-bottom: 3px solid var(--sp-color-accent-orange);
}

.admin-title-spaced {
  letter-spacing: 0.32rem;
}

.settings-module-shell {
  display: grid;
  grid-template-columns: var(--sp-level-one-menu-width, 196px) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-gap: var(--sp-level-one-layout-gap, 0.85rem);
  gap: var(--sp-level-one-layout-gap, 0.85rem);
  align-items: stretch;
  flex: 1 1;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.level-one-page {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.sp-l1-page {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.admin-page--embedded-tab.sp-l1-page {
  flex: 1 1 auto;
  height: 100%;
  max-height: none;
}

.level-one-frame {
  display: grid;
  grid-template-columns: var(--sp-level-one-menu-width, 196px) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-gap: var(--sp-level-one-layout-gap, 0.85rem);
  gap: var(--sp-level-one-layout-gap, 0.85rem);
  align-items: stretch;
  flex: 1 1;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.sp-l1-frame {
  display: grid;
  grid-template-columns: var(--sp-level-one-menu-width, 196px) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-gap: var(--sp-level-one-layout-gap, 0.85rem);
  gap: var(--sp-level-one-layout-gap, 0.85rem);
  align-items: stretch;
  flex: 1 1;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.sp-l1-frame--rail {
  grid-template-columns: var(--sp-level-one-menu-rail-width, 66px) minmax(0, 1fr);
}

.sp-l1-frame--no-nav {
  grid-template-columns: minmax(0, 1fr);
}

.level-one-frame--rail {
  grid-template-columns: var(--sp-level-one-menu-rail-width, 66px) minmax(0, 1fr);
}

.level-one-frame--no-nav {
  grid-template-columns: minmax(0, 1fr);
}

.settings-module-shell--rail {
  grid-template-columns: var(--sp-level-one-menu-rail-width, 66px) minmax(0, 1fr);
}

.settings-module-shell--no-nav {
  grid-template-columns: minmax(0, 1fr);
}

.settings-module-nav {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-self: stretch;
  height: auto;
  max-height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--sp-level-one-menu-padding, 0.75rem);
  box-sizing: border-box;
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.level-one-nav {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--sp-level-one-menu-padding, 0.75rem);
  box-sizing: border-box;
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.sp-l1-nav {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--sp-level-one-menu-padding, 0.75rem);
  box-sizing: border-box;
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.sp-l1-nav--rail {
  position: relative;
  z-index: 20;
  width: var(--sp-level-one-menu-rail-width, 66px);
  min-width: var(--sp-level-one-menu-rail-width, 66px);
  height: 100%;
  padding: 0;
  overflow: visible;
  border-radius: var(--sp-level-one-menu-rail-radius, 8px);
}

.level-one-nav--rail {
  position: relative;
  z-index: 20;
  width: var(--sp-level-one-menu-rail-width, 66px);
  min-width: var(--sp-level-one-menu-rail-width, 66px);
  height: 100%;
  padding: 0;
  overflow: visible;
  border-radius: var(--sp-level-one-menu-rail-radius, 8px);
}

.level-one-nav__rail-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0;
  color: #ffffff;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 0.95;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  pointer-events: none;
}

.settings-module-nav--rail {
  position: relative;
  z-index: 20;
  width: var(--sp-level-one-menu-rail-width, 66px);
  min-width: var(--sp-level-one-menu-rail-width, 66px);
  height: 100%;
  padding: 0;
  overflow: visible;
  border-radius: var(--sp-level-one-menu-rail-radius, 8px);
}

.settings-module-nav__rail-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0;
  color: #ffffff;
  font-size: 1.02rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 0.95;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  pointer-events: none;
}

.settings-module-nav__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.8rem;
  min-height: 0;
  width: 100%;
  max-height: 100%;
  box-sizing: border-box;
  overflow-y: visible;
}

.sp-l1-nav__body,
.level-one-nav__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.8rem;
  min-height: 0;
  width: 100%;
  max-height: 100%;
  box-sizing: border-box;
  overflow-y: visible;
}

.sp-l1-nav__footer,
.level-one-nav__footer {
  flex: 0 0 auto;
  margin-top: auto;
  min-width: 0;
}

.sp-l1-nav--rail .sp-l1-nav__footer,
.level-one-nav--rail .level-one-nav__footer {
  display: none;
}

.sp-l1-nav--rail .sp-l1-nav__body,
.level-one-nav--rail .level-one-nav__body {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--sp-level-one-menu-width, 196px);
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  padding: 3rem 0.75rem 0.75rem;
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-10px);
  transition: opacity 120ms ease, transform 120ms ease;
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.sp-l1-nav--open .sp-l1-nav__body,
.level-one-nav--open .level-one-nav__body {
  display: flex;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.level-one-nav--open .level-one-nav__rail-label,
.level-one-nav:not(.level-one-nav--rail) .level-one-nav__rail-label {
  opacity: 0;
}

.settings-module-nav--rail .settings-module-nav__body {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--sp-level-one-menu-width, 196px);
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  padding: var(--sp-level-one-menu-padding, 0.75rem);
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  opacity: 0;
  pointer-events: none;
  transform: translateX(-10px);
  transition: opacity 120ms ease, transform 120ms ease;
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.settings-module-nav--open .settings-module-nav__body {
  display: flex;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.settings-module-nav--open .settings-module-nav__rail-label,
.settings-module-nav:not(.settings-module-nav--rail) .settings-module-nav__rail-label {
  opacity: 0;
}

.settings-module-nav__eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  opacity: 0.72;
}

.settings-module-nav__header {
  position: relative;
  z-index: 20;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 32px;
  box-sizing: border-box;
}

.settings-module-nav--rail .settings-module-nav__header {
  position: absolute;
  top: 0.55rem;
  left: 50%;
  width: 32px;
  transform: translateX(-50%);
}

.settings-module-nav__title {
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12rem;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.72;
}

.settings-module-nav--rail .settings-module-nav__title {
  display: none;
}

.level-one-nav__eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  opacity: 0.72;
}

.settings-module-nav__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.level-one-nav__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.settings-module-nav__pin,
.chiffreur-settings-nav__pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  cursor: pointer;
  padding: 0;
}

.settings-module-nav__pin:hover,
.settings-module-nav__pin.active {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.settings-module-nav__group {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.level-one-nav__group {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.projects-nav__button-mode {
  margin-top: 0;
}

.projects-nav__pdf-actions {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  margin-bottom: 0.7rem;
}

.projects-nav__pdf-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.settings-module-nav__group-title {
  padding: 0 0.2rem;
  color: #d1d5db;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
}

.level-one-nav__group-title {
  padding: 0 0.2rem;
  color: #d1d5db;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
}

.settings-module-nav__item {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
  width: 100%;
  min-height: 34px;
  padding: 0.48rem 0.65rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  text-align: left;
  cursor: pointer;
}

.sp-l1-nav__item,
.level-one-nav__item {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
  width: 100%;
  min-height: 34px;
  padding: 0.48rem 0.65rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  text-align: left;
  cursor: pointer;
}

.settings-module-nav__item:hover,
.settings-module-nav__item.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.sp-l1-nav__item:hover,
.sp-l1-nav__item.active,
.level-one-nav__item:hover,
.level-one-nav__item.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.level-one-nav__split-item {
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.level-one-nav__split-main,
.level-one-nav__split-plus {
  box-sizing: border-box;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.level-one-nav__split-main {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.48rem 0.65rem;
  text-align: left;
}

.level-one-nav__split-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-left: 0;
}

.level-one-nav__split-main:hover,
.level-one-nav__split-plus:hover {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.level-one-nav__split-main:disabled,
.level-one-nav__split-plus:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.settings-module-nav__item-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  font-size: 0.616rem;
  font-weight: 800;
  text-transform: uppercase;
  color: inherit;
}

.level-one-nav__item-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  font-size: 0.616rem;
  font-weight: 800;
  text-transform: uppercase;
  color: inherit;
}

.settings-module-nav__item-main > span,
.level-one-nav__item-main > span {
  color: inherit;
}

.settings-module-nav__item:hover .settings-module-nav__item-main,
.settings-module-nav__item.active .settings-module-nav__item-main,
.settings-module-nav__item:hover .settings-module-nav__item-main > span,
.settings-module-nav__item.active .settings-module-nav__item-main > span,
.level-one-nav__item:hover .level-one-nav__item-main,
.level-one-nav__item.active .level-one-nav__item-main,
.level-one-nav__item:hover .level-one-nav__item-main > span,
.level-one-nav__item.active .level-one-nav__item-main > span,
.level-one-nav__split-item:hover .level-one-nav__item-main,
.level-one-nav__split-item.active .level-one-nav__item-main,
.level-one-nav__split-item:hover .level-one-nav__item-main > span,
.level-one-nav__split-item.active .level-one-nav__item-main > span {
  color: var(--sp-color-accent-orange);
}

.settings-module-nav__item-description {
  color: rgba(226, 232, 240, 0.54);
  font-size: 0.546rem;
  line-height: 1.25;
}

.level-one-nav__item-description {
  color: rgba(226, 232, 240, 0.54);
  font-size: 0.546rem;
  line-height: 1.25;
}

.settings-module-nav__badge {
  flex: 0 0 auto;
  padding: 0.1rem 0.38rem;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
}

.settings-module-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.level-one-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.sp-l1-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .level-one-layout {
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .level-one-menu {
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .level-one-menu:not(.level-one-nav--rail) > .level-one-nav__body,
.app-root:not(.compact-root) .sp-l1-nav:not(.sp-l1-nav--rail) > .sp-l1-nav__body {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.app-root:not(.compact-root) .level-one-view {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .level-one-view-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 0 0.35rem;
  border-bottom: 1px solid var(--sp-common-content-title-divider);
}

.app-root:not(.compact-root) .level-one-view-title {
  margin: 0;
  color: var(--sp-ui-text, #f8fafc);
  font-size: calc(var(--sp-common-content-title-size) * 0.75);
  font-weight: var(--sp-common-content-title-font-weight);
  line-height: var(--sp-common-content-title-line-height);
}

.app-root:not(.compact-root) .level-one-view-title-switch {
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  cursor: pointer;
}

.app-root:not(.compact-root) .level-one-view-title-switch:hover,
.app-root:not(.compact-root) .level-one-view-title-switch:focus-visible {
  background: transparent;
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-title-switch__main {
  color: #ffffff;
  font-size: calc(var(--sp-common-content-title-size) * 0.75);
  font-weight: var(--sp-common-content-title-font-weight);
  line-height: 1;
}

.app-root:not(.compact-root) .level-one-view-title-switch--production-history {
  align-items: center;
}

.app-root:not(.compact-root) .level-one-view-title-switch--production-history .level-one-view-title-switch__main {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.app-root:not(.compact-root) .level-one-view-title-switch__swap {
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.app-root:not(.compact-root) .level-one-view-title-switch:hover .level-one-view-title-switch__swap,
.app-root:not(.compact-root) .level-one-view-title-switch:focus-visible .level-one-view-title-switch__swap {
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-header-main,
.app-root:not(.compact-root) .level-one-view-header-toggle {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.app-root:not(.compact-root) .level-one-view-header-main {
  gap: 0.35rem;
  flex-wrap: wrap;
}

.app-root:not(.compact-root) .level-one-view-header-toggle {
  flex: 0 0 auto;
  gap: 2px;
}

.app-root:not(.compact-root) .level-one-view-header-toggle__button {
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}

.app-root:not(.compact-root) .level-one-view-header-toggle__button:hover,
.app-root:not(.compact-root) .level-one-view-header-toggle__button:focus-visible {
  color: var(--sp-ui-text, #f8fafc);
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-header-toggle__button.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-body-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  min-width: 0;
}

.app-root:not(.compact-root) .level-one-view-body-toggle__button {
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}

.app-root:not(.compact-root) .level-one-view-body-toggle__button:hover,
.app-root:not(.compact-root) .level-one-view-body-toggle__button:focus-visible {
  color: var(--sp-ui-text, #f8fafc);
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-body-toggle__button.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-body-toggle--nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  width: 100%;
}

.app-root:not(.compact-root) .level-one-view-body-toggle--nav .level-one-view-body-toggle__button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 34px;
  padding: 0 0.65rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  text-align: left;
  font-size: 0.78rem;
  font-weight: 750;
}

.app-root:not(.compact-root) .level-one-view-body-toggle--nav .level-one-view-body-toggle__button:hover,
.app-root:not(.compact-root) .level-one-view-body-toggle--nav .level-one-view-body-toggle__button:focus-visible {
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
}

.app-root:not(.compact-root) .level-one-view-body-toggle--nav .level-one-view-body-toggle__button.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-header-action {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  cursor: pointer;
}

.app-root:not(.compact-root) .level-one-view-header-action:hover,
.app-root:not(.compact-root) .level-one-view-header-action:focus-visible {
  background: transparent;
  color: var(--sp-color-accent-orange);
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-body {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: rgba(255, 255, 255, 0.18);
  --level-one-view-body-bg: #111111;
  --level-one-view-body-inset: 8px;
  --level-one-view-body-state-border-width: 5px;

  display: flex;
  flex: 1 1;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  padding: var(--level-one-view-body-inset);
  border: 4px solid #000000;
  border-radius: 14px;
  background: var(--level-one-view-body-bg);
  color: var(--sp-ui-text);
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: hidden;
}

.app-root:not(.compact-root) .level-one-view-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    var(--level-one-view-body-bg);
  overflow-x: hidden;
  overflow-y: auto;
}

.app-root:not(.compact-root) .level-one-view-scroll:has(> .level-one-view-split) {
  overflow: hidden;
}

.app-root:not(.compact-root) .level-one-view-scroll > * {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  box-sizing: border-box;
}

.app-root:not(.compact-root) .level-one-view-body > .level-two-frame {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

.app-root:not(.compact-root) .admin-settings-level-one-body {
  flex: 1 1;
  height: 100%;
  max-height: 100%;
}

.app-root:not(.compact-root) .level-one-view-split {
  display: grid;
  grid-template-columns: var(--sp-level-one-menu-width, 196px) minmax(0, 1fr);
  grid-gap: var(--sp-level-one-layout-gap, 0.85rem);
  gap: var(--sp-level-one-layout-gap, 0.85rem);
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.app-root:not(.compact-root) .anticipation-page--embedded {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .anticipation-page--embedded > .level-one-view-split {
  flex: 1 1 auto;
}

.app-root:not(.compact-root) .level-one-view-menu,
.app-root:not(.compact-root) .level-one-view-menu-body {
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-root:not(.compact-root) .level-one-view-menu {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  gap: 0.8rem;
  padding: var(--sp-level-one-menu-padding, 0.75rem);
  border: 0;
  border-radius: var(--sp-level-one-menu-radius, 14px);
  background: var(--sp-level-one-menu-bg, #111111);
  color: var(--sp-level-one-menu-color, #ffffff);
  box-shadow: var(--sp-level-one-menu-shadow, inset 0 0 0 4px #000000, 0 10px 18px rgba(0, 0, 0, 0.22));
}

.app-root:not(.compact-root) .level-one-view-menu-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.app-root:not(.compact-root) .level-one-view-scroll > .sp-modal-backdrop,
.app-root:not(.compact-root) .level-one-view-scroll > .admin-modal-backdrop,
.app-root:not(.compact-root) .level-one-view-scroll > .extranet-modal-backdrop,
.app-root:not(.compact-root) .level-one-view-scroll > .sp-initial-load-overlay {
  flex: initial;
  width: auto;
  max-width: none;
  min-height: 0;
  overflow: visible;
  scrollbar-gutter: auto;
}

.app-root:not(.compact-root) .level-one-view-body .sp-card,
.app-root:not(.compact-root) .level-one-view-body .admin-card,
.app-root:not(.compact-root) .level-one-view-empty {
  border-color: var(--sp-ui-border);
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text);
  box-shadow: none;
}

.app-root:not(.compact-root) .level-one-view-body .admin-hint,
.app-root:not(.compact-root) .level-one-view-body p,
.app-root:not(.compact-root) .level-one-view-body small,
.app-root:not(.compact-root) .level-one-view-body span {
  color: var(--sp-ui-text-muted);
}

.app-root:not(.compact-root) .level-one-view-body strong,
.app-root:not(.compact-root) .level-one-view-body h2,
.app-root:not(.compact-root) .level-one-view-body h3 {
  color: var(--sp-ui-text);
}

.app-root:not(.compact-root) .level-one-view-body input:not(.settings-input),
.app-root:not(.compact-root) .level-one-view-body select:not(.settings-input),
.app-root:not(.compact-root) .level-one-view-body textarea:not(.settings-input) {
  max-width: 100%;
  border-color: var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  box-sizing: border-box;
}

.app-root:not(.compact-root) .level-one-view-body-select {
  width: 100%;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--sp-ui-input-border, rgba(255, 255, 255, 0.16));
  border-radius: 6px;
  background: var(--sp-ui-input-bg, #101010);
  color: var(--sp-ui-text, #f8fafc);
  font-size: 0.95rem;
  box-sizing: border-box;
}

.app-root:not(.compact-root) .level-one-view-body-select:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-body-select option {
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.app-root:not(.compact-root) .level-one-view-body-controls {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
}

.app-root:not(.compact-root) .level-one-view-body button:not(.sp-btn):not(.admin-tab):not(.sp-tab):not(.admin-section-tab):not(.sp-segmented-toggle__button) {
  border-color: transparent;
  background: transparent;
  color: var(--sp-ui-text);
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 33px;
  padding: 2px 6px;
  gap: 4px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
  line-height: 1.1;
  cursor: pointer;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action:hover,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action:focus-visible {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  outline: none;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.is-active,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.active {
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action:disabled,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action[aria-disabled="true"] {
  border: 0;
  background: transparent;
  color: rgba(226, 232, 240, 0.38);
  cursor: default;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action:disabled:hover,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action[aria-disabled="true"]:hover {
  color: rgba(226, 232, 240, 0.38);
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action span,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action svg {
  color: inherit;
  stroke: currentColor;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  line-height: 1;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge--alert {
  color: #ef4444;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge--alert:hover,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge--alert:focus-visible {
  color: #ef4444;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert:hover,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert:focus-visible {
  color: #ef4444;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert svg,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert:hover svg,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-action.level-one-view-body-badge--alert:focus-visible svg {
  color: #ef4444;
  stroke: #ef4444;
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge--count {
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge svg,
.app-root:not(.compact-root) .level-one-view-body .level-one-view-body-badge span {
  color: inherit;
  stroke: currentColor;
}

.app-root:not(.compact-root) .level-one-view-empty {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 1rem;
  border-radius: 8px;
  font-weight: 800;
}

.admin-page--embedded-tab .settings-module-shell {
  display: flex;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.admin-page--embedded-tab .settings-module-content {
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.admin-page--embedded-tab .settings-module-content > .admin-card,
.admin-page--embedded-tab .settings-module-content > .sp-card-1 {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
}

.admin-page--embedded-tab .settings-module-content > .admin-card::after,
.admin-page--embedded-tab .settings-module-content > .admin-card::before,
.admin-page--embedded-tab .settings-module-content > .sp-card-1::before,
.admin-page--embedded-tab .settings-module-content > .sp-card-1::after {
  content: none;
}

.settings-module-content > .admin-card,
.settings-module-content > .sp-card-1 {
  position: relative;
  isolation: isolate;
  flex: 1 1 auto;
  height: 100%;
  box-sizing: border-box;
  border: 0;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  min-height: 0;
  overflow: hidden;
}

.level-one-content > .admin-card,
.level-one-content > .sp-card-1 {
  position: relative;
  isolation: isolate;
  flex: 1 1 auto;
  height: 100%;
  box-sizing: border-box;
  border: 0;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  min-height: 0;
  overflow: hidden;
}

.level-one-content > .level-one-card {
  padding: 0;
}

.sp-l1-card {
  position: relative;
  flex: 1 1 auto;
  height: 100%;
  box-sizing: border-box;
  border: 0;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  min-height: 0;
  overflow: hidden;
}

.level-one-module__content-scroll {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
}

.sp-l1-scroll--module {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
}

.level-one-scroll {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  padding: 12px;
  scrollbar-gutter: stable;
  box-sizing: border-box;
}

.app-root:not(.compact-root) .level-one-scroll:has(> .level-one-view-split) {
  overflow: hidden;
}

.sp-l1-scroll {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0;
  padding: 12px;
  scrollbar-gutter: stable;
  box-sizing: border-box;
}

.level-one-scroll .admin-card-header {
  margin-bottom: 0.22rem;
  padding-bottom: 0.13rem;
  border-bottom-width: 2px;
  font-size: 1.04rem;
  letter-spacing: 0.03rem;
}

.level-one-scroll .admin-hint {
  margin-top: 0.24rem;
  margin-bottom: 0.24rem;
  font-size: 0.68rem;
  line-height: 1.2;
}

.level-one-scroll .admin-tabs {
  gap: 0.18rem;
  padding: 0 0.075rem;
}

.level-one-scroll .admin-tab,
.level-one-scroll .admin-add-btn,
.level-one-scroll .admin-modal-btn {
  padding: 0.13rem 0.3rem;
  border-radius: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.02rem;
}

.level-one-scroll .admin-tabs .admin-tab,
.level-one-scroll .admin-subtabs .admin-tab {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  box-shadow: none;
}

.level-one-scroll .admin-tabs .admin-tab:hover,
.level-one-scroll .admin-tabs .admin-tab:focus-visible,
.level-one-scroll .admin-tabs .admin-tab.active,
.level-one-scroll .admin-subtabs .admin-tab:hover,
.level-one-scroll .admin-subtabs .admin-tab:focus-visible,
.level-one-scroll .admin-subtabs .admin-tab.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.level-one-scroll .admin-table-shell {
  border-width: 1px;
  border-radius: 6px;
}

.level-one-scroll .admin-table th,
.level-one-scroll .admin-table td {
  padding: 0.18rem 0.22rem;
  font-size: 0.72rem;
  line-height: 1.15;
}

.level-one-scroll .admin-input,
.level-one-scroll .admin-select,
.level-one-scroll .admin-table-input {
  min-height: 0;
  padding: 0.075rem 0.13rem;
  font-size: 0.64rem;
  line-height: 1.15;
}

.app-root.compact-root .settings-module-content > .admin-card::after,
.app-root.compact-root .settings-module-content > .sp-card-1::after,
.app-root.compact-root .level-one-content > .admin-card::after,
.app-root.compact-root .level-one-content > .sp-card-1::after,
.app-root.compact-root .chiffreur-settings-content::after {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: 100;
  border: 6px solid #808080;
  border-radius: var(--sp-card-frame-radius);
  pointer-events: none;
}

.app-root.compact-root .settings-module-content > .admin-card::before,
.app-root.compact-root .level-one-content > .admin-card::before,
.app-root.compact-root .chiffreur-settings-content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 100;
  border: 6px solid #000000;
  border-radius: inherit;
  pointer-events: none;
}

.settings-search-results {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  flex: 0 0 auto;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(255, 128, 0, 0.46);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
    #151515;
  color: #ffffff;
  box-shadow: inset 0 0 0 2px #000000;
}

.settings-search-results__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  color: #f8fafc;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.settings-search-results__header strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  color: #111111;
  font-size: 0.78rem;
}

.settings-search-results__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.settings-search-results__item {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
  width: 100%;
  min-width: 0;
  padding: 0.5rem 0.58rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  background: #202020;
  color: #ffffff;
  cursor: pointer;
  text-align: left;
}

.settings-search-results__item:hover,
.settings-search-results__item:focus-visible {
  border-color: var(--sp-color-accent-orange);
  outline: none;
}

.settings-search-results__path {
  overflow: hidden;
  font-size: 0.82rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-search-results__description,
.settings-search-results__empty {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
  line-height: 1.3;
}

.projects-page .settings-module-shell,
.projects-page .settings-module-nav,
.projects-page .settings-module-content,
.projects-page .level-one-frame,
.projects-page .level-one-nav,
.projects-page .level-one-content {
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

.projects-content > .admin-card,
.projects-content > .sp-card-1,
.projects-content > .stats-panel--embedded,
.projects-content__project-embed {
  width: 100%;
  height: 100% !important;
  max-height: 100%;
  min-height: 0 !important;
  box-sizing: border-box;
}

.projects-content > .admin-card,
.projects-content > .sp-card-1 {
  flex: 1 1;
}

.projects-content > .stats-panel--embedded {
  display: flex;
  flex: 1 1;
}

.projects-content > .stats-panel--embedded .stats-panel__body {
  position: relative;
  isolation: isolate;
  flex: 1 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  box-sizing: border-box;
  overflow: auto;
  border-radius: 14px;
  background: #d9d9d9;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  padding: 0.75rem !important;
}

.app-root.compact-root .projects-content > .stats-panel--embedded .stats-panel__body {
  box-shadow: inset 0 0 0 6px #000000, inset 0 0 0 12px #808080, 0 10px 18px rgba(0, 0, 0, 0.25);
}

.app-root.compact-root .projects-content > .stats-panel--embedded .stats-panel__body::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 100;
  border: 6px solid #000000;
  border-radius: inherit;
  box-shadow: inset 0 0 0 6px #808080;
  pointer-events: none;
}

.projects-content .level-one-module__content-scroll > *,
.projects-content .level-one-scroll > * {
  width: 100%;
  min-width: 0;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed,
.projects-content .level-one-module__content-scroll > .crm-page--embedded,
.projects-content .level-one-module__content-scroll > .stats-panel--embedded,
.projects-content .level-one-scroll > .projects-content__project-embed,
.projects-content .level-one-scroll > .crm-page--embedded,
.projects-content .level-one-scroll > .stats-panel--embedded {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed,
.projects-content .level-one-scroll > .projects-content__project-embed {
  display: flex;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed[hidden],
.projects-content .level-one-scroll > .projects-content__project-embed[hidden] {
  display: none;
}

.projects-content .level-one-module__content-scroll .extranet-page,
.projects-content .level-one-scroll .extranet-page {
  height: auto;
  min-height: 100%;
  padding: 0;
  overflow: visible;
}

.projects-content .level-one-module__content-scroll .extranet-shell--module-embed,
.projects-content .level-one-scroll .extranet-shell--module-embed {
  height: auto;
  max-height: none;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.projects-content .level-one-module__content-scroll .extranet-shell--module-embed .extranet-main,
.projects-content .level-one-scroll .extranet-shell--module-embed .extranet-main {
  overflow: visible;
}

.projects-content .level-one-module__content-scroll > .stats-panel--embedded,
.projects-content .level-one-scroll > .stats-panel--embedded {
  display: flex;
  flex-direction: column;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .calepineur-panel-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .calepineur-panel-card > .admin-card-header {
  flex: 0 0 auto;
  margin: 0 0 0.45rem;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .calepineur-panel-card > .material-prelayout-settings-page {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .crm-page--embedded,
.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .crm-page--embedded {
  gap: 0.75rem;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .crm-page--embedded > .admin-card,
.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded .stats-panel__body {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded .stats-panel__body {
  display: flex;
  flex-direction: column;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded .stats-panel__body::after {
  content: none;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded .stats-panel__grafana-frame {
  flex: 1 1 auto;
  min-height: 0;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded iframe {
  height: 100% !important;
  min-height: 0;
}

.projects-content .level-one-module__content-scroll > .stats-panel--embedded .stats-panel__body,
.projects-content .level-one-scroll > .stats-panel--embedded .stats-panel__body {
  position: static;
  flex: 1 1 auto;
  height: auto;
  max-height: none;
  min-height: 0;
  padding: 0 !important;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.projects-content .level-one-module__content-scroll > .stats-panel--embedded .stats-panel__body::after,
.projects-content .level-one-scroll > .stats-panel--embedded .stats-panel__body::after {
  content: none;
}

.projects-content .level-one-module__content-scroll > .crm-page--embedded,
.projects-content .level-one-scroll > .crm-page--embedded {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.projects-content .level-one-module__content-scroll > .crm-page--embedded > .admin-card,
.projects-content .level-one-module__content-scroll > .admin-card,
.projects-content .level-one-scroll > .crm-page--embedded > .admin-card,
.projects-content .level-one-scroll > .admin-card {
  height: auto;
  max-height: none;
  min-height: 0 !important;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.administration-content > .level-one-placeholder,
.administration-content > .hr-page--embedded,
.administration-content > .admin-commercial-addressing-page {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.chiffreur-settings-shell {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: stretch;
  flex: 1 1;
  height: auto;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.sp-l2-frame {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: stretch;
  flex: 1 1;
  height: auto;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.sp-l2-frame--rail {
  grid-template-columns: 62px minmax(0, 1fr);
}

.chiffreur-settings-shell--rail {
  grid-template-columns: 62px minmax(0, 1fr);
}

.chiffreur-settings-nav {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  box-sizing: border-box;
  min-height: 0;
  padding: 0.65rem;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 8px;
  background: #b3b3b3;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.sp-l2-nav {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  box-sizing: border-box;
  min-height: 0;
  padding: 0.65rem;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 8px;
  background: #b3b3b3;
  align-self: stretch;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.sp-l2-nav--rail {
  position: relative;
  z-index: 15;
  box-sizing: border-box;
  width: 62px;
  min-width: 62px;
  height: 100%;
  max-height: 100%;
  padding: 0;
  overflow: visible;
}

.chiffreur-settings-nav--rail {
  position: relative;
  z-index: 15;
  box-sizing: border-box;
  width: 62px;
  min-width: 62px;
  height: 100%;
  max-height: 100%;
  padding: 0;
  overflow: visible;
}

.chiffreur-settings-nav__header {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  min-height: 32px;
  width: 100%;
  box-sizing: border-box;
}

.chiffreur-settings-nav--rail .chiffreur-settings-nav__header {
  position: absolute;
  top: 0.45rem;
  left: 50%;
  width: 32px;
  transform: translateX(-50%);
}

.chiffreur-settings-nav__title {
  min-width: 0;
  overflow: hidden;
  color: #111111;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.chiffreur-settings-nav--rail .chiffreur-settings-nav__title {
  display: none;
}

.chiffreur-settings-nav__rail-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0;
  color: #111111;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0.03rem;
  line-height: 0.95;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  pointer-events: none;
  z-index: 1;
}

.chiffreur-settings-nav__body {
  display: flex;
  flex-direction: column;
  flex: 1 1;
  gap: 0.4rem;
  width: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
}

.chiffreur-settings-nav--rail .chiffreur-settings-nav__body {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 230px;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
  overflow-y: auto;
  padding: 3rem 0.65rem 0.65rem;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 8px;
  background: #b3b3b3;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-8px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.chiffreur-settings-nav--open .chiffreur-settings-nav__body {
  display: flex;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.chiffreur-settings-nav--open .chiffreur-settings-nav__rail-label,
.chiffreur-settings-nav:not(.chiffreur-settings-nav--rail) .chiffreur-settings-nav__rail-label {
  opacity: 0;
}

.chiffreur-settings-nav__pin {
  justify-self: start;
  border-color: #111111;
  background: #ffffff;
  color: #111111;
  margin-bottom: 0.15rem;
}

.chiffreur-settings-nav__pin:hover,
.chiffreur-settings-nav__pin.active {
  border-color: var(--sp-color-accent-orange);
  background: #111111;
  color: #ffffff;
  box-shadow: none;
}

.chiffreur-settings-nav__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  min-height: 38px;
  padding: 0.45rem 0.6rem;
  border: 1px solid #111111;
  border-radius: 6px;
  background: #ffffff;
  color: #111111;
  font-size: 0.82rem;
  font-weight: 850;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.chiffreur-settings-nav__item-description {
  margin-top: 0.12rem;
  font-size: 0.66rem;
  font-weight: 650;
  line-height: 1.15;
  text-transform: none;
  opacity: 0.74;
}

.chiffreur-settings-nav__item:hover,
.chiffreur-settings-nav__item.active {
  border-color: var(--sp-color-accent-orange);
  background: #111111;
  color: #ffffff;
  box-shadow: none;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav {
  border-color: #000000;
  background: #111111;
  color: #ffffff;
  box-shadow: inset 0 0 0 1px #000000;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav__title,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__rail-label,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__title,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__rail-label {
  color: #ffffff;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav__body,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__body,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav--rail .level-two-nav__body,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav--rail .chiffreur-settings-nav__body {
  background: #111111;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav__item,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__item {
  border: 0;
  background: transparent;
  color: rgba(226, 232, 240, 0.78);
  box-shadow: none;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav__item span,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__item span {
  color: inherit;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-nav__item:hover,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__item.active,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__item:hover,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__item.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .level-two-nav__pin,
.app-root:not(.compact-root) .chiffreur-settings-nav__pin,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__pin,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__pin {
  border: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
}

.app-root:not(.compact-root) .level-two-nav__pin:hover,
.app-root:not(.compact-root) .level-two-nav__pin:focus-visible,
.app-root:not(.compact-root) .level-two-nav__pin.active,
.app-root:not(.compact-root) .level-two-nav--rail .level-two-nav__pin,
.app-root:not(.compact-root) .chiffreur-settings-nav__pin:hover,
.app-root:not(.compact-root) .chiffreur-settings-nav__pin:focus-visible,
.app-root:not(.compact-root) .chiffreur-settings-nav__pin.active,
.app-root:not(.compact-root) .chiffreur-settings-nav--rail .chiffreur-settings-nav__pin,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__pin:hover,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__pin:focus-visible,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav__pin.active,
.app-root:not(.compact-root) .level-one-view-body .level-two-nav--rail .level-two-nav__pin,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__pin:hover,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__pin:focus-visible,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav__pin.active,
.app-root:not(.compact-root) .level-one-view-body .chiffreur-settings-nav--rail .chiffreur-settings-nav__pin {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.chiffreur-settings-content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
  min-height: 0;
  flex: 1 1;
  height: auto;
  max-height: 100%;
  padding: 0.6rem;
  border-radius: 8px;
  border: 0;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  overflow-y: auto;
  overflow-x: hidden;
}

.sp-l2-content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
  min-height: 0;
  flex: 1 1;
  height: auto;
  max-height: 100%;
  padding: 0.6rem;
  border-radius: 8px;
  border: 0;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
  background-clip: padding-box;
  overflow: hidden;
}

.chiffreur-settings-content {
  overflow-y: auto;
  overflow-x: hidden;
}

.chiffreur-settings-content.settings-theme-page {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
  --sp-ui-danger-text: #ffb4a8;
  --sp-ui-danger-bg: rgba(220, 38, 38, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #121212;
  color: #f8fafc;
}

.chiffreur-settings-content .admin-card-header {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.chiffreur-settings-content > .admin-hint {
  margin: -0.35rem 0 0;
  color: rgba(226, 232, 240, 0.72);
  font-size: 1rem;
  line-height: 1.35;
}

.chiffreur-settings-content > .extranet-page {
  display: flex;
  flex-direction: column;
  flex: 1 1;
  padding: 0;
  gap: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.chiffreur-settings-content .extranet-shell--settings-embed {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.chiffreur-settings-content .extranet-shell--settings-embed .extranet-main {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  padding: 0;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.chiffreur-settings-content .extranet-shell--settings-embed .extranet-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  gap: 0.65rem;
  min-height: 0;
}

.chiffreur-settings-content .extranet-shell--settings-embed .extranet-card,
.chiffreur-settings-content > .extranet-card,
.chiffreur-settings-content .quote-vat-settings,
.chiffreur-settings-content .quote-technical-settings__card {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
  box-shadow: none;
}

.chiffreur-settings-content .settings-form-section,
.chiffreur-settings-content .extranet-card,
.chiffreur-settings-content .commercial-catalog-admin,
.chiffreur-settings-content .materials-catalog,
.chiffreur-settings-content .materials-catalog-section,
.chiffreur-settings-content .catalog-csv-section,
.chiffreur-settings-content .catalog-csv-preview,
.chiffreur-settings-content .admin-table-card,
.chiffreur-settings-content .admin-section,
.chiffreur-settings-content .admin-card:not(.extranet-shell):not(.chiffreur-settings-content) {
  --sp-local-card-bg: rgba(255, 255, 255, 0.055);

  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
  box-shadow: none;
}

.chiffreur-settings-content :is(
  .admin-table-shell,
  .admin-table-wrap,
  .admin-list,
  .admin-list-row,
  .admin-panel,
  .admin-fieldset,
  .catalog-preview,
  .catalog-csv-preview,
  .materials-catalog-table,
  .materials-catalog-row,
  .supplier-material-row,
  .supplier-settings-card
) {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #f8fafc;
}

.chiffreur-settings-content .admin-tab:not(.active) {
  background-color: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.chiffreur-settings-content .admin-tab.active {
  border-color: var(--sp-color-accent-orange);
  background-color: rgba(255, 143, 42, 0.24);
  color: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(255, 143, 42, 0.95);
}

.chiffreur-settings-content .extranet-card h3,
.chiffreur-settings-content .extranet-card h4,
.chiffreur-settings-content .quote-vat-settings h4,
.chiffreur-settings-content .settings-form-section__header h3,
.chiffreur-settings-content .admin-section-title,
.chiffreur-settings-content .admin-card-title {
  margin: 0;
  color: #ffffff;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.chiffreur-settings-content .extranet-card p,
.chiffreur-settings-content .settings-form-section__header p,
.chiffreur-settings-content .admin-section-description {
  margin: 0;
  color: rgba(226, 232, 240, 0.72);
  font-size: 1rem;
  line-height: 1.35;
}

.chiffreur-settings-content .admin-warning {
  border-color: rgba(255, 106, 0, 0.36);
  background: rgba(255, 106, 0, 0.12);
  color: #ffcf9a;
}

.chiffreur-settings-content .admin-subtabs {
  display: flex;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: var(--sp-local-card-bg, var(--sp-theme-card-bg, #d9d9d9));
}

.chiffreur-settings-content .quote-vat-settings__rate,
.chiffreur-settings-content .quote-terms-editor__section {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #f8fafc;
}

.chiffreur-settings-content .quote-payment-terms-generator__row {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #f8fafc;
}

.chiffreur-settings-content .quote-terms-editor__section--empty {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.035);
}

.chiffreur-settings-content .quote-terms-editor__label,
.chiffreur-settings-content .admin-select-wrap,
.chiffreur-settings-content .quote-vat-settings__applies,
.chiffreur-settings-content .quote-vat-settings__checks label,
.chiffreur-settings-content .quote-vat-settings__actions,
.chiffreur-settings-content .settings-field,
.chiffreur-settings-content label {
  color: rgba(248, 250, 252, 0.9);
}

.chiffreur-settings-content .admin-input,
.chiffreur-settings-content .admin-select,
.chiffreur-settings-content .admin-table-input,
.chiffreur-settings-content .settings-input,
.chiffreur-settings-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.chiffreur-settings-content select,
.chiffreur-settings-content textarea {
  border-color: rgba(255, 255, 255, 0.16);
  background: #151515;
  color: #ffffff;
}

.chiffreur-settings-content .admin-input:focus,
.chiffreur-settings-content .admin-select:focus,
.chiffreur-settings-content .admin-table-input:focus,
.chiffreur-settings-content .settings-input:focus,
.chiffreur-settings-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.chiffreur-settings-content select:focus,
.chiffreur-settings-content textarea:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.chiffreur-settings-content .admin-input::placeholder,
.chiffreur-settings-content .settings-input::placeholder,
.chiffreur-settings-content textarea::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.chiffreur-settings-content .admin-select option,
.chiffreur-settings-content select option {
  background: #121212;
  color: #ffffff;
}

.chiffreur-settings-content .quote-vat-settings__applies strong {
  color: #ffffff;
}

.chiffreur-settings-content .settings-field,
.chiffreur-settings-content .quote-terms-editor__label {
  gap: 0.3rem;
  color: #f8fafc;
  font-size: 1rem !important;
  font-weight: 800;
  letter-spacing: 0.025rem;
}

.chiffreur-settings-content .admin-hint,
.chiffreur-settings-content .commercial-promotion-card {
  font-size: 1rem;
  line-height: 1.35;
}

.chiffreur-settings-content .admin-input,
.chiffreur-settings-content .admin-select,
.chiffreur-settings-content .settings-input,
.chiffreur-settings-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.chiffreur-settings-content select,
.chiffreur-settings-content textarea {
  min-height: 46px;
  padding: 0.33rem 0.63rem;
  font-size: 1.12rem !important;
  line-height: 1.25;
}

.chiffreur-settings-content .admin-add-btn,
.chiffreur-settings-content .admin-edit-btn,
.chiffreur-settings-content .admin-suspend-btn,
.chiffreur-settings-content .admin-tab,
.chiffreur-settings-content .sp-segmented-toggle__button,
.chiffreur-settings-content .admin-authz-toggle-button {
  min-height: 38px;
  padding: 0.31rem 0.9rem;
  font-size: 0.93rem !important;
  letter-spacing: 0.01rem;
}

.chiffreur-settings-content .commercial-promotion-card > div:first-child {
  padding: 0.75rem 0.9rem !important;
}

.chiffreur-settings-content .commercial-promotion-card span {
  font-size: 1rem !important;
}

.chiffreur-settings-content .commercial-promotion-card em,
.chiffreur-settings-content .commercial-promotion-card div {
  font-size: 1rem;
}

.chiffreur-settings-content .commercial-promotion-card > div:first-child > div:first-child > div:first-child span:first-child {
  font-size: 0.78rem !important;
}

.chiffreur-settings-content .commercial-promotion-card > div:first-child > div:first-child > div:nth-child(2),
.chiffreur-settings-content .commercial-promotion-card > div:last-child > div > div:first-child {
  font-size: 0.9rem !important;
}

.chiffreur-settings-content .commercial-promotion-card > div:last-child > div {
  padding: 0.85rem 0.95rem !important;
}

.app-root:not(.compact-root) .level-one-view-body .level-two-content:has(.intervention-pricing-admin) {
  height: 100%;
  overflow: hidden;
}

.app-root:not(.compact-root) .intervention-pricing-admin {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .intervention-pricing-admin__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__layout {
  display: flex;
  flex: 1 1 auto;
  gap: 20px;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__map {
  display: grid;
  place-items: center;
  flex: 1 1;
  min-width: 0;
  min-height: 0;
  overflow: auto;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__details {
  position: -webkit-sticky;
  position: sticky;
  top: 16px;
  display: flex;
  flex: 0 0 330px;
  flex-direction: column;
  gap: 18px;
  width: 330px;
  min-width: 330px;
  max-height: 100%;
  overflow-y: auto;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__detail-card {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__dept-title {
  font-size: 1.31rem;
  line-height: 1.15;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__muted {
  color: var(--sp-ui-muted);
  font-size: 1.13rem;
  line-height: 1.35;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__service-list {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  margin-top: 12px;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__service-list .extranet-stat span,
.app-root:not(.compact-root) .intervention-pricing-map-panel__service-list .extranet-stat strong {
  font-size: 1.13rem;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__section-title {
  margin-bottom: 2px;
  color: var(--sp-ui-muted);
  font-size: 1.03rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__actor-list {
  display: grid;
  grid-gap: 9px;
  gap: 9px;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__actor {
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__actor-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 33px;
  width: 33px;
  height: 33px;
  border: 3px solid;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 800;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__actor-name {
  overflow: hidden;
  font-size: 1.13rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__actor-meta {
  color: var(--sp-ui-muted);
  font-size: 1.03rem;
  line-height: 1.4;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

.app-root:not(.compact-root) .intervention-pricing-map-panel__capability {
  padding: 2px 8px;
  border: 1px solid;
  border-radius: 3px;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.6;
}

.app-root:not(.compact-root) .intervention-pricing-france-map {
  display: block;
  width: calc(var(--intervention-map-zoom, 1) * 100%);
  height: calc(var(--intervention-map-zoom, 1) * 100%);
  max-width: none;
  max-height: none;
}

.app-root:not(.compact-root) .intervention-pricing-france-map--fit {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
}

.chiffreur-settings-content .admin-table-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
}

.chiffreur-settings-content .admin-table {
  color: #f8fafc;
  background: transparent;
}

.chiffreur-settings-content .admin-table th {
  border-color: rgba(255, 255, 255, 0.12);
  background: #000000;
  color: #ffffff;
}

.chiffreur-settings-content .admin-table td {
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(248, 250, 252, 0.9);
}

.chiffreur-settings-content .admin-add-btn,
.chiffreur-settings-content .admin-modal-btn,
.chiffreur-settings-content .admin-suspend-btn,
.chiffreur-settings-content .toggle-btn,
.chiffreur-settings-content button:not(.sp-segmented-toggle__button):not(.chiffreur-settings-nav__item):not(.level-two-nav__item):not(.chiffreur-settings-nav__pin):not(.level-two-nav__pin):not(.admin-section-tab) {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.055);
  color: #ffffff;
}

.chiffreur-settings-content .admin-add-btn:hover,
.chiffreur-settings-content .admin-modal-btn:hover,
.chiffreur-settings-content .admin-suspend-btn:hover,
.chiffreur-settings-content .toggle-btn:hover,
.chiffreur-settings-content button:not(.sp-segmented-toggle__button):not(.chiffreur-settings-nav__item):not(.level-two-nav__item):not(.chiffreur-settings-nav__pin):not(.level-two-nav__pin):not(.admin-section-tab):hover {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.16);
}


.chiffreur-settings-placeholder {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  padding: 0.75rem;
  border: 1px dashed #111111;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
  color: #111111;
}

.settings-stub-card {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.settings-stub-card h4 {
  margin: 0;
}

.level-two-frame {
  grid-template-columns: 196px minmax(0, 1fr);
  gap: 0.85rem;
}

.level-two-frame--rail {
  grid-template-columns: 66px minmax(0, 1fr);
}

.level-two-nav--rail {
  width: 66px;
  min-width: 66px;
}

.level-two-nav--rail .level-two-nav__body {
  width: 196px;
}

.level-two-nav__rail-label {
  font-size: 1.02rem;
}

@media (min-width: 901px) {
  .admin-page--settings-module .settings-module-content > :not(.level-two-frame) > *,
  .admin-page--settings-module .level-two-content > * {
    zoom: 0.75;
  }
}

@media (max-width: 900px) {
  .settings-module-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-module-shell--rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .settings-module-nav {
    max-height: 42vh;
  }

  .settings-module-nav--rail {
    width: 100%;
    min-width: 0;
    height: auto;
  }

  .settings-module-nav__rail-label {
    display: none;
  }

  .settings-module-nav__body {
    position: static;
    width: 100%;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .chiffreur-settings-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .chiffreur-settings-nav--rail {
    width: 100%;
    min-width: 0;
    height: auto;
  }

  .chiffreur-settings-nav__rail-label {
    display: none;
  }

  .chiffreur-settings-nav__body {
    position: static;
    width: 100%;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
}

.app-root.compact-root .app-main--compact-shared {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .admin-page--settings-module {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .sp-l1-page.level-one-module,
.app-root.compact-root .sp-l1-page.level-one-module > .sp-l1-content {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .sp-l1-content > .admin-page--embedded-tab {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

.app-root.compact-root .admin-page--settings-module > .sp-title-1 {
  display: none;
}

.app-root.compact-root .settings-module-shell,
.app-root.compact-root .settings-module-shell--rail {
  display: flex;
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .settings-module-nav {
  display: none;
}

.app-root.compact-root .settings-module-content {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .settings-module-content > .admin-card,
.app-root.compact-root .settings-module-content > .sp-card-1 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.app-root.compact-root .app-main--compact-shared .admin-page--settings-module:not(.admin-page--production-settings) .settings-module-content > .admin-card:not(.admin-production-settings-card),
.app-root.compact-root .app-main--compact-shared .admin-page--settings-module:not(.admin-page--production-settings) .settings-module-content > .sp-card-1,
.app-root.compact-root .app-main--compact-shared .admin-page--settings-module:not(.admin-page--production-settings) .settings-module-content > .company-settings-page {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root.compact-root .settings-module-content > .company-settings-page {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  gap: 7px;
  padding: 6px;
  overflow: hidden;
  box-shadow: none;
}

.app-root.compact-root .settings-module-content > .material-prelayout-settings-page {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root.compact-root .settings-module-content > .material-prelayout-settings-page::before,
.app-root.compact-root .settings-module-content > .material-prelayout-settings-page::after {
  content: none;
}

.app-root .stonepiloteur-compact-common-content {
  --sp-ui-surface: #121212;
  --sp-ui-surface-soft: #181818;
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f7f7f7;
  --sp-ui-text-muted: rgba(232, 232, 232, 0.72);
  --sp-ui-modal-bg: #121212;
  --sp-ui-modal-border: rgba(255, 255, 255, 0.14);
  --sp-ui-btn-neutral-bg: rgba(255, 255, 255, 0.08);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: #0b0b0b;
  box-shadow: none;
  overflow-x: hidden;
  position: relative;
  isolation: isolate;
}

.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .admin-card,
.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .sp-card-1 {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .admin-card::before,
.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .admin-card::after,
.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .sp-card-1::before,
.app-root .settings-module-content:has(.stonepiloteur-compact-common-content) > .sp-card-1::after {
  content: none;
  display: none;
}

.app-root .stonepiloteur-compact-common-content::before,
.app-root .stonepiloteur-compact-common-content::after {
  content: none;
  display: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-settings-diagnostic,
.app-root .stonepiloteur-compact-common-content .compact-common-settings-diagnostic * {
  max-width: 100%;
  box-sizing: border-box;
}

.app-root .stonepiloteur-compact-common-content .compact-common-settings-diagnostic {
  color: var(--sp-ui-text, #f7f7f7);
  padding: 12px;
  border: 0;
  border-radius: 8px;
  background: #0b0b0b;
  box-shadow: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-family-card {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #141414;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.app-root .stonepiloteur-compact-common-content .compact-common-family-card > h3 {
  color: var(--sp-ui-text, #f8fafc);
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-backdrop {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  background: rgba(0, 0, 0, 0.66);
  overflow-y: auto;
  z-index: 20;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-modal {
  display: flex;
  flex-direction: column;
  width: min(640px, 100%);
  max-width: 100%;
  max-height: calc(100% - 28px);
  min-width: 0;
  margin: auto;
  padding: 14px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.14));
  border-radius: 10px;
  background: var(--sp-ui-surface, #121212);
  color: var(--sp-ui-text, #f7f7f7);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.42);
  overflow: hidden;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-title {
  flex: 0 0 auto;
  margin: 0 0 12px;
  color: var(--sp-ui-text, #f8fafc);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-body {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  min-height: 0;
  padding: 0 2px 2px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-width: thin;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
  grid-gap: 6px 12px;
  gap: 6px 12px;
  min-width: 0;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-label {
  color: var(--sp-ui-text-muted, rgba(232, 232, 232, 0.72));
  font-size: 0.78rem;
  line-height: 1.3;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-value {
  min-width: 0;
  color: var(--sp-ui-text, #f8fafc);
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-modal .sp-modal-actions,
.app-root .stonepiloteur-compact-common-content .compact-common-detail-modal .admin-modal-actions {
  flex: 0 0 auto;
  margin-top: 12px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-item,
.app-root .stonepiloteur-compact-common-content .compact-common-chip {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-chip {
  padding: 5px 7px;
  font-size: 12px;
  font-weight: 800;
}

.app-root .stonepiloteur-compact-common-content .compact-common-family-preview {
  font-size: 12px;
  line-height: 1.25;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-tabs {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-tab {
  width: auto;
  min-width: 0;
  height: 33px;
  padding: 0.35rem 0.65rem;
  font-size: 12px;
  font-weight: 800;
}

.app-root .stonepiloteur-compact-common-content .compact-common-category-tabs {
  margin-top: -4px;
  background: transparent;
}

.app-root .stonepiloteur-compact-common-content .compact-common-category-tab {
  height: 30px;
  font-size: 11px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-visual-preview {
  padding: 8px;
  border: 1px dashed var(--sp-color-accent-orange);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.app-root .stonepiloteur-compact-common-content .compact-common-device-frame {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  background: #101010;
  overflow: hidden;
}

.app-root .stonepiloteur-compact-common-content .compact-common-device-frame--desktop {
  width: min(100%, 360px);
}

.app-root .stonepiloteur-compact-common-content .compact-common-device-frame--tablet {
  width: min(100%, 240px);
}

.app-root .stonepiloteur-compact-common-content .compact-common-device-frame--smartphone {
  width: min(100%, 150px);
  flex-direction: column;
  align-items: stretch;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview,
.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview,
.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview,
.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview {
  width: 100%;
  min-width: 0;
  color: var(--sp-ui-text, #f8fafc);
  box-sizing: border-box;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview,
.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  background: #111111;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview {
  max-width: 190px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview {
  max-width: 220px;
  background: #141414;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview__eyebrow,
.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview__title {
  color: rgba(232, 232, 232, 0.72);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview__item,
.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview__item {
  display: block;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 6px;
  color: #f8fafc;
  font-size: 12px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root .stonepiloteur-compact-common-content .compact-common-level-one-preview__item.active,
.app-root .stonepiloteur-compact-common-content .compact-common-level-two-preview__item.active {
  background: rgba(249, 115, 22, 0.18);
  color: #fed7aa;
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  max-width: 300px;
  padding: 10px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.14));
  border-radius: 8px;
  background: #141414;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.32);
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview--phone {
  max-width: 150px;
  min-height: 150px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview--tablet {
  max-width: 240px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview__title {
  font-size: 13px;
  font-weight: 900;
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview__body {
  color: var(--sp-ui-text-muted, rgba(232, 232, 232, 0.72));
  font-size: 11px;
  line-height: 1.3;
}

.app-root .stonepiloteur-compact-common-content .compact-common-popup-preview__actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview {
  display: grid;
  grid-template-columns: 42px 52px minmax(0, 1fr);
  grid-gap: 5px;
  gap: 5px;
  max-width: 340px;
  min-height: 100px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 7px;
  background: #101010;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview--compact,
.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview--phone {
  grid-template-columns: 1fr;
  max-width: 160px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview--tablet {
  grid-template-columns: 54px minmax(0, 1fr);
  max-width: 240px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview__nav,
.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview__subnav,
.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview__content {
  min-width: 0;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.08);
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview--compact .compact-common-view-shell-preview__subnav,
.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview--phone .compact-common-view-shell-preview__subnav {
  display: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview__content {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  align-content: start;
  padding: 8px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-view-shell-preview__content span {
  display: block;
  height: 18px;
  border-radius: 4px;
  background: rgba(249, 115, 22, 0.2);
}

.app-root .stonepiloteur-compact-common-content .compact-common-preview-variant {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
}

.app-root .stonepiloteur-compact-common-content .compact-common-preview-variant-label {
  color: var(--sp-ui-text-muted, rgba(232, 232, 232, 0.72));
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.app-root .stonepiloteur-compact-common-content .compact-common-icon-only-preview {
  width: 32px;
  min-width: 32px;
  max-width: 32px;
  height: 32px;
  padding: 0;
  justify-content: center;
}

.app-root .stonepiloteur-compact-common-content .compact-common-search-preview {
  position: relative;
  display: block;
  min-width: 0;
  max-width: 100%;
}

.app-root .stonepiloteur-compact-common-content .compact-common-search-preview svg {
  position: absolute;
  top: 50%;
  left: 10px;
  z-index: 1;
  color: var(--sp-ui-text-muted, rgba(232, 232, 232, 0.72));
  transform: translateY(-50%);
  pointer-events: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-search-preview input {
  width: 100%;
  min-width: 0;
  padding-left: 30px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-card {
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.app-root .stonepiloteur-compact-common-content .compact-common-preview-pill {
  min-width: 0;
  max-width: 100%;
  padding: 4px 6px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--sp-ui-text, #f8fafc);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.app-root .stonepiloteur-compact-common-content .compact-common-detail-trigger {
  width: auto;
  height: 28px;
  min-width: 0;
  padding: 0 10px;
  justify-content: center;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.app-root .stonepiloteur-compact-common-content .compact-common-item:focus-visible {
  outline: 2px solid var(--sp-color-accent-orange);
  outline-offset: 2px;
}

.app-root .stonepiloteur-compact-common-content .compact-common-item .admin-card,
.app-root .stonepiloteur-compact-common-content .compact-common-item .sp-card-1 {
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-item .admin-card::before,
.app-root .stonepiloteur-compact-common-content .compact-common-item .admin-card::after,
.app-root .stonepiloteur-compact-common-content .compact-common-item .sp-card-1::before,
.app-root .stonepiloteur-compact-common-content .compact-common-item .sp-card-1::after {
  content: none;
  display: none;
}

.app-root .stonepiloteur-compact-common-content .compact-common-muted,
.app-root .stonepiloteur-compact-common-content .compact-common-item > span:last-child {
  color: var(--sp-ui-text-muted, rgba(232, 232, 232, 0.72));
}

.app-root .stonepiloteur-compact-common-content .compact-common-status {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--compact-common-status-color, #f8fafc);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--official {
  --compact-common-status-bg: rgba(34, 197, 94, 0.18);
  --compact-common-status-border: rgba(74, 222, 128, 0.42);
  --compact-common-status-color: #bbf7d0;
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--partial {
  --compact-common-status-bg: rgba(245, 158, 11, 0.18);
  --compact-common-status-border: rgba(251, 191, 36, 0.44);
  --compact-common-status-color: #fde68a;
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--specific {
  --compact-common-status-bg: rgba(148, 148, 148, 0.16);
  --compact-common-status-border: rgba(190, 190, 190, 0.36);
  --compact-common-status-color: #d6d6d6;
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--duplicate {
  --compact-common-status-bg: rgba(239, 68, 68, 0.18);
  --compact-common-status-border: rgba(248, 113, 113, 0.42);
  --compact-common-status-color: #fecaca;
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--missing {
  --compact-common-status-bg: rgba(220, 38, 38, 0.24);
  --compact-common-status-border: rgba(248, 113, 113, 0.56);
  --compact-common-status-color: #fca5a5;
  padding: 3px 6px;
  border: 1px solid var(--compact-common-status-border);
  border-radius: 999px;
  background: var(--compact-common-status-bg);
}

.app-root .stonepiloteur-compact-common-content .compact-common-status--merge {
  --compact-common-status-bg: rgba(168, 85, 247, 0.18);
  --compact-common-status-border: rgba(192, 132, 252, 0.42);
  --compact-common-status-color: #e9d5ff;
}

@media (max-width: 560px) {
  .app-root .stonepiloteur-compact-common-content .compact-common-detail-backdrop {
    align-items: center;
    padding: max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));
  }

  .app-root .stonepiloteur-compact-common-content .compact-common-detail-modal {
    max-height: calc(100% - 24px);
    padding: 12px;
    border-radius: 8px;
  }

  .app-root .stonepiloteur-compact-common-content .compact-common-detail-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-root .stonepiloteur-compact-common-content .compact-common-item-body {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.app-root.compact-root .company-settings-page .settings-page-header {
  align-items: stretch;
  gap: 7px;
  padding: 0 0 7px;
}

.app-root.compact-root .company-settings-page .settings-page-title {
  font-size: 0.98rem;
}

.app-root.compact-root .company-settings-page .settings-actions {
  gap: 6px;
}

.app-root.compact-root .company-settings-page .settings-actions .admin-add-btn,
.app-root.compact-root .company-settings-page .settings-actions .admin-edit-btn {
  min-height: 34px;
  padding: 0.25rem 0.64rem;
  font-size: 0.82rem;
}

.app-root.compact-root .company-settings-page .settings-page-scroll {
  flex: 1 1 auto;
  min-height: 0;
  gap: 7px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0;
}

.app-root.compact-root .app-main--compact-shared .settings-module-content > .admin-compact-managed-page {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--sp-card-frame-radius);
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  border: 0;
  border-radius: var(--sp-card-frame-radius);
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page::before,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page::after {
  content: none;
}

.app-root.compact-root .app-main--compact-shared .settings-module-content > .admin-compact-managed-page::after {
  border-radius: inherit;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .settings-page-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.app-root.compact-root .company-settings-page .settings-form-section {
  gap: 7px;
  padding: 8px;
  border-radius: 7px;
}

.app-root.compact-root .company-settings-page .settings-form-grid,
.app-root.compact-root .company-settings-page .settings-readonly-grid,
.app-root.compact-root .company-settings-page .settings-logo-grid {
  grid-template-columns: 1fr;
  gap: 7px;
}

.app-root.compact-root .company-settings-page .settings-form-section__header h3 {
  font-size: 0.9rem;
  line-height: 1.18;
}

.app-root.compact-root .company-settings-page .settings-form-section__header p,
.app-root.compact-root .company-settings-page .settings-section-hint,
.app-root.compact-root .company-settings-page .settings-geocoding-help {
  font-size: 0.76rem;
  line-height: 1.25;
}

.app-root.compact-root .company-settings-page .settings-field {
  gap: 4px;
  font-size: 0.82rem;
}

.app-root.compact-root .company-settings-page .settings-input {
  min-height: 38px;
  padding: 0.28rem 0.5rem;
  font-size: 0.95rem;
}

.app-root.compact-root .company-settings-page .settings-textarea {
  min-height: 72px;
}

.app-root.compact-root .company-settings-page .settings-logo-card {
  grid-template-rows: auto minmax(74px, auto) auto auto;
  gap: 7px;
  padding: 8px;
}

.app-root.compact-root .company-settings-page .settings-logo-card__title,
.app-root.compact-root .company-settings-page .settings-logo-card__top p {
  font-size: 0.82rem;
}

.app-root.compact-root .company-settings-page .settings-logo-card__preview {
  max-height: 86px;
  padding: 0.42rem;
}

.app-root.compact-root .company-settings-page .settings-logo-card__preview img {
  max-height: 70px;
}

.app-root.compact-root .company-settings-page .settings-readonly-field {
  padding: 8px;
}

.app-root.compact-root .company-settings-page .settings-readonly-field span,
.app-root.compact-root .company-settings-page .settings-readonly-field strong,
.app-root.compact-root .company-settings-page .settings-readonly-field a {
  font-size: 0.86rem;
}

.admin-tabs {
  display: flex;
  gap: 0.5rem;
  padding: 0 0.2rem;
}

.admin-tabs--hr {
  align-items: center;
  justify-content: space-between;
}

.admin-select-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #1b1b1b;
  font-weight: 600;
}

.admin-select--hr {
  min-width: 260px;
}

.admin-page-access {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-bottom: 0.6rem;
}

.admin-page-access__row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.admin-page-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.admin-access-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  margin-bottom: 0.8rem;
}

.admin-switch--inline {
  display: inline-flex;
}

.admin-access-label {
  font-weight: 700;
  letter-spacing: 0.08rem;
  text-transform: uppercase;
  color: #111111;
  opacity: 0.42;
}

.admin-access-label.active {
  opacity: 1;
}

.admin-page-tab {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.25rem 0.45rem;
  border-radius: 6px;
  border: 1px solid #000000;
  background: #d0d0d0;
}

.admin-page-tab.off {
  opacity: 0.45;
}

.admin-page-tab.active {
  background: var(--sp-color-accent-orange);
}

.admin-page-tab__label {
  background: transparent;
  border: none;
  font-weight: 700;
  letter-spacing: 0.06rem;
  cursor: pointer;
  text-transform: uppercase;
}

.admin-access-toggle-stack {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.app-root:not(.compact-root) .admin-access-toggle-stack {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: stretch;
}

.app-root:not(.compact-root) .admin-access-toggle-stack > .admin-ui-header {
  grid-column: 1 / -1;
}

.admin-access-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  text-align: left;
  white-space: normal;
}

.admin-access-toggle__label {
  color: inherit;
}

.admin-authz-production-section {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.admin-production-column-list {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.admin-production-column-matrix-wrap {
  display: none;
}

.admin-production-column-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 0.4rem;
  gap: 0.4rem;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.055);
}

.admin-production-column-row--scope {
  border-color: rgba(255, 255, 255, 0.18);
}

.admin-production-column-label {
  color: rgba(226, 232, 240, 0.86);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
}

.admin-production-column-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.app-root:not(.compact-root) .admin-production-column-list {
  display: none;
}

.app-root:not(.compact-root) .admin-production-column-matrix-wrap {
  display: grid;
  grid-gap: 0;
  gap: 0;
  min-width: 0;
}

.app-root:not(.compact-root) .admin-production-column-matrix-scroll {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.15rem;
}

.app-root:not(.compact-root) .admin-production-column-matrix {
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.app-root:not(.compact-root) .admin-production-column-matrix th,
.app-root:not(.compact-root) .admin-production-column-matrix td {
  box-sizing: border-box;
}

.app-root:not(.compact-root) .admin-production-column-matrix-corner {
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  padding: 0 0.45rem 0.45rem 0;
  color: rgba(226, 232, 240, 0.9);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.15;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.app-root:not(.compact-root) .admin-production-column-matrix-heading {
  position: relative;
  width: 42px;
  min-width: 42px;
  height: 156px;
  padding: 0;
  vertical-align: bottom;
}

.app-root:not(.compact-root) .admin-production-column-matrix-heading span {
  position: absolute;
  bottom: 4px;
  left: 50%;
  display: block;
  width: 148px;
  color: rgba(226, 232, 240, 0.88);
  font-size: 1.02rem;
  font-weight: 850;
  line-height: 1.05;
  text-align: left;
  transform: rotate(-80deg);
  transform-origin: bottom left;
  white-space: nowrap;
}

.app-root:not(.compact-root) .admin-production-column-matrix-row-label {
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  padding: 0.2rem 0.4rem 0.2rem 0;
  text-align: left;
}

.app-root:not(.compact-root) .admin-production-column-matrix td {
  width: 42px;
  min-width: 42px;
  height: 32px;
  padding: 0.2rem;
  text-align: center;
}

.app-root:not(.compact-root) .admin-production-column-matrix-toggle {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 5px;
}

.app-root:not(.compact-root) .admin-production-column-matrix-all {
  width: 100%;
  justify-content: flex-start;
  min-height: 24px;
  padding: 0.2rem 0.4rem;
  border: 0;
  background: transparent;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.72rem;
  line-height: 1;
  opacity: 1;
  text-align: left;
}

.app-root:not(.compact-root) .admin-production-column-matrix-all.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .admin-production-column-matrix-all:hover {
  color: var(--sp-color-accent-orange);
  opacity: 1;
}

.app-root:not(.compact-root) .admin-production-column-matrix-toggle.active {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .admin-production-column-matrix-toggle:disabled {
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(148, 163, 184, 0.12);
  cursor: not-allowed;
}

.app-root:not(.compact-root) .admin-authz-production-buttons-section .admin-feature-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: stretch;
}

.admin-subtabs--hr {
  padding: 0 0.2rem;
  flex-wrap: wrap;
}

.admin-subtabs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
}

.admin-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 33px;
  padding: 0.35rem 0.65rem;
  font-size: 0.85rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  box-shadow: none;
  cursor: pointer;
  transition: color 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0;
  font-weight: 800;
  line-height: 1.1;
}

.admin-tab::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 75%;
  height: 2px;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  opacity: 0;
  transform: translateX(-50%) scaleX(0.35);
  transform-origin: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.admin-tab.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.admin-tab.active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.admin-tab:hover:not(.active) {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-tabs .admin-tab,
.app-root:not(.compact-root) .admin-subtabs .admin-tab,
.app-root:not(.compact-root) .admin-settings-page .admin-tab,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab::after,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab::after,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab::after,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab::after {
  left: 50%;
  right: auto;
  bottom: -1px;
  width: 75%;
  height: 2px;
  background: var(--sp-color-accent-orange);
  opacity: 0;
  transform: translateX(-50%) scaleX(0.35);
  transform-origin: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab.active,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab.active,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab.active,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab.active,
.app-root:not(.compact-root) .admin-settings-page .admin-tab:hover,
.app-root:not(.compact-root) .admin-settings-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab:hover,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab:hover,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab:hover,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab:focus-visible {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab.active::after,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab.active::after,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab.active::after,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab.active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.stonepilot-admin-tab {
  border-color: var(--sp-color-accent-orange);
  box-shadow: inset 0 0 0 2px rgba(255, 143, 42, 0.25);
}

.stonepilot-admin-tab.active,
.stonepilot-admin-tab:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

/* Style "onglet classeur" : ligne continue + coupure sous l'onglet actif */
/* Onglets principaux = boutons simples */
.admin-tabs {
  border-bottom: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  background: transparent;
}

.admin-tabs .admin-tab {
  border-radius: 0;
}

/* Sous-onglets = style onglet classeur (sans ligne ni arrondi en bas) */
.admin-subtabs {
  border-bottom: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  background: transparent;
}

.admin-subtabs .admin-tab {
  border-radius: 0;
  border-bottom: none;
}

.admin-subtabs .admin-tab.active {
  position: relative;
  top: 0;
  border-radius: 0;
}

.sp-responsive-sections .sp-responsive-sections__tabs {
  display: none;
}

.sp-responsive-sections__panels {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.sp-responsive-sections__panel {
  min-width: 0;
}

.sp-responsive-sections__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: -0.35em;
  margin-left: 0.22rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: currentColor;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
}

.sp-tab-stack {
  --sp-tab-stack-offset-1: 0px;
  --sp-tab-stack-offset-2: 0px;
  --sp-tab-stack-offset-3: 0px;
}

.app-root.compact-root .sp-responsive-sections {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.app-root.compact-root .admin-section-tabs,
.app-root.compact-root .sp-tabs {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
}

.app-root.compact-root .sp-tab-stack__bar {
  position: -webkit-sticky;
  position: sticky;
  top: var(--sp-tab-stack-offset-1, 0px);
  z-index: 13;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  background: transparent;
  background-clip: padding-box;
  scrollbar-width: none;
}

.app-root.compact-root .sp-tab-stack__bar--level-2 {
  top: var(--sp-tab-stack-offset-2, 0px);
  z-index: 12;
}

.app-root.compact-root .sp-tab-stack__bar--level-3 {
  top: var(--sp-tab-stack-offset-3, 0px);
  z-index: 11;
}

.app-root.compact-root .sp-tab-stack__bar::-webkit-scrollbar {
  display: none;
}

.app-root.compact-root .sp-tab-stack__bar .admin-section-tab {
  flex: 0 0 auto;
  white-space: nowrap;
}

.app-root.compact-root .sp-responsive-sections__tabs {
  display: flex;
  margin-bottom: 0;
  padding: 0.1rem 0 0.35rem;
}

.app-root.compact-root .sp-responsive-sections__tabs::-webkit-scrollbar {
  display: none;
}

.app-root.compact-root .sp-responsive-sections__tab {
  flex: 0 0 auto;
  white-space: nowrap;
}

.app-root.compact-root .sp-responsive-sections__panels {
  display: block;
}

.app-root.compact-root .sp-responsive-sections__panel {
  display: none;
}

.app-root.compact-root .sp-responsive-sections__panel.is-active {
  display: block;
}

.admin-card {
  --sp-card-frame-radius: 14px;
  --sp-card-inner-frame-radius: calc(var(--sp-card-frame-radius) - 6px);
  --sp-local-card-bg: var(--sp-theme-card-bg);

  background: #d9d9d9;
  border: 0;
  border-radius: var(--sp-card-frame-radius);
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
  padding: 0.75rem;
  overflow: hidden;
  overflow-y: auto;
  flex: 1 1;
  min-height: 0;
}

.app-root.compact-root .admin-card {
  box-shadow: inset 0 0 0 6px #000000, inset 0 0 0 12px #808080, 0 10px 18px rgba(0, 0, 0, 0.25);
}

.admin-card-header {
  font-weight: 800;
  margin-bottom: 0.6rem;
  padding-bottom: 0.35rem;
  border-bottom: 3px solid var(--sp-color-accent-orange);
  text-transform: uppercase;
  letter-spacing: 0.08rem;
}

.admin-authz-card {
  padding: 0.45rem;
}

.admin-authz-card .admin-card-header {
  margin-bottom: 0.36rem;
  padding-bottom: 0.2rem;
  border-bottom-width: 2px;
  font-size: 0.72rem;
  letter-spacing: 0.04rem;
}

.admin-authz-card .admin-ui-header {
  margin-top: 0.5rem;
}

.admin-authz-card .admin-access-bar,
.admin-authz-card .admin-page-tabs {
  gap: 0.36rem;
}

.admin-authz-card .admin-access-bar {
  margin-bottom: 0.48rem;
}

.settings-page-header__text--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
}

.sp-segmented-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  min-height: 32px;
  white-space: nowrap;
}

.sp-segmented-toggle__button {
  min-height: 32px;
  padding: 0.28rem 0.72rem;
  border: 2px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  line-height: 1;
  opacity: 0.42;
  text-transform: uppercase;
}

.sp-segmented-toggle__button.active {
  border-color: var(--sp-color-accent-orange);
  background: rgba(0, 0, 0, 0.18);
  box-shadow: none;
  color: #ffffff;
  opacity: 1;
}

.sp-segmented-toggle__button:hover {
  opacity: 0.85;
}

.sp-segmented-toggle__button.active:hover {
  opacity: 1;
}

.sp-segmented-toggle__button.active:disabled {
  border-color: var(--sp-color-accent-orange);
  opacity: 1;
}

.admin-authz-header-mode {
  min-height: 30px;
}

.admin-authz-card .admin-select-wrap {
  gap: 0.3rem;
}

.admin-authz-card .admin-select--hr {
  min-width: 156px;
}

.admin-authz-card .admin-access-label,
.admin-authz-card .admin-page-tab__label {
  font-size: 0.6rem;
  letter-spacing: 0.04rem;
}

.admin-authz-card .admin-page-tab {
  gap: 0.36rem;
}

.admin-authz-card .admin-ui-grid,
.admin-authz-card .admin-feature-grid {
  gap: 0.36rem 0.54rem;
}

.admin-authz-card .admin-ui-text {
  gap: 0.12rem;
}

.admin-authz-option-toggle {
  justify-content: flex-start;
  min-height: 50px;
  padding: 0.42rem 0.58rem;
  text-align: left;
  white-space: normal;
}

.admin-matrix-cell .admin-authz-toggle-button {
  min-width: 0;
  width: 100%;
  padding-inline: 0.32rem;
  font-size: 0.48rem;
}

.admin-authz-card .admin-ui-label {
  font-size: 0.66rem;
  letter-spacing: 0.02rem;
}

.admin-authz-card .admin-ui-hint,
.admin-authz-card .admin-hint {
  font-size: 0.6rem;
}

.admin-authz-card .admin-form-actions {
  margin-top: 0.45rem;
  gap: 0.3rem;
}

.admin-authz-card .admin-add-btn {
  padding: 0.21rem 0.48rem;
  border-radius: 4px;
  font-size: 0.66rem;
}

.admin-production-settings-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  padding: 0;
}

.admin-production-settings-scroll {
  flex: 1 1 auto;
  height: calc(100% - 12px);
  min-height: 0;
  max-height: calc(100% - 12px);
  overflow-x: hidden;
  overflow-y: scroll;
  margin: 6px;
  padding: 0.28rem 0.42rem 0.28rem 0.52rem;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  box-sizing: border-box;
}

.settings-module-content > .admin-production-settings-card {
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.settings-module-content > .admin-production-settings-card .admin-production-settings-scroll {
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
}

.app-root.compact-root .settings-module-content > .admin-production-settings-card {
  display: flex;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root.compact-root .settings-module-content > .admin-production-settings-card::before,
.app-root.compact-root .settings-module-content > .admin-production-settings-card::after {
  content: none;
}

.app-root.compact-root .settings-module-content > .admin-production-settings-card .admin-production-settings-scroll {
  flex: 1 1 auto;
  height: calc(100% - 12px);
  max-height: calc(100% - 12px);
  min-height: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  margin: 6px;
  padding: 0.28rem 0.42rem 0.28rem 0.52rem;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.app-root.compact-root .admin-page--production-settings {
  height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 46px)) - 0.75rem);
  max-height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 46px)) - 0.75rem);
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .admin-page--production-settings .settings-module-shell,
.app-root.compact-root .admin-page--production-settings .settings-module-shell--rail {
  display: flex;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .admin-page--production-settings .settings-module-content {
  display: flex;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root.compact-root .admin-production-settings-card .admin-tabs {
  position: static;
  gap: 0.18rem;
  padding: 0 0.075rem;
  margin-bottom: 4px;
  overflow-x: auto;
  background: transparent;
}

.app-root.compact-root .admin-production-settings-card .admin-tab {
  min-height: 0;
  padding: 0.13rem 0.3rem;
  border-radius: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.02rem;
}

.app-root.compact-root .admin-production-settings-card .admin-card-header {
  margin-bottom: 0.22rem;
  padding-bottom: 0.13rem;
  font-size: 1.04rem;
  letter-spacing: 0.03rem;
}

.app-root.compact-root .admin-production-settings-card .admin-hint {
  font-size: 0.68rem;
}

.app-root.compact-root .admin-production-settings-card .admin-add-btn,
.app-root.compact-root .admin-production-settings-card .admin-modal-btn,
.app-root.compact-root .admin-production-settings-card .admin-select,
.app-root.compact-root .admin-production-settings-card .admin-input {
  min-height: 0;
  padding: 0.13rem 0.3rem;
  font-size: 0.82rem;
}

.app-root.compact-root .admin-production-settings-card .admin-table {
  min-width: 0;
}

.app-root.compact-root .admin-production-settings-card .admin-table-shell,
.app-root.compact-root .admin-production-settings-card .admin-table-shell--prod-lists {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.app-root.compact-root .admin-production-settings-card .admin-table th,
.app-root.compact-root .admin-production-settings-card .admin-table td {
  padding: 0.18rem 0.22rem;
  font-size: 0.72rem;
  line-height: 1.15;
}

.app-root.compact-root .admin-production-settings-card .admin-table-input {
  min-height: 0;
  padding: 0.075rem 0.13rem;
  font-size: 0.64rem;
}

.admin-production-settings-tabs {
  margin-bottom: 4px;
  gap: 0.18rem;
  padding: 0 0.075rem;
}

.admin-production-settings-card .admin-tab {
  padding: 0.13rem 0.3rem;
  border-radius: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.02rem;
}

.admin-production-settings-card .admin-card-header {
  margin-bottom: 0.22rem;
  padding-bottom: 0.13rem;
  border-bottom-width: 2px;
  font-size: 1.04rem;
  letter-spacing: 0.03rem;
}

.admin-production-settings-card .admin-hint {
  margin-top: 0.24rem;
  margin-bottom: 0.24rem;
  font-size: 0.68rem;
  line-height: 1.2;
}

.admin-production-settings-card .admin-form-actions {
  margin-top: 0.28rem;
  gap: 0.18rem;
}

.admin-production-settings-card .admin-add-btn,
.admin-production-settings-card .admin-modal-btn {
  padding: 0.13rem 0.3rem;
  border-radius: 4px;
  font-size: 0.82rem;
}

.stonepilot-admin-card {
  background: #080808;
  color: #f4f4f5;
  border-color: #000000;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.42);
}

.stonepilot-admin-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-gap: 0.9rem;
  gap: 0.9rem;
  align-items: start;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #141414;
  color: #f4f4f5;
  margin-bottom: 0.85rem;
}

.stonepilot-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.15rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.stonepilot-admin-title {
  border-bottom-color: var(--sp-color-accent-orange);
  margin-bottom: 0.25rem;
  color: #ffffff;
}

.stonepilot-admin-card .admin-hint {
  color: rgba(244, 244, 245, 0.78);
}

.stonepilot-admin-card .admin-error-text {
  color: #fca5a5;
}

.stonepilot-admin-card .admin-input {
  border-color: rgba(255, 255, 255, 0.22);
  background: #0d0d0d;
  color: #f8fafc;
}

.stonepilot-admin-card .admin-input::placeholder {
  color: rgba(244, 244, 245, 0.42);
}

.stonepilot-admin-card .admin-input:focus {
  outline: 2px solid rgba(255, 122, 24, 0.55);
  outline-offset: 1px;
}

.stonepilot-admin-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1.25fr);
  grid-gap: 0.9rem;
  gap: 0.9rem;
  align-items: start;
}

.stonepilot-panel {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #111111;
}

.stonepilot-system-email-panel {
  grid-column: 1 / -1;
}

.stonepilot-billing-settings-panel {
  grid-column: 1 / -1;
}

.stonepilot-invite-panel {
  grid-column: 1 / -1;
}

.stonepilot-invite-options {
  flex-wrap: wrap;
  margin-top: 0.15rem;
}

.stonepilot-checkbox-list {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.stonepilot-module-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 0.55rem;
  gap: 0.55rem;
  width: 100%;
}

.stonepilot-checkbox-list label {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  font-weight: 700;
  color: #f4f4f5;
}

.stonepilot-module-list > .sp-segmented-toggle__button {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
}

.stonepilot-module-list__content {
  display: grid;
  grid-gap: 0.15rem;
  gap: 0.15rem;
  min-width: 0;
}

.stonepilot-module-list__meta {
  color: #a1a1aa;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
}

.stonepilot-checkbox-list input[type="checkbox"] {
  display: grid;
  place-content: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 5px;
  background: #050505;
  cursor: pointer;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.08);
}

.stonepilot-checkbox-list input[type="checkbox"]::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 2px;
  transform: scale(0);
  transition: transform 0.12s ease;
  background: #ffffff;
}

.stonepilot-checkbox-list input[type="checkbox"]:checked {
  background: var(--sp-color-accent-orange);
}

.stonepilot-checkbox-list input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.stonepilot-checkbox-list input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(255, 122, 24, 0.72);
  outline-offset: 2px;
}

.stonepilot-simulation-box,
.stonepilot-report-block {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  padding: 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #171717;
}

.stonepilot-simulation-box ul,
.stonepilot-report-block ul {
  margin: 0;
  padding-left: 1.1rem;
}

.stonepilot-report-block__title {
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ffffff;
}

.stonepilot-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.6rem;
  gap: 0.6rem;
  align-items: center;
}

.stonepilot-copy-link-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.6rem;
  gap: 0.6rem;
  align-items: center;
}

.stonepilot-action-btn {
  background: var(--sp-color-accent-orange);
  border-color: #000000;
  color: #111111;
}

.stonepilot-action-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.stonepilot-import-shell {
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  background: #121212;
  color: #f8fafc;
  overflow: hidden;
}

.stonepilot-import-shell__title {
  padding: 0.45rem 0.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.stonepilot-import-shell__body {
  display: grid;
  grid-gap: 0.2rem;
  gap: 0.2rem;
  max-height: 220px;
  overflow: auto;
  padding: 0.55rem 0.65rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.82rem;
}

.stonepilot-import-shell__line {
  display: grid;
  grid-template-columns: 72px 92px minmax(0, 1fr);
  grid-gap: 0.5rem;
  gap: 0.5rem;
  align-items: start;
}

.stonepilot-import-shell__line strong {
  color: #6ee7b7;
  text-transform: uppercase;
}

.stonepilot-import-shell__line span:last-child {
  overflow-wrap: anywhere;
}

.stonepilot-import-shell__line.is-success strong {
  color: #86efac;
}

.stonepilot-import-shell__line.is-warn strong {
  color: #fde68a;
}

.stonepilot-import-shell__line.is-error strong {
  color: #fca5a5;
}

.stonepilot-audit-report {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.stonepilot-report-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 0.55rem;
  gap: 0.55rem;
}

.stonepilot-report-summary > div {
  display: grid;
  grid-gap: 0.15rem;
  gap: 0.15rem;
  padding: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: #181818;
}

.stonepilot-report-summary span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(244, 244, 245, 0.62);
}

.stonepilot-report-summary strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ffffff;
}

.stonepilot-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.stonepilot-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.1rem 0.45rem;
  border: 1px solid rgba(17, 24, 39, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #111111;
  font-size: 0.82rem;
  font-weight: 800;
}

.stonepilot-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}

.stonepilot-compact-table {
  min-width: 560px;
}

.stonepilot-compact-table th,
.stonepilot-compact-table td {
  font-size: 0.82rem;
  padding: 0.35rem 0.45rem;
}

.stonepilot-texture-report {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.stonepilot-texture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.stonepilot-mapping-grid,
.stonepilot-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.stonepilot-bulk-actions,
.stonepilot-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.stonepilot-review-table {
  min-width: 1180px;
}

.stonepilot-review-table th,
.stonepilot-review-table td {
  vertical-align: top;
  font-size: 0.8rem;
}

.stonepilot-review-table th:nth-child(1),
.stonepilot-review-table td:nth-child(1) {
  width: 46px;
  text-align: center;
}

.stonepilot-review-table th:nth-child(2),
.stonepilot-review-table td:nth-child(2) {
  width: 120px;
}

.stonepilot-review-table th:nth-child(3),
.stonepilot-review-table td:nth-child(3) {
  width: 110px;
}

.stonepilot-review-table th:nth-child(7),
.stonepilot-review-table td:nth-child(7) {
  width: 170px;
}

.stonepilot-review-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.08rem 0.4rem;
  border: 1px solid rgba(17, 24, 39, 0.24);
  border-radius: 999px;
  background: #f3f4f6;
  color: #111827;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.stonepilot-review-status.is-ready {
  background: #dcfce7;
  color: #14532d;
  border-color: #16a34a;
}

.stonepilot-review-status.is-needs-review {
  background: #fef3c7;
  color: #78350f;
  border-color: #f59e0b;
}

.stonepilot-review-status.is-incomplete,
.stonepilot-review-status.is-rejected {
  background: #fee2e2;
  color: #7f1d1d;
  border-color: #ef4444;
}

.stonepilot-review-status.is-validated,
.stonepilot-review-status.is-imported {
  background: #dbeafe;
  color: #1e3a8a;
  border-color: #3b82f6;
}

.stonepilot-muted-cell {
  margin-top: 0.2rem;
  color: rgba(17, 24, 39, 0.62);
  font-size: 0.72rem;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .stonepilot-admin-grid,
  .stonepilot-admin-banner,
  .stonepilot-file-row,
  .stonepilot-copy-link-box {
    grid-template-columns: 1fr;
  }

  .stonepilot-report-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stonepilot-texture-grid {
    grid-template-columns: 1fr;
  }

  .stonepilot-mapping-grid,
  .stonepilot-control-grid {
    grid-template-columns: 1fr;
  }

  .stonepilot-import-shell__line {
    grid-template-columns: 64px minmax(74px, auto) minmax(0, 1fr);
  }
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  background: #f0f0f0;
  table-layout: fixed;
  border-radius: 10px;
  overflow: hidden;
}

.admin-table th,
.admin-table td {
  border: 1px solid #000000;
  padding: 0.5rem 0.6rem;
  text-align: left;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-authz-card .admin-table th,
.admin-authz-card .admin-table td {
  padding: 0.3rem 0.36rem;
  font-size: 0.57rem;
}

.admin-table-users th,
.admin-table-users td {
  padding: 0.35rem 0.45rem;
  font-size: 0.9rem;
}

.admin-table-users {
  border-collapse: collapse;
}

.admin-table-users th {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-table-shell {
  border: 2px solid #000000;
  border-radius: 12px;
  overflow: hidden;
  background: #f7f4ef;
}

.admin-authz-card .admin-table-shell {
  border-width: 1px;
  border-radius: 7px;
}

.admin-production-settings-card .admin-table-shell {
  border-width: 1px;
  border-radius: 6px;
}

.admin-production-settings-card .admin-table th,
.admin-production-settings-card .admin-table td {
  padding: 0.18rem 0.22rem;
  font-size: 0.72rem;
  line-height: 1.15;
}

.admin-production-settings-card .admin-table-users th {
  padding-top: 0.26rem;
  padding-bottom: 0.26rem;
  letter-spacing: 0.02em;
}

.admin-table-shell--prod-lists {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.admin-table-shell--users-grouped {
  width: 50%;
  max-width: 50%;
  margin: 0;
}

.admin-table-shell .admin-table {
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 0;
  background: transparent;
}

.admin-table-shell .admin-table th:first-child,
.admin-table-shell .admin-table td:first-child {
  border-left: 0;
}

.admin-table-shell .admin-table th:last-child,
.admin-table-shell .admin-table td:last-child {
  border-right: 0;
}

.admin-table-shell .admin-table thead tr:first-child th {
  border-top: 0;
}

.admin-table-shell .admin-table tbody tr:last-child td {
  border-bottom: 0;
}

.admin-users-group-gap td {
  border: 0;
  padding: 0;
  height: 6px;
  background: transparent;
}

.admin-save-feedback {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0;
  font-weight: 900;
  cursor: default;
  flex: 0 0 auto;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.admin-save-feedback--success {
  background: rgba(20, 128, 60, 0.1);
  border-color: rgba(20, 128, 60, 0.22);
  color: #14803c;
  font-size: 24px;
  opacity: 1;
}

.admin-save-feedback--error {
  background: #c81e1e;
  color: #ffffff;
  font-size: 20px;
  cursor: pointer;
  border-radius: 0;
  border-color: rgba(97, 7, 7, 0.42);
  -webkit-clip-path: polygon(25% 6%, 75% 6%, 94% 50%, 75% 94%, 25% 94%, 6% 50%);
          clip-path: polygon(25% 6%, 75% 6%, 94% 50%, 75% 94%, 25% 94%, 6% 50%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
}

.admin-control-cell {
  white-space: normal;
  overflow: visible;
}

.admin-control-actions:not(.sp-action-row) {
  display: inline-flex;
  gap: 0.35rem;
  margin-left: 0.4rem;
}

.admin-table-users--grouped {
  table-layout: fixed;
  width: 100%;
  min-width: 980px;
}

.admin-table-users--grouped td {
  vertical-align: top;
}

.admin-user-stack {
  display: grid;
  grid-gap: 0.42rem;
  gap: 0.42rem;
}

.admin-user-stack__title {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
}

.admin-user-stack__line {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
}

.admin-user-stack__label {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.52);
}

.admin-user-inline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.admin-user-inline-grid--city {
  grid-template-columns: 90px minmax(0, 1fr);
}

.admin-user-static-value {
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 0.4rem 0.55rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
  font-size: 1.05rem;
}

.admin-user-role-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.1rem 0.55rem;
  border: 1px solid #111111;
  border-radius: 6px;
  background: #111111;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-user-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.admin-user-capabilities-edit {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.admin-user-capability-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.08rem 0.45rem;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.86);
  font-size: 0.86rem;
  font-weight: 700;
}

.admin-user-control-secondary {
  margin-top: 0.45rem;
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.app-root.compact-root .sp-compact-list__actions {
  justify-self: stretch;
}

.app-root.compact-root .admin-users-compact-detail {
  gap: 0.35rem;
}

.app-root.compact-root .admin-users-compact-detail .admin-user-control-secondary {
  justify-items: center;
  margin-top: 0;
  gap: 0.18rem;
}

.app-root.compact-root .admin-user-control-secondary .sp-action-stack {
  justify-items: center;
  width: auto;
  gap: 0.12rem;
}

.app-root.compact-root .admin-user-control-secondary .sp-action-stack > .sp-btn--compact {
  width: auto;
}

.admin-user-control-status {
  display: flex;
  align-items: center;
  min-height: 24px;
  font-size: 0.92rem;
  opacity: 0.9;
  white-space: normal;
  line-height: 1.25;
}

.admin-users-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.65rem;
}

.admin-users-tabs .admin-section-tab:not(.active) {
  color: #ffffff;
}

.admin-users-tab-count {
  font-size: 0.82rem;
}

.admin-users-compact-only {
  display: none;
}

.sp-compact-list {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.sp-compact-list__item {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.sp-compact-list__item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sp-compact-list__item span:first-child {
  color: #ffffff;
  font-weight: 850;
}

.sp-compact-list__item span:last-child {
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.88rem;
  font-weight: 800;
}

.sp-compact-list__item.is-active {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.11);
}

.sp-compact-list__detail {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
  margin-top: 0.7rem;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.admin-users-empty {
  padding: 0.9rem;
  color: rgba(226, 232, 240, 0.74);
  font-weight: 700;
}

.admin-users-suspended-shell {
  padding: 0.55rem;
}

.admin-users-suspended-list {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.admin-users-suspended-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 0.7rem;
  gap: 0.7rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
}

.admin-users-suspended-main {
  min-width: 0;
}

.admin-users-suspended-name {
  overflow: hidden;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-users-suspended-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  margin-top: 0.18rem;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.88rem;
  font-weight: 700;
}

.app-root.compact-root .admin-users-compact-only {
  display: block;
}

.app-root.compact-root .admin-users-desktop-only {
  display: none;
}

.admin-suspend-btn:not(.sp-btn) {
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  background: var(--sp-ui-btn-neutral-bg);
  color: var(--sp-ui-text);
  cursor: pointer;
  font-weight: 700;
}

.admin-table th {
  background: #000000;
  color: #ffffff;
}

.admin-select {
  padding: 0.25rem 0.4rem;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.admin-input {
  width: 100%;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 0.95rem;
  box-sizing: border-box;
}

.app-root.compact-root .admin-input.sp-line-input {
  border: none;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  background: transparent;
  padding-right: 0;
  padding-left: 0;
}

.app-root.compact-root .admin-input.sp-line-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus);
  background: transparent;
  box-shadow: none;
}

.sp-file-input {
  min-height: 38px;
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  background: #0d0d0d;
  color: rgba(248, 250, 252, 0.82);
  cursor: pointer;
  font-weight: 750;
}

.sp-file-input::-webkit-file-upload-button {
  min-height: 30px;
  margin: 0 0.7rem 0 0;
  padding: 0.3rem 0.72rem;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.18);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sp-file-input::file-selector-button {
  min-height: 30px;
  margin: 0 0.7rem 0 0;
  padding: 0.3rem 0.72rem;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.18);
  color: #ffffff;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sp-file-input:hover::-webkit-file-upload-button, .sp-file-input:focus-visible::-webkit-file-upload-button {
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.sp-file-input:hover::file-selector-button,
.sp-file-input:focus-visible::file-selector-button {
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.sp-file-input:focus-visible {
  outline: 2px solid var(--sp-color-accent-orange);
  outline-offset: 2px;
}

.admin-authz-card .admin-select,
.admin-authz-card .admin-input {
  padding: 0.15rem 0.24rem;
  font-size: 0.57rem;
  line-height: 1.2;
}

.admin-production-settings-card .admin-input,
.admin-production-settings-card .admin-table-input {
  padding: 0.075rem 0.13rem;
  font-size: 0.64rem;
  line-height: 1.15;
}

.admin-role-bar {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-start;
  margin: 0.5rem 0 0.75rem 0;
  flex-wrap: wrap;
}

.admin-role-add {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  min-width: 320px;
}

.admin-role-select-inline {
  width: 90%;
  font-size: 1rem;
  font-weight: 800;
  color: #000000;
  background: #ffffff;
  padding-right: 1.4rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  border-radius: 6px;
  background-image: linear-gradient(45deg, transparent 50%, #000000 50%),
    linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position: calc(100% - 14px) 55%, calc(100% - 8px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.admin-user-cell {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.admin-user-role-select {
  width: 90%;
  font-size: 0.85rem;
  color: #000000;
  background: #ffffff;
  padding-right: 1.2rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #000000 50%),
    linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position: calc(100% - 12px) 55%, calc(100% - 7px) 55%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.admin-user-role-indent {
  margin-left: 12px;
}

.admin-role-spacer {
  visibility: hidden;
  height: 24px;
  line-height: 24px;
}

.admin-matrix-role {
  position: relative;
}

.admin-role-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: center;
}

.admin-role-delete {
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-btn-neutral-bg);
  cursor: pointer;
  padding: 0 0.55rem;
  height: 32px;
  border-radius: 6px;
  font-size: 1rem;
  color: var(--sp-ui-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.admin-role-delete:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.admin-history-modal-body {
  max-height: calc(100vh - 12rem);
  overflow: auto;
}

.admin-history-toolbar {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  margin-bottom: 0.8rem;
}

.admin-history-toolbar .admin-input {
  flex: 1 1 auto;
}

.admin-history-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.admin-history-modal-titleline {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.admin-history-modal-titleline strong {
  font-size: 1.1rem;
}

.admin-history-modal-titleline span,
.admin-history-modal-meta {
  color: rgba(17, 17, 17, 0.72);
  font-size: 0.92rem;
}

.admin-history-modal-meta {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-history-sections {
  display: grid;
  grid-gap: 0.9rem;
  gap: 0.9rem;
}

.admin-history-section {
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 12px;
  padding: 0.8rem;
  background: rgba(255, 255, 255, 0.76);
}

.admin-history-list {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.admin-history-entry {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  padding: 0.7rem;
  background: rgba(255, 255, 255, 0.82);
}

.admin-history-entry__top {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.55rem;
  font-size: 0.87rem;
  color: rgba(17, 17, 17, 0.72);
}

.admin-history-entry__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.admin-history-entry__grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.admin-history-entry__grid strong {
  display: block;
  margin-bottom: 0.2rem;
}

.admin-history-entry__grid pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
  background: rgba(17, 17, 17, 0.05);
  border-radius: 8px;
  padding: 0.5rem 0.6rem;
}

.admin-archive-toolbar {
  display: flex;
  justify-content: flex-end;
  margin: 0.1rem 0 0.45rem;
}

.admin-archive-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.92rem;
  font-weight: 700;
}

.admin-archived-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.05rem 0.45rem;
  border: 1px solid #111111;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #111111;
  background: transparent;
}

.admin-archive-match-list {
  display: grid;
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.admin-archive-match-card {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  background: rgba(255, 255, 255, 0.72);
}

.admin-archive-match-card__header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.55rem;
}

.admin-archive-match-card__title {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.admin-archive-match-card__subtitle {
  font-size: 0.86rem;
  color: rgba(17, 17, 17, 0.62);
}

.admin-archive-match-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.35rem 0.7rem;
  gap: 0.35rem 0.7rem;
  font-size: 0.9rem;
}

.admin-archive-match-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
}

.admin-add-btn {
  padding: 0.35rem 0.8rem;
  border: 1px solid #000000;
  border-radius: 6px;
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  font-weight: 800;
  cursor: pointer;
}

.admin-ui-header {
  margin-top: 0.85rem;
}

.admin-ui-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 0.6rem 0.9rem;
  gap: 0.6rem 0.9rem;
}

.admin-feature-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-ui-text {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.admin-ui-hint {
  font-size: 0.8rem;
  color: #333333;
}

.admin-ui-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #efefef;
  border: 1px solid #000000;
  border-radius: 10px;
  box-shadow: none;
  padding: 0.45rem 0.6rem;
}

.admin-ui-label {
  font-weight: 700;
  letter-spacing: 0.04rem;
}

.admin-switch-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  justify-content: flex-end;
}

.admin-user-role-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 0.75rem 1rem;
  gap: 0.75rem 1rem;
  margin-bottom: 0.75rem;
}

.admin-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-weight: 700;
}

.company-logo-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 0.85rem;
  gap: 0.85rem;
  margin-bottom: 0.75rem;
}

.company-logo-settings-card {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.75rem;
  border: 2px solid #000000;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.company-logo-settings-card__header {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--sp-orange, #ff6600);
  font-weight: 900;
  letter-spacing: 0.03rem;
  text-transform: uppercase;
}

.company-logo-settings-card__upload {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  font-weight: 800;
}

.company-logo-settings-card__preview-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.company-logo-settings-card__preview {
  display: grid;
  place-items: center;
  flex: 0 0 170px;
  width: 170px;
  height: 90px;
  max-width: 100%;
  min-width: 0;
  padding: 0.4rem;
  border: 1px solid #9ca3af;
  border-radius: 6px;
  background: #ffffff;
  box-sizing: border-box;
  overflow: hidden;
}

.company-logo-settings-card__preview img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.company-logo-settings-card__meta {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  min-width: 150px;
  flex: 1 1;
  font-weight: 800;
}

.admin-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.admin-form-inline {
  min-width: 240px;
}

.company-settings-page {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.85rem;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #121212;
  color: #f8fafc;
}

.company-settings-page .admin-card-header {
  color: #ffffff;
}

.company-settings-page .admin-hint {
  color: rgba(226, 232, 240, 0.72);
}

.settings-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--sp-common-content-title-row-padding);
  border-bottom: 1px solid var(--sp-common-content-title-divider);
}

.settings-page-header__text {
  display: grid;
  grid-gap: 0.22rem;
  gap: 0.22rem;
  min-width: 0;
}

.settings-page-title {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.settings-page-description {
  max-width: 760px;
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.35;
}

.settings-page-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.settings-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex: 0 0 auto;
  margin-left: auto;
}

.company-settings-page .settings-actions .admin-add-btn,
.company-settings-page .settings-actions .admin-edit-btn {
  min-height: 38px;
  padding: 0.31rem 0.9rem;
  font-size: 0.93rem;
  letter-spacing: 0.01rem;
}

.settings-actions__secondary {
  color: #f8fafc;
}

.settings-form-section {
  --sp-local-card-bg: var(--sp-ui-surface);

  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: var(--sp-ui-surface);
  box-shadow: none;
}

.settings-form-section__header {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
}

.settings-form-section__header h3 {
  margin: 0;
  color: #ffffff;
  font-size: 0.86rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
}

.company-settings-page .settings-form-section__header h3 {
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.settings-form-section__header p,
.settings-section-hint {
  margin: 0;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.68rem;
  line-height: 1.35;
}

.settings-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.55rem 0.7rem;
  gap: 0.55rem 0.7rem;
}

.sp-config-list {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  min-width: 0;
}

.sp-config-list__row {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: var(--sp-ui-surface-soft);
  color: inherit;
}

.sp-config-list__row.is-focused,
.sp-config-list__row.is-selected {
  background: rgba(255, 143, 42, 0.12);
  box-shadow: 0 0 0 1px var(--sp-color-accent-orange) inset;
}

.sp-config-list__header {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 6px 10px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.035rem;
  text-transform: uppercase;
}

.sp-config-list__main {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  min-width: 0;
}

.sp-config-list__main strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sp-config-list__main span,
.sp-config-list__meta {
  color: var(--sp-ui-muted);
}

.supplier-reference-line {
  display: block;
  min-width: 0;
  color: var(--sp-ui-muted);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
}

.supplier-reference-line.is-placeholder {
  font-weight: 600;
  opacity: 0.68;
}

.supplier-reference-input {
  min-height: 24px;
  max-width: 220px;
  padding: 2px 6px;
  font-size: 0.78rem;
  font-weight: 700;
}

.sp-config-list__meta {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  flex-wrap: wrap;
  min-width: 0;
}

.sp-config-list__actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  margin-left: auto;
}

.commercial-catalog-list {
  padding: 8px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  overflow: auto;
}

.commercial-catalog-list__row {
  cursor: pointer;
}

.commercial-catalog-list__main {
  flex: 1 1 260px;
  font-size: 1rem;
}

.commercial-catalog-list__main span {
  font-size: 0.78rem;
}

.commercial-catalog-list__meta {
  flex: 2 1 360px;
}

.commercial-catalog-list__meta > span {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  min-width: 88px;
}

.commercial-catalog-list__meta strong {
  color: #f8fafc;
  font-size: 0.85rem;
}

.commercial-catalog-list__meta small {
  color: var(--sp-ui-muted);
  font-size: 0.78rem;
}

.commercial-catalog-list__actions {
  min-width: 118px;
  justify-content: flex-end;
}

.commercial-catalog-list__header--standard,
.commercial-catalog-list__row--standard {
  display: grid;
  grid-template-columns: minmax(220px, 1.8fr) minmax(110px, 0.75fr) minmax(70px, 0.45fr) minmax(90px, 0.55fr) minmax(116px, 0.7fr);
  align-items: center;
}

.commercial-catalog-list__header--machining,
.commercial-catalog-list__row--machining {
  grid-template-columns: minmax(220px, 1.8fr) minmax(70px, 0.45fr) minmax(90px, 0.55fr) minmax(116px, 0.7fr);
}

.commercial-catalog-list__header--edge-media,
.commercial-catalog-list__row--edge-media {
  grid-template-columns: minmax(220px, 1.8fr) minmax(92px, 0.5fr) minmax(70px, 0.45fr) minmax(90px, 0.55fr) minmax(116px, 0.7fr);
}

.commercial-catalog-list__media-cell {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: visible !important;
  white-space: nowrap;
}

.commercial-catalog-list__media-input {
  display: inline-flex;
  margin: 0;
}

.commercial-catalog-list__media-btn {
  width: 26px;
  height: 26px;
  min-width: 26px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.commercial-catalog-list__media-btn.active {
  color: var(--sp-color-accent-orange);
}

.commercial-catalog-list__media-preview {
  width: 34px;
  height: 24px;
  border-radius: 4px;
  object-fit: cover;
}

.commercial-catalog-list__media-current {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.commercial-catalog-list__media-current::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 40;
  display: none;
  width: 220px;
  height: 150px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background:
    var(--edge-media-preview-url) center / contain no-repeat,
    rgba(15, 23, 42, 0.98);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45);
}

.commercial-catalog-list__media-current:hover::after,
.commercial-catalog-list__media-current:focus-within::after {
  display: block;
}

.commercial-catalog-list__media-current small {
  display: block;
  max-width: 82px;
  min-width: 0;
  overflow: hidden;
  color: #f8fafc;
  font-size: 0.72rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-catalog-list__media-progress {
  color: var(--sp-color-accent-orange);
  font-size: 0.72rem;
  font-weight: 800;
}

.commercial-catalog-list__row--standard {
  cursor: pointer;
}

.commercial-catalog-list__row--standard > strong {
  min-width: 0;
  overflow: hidden;
  color: #f8fafc;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-catalog-list__row--standard > span {
  min-width: 0;
  overflow: hidden;
  color: #f8fafc;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commercial-catalog-detail-card {
  display: grid;
  grid-gap: 0.55rem !important;
  gap: 0.55rem !important;
  padding: 0.55rem !important;
  align-content: start;
  align-self: start;
  min-height: 0;
  border-radius: 8px;
  border-left: 2px solid var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.04);
  color: #f8fafc;
  overflow: visible;
  box-shadow: none;
}

.commercial-catalog-detail-card > div:first-child {
  align-items: center !important;
  gap: 0.45rem !important;
  min-height: 0;
}

.commercial-catalog-detail-card .sp-section-title {
  font-size: 0.82rem;
  line-height: 1.05;
  letter-spacing: 0.035rem;
}

.commercial-catalog-detail-card > div:first-child .admin-hint {
  margin-top: 0.12rem !important;
  font-size: 0.72rem;
  line-height: 1.15;
}

.commercial-catalog-detail-card .settings-form-section {
  gap: 0.36rem;
  padding: 0.18rem 0 0.28rem;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.commercial-catalog-detail-card .settings-form-section + .settings-form-section {
  border-top: 1px solid rgba(255, 106, 0, 0.82);
  padding-top: 0.5rem;
}

.commercial-catalog-detail-card .settings-form-section__header {
  gap: 0.12rem;
}

.commercial-catalog-detail-card.company-settings-page .settings-form-section__header h3 {
  font-size: 0.92rem;
  line-height: 1.05;
  letter-spacing: 0.025rem;
}

.commercial-catalog-detail-card .settings-form-grid {
  gap: 0.3rem 0.48rem;
}

.commercial-catalog-detail-card .settings-field {
  gap: 0.1rem;
  font-size: 0.82rem;
}

.commercial-catalog-detail-card .settings-input {
  min-height: 32px !important;
  padding-top: 0.16rem !important;
  padding-bottom: 0.16rem !important;
  font-size: 0.92rem !important;
  line-height: 1.12 !important;
}

.commercial-catalog-detail-card .admin-warning {
  padding: 0.5rem 0.6rem;
}

.commercial-catalog-pricing-hint {
  color: #f8fafc;
  font-weight: 800;
}

.chiffreur-settings-content .commercial-catalog-detail-card .settings-form-section__header h3 {
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.chiffreur-settings-content .commercial-catalog-detail-card .settings-field {
  gap: 0.3rem;
  font-size: 1rem;
}

.chiffreur-settings-content .commercial-catalog-detail-card .settings-input {
  min-height: 46px !important;
  padding: 0.33rem 0.63rem !important;
  font-size: 1.12rem !important;
  line-height: 1.25 !important;
}

.settings-readonly-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.settings-readonly-field {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.settings-readonly-field span {
  color: rgba(226, 232, 240, 0.8);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.025rem;
}

.settings-readonly-field strong,
.settings-readonly-field a {
  min-width: 0;
  color: #ffffff;
  font-size: 1.12rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.settings-readonly-field a {
  text-decoration: underline;
  -webkit-text-decoration-color: rgba(255, 106, 0, 0.65);
          text-decoration-color: rgba(255, 106, 0, 0.65);
  text-underline-offset: 3px;
}

.settings-readonly-field a:hover,
.settings-readonly-field a:focus-visible {
  color: #ffb86b;
}

.settings-readonly-field small {
  color: rgba(226, 232, 240, 0.62);
  font-size: 0.78rem;
  font-weight: 750;
}

.settings-geocoding {
  grid-column: 1 / -1;
}

.settings-geocoding__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.settings-geocoding__action {
  min-height: 32px;
  padding: 0.25rem 0.65rem;
  font-size: 0.78rem;
  white-space: nowrap;
}

.settings-geocoding__action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.settings-geocoding__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
}

.settings-geocoding__map-link {
  align-self: flex-start;
  font-size: 0.78rem;
  font-weight: 800;
}

.settings-geocoding__manual {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.settings-geocoding__manual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.settings-geocoding__manual-action {
  min-height: 38px;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .settings-geocoding__manual-grid {
    grid-template-columns: 1fr;
  }
}

.settings-geocoding--ok,
.settings-geocoding--manual {
  border-color: rgba(34, 197, 94, 0.38);
  background: rgba(34, 197, 94, 0.08);
}

.settings-geocoding--needs_review,
.settings-geocoding--not_found,
.settings-geocoding--stale {
  border-color: rgba(251, 146, 60, 0.42);
  background: rgba(251, 146, 60, 0.08);
}

.settings-geocoding-help {
  grid-column: 1 / -1;
  margin: -0.15rem 0 0;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.35;
}

.settings-geocoding-help--warning {
  color: #ffb86b;
}

.settings-field {
  display: flex;
  flex-direction: column;
  gap: 0.22rem;
  min-width: 0;
  color: #f8fafc;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.025rem;
}

.settings-field > span {
  color: rgba(226, 232, 240, 0.8);
}

.settings-field--required-missing > span {
  color: #ffb86b;
}

.settings-field--required-missing .settings-input {
  border-color: var(--sp-color-accent-orange);
  box-shadow: 0 0 0 1px rgba(255, 106, 0, 0.2);
}

.settings-field__required {
  color: #ffb86b;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.15;
}

.settings-field--wide {
  grid-column: 1 / -1;
}

.company-settings-page .settings-field {
  gap: 0.3rem;
  font-size: 1rem;
}

.company-settings-page .settings-input {
  min-height: 46px;
  padding: 0.33rem 0.63rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: transparent;
  color: #ffffff;
  font-size: 1.12rem;
  line-height: 1.25;
  outline: none;
}

.company-settings-page .settings-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
}

.company-settings-page .settings-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.company-settings-page .settings-textarea {
  min-height: 82px;
  resize: vertical;
}

.settings-logo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 0.7rem;
  gap: 0.7rem;
}

.settings-logo-card {
  display: grid;
  grid-template-rows: auto 112px auto auto;
  grid-gap: 0.55rem;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
}

.settings-logo-card--required-missing {
  border-color: var(--sp-color-accent-orange);
  box-shadow: 0 0 0 1px rgba(255, 106, 0, 0.2);
}

.settings-logo-card--required-missing .settings-logo-card__title {
  color: #ffb86b;
}

.settings-logo-card__top {
  display: grid;
  grid-gap: 0.18rem;
  gap: 0.18rem;
}

.settings-logo-card__title {
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.03rem;
}

.settings-logo-card__top p {
  margin: 0;
  color: rgba(226, 232, 240, 0.64);
  font-size: 0.64rem;
  line-height: 1.3;
}

.company-settings-page .settings-logo-card__title,
.company-settings-page .settings-logo-card__top p {
  font-size: 1rem;
  line-height: 1.25;
}

.settings-logo-card__preview {
  display: grid;
  place-items: center;
  justify-self: center;
  align-self: center;
  width: min(100%, 220px);
  height: 100%;
  min-width: 0;
  padding: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  background:
    linear-gradient(45deg, rgba(255, 255, 255, 0.045) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255, 255, 255, 0.045) 25%, transparent 25%),
    #f8fafc;
  background-size: 16px 16px;
}

.settings-logo-card__preview--appLogo {
  width: min(100%, 260px);
  aspect-ratio: 3.4 / 1;
}

.settings-logo-card__preview--documentLogo {
  width: min(100%, 220px);
  aspect-ratio: 2.25 / 1;
}

.settings-logo-card__preview--pwaLogo {
  width: min(100%, 112px);
  aspect-ratio: 1 / 1;
}

.settings-logo-card__preview img {
  max-width: 100%;
  max-height: 92px;
  object-fit: contain;
}

.settings-logo-card__preview--dark {
  background: #000000;
}

.settings-logo-card__meta {
  min-width: 0;
  color: rgba(226, 232, 240, 0.76);
  font-size: 0.66rem;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-logo-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
}

.settings-upload-button,
.settings-reset-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0.22rem 0.54rem;
  font-size: 0.66rem;
  font-weight: 850;
  cursor: pointer;
}

.settings-upload-button {
  border: 1px solid var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.settings-upload-button input {
  display: none;
}

.company-settings-page .settings-reset-button {
  color: #f8fafc;
}

.settings-predictive-capacity {
  display: grid;
  grid-gap: 0.6rem;
  gap: 0.6rem;
}

.settings-predictive-group {
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.settings-predictive-group__title {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.72rem;
  font-weight: 900;
}

.settings-status {
  padding: 0.5rem 0.65rem;
  border-radius: 7px;
  font-size: 0.72rem;
  font-weight: 800;
}

.settings-status--success {
  border: 1px solid rgba(34, 197, 94, 0.36);
  background: rgba(34, 197, 94, 0.13);
  color: #bbf7d0;
}

.settings-status--error {
  border: 1px solid rgba(244, 63, 94, 0.38);
  background: rgba(244, 63, 94, 0.13);
  color: #fecdd3;
}

@media (max-width: 1280px) {
  .settings-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .settings-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-readonly-grid {
    grid-template-columns: 1fr;
  }
}

.admin-revoke-btn {
  padding: 0.3rem 0.7rem;
  border: 1px solid #000000;
  background: #d0d0d0;
  cursor: pointer;
  font-weight: 700;
}

.admin-edit-btn:not(.sp-btn) {
  padding: 0.3rem 0.7rem;
  border: 1px solid #000000;
  border-radius: 6px;
  background: #ffffff;
  cursor: pointer;
  font-weight: 700;
  margin-left: 0.4rem;
}

.company-settings-page .settings-actions__secondary {
  color: #f8fafc;
  margin-left: 0;
}

.admin-settings-page .admin-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem 0.7rem;
  margin: 0;
}

.app-root:not(.compact-root) .sp-common-field,
.app-root:not(.compact-root) .admin-form-field {
  gap: 0.3rem;
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.025rem;
}

.app-root:not(.compact-root) .sp-common-field > span,
.app-root:not(.compact-root) .admin-form-field > span {
  color: rgba(226, 232, 240, 0.8);
}

.app-root:not(.compact-root) .sp-common-input,
.app-root:not(.compact-root) .sp-common-select,
.app-root:not(.compact-root) .sp-common-table-input,
.app-root:not(.compact-root) .admin-input,
.app-root:not(.compact-root) .admin-select,
.app-root:not(.compact-root) .admin-table-input {
  min-height: 46px;
  padding: 0.33rem 0.63rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: transparent;
  color: #ffffff;
  font-size: 1.12rem;
  line-height: 1.25;
  outline: none;
}

.app-root:not(.compact-root) .sp-common-line-input,
.app-root:not(.compact-root) .admin-input.sp-line-input {
  border: none;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  padding-right: 0;
  padding-left: 0;
}

.app-root:not(.compact-root) .sp-common-table-input,
.app-root:not(.compact-root) .admin-table-input {
  min-height: 34px;
  font-size: 0.95rem;
}

.app-root:not(.compact-root) .sp-common-input:focus,
.app-root:not(.compact-root) .sp-common-select:focus,
.app-root:not(.compact-root) .sp-common-table-input:focus,
.app-root:not(.compact-root) .admin-input:focus,
.app-root:not(.compact-root) .admin-select:focus,
.app-root:not(.compact-root) .admin-table-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
}

.app-root:not(.compact-root) .sp-common-line-input:focus,
.app-root:not(.compact-root) .admin-input.sp-line-input:focus {
  border-color: var(--sp-line-input-border-focus);
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .sp-common-input::placeholder,
.app-root:not(.compact-root) .admin-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.app-root:not(.compact-root) .sp-common-select option,
.app-root:not(.compact-root) .admin-select option {
  background: #121212;
  color: #ffffff;
}

.admin-settings-page .admin-form-actions {
  justify-content: flex-start;
  gap: 0.45rem;
  margin-top: 0;
}

.admin-settings-page .admin-add-btn,
.admin-settings-page .admin-edit-btn:not(.sp-btn--compact),
.admin-settings-page .admin-suspend-btn:not(.sp-btn--compact),
.admin-settings-page .admin-modal-btn,
.admin-settings-page .admin-tab {
  position: relative;
  min-height: 38px;
  padding: 0.31rem 0.9rem;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: #f8fafc;
  font-size: 0.93rem;
  font-weight: 850;
  letter-spacing: 0.01rem;
  text-decoration: none;
}

.admin-settings-page .admin-edit-btn:not(.sp-btn--compact),
.admin-settings-page .admin-suspend-btn:not(.sp-btn--compact),
.admin-settings-page .admin-modal-btn,
.admin-settings-page .admin-tab:not(.active) {
  color: #f8fafc;
}

.admin-settings-page .admin-add-btn::after,
.admin-settings-page .admin-edit-btn:not(.sp-btn--compact)::after,
.admin-settings-page .admin-suspend-btn:not(.sp-btn--compact)::after,
.admin-settings-page .admin-modal-btn::after,
.admin-settings-page .admin-tab::after {
  content: "";
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.25rem;
  height: 1px;
  background: currentColor;
  pointer-events: none;
}

.admin-settings-page .admin-add-btn:hover,
.admin-settings-page .admin-add-btn:focus-visible,
.admin-settings-page .admin-edit-btn:not(.sp-btn--compact):hover,
.admin-settings-page .admin-edit-btn:not(.sp-btn--compact):focus-visible,
.admin-settings-page .admin-suspend-btn:not(.sp-btn--compact):hover,
.admin-settings-page .admin-suspend-btn:not(.sp-btn--compact):focus-visible,
.admin-settings-page .admin-modal-btn:hover,
.admin-settings-page .admin-modal-btn:focus-visible,
.admin-settings-page .admin-tab:hover,
.admin-settings-page .admin-tab:focus-visible {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: var(--sp-color-accent-orange);
}

.admin-settings-page .admin-table-shell {
  width: 100%;
  max-width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  overflow: auto;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.admin-settings-page .admin-table {
  color: #f8fafc;
  background: transparent;
}

.admin-settings-page .admin-table th {
  padding: 0.45rem 0.55rem;
  border-color: rgba(255, 255, 255, 0.12);
  background: #000000;
  color: #ffffff;
  font-size: 0.92rem;
  line-height: 1.2;
}

.admin-settings-page .admin-table td {
  padding: 0.45rem 0.55rem;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(248, 250, 252, 0.9);
  font-size: 0.9rem;
  line-height: 1.25;
}

.admin-settings-page .admin-user-stack__label,
.admin-settings-page .admin-ui-hint,
.admin-settings-page .admin-hint,
.admin-settings-page .admin-user-control-status {
  color: rgba(226, 232, 240, 0.68);
}

.admin-settings-page .admin-user-stack__title,
.admin-settings-page .admin-ui-label,
.admin-settings-page .admin-user-role-pill,
.admin-settings-page .admin-user-capability-pill {
  color: #ffffff;
}

.admin-settings-page .admin-user-role-pill,
.admin-settings-page .admin-user-capability-pill,
.admin-settings-page .admin-pill.active {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.app-root.compact-root .admin-users-settings-page .admin-users-tabs.sp-tab-stack__bar--level-2 {
  position: static;
  top: auto;
  z-index: auto;
}

.app-root.compact-root .admin-users-settings-page .admin-table-shell,
.app-root.compact-root .admin-users-settings-page .admin-table-users--grouped {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sp-ui-surface);
  color: #f8fafc;
}

.app-root.compact-root .admin-users-settings-page .admin-table-users--grouped th,
.app-root.compact-root .admin-users-settings-page .admin-table-users--grouped td {
  border-color: rgba(255, 255, 255, 0.14);
}

.app-root.compact-root .admin-users-settings-page .admin-user-static-value {
  border-color: rgba(255, 255, 255, 0.16);
  background: var(--sp-ui-surface-soft);
  color: #f8fafc;
}

.app-root.compact-root .admin-users-settings-page .admin-input:focus,
.app-root.compact-root .admin-users-settings-page .admin-select:focus,
.app-root.compact-root .admin-users-settings-page .admin-table-input:focus {
  background: transparent;
}

.app-root.compact-root .admin-compact-managed-page {
  --sp-ui-surface: rgba(18, 18, 18, 0.92);
  --sp-ui-surface-soft: rgba(0, 0, 0, 0.24);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
}

.app-root.compact-root .admin-compact-managed-page .settings-page-header {
  flex: 0 0 auto;
}

.app-root.compact-root .admin-compact-managed-page .settings-page-header__text--inline {
  align-items: center;
  gap: 7px;
}

.app-root.compact-root .admin-compact-managed-page .settings-page-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-root.compact-root .admin-compact-managed-page .settings-form-section {
  flex: 0 0 auto;
  gap: 7px;
  padding: 8px;
  border-radius: var(--sp-card-inner-frame-radius, 8px);
}

.app-root.compact-root .admin-compact-managed-page .settings-form-section__header h3,
.app-root.compact-root .admin-compact-managed-page .admin-card-header,
.app-root.compact-root .admin-compact-managed-page .admin-ui-header {
  font-size: 0.88rem;
  line-height: 1.18;
}

.app-root.compact-root .admin-compact-managed-page .settings-form-section__header p,
.app-root.compact-root .admin-compact-managed-page .admin-ui-hint,
.app-root.compact-root .admin-compact-managed-page .admin-hint {
  font-size: 0.72rem;
  line-height: 1.3;
}

.app-root.compact-root .admin-compact-managed-page .admin-form-grid,
.app-root.compact-root .admin-compact-managed-page .admin-ui-grid,
.app-root.compact-root .admin-compact-managed-page .admin-feature-grid,
.app-root.compact-root .admin-compact-managed-page .admin-authz-project-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}

.app-root.compact-root .admin-compact-managed-page .admin-form-field {
  gap: 4px;
  font-size: 0.82rem;
  line-height: 1.2;
}

.app-root.compact-root .admin-compact-managed-page .admin-select-wrap,
.app-root.compact-root .admin-compact-managed-page .admin-select--hr {
  width: 100%;
  min-width: 0;
}

.app-root.compact-root .admin-compact-managed-page .admin-select,
.app-root.compact-root .admin-compact-managed-page .admin-input,
.app-root.compact-root .admin-compact-managed-page .admin-table-input {
  min-height: 34px;
  padding: 0.25rem 0.55rem;
  font-size: 0.88rem;
  line-height: 1.2;
}

.app-root.compact-root .admin-compact-managed-page .admin-section-tabs,
.app-root.compact-root .admin-compact-managed-page .sp-responsive-sections__tabs,
.app-root.compact-root .admin-compact-managed-page .sp-tab-stack__bar {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.1rem 0 0.35rem;
  border-bottom-color: var(--sp-ui-border);
}

.app-root.compact-root .admin-compact-managed-page .admin-section-tab {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0.32rem 0.58rem;
  color: #000000;
  font-size: 0.72rem;
}

.app-root.compact-root .admin-compact-managed-page .admin-section-tab.active {
  color: var(--sp-color-accent-orange);
}

.app-root.compact-root .admin-compact-managed-page .admin-access-bar {
  flex: 0 0 auto;
  gap: 7px;
  margin: 0;
}

.app-root.compact-root .admin-compact-managed-page .admin-access-toggle-stack {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  margin: 0;
}

.app-root.compact-root .admin-authz-card .admin-page-tabs {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0.1rem 0 0.35rem;
  border-bottom: 1px solid var(--sp-ui-border);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.app-root.compact-root .admin-authz-card .admin-page-tabs::-webkit-scrollbar {
  display: none;
}

.app-root.compact-root .admin-authz-card .admin-page-tab {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0.32rem 0.58rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: rgba(226, 232, 240, 0.8);
  box-shadow: none;
  opacity: 1;
}

.app-root.compact-root .admin-authz-card .admin-page-tab.active {
  border-bottom-color: var(--sp-color-accent-orange);
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.app-root.compact-root .admin-authz-card .admin-page-tab__label {
  color: inherit;
  font-size: 0.72rem;
  line-height: 1.1;
  white-space: nowrap;
}

.app-root.compact-root .admin-authz-card .admin-authz-production-section {
  flex: 0 0 auto;
  gap: 7px;
  padding: 8px;
}

.app-root.compact-root .admin-authz-card .admin-production-column-list {
  gap: 7px;
}

.app-root.compact-root .admin-authz-card .admin-production-column-row {
  gap: 7px;
  padding: 8px;
}

.app-root.compact-root .admin-authz-card .admin-production-column-label {
  font-size: 0.88rem;
}

.app-root.compact-root .admin-authz-card .admin-production-column-actions {
  gap: 7px;
}

.app-root.compact-root .admin-compact-managed-page .sp-segmented-toggle__button {
  min-height: 34px;
  padding: 0.32rem 0.58rem;
  border-radius: 6px;
  font-size: 0.72rem;
}

.app-root.compact-root .admin-compact-managed-page .admin-authz-option-toggle,
.app-root.compact-root .admin-compact-managed-page .admin-access-toggle.sp-segmented-toggle__button {
  min-height: 44px;
  padding: 0.45rem 0.55rem;
}

.app-root.compact-root .admin-compact-managed-page .admin-ui-label,
.app-root.compact-root .admin-compact-managed-page .admin-access-toggle__label {
  font-size: 0.88rem;
  line-height: 1.2;
}

.app-root.compact-root .admin-authz-card .admin-matrix-wrap,
.app-root.compact-root .admin-authz-card .admin-table-shell {
  margin-top: 0;
  max-width: 100%;
}

.app-root.compact-root .admin-authz-card .admin-matrix {
  min-width: 760px;
}

.app-root.compact-root .admin-authz-card .admin-form-actions {
  flex: 0 0 auto;
  gap: 7px;
  margin-top: 0;
}

.admin-settings-page .admin-pill {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.admin-settings-page .admin-ui-item,
.admin-settings-page .admin-page-tab:not(.sp-segmented-toggle__button) {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.admin-settings-page .admin-access-bar,
.admin-settings-page .admin-page-tabs,
.admin-settings-page .admin-ui-grid,
.admin-settings-page .admin-feature-grid {
  gap: 0.45rem;
}

.admin-settings-page .admin-access-label,
.admin-settings-page .admin-page-tab__label {
  color: rgba(226, 232, 240, 0.8);
}

.admin-settings-page .admin-access-label.active,
.admin-settings-page .admin-page-tab.active .admin-page-tab__label {
  color: #ffffff;
}

.admin-settings-page .admin-users-group-gap td {
  background: transparent;
  border: 0;
}

.admin-settings-page .admin-users-group-title td {
  background: var(--sp-ui-surface-soft);
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 1280px) {
  .admin-settings-page .admin-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.admin-settings-integration-actions {
  justify-content: flex-start;
  margin: 0;
}

.admin-settings-integration-actions .admin-add-btn,
.admin-settings-integration-actions .admin-modal-btn {
  min-height: 38px;
  padding: 0.31rem 0.9rem;
  border-radius: 6px;
  font-size: 0.93rem;
  font-weight: 850;
  letter-spacing: 0.01rem;
}

.admin-settings-integration-actions .admin-modal-btn {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.admin-table-input {
  width: 100%;
  min-width: 0;
  padding: 0.2rem 0.35rem;
  font-size: 0.85rem;
  box-sizing: border-box;
}

/* Production lists: widen "Valeurs autorisees" column by 50% */
.admin-table-prod-lists th:nth-child(1),
.admin-table-prod-lists td:nth-child(1) {
  width: 14%;
}

.admin-table-prod-lists th:nth-child(2),
.admin-table-prod-lists td:nth-child(2) {
  width: 43%;
}

.admin-table-prod-lists th:nth-child(3),
.admin-table-prod-lists td:nth-child(3) {
  width: 20%;
}

.admin-table-prod-lists th:nth-child(4),
.admin-table-prod-lists td:nth-child(4) {
  width: 23%;
}

.admin-table-prod-lists th:nth-child(4) {
  min-width: 0;
  white-space: nowrap;
}

.admin-table-prod-lists {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

.admin-table-prod-lists td:nth-child(2),
.admin-table-prod-lists td:nth-child(3) {
  white-space: normal;
  overflow: hidden;
  text-overflow: clip;
}

.admin-list-values-wrap {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
}

.admin-list-values-empty {
  opacity: 0.6;
}

.admin-list-value-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 1px 2px;
}

.admin-list-value-row.is-dragging {
  border-color: #111111;
  border-style: dashed;
}

.admin-list-value-main {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  flex: 1 1 auto;
}

.admin-list-drag-btn {
  padding: 1px 3px;
  min-width: 24px;
  cursor: -webkit-grab;
  cursor: grab;
}

.admin-list-remove-btn {
  padding: 1px 3px;
  min-width: 24px;
  color: #c81e1e;
  border-color: rgba(200, 30, 30, 0.35);
  background: rgba(200, 30, 30, 0.06);
}

.admin-list-value-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  max-width: 100%;
  padding: 1px 3px;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  background: var(--sp-ui-btn-neutral-bg);
  color: #111111;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-list-value-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  border: 1px solid #111111;
  flex: 0 0 auto;
}

.admin-list-value-colors {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  justify-content: flex-end;
  flex: 0 0 auto;
}

.admin-list-preset-btn {
  padding: 1px 3px;
  min-width: 24px;
  background: var(--admin-list-preset-bg);
  color: var(--admin-list-preset-text, #111111);
}

.admin-settings-page .admin-list-preset-btn {
  background: var(--admin-list-preset-bg);
  color: var(--admin-list-preset-text, #111111);
}

.admin-list-color-input {
  width: 18px;
  height: 11px;
  padding: 0;
}

.admin-list-clear-btn {
  padding: 1px 3px;
}

.admin-list-add-wrap {
  display: flex;
  gap: 3px;
  align-items: center;
  min-width: 0;
}

.admin-list-add-wrap .admin-table-input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.admin-revoke-btn:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.admin-matrix-wrap {
  margin-top: 0.75rem;
}

.admin-authz-card .admin-matrix-wrap {
  margin-top: 0.45rem;
}

.admin-matrix {
  table-layout: fixed;
  min-width: 900px;
}

.admin-authz-card .admin-matrix {
  min-width: 540px;
}

.admin-matrix th,
.admin-matrix td {
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
}

.admin-matrix thead th {
  padding: 0;
}

.admin-matrix thead th:not(.admin-matrix-role),
.admin-matrix tbody td:not(.admin-matrix-role) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

.admin-authz-card .admin-matrix thead th:not(.admin-matrix-role),
.admin-authz-card .admin-matrix tbody td:not(.admin-matrix-role) {
  width: 35px;
  min-width: 35px;
  max-width: 35px;
}

.admin-matrix th.admin-matrix-role {
  min-width: 218px;
  width: 218px;
  text-align: center;
  font-weight: 800;
  font-size: 1.85rem;
}

.admin-authz-card .admin-matrix th.admin-matrix-role {
  min-width: 131px;
  width: 131px;
  font-size: 1.1rem;
}

.admin-matrix-col {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.admin-authz-card .admin-matrix-col {
  height: 72px;
}

.admin-matrix thead tr {
  height: 210px;
}

.admin-authz-card .admin-matrix thead tr {
  height: 126px;
}

.admin-matrix-col span {
  display: inline-block;
  transform: none;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
          text-orientation: mixed;
  transform: rotate(195deg);
  white-space: nowrap;
  font-size: 1.125rem;
}

.admin-authz-card .admin-matrix-col span {
  font-size: 0.675rem;
}

.admin-matrix thead th {
  position: relative;
  overflow: visible;
  z-index: 1;
}

.admin-matrix thead th:not(.admin-matrix-role) {
  background: #000000;
  color: #ffffff;
  border-right: 1px solid #ffffff;
}

.admin-matrix thead th:nth-child(2) {
  border-left: 1px solid #ffffff;
}

.admin-matrix thead th.admin-matrix-role {
  border-right: 1px solid #ffffff;
}

.admin-matrix tbody tr {
  height: 90px;
}

.admin-authz-card .admin-matrix tbody tr {
  height: 54px;
}

.admin-matrix-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}

.admin-authz-card .admin-matrix-cell {
  gap: 0.48rem;
}

.admin-pill {
  border: 1px solid #000000;
  background: #d0d0d0;
  color: #111111;
  font-weight: 700;
  font-size: clamp(9px, 0.55vw, 11px);
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  cursor: pointer;
}

.admin-pill:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.admin-pill.active {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.admin-matrix-check input {
  transform: scale(0.95);
}

.admin-switch {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  gap: 0.4rem;
}

.admin-switch input {
  display: none;
}

.admin-switch span {
  width: 42px;
  height: 22px;
  border-radius: 20px;
  background: #999999;
  border: 1px solid #000000;
  position: relative;
  transition: background 0.2s ease;
}

.admin-switch span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 50%;
  top: 1px;
  left: 2px;
  transition: transform 0.2s ease;
}

.admin-switch input:checked + span {
  background: var(--sp-color-accent-orange);
}

.admin-switch input:checked + span::after {
  transform: translateX(20px);
}

.admin-switch input:disabled + span {
  opacity: 0.8;
  cursor: not-allowed;
  filter: brightness(1.1);
}

.admin-switch input:disabled + span::after {
  opacity: 0.9;
}

.admin-switch input:disabled + span:hover {
  cursor: not-allowed;
}

.admin-hint {
  margin-top: 0.65rem;
  font-size: 0.9rem;
  color: var(--sp-ui-text);
}

.admin-error-text {
  color: var(--sp-ui-danger-text);
}

.admin-color-sections {
  display: grid;
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.admin-color-section {
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: var(--sp-ui-surface);
  padding: 0.75rem;
}

.admin-color-section-title {
  margin: 0 0 0.3rem;
  font-size: 0.96rem;
  letter-spacing: 0.02rem;
  color: var(--sp-ui-text);
}

.admin-color-section-text {
  margin: 0;
  font-size: 0.88rem;
  color: var(--sp-ui-text-muted);
}

.admin-color-label {
  font-weight: 700;
  color: var(--sp-ui-text);
}

.admin-production-settings-card .admin-color-label {
  font-size: 0.82rem;
}

.admin-color-description {
  margin-top: 0.15rem;
  color: var(--sp-ui-text-muted);
  font-size: 0.82rem;
}

.admin-production-settings-card .admin-color-description {
  margin-top: 0.055rem;
  font-size: 0.62rem;
  line-height: 1.15;
}

.admin-color-code {
  display: inline-block;
  margin-top: 0.22rem;
  font-size: 0.75rem;
  color: var(--sp-ui-text-muted);
}

.admin-production-settings-card .admin-color-code {
  margin-top: 0.08rem;
  font-size: 0.56rem;
}

.admin-color-preview-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.admin-color-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid var(--sp-ui-border);
  font-size: 0.7rem;
  font-weight: 700;
}

.admin-color-preview-hex {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.8rem;
  color: var(--sp-ui-text);
}

.admin-color-warning {
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: var(--sp-ui-danger-text);
}

.admin-setting-slider-wrap {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.admin-production-settings-card .admin-setting-slider-wrap {
  gap: 0.16rem;
}

.admin-setting-slider {
  width: 100%;
}

.admin-production-settings-card .admin-setting-slider {
  height: 0.45rem;
}

.admin-setting-slider-meta {
  display: grid;
  grid-template-columns: minmax(72px, 84px) 1fr;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  align-items: center;
}

.admin-production-settings-card .admin-setting-slider-meta {
  grid-template-columns: minmax(27px, 32px) 1fr;
  gap: 0.18rem;
}

.admin-setting-slider-number {
  text-align: center;
}

.admin-setting-done-preview {
  border: 1px solid var(--sp-ui-border);
  border-radius: 6px;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03rem;
  text-align: center;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}

.admin-production-settings-card .admin-setting-done-preview {
  border-radius: 4px;
  min-height: 11px;
  font-size: 0.6rem;
  letter-spacing: 0.01rem;
  padding: 0.075rem 0.18rem;
}

.admin-setting-done-preview--separator {
  background: #f3f4f6;
  color: #111111;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 0.45rem;
  min-height: 44px;
  white-space: normal;
}

.admin-production-settings-card .admin-setting-done-preview--separator {
  gap: 0.16rem;
  min-height: 16px;
}

.admin-setting-done-preview--vertical-separator {
  background: #f3f4f6;
  color: #111111;
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  white-space: normal;
}

.admin-production-settings-card .admin-setting-done-preview--vertical-separator {
  gap: 0.26rem;
  min-height: 16px;
}

.admin-setting-separator-line {
  display: inline-block;
  width: 100%;
  height: 4px;
  border-radius: 999px;
  flex: 0 0 auto;
}

.admin-production-settings-card .admin-setting-separator-line {
  height: 1px;
}

.admin-setting-separator-line--vertical {
  width: 4px;
  height: 32px;
}

.admin-production-settings-card .admin-setting-separator-line--vertical {
  width: 1px;
  height: 12px;
}

.settings-theme-page {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.12);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #121212;
  color: #f8fafc;
}

.settings-theme-page .admin-card-header {
  color: #ffffff;
}

.settings-theme-page .admin-hint {
  color: rgba(226, 232, 240, 0.72);
}

.settings-theme-page.chiffreur-settings-content.level-two-content {
  overflow-x: hidden;
  overflow-y: auto;
}

.pilotage-content .stats-panel,
.pilotage-content .anticipation-page {
  min-height: 0;
  height: 100%;
}

.stats-panel__body.settings-theme-page {
  min-height: 0;
  overflow: auto;
}

.stats-panel__simulation-card,
.stats-panel__grafana-frame {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: #f8fafc;
}

.stats-panel__simulation-card {
  padding: 12px;
}

.stats-panel__simulation-item {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
}

.stats-panel__grafana-frame {
  min-height: 72vh;
  overflow: hidden;
}

.anticipation-page.settings-theme-page {
  padding: 0;
}

.anticipation-page.settings-theme-page .anticipation-shell {
  min-height: 0;
  flex: 1 1 auto;
  border-color: rgba(255, 143, 42, 0.75);
  background: #121212;
  color: #f8fafc;
  overflow: hidden;
}

.anticipation-page.settings-theme-page .anticipation-nav {
  border-right-color: rgba(255, 143, 42, 0.7);
  background: rgba(255, 255, 255, 0.035);
}

.anticipation-page.settings-theme-page .anticipation-content {
  color: #f8fafc;
}

.anticipation-page.settings-theme-page .settings-form-section,
.anticipation-page.settings-theme-page .settings-field,
.anticipation-page.settings-theme-page .settings-readonly-field {
  color: #f8fafc;
}

.anticipation-page.settings-theme-page .settings-field > span,
.anticipation-page.settings-theme-page .settings-form-section__header p,
.anticipation-page.settings-theme-page .anticipation-section-head p,
.anticipation-page.settings-theme-page .anticipation-placeholder p,
.anticipation-page.settings-theme-page .anticipation-group p {
  color: rgba(226, 232, 240, 0.72);
}

.anticipation-page.settings-theme-page .anticipation-group,
.anticipation-page.settings-theme-page .anticipation-placeholder {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.anticipation-page.settings-theme-page .anticipation-group.active {
  border-color: var(--sp-color-accent-orange);
  box-shadow: inset 0 0 0 1px rgba(255, 143, 42, 0.9);
}

.anticipation-page.settings-theme-page .anticipation-group small {
  color: rgba(226, 232, 240, 0.72);
}

.anticipation-page.settings-theme-page .admin-input,
.anticipation-page.settings-theme-page .admin-select,
.anticipation-page.settings-theme-page .settings-input {
  border-color: rgba(255, 255, 255, 0.16);
  background: transparent;
  color: #ffffff;
}

.anticipation-page.settings-theme-page .admin-input:focus,
.anticipation-page.settings-theme-page .admin-select:focus,
.anticipation-page.settings-theme-page .settings-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.anticipation-page.settings-theme-page .admin-input::placeholder,
.anticipation-page.settings-theme-page .settings-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.anticipation-page.settings-theme-page .admin-input option,
.anticipation-page.settings-theme-page .admin-select option,
.anticipation-page.settings-theme-page .settings-input option {
  background: #171717;
  color: #ffffff;
}

.material-prelayout-settings-page {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.12);
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  gap: 0.85rem;
  padding: 0.85rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #121212;
  color: var(--sp-ui-text);
  box-shadow: none;
}

.calepineur-panel-card,
.calepineur-panel-card.settings-theme-page,
.calepineur-panel-card > .material-prelayout-settings-page {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #121212;
  color: #f8fafc;
}

.material-prelayout-settings-page .settings-form-section {
  border-color: var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  background: var(--sp-ui-surface, rgba(255, 255, 255, 0.055));
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
}

.material-prelayout-settings-page .admin-warning {
  margin: 0;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 8px;
  background: var(--sp-ui-surface, rgba(255, 255, 255, 0.055));
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
}

.material-prelayout-settings-page .material-prelayout-field-control {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.26) !important;
  border-radius: 6px;
  background: var(--sp-ui-input-bg, #101010) !important;
  color: var(--sp-ui-text, #f8fafc) !important;
  box-sizing: border-box;
}

.material-prelayout-settings-page .material-prelayout-field-control:focus {
  border-color: var(--sp-color-accent-orange) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.material-prelayout-settings-page .material-prelayout-field-control:disabled {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: rgba(226, 232, 240, 0.44) !important;
  cursor: not-allowed;
}

.material-prelayout-settings-page .material-prelayout-field-control option {
  background: var(--sp-ui-input-bg, #101010);
  color: var(--sp-ui-text, #f8fafc);
}

.material-prelayout-settings-page .material-prelayout-action {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.38rem 0.72rem;
  border: 0;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.1;
}

.material-prelayout-settings-page .material-prelayout-action::after {
  content: "";
  position: absolute;
  left: 0.72rem;
  right: 0.72rem;
  bottom: 0.2rem;
  height: 1px;
  background: currentColor;
  pointer-events: none;
}

.material-prelayout-settings-page .material-prelayout-action:hover,
.material-prelayout-settings-page .material-prelayout-action:focus-visible,
.material-prelayout-settings-page .material-prelayout-action.is-active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.material-prelayout-settings-page .material-prelayout-action--danger,
.material-prelayout-settings-page .material-prelayout-action--danger:hover,
.material-prelayout-settings-page .material-prelayout-action--danger:focus-visible {
  color: #f87171;
}

.material-prelayout-settings-page .material-prelayout-action:disabled {
  border: 0;
  background: transparent;
  color: rgba(226, 232, 240, 0.42);
  cursor: not-allowed;
}

.material-prelayout-settings-page__tabs {
  flex: 0 0 auto;
  gap: 0.25rem;
  margin: 0;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.material-prelayout-settings-page .admin-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 33px;
  padding: 2px 6px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
}

.material-prelayout-settings-page .admin-tab:hover,
.material-prelayout-settings-page .admin-tab:focus-visible,
.material-prelayout-settings-page .admin-tab.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.material-prelayout-settings-page__scroll {
  padding: 0.15rem;
  scrollbar-width: thin;
}

.material-prelayout-settings-page .settings-form-section__header h3 {
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.material-prelayout-settings-page .settings-form-section__header p,
.material-prelayout-confidence-list {
  color: rgba(226, 232, 240, 0.72);
  font-size: 1rem;
  line-height: 1.35;
}

.material-prelayout-settings-page__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.material-prelayout-settings-page .settings-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
  color: var(--sp-ui-text, #f8fafc);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
}

.material-prelayout-settings-page .settings-field > span {
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
}

.material-prelayout-settings-page .settings-input {
  width: 100%;
  min-height: 30px;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 0.95rem;
  line-height: 1.1;
  outline: none;
  box-sizing: border-box;
}

.material-prelayout-settings-page .settings-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
}

.material-prelayout-settings-page .settings-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.material-prelayout-settings-page .settings-input option {
  background: var(--sp-ui-input-bg, #101010);
  color: var(--sp-ui-text, #f8fafc);
}

.material-prelayout-settings-page__actions {
  justify-content: flex-start;
  margin: 0;
}

.material-prelayout-settings-page__actions .admin-add-btn,
.material-prelayout-settings-page__actions .admin-tab {
  min-height: 33px;
  padding: 2px 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.78rem;
  letter-spacing: 0;
}

.material-prelayout-settings-page .sp-btn,
.material-prelayout-settings-page .admin-add-btn,
.material-prelayout-settings-page .admin-suspend-btn,
.material-prelayout-settings-page .settings-actions__secondary {
  border: 0;
  background: transparent;
  color: var(--sp-ui-text, #f8fafc);
  box-shadow: none;
}

.material-prelayout-settings-page .sp-btn:hover,
.material-prelayout-settings-page .sp-btn:focus-visible,
.material-prelayout-settings-page .admin-add-btn:hover,
.material-prelayout-settings-page .admin-add-btn:focus-visible,
.material-prelayout-settings-page .settings-actions__secondary:hover,
.material-prelayout-settings-page .settings-actions__secondary:focus-visible {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
  outline: none;
}

.material-prelayout-settings-page .admin-suspend-btn {
  color: #f87171;
}

.material-prelayout-settings-page .admin-suspend-btn:hover,
.material-prelayout-settings-page .admin-suspend-btn:focus-visible {
  border: 0;
  background: transparent;
  color: #fecaca;
  box-shadow: none;
  outline: none;
}

.material-prelayout-confidence-list {
  display: grid;
  grid-gap: 0.55rem;
  gap: 0.55rem;
}

.material-prelayout-confidence-list strong {
  color: #ffffff;
}

.material-prelayout-settings-page--free {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 0.75rem;
}

.material-prelayout-settings-page--free .settings-input {
  min-height: 34px;
  font-size: 0.95rem;
}

.material-prelayout-free-layout {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(340px, 0.92fr) minmax(400px, 1.08fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: start;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.material-prelayout-free-layout__form,
.material-prelayout-preview-panel {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  scrollbar-width: thin;
}

.material-prelayout-free-layout__form {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding-right: 2px;
}

.material-prelayout-step {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.material-prelayout-step--primary {
  border-color: rgba(255, 106, 0, 0.34);
}

.material-prelayout-flow-status {
  margin-top: 0;
}

.material-prelayout-material-flow {
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) minmax(170px, 0.8fr) minmax(150px, 0.7fr);
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-background-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(140px, 0.7fr) minmax(140px, 0.7fr);
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-background-crop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-file-field input[type="file"] {
  padding: 6px;
}

.material-prelayout-background-name {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-prelayout-corner-editor {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(240px, 1fr);
  grid-gap: 10px;
  gap: 10px;
  align-items: start;
}

.material-prelayout-corner-editor__canvas {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  background: #0f172a;
  touch-action: none;
}

.material-prelayout-corner-editor__handle {
  cursor: -webkit-grab;
  cursor: grab;
}

.material-prelayout-corner-editor__handle circle {
  fill: #ff6a00;
  stroke: #111827;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.material-prelayout-corner-editor__handle text {
  fill: #111827;
  font-size: 28px;
  font-weight: 900;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 6;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  vector-effect: non-scaling-stroke;
}

.material-prelayout-corner-grid {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.material-prelayout-corner-grid__item {
  display: grid;
  grid-template-columns: minmax(82px, 1fr) 72px 72px;
  grid-gap: 6px;
  gap: 6px;
  align-items: center;
}

.material-prelayout-corner-grid__item span {
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  font-size: 0.78rem;
  font-weight: 800;
}

.material-prelayout-project-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
}

.material-prelayout-project-slots {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.material-prelayout-project-slot {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-selected-projects {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.material-prelayout-selected-project {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.material-prelayout-selected-project span {
  min-width: 0;
  overflow: hidden;
  color: var(--sp-ui-text, #f8fafc);
  font-size: 0.84rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-prelayout-imported-pieces {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  padding-top: 2px;
}

.material-prelayout-imported-piece {
  display: grid;
  grid-template-columns: 12px minmax(90px, 0.8fr) minmax(120px, 1.2fr) auto;
  grid-gap: 8px;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--sp-ui-text, #f8fafc);
  font-size: 0.82rem;
}

.material-prelayout-imported-piece__color {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.material-prelayout-project-manual {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-project-manual summary {
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
}

.material-prelayout-piece-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(120px, 0.6fr) 110px 110px auto;
  grid-gap: 8px;
  gap: 8px;
  align-items: end;
}

.material-prelayout-shape-row {
  display: grid;
  grid-template-columns: 130px 130px minmax(180px, 1fr);
  grid-gap: 8px;
  gap: 8px;
  align-items: end;
  margin-top: -4px;
  padding: 8px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
}

.material-prelayout-shape-row--free {
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.75fr);
}

.material-prelayout-shape-hint {
  margin: 0;
}

.material-prelayout-actions-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.material-prelayout-preview-panel {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  padding-right: 2px;
}

.material-prelayout-preview-panel--empty {
  min-height: 140px;
  align-content: start;
  padding: 12px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.material-prelayout-unknown-slab {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-unknown-slab__canvas {
  width: 100%;
  min-width: 320px;
  max-height: 300px;
  display: block;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 8px;
  background: #111827;
}

.material-prelayout-unknown-slab__hint {
  margin-top: 0;
}

.material-prelayout-empty-slab {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.material-prelayout-empty-slab__title {
  padding: 6px 8px;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: rgba(255, 255, 255, 0.055);
  color: var(--sp-ui-text, #f8fafc);
  font-weight: 850;
}

.material-prelayout-empty-slab__canvas {
  width: 100%;
  min-width: 320px;
  display: block;
  border: 1px solid var(--sp-ui-border, rgba(255, 255, 255, 0.12));
  border-radius: 0 0 8px 8px;
  background: #f8fafc;
}

.material-prelayout-empty-slab__hint {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .material-prelayout-free-layout {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .material-prelayout-free-layout__form,
  .material-prelayout-preview-panel {
    max-height: none;
    overflow: visible;
  }

  .material-prelayout-material-flow,
  .material-prelayout-piece-row,
  .material-prelayout-shape-row,
  .material-prelayout-shape-row--free,
  .material-prelayout-background-grid,
  .material-prelayout-corner-editor,
  .material-prelayout-project-search {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .material-prelayout-settings-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .material-prelayout-settings-page__grid {
    grid-template-columns: 1fr;
  }
}

.admin-production-settings-card.settings-theme-page {
  gap: 0;
  padding: 0.85rem;
}

.admin-production-settings-card.settings-theme-page .admin-production-settings-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.85rem;
  height: auto;
  max-height: none;
  min-height: 0;
  margin: 0;
  padding: 0.15rem;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  box-sizing: border-box;
}

.admin-production-settings-card.settings-theme-page .admin-production-settings-tabs {
  display: flex;
  flex: 0 0 auto;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: transparent;
}

.admin-production-settings-card.settings-theme-page .admin-tab {
  min-height: 38px;
  padding: 0.31rem 0.9rem;
  border-color: transparent;
  background: transparent;
  color: #f8fafc;
  box-shadow: none;
  font-size: 0.93rem;
  font-weight: 850;
  letter-spacing: 0.01rem;
}

.admin-production-settings-card.settings-theme-page .admin-tab:hover,
.admin-production-settings-card.settings-theme-page .admin-tab:focus-visible,
.admin-production-settings-card.settings-theme-page .admin-tab.active {
  border-color: transparent;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab::after,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab::after,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab::after,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab::after {
  left: 50%;
  right: auto;
  bottom: -1px;
  width: 75%;
  height: 2px;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  opacity: 0;
  transform: translateX(-50%) scaleX(0.35);
  transform-origin: center;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab.active,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab.active,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab.active,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab.active,
.app-root:not(.compact-root) .admin-settings-page .admin-tab:hover,
.app-root:not(.compact-root) .admin-settings-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab:hover,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab:hover,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab:focus-visible,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab:hover,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab:focus-visible {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-settings-page .admin-tab.active::after,
.app-root:not(.compact-root) .material-prelayout-settings-page .admin-tab.active::after,
.app-root:not(.compact-root) .admin-production-settings-card.settings-theme-page .admin-tab.active::after,
.app-root:not(.compact-root) .stonepiloteur-compact-common-content .admin-tab.active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.admin-production-settings-card.settings-theme-page > .admin-production-settings-scroll > .admin-card-header {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.admin-production-settings-card.settings-theme-page > .admin-production-settings-scroll > .admin-hint {
  margin: -0.35rem 0 0;
  font-size: 1rem;
  line-height: 1.35;
}

.admin-production-settings-card.settings-theme-page .admin-table-shell,
.admin-production-settings-card.settings-theme-page .admin-color-section {
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.admin-production-settings-card.settings-theme-page .admin-table-shell--prod-lists {
  width: 100%;
  max-width: 100%;
  max-height: clamp(240px, 42dvh, 500px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.admin-production-settings-card.settings-theme-page .admin-table-shell--production-separators {
  width: 100%;
  max-width: 100%;
  max-height: clamp(180px, 28dvh, 340px);
  overflow-x: auto;
  overflow-y: auto;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.admin-production-settings-card.settings-theme-page .admin-table-shell--production-separators .admin-table th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.admin-production-settings-card.settings-theme-page .admin-table-shell--prod-lists .admin-table th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.admin-production-settings-card.settings-theme-page .admin-color-sections {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
}

.admin-production-settings-card.settings-theme-page .admin-color-section-title {
  margin: 0;
  color: #ffffff;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.admin-production-settings-card.settings-theme-page .admin-color-section-text {
  color: rgba(226, 232, 240, 0.72);
  font-size: 1rem;
  line-height: 1.35;
}

.admin-production-settings-card.settings-theme-page .admin-table {
  color: #f8fafc;
  background: transparent;
}

.admin-production-settings-card.settings-theme-page .admin-table th {
  padding: 0.45rem 0.55rem;
  border-color: rgba(255, 255, 255, 0.12);
  background: #000000;
  color: #ffffff;
  font-size: 0.92rem;
  line-height: 1.2;
}

.admin-production-settings-card.settings-theme-page .admin-table td {
  padding: 0.45rem 0.55rem;
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(248, 250, 252, 0.9);
  font-size: 0.9rem;
  line-height: 1.25;
}

.admin-production-settings-card.settings-theme-page .admin-input,
.admin-production-settings-card.settings-theme-page .admin-select,
.admin-production-settings-card.settings-theme-page .admin-table-input {
  min-height: 34px;
  padding: 0.25rem 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: transparent;
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1.25;
}

.admin-production-settings-card.settings-theme-page .admin-input:focus,
.admin-production-settings-card.settings-theme-page .admin-select:focus,
.admin-production-settings-card.settings-theme-page .admin-table-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.admin-production-settings-card.settings-theme-page .admin-add-btn,
.admin-production-settings-card.settings-theme-page .admin-modal-btn {
  min-height: 34px;
  padding: 0.25rem 0.72rem;
  border-color: transparent;
  background: transparent;
  color: #f8fafc;
  box-shadow: none;
  font-size: 0.9rem;
  font-weight: 850;
}

.admin-production-settings-card.settings-theme-page .admin-add-btn:hover,
.admin-production-settings-card.settings-theme-page .admin-add-btn:focus-visible,
.admin-production-settings-card.settings-theme-page .admin-modal-btn:hover,
.admin-production-settings-card.settings-theme-page .admin-modal-btn:focus-visible {
  border-color: transparent;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.admin-production-settings-card.settings-theme-page .admin-color-label {
  color: #ffffff;
  font-size: 0.96rem;
}

.admin-production-settings-card.settings-theme-page .admin-color-description,
.admin-production-settings-card.settings-theme-page .admin-color-code,
.admin-production-settings-card.settings-theme-page .admin-list-values-empty {
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.78rem;
}

.admin-production-settings-card.settings-theme-page .admin-setting-slider-wrap {
  gap: 0.35rem;
}

.admin-production-settings-card.settings-theme-page .admin-setting-slider-meta {
  grid-template-columns: minmax(58px, 72px) 1fr;
  gap: 0.45rem;
}

.admin-production-settings-card.settings-theme-page .admin-setting-done-preview {
  min-height: 30px;
  padding: 0.2rem 0.5rem;
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  font-size: 0.82rem;
}

.admin-production-settings-card.settings-theme-page .admin-form-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0;
}

.admin-settings-page.admin-authz-card .admin-card-header,
.admin-settings-page.admin-authz-card .admin-ui-header {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1.18rem;
  line-height: 1.15;
  letter-spacing: 0.02rem;
}

.admin-settings-page.admin-authz-card .admin-access-label,
.admin-settings-page.admin-authz-card .admin-page-tab__label,
.admin-settings-page.admin-authz-card .admin-ui-label {
  font-size: 0.93rem;
  line-height: 1.2;
}

.admin-settings-page.admin-authz-card .admin-ui-hint,
.admin-settings-page.admin-authz-card .admin-hint {
  font-size: 0.78rem;
  line-height: 1.35;
}

.admin-settings-page.admin-authz-card .admin-ui-item {
  padding: 0.6rem 0.7rem;
  border-radius: 8px;
  box-shadow: none;
}

.admin-settings-page.admin-authz-card .admin-select,
.admin-settings-page.admin-authz-card .admin-input {
  min-height: 38px;
  padding: 0.31rem 0.65rem;
  font-size: 0.95rem;
}

.admin-settings-page.admin-authz-card .admin-matrix {
  min-width: 760px;
}

.admin-settings-page.admin-authz-card .admin-matrix th.admin-matrix-role {
  min-width: 180px;
  width: 180px;
  font-size: 0.95rem;
}

.admin-settings-page.admin-authz-card .admin-matrix thead th:not(.admin-matrix-role),
.admin-settings-page.admin-authz-card .admin-matrix tbody td:not(.admin-matrix-role) {
  width: 48px;
  min-width: 48px;
  max-width: 48px;
}

.admin-settings-page.admin-authz-card .admin-matrix-col {
  height: 96px;
}

.admin-settings-page.admin-authz-card .admin-matrix thead tr {
  height: 148px;
}

.admin-settings-page.admin-authz-card .admin-matrix tbody tr {
  height: 66px;
}

.admin-settings-page.admin-authz-card .admin-matrix-col span {
  font-size: 0.78rem;
}

.admin-global-contacts-layout {
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
  align-items: start;
}

.admin-global-contacts-list,
.admin-global-contacts-editor,
.admin-global-contacts-subsection {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  min-width: 0;
}

.admin-global-contacts-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-global-contacts-list__items {
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  max-height: 54dvh;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0.1rem;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.admin-global-contact-row {
  display: grid;
  grid-gap: 0.16rem;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.58rem 0.66rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
  color: #f8fafc;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}

.admin-global-contact-row.active {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.14);
  box-shadow: none;
}

.admin-global-contact-row__name {
  min-width: 0;
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-global-contact-row__meta {
  min-width: 0;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.78rem;
  font-weight: 750;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-global-contact-row__status {
  justify-self: start;
  padding: 0.08rem 0.42rem;
  border: 1px solid rgba(248, 113, 113, 0.45);
  border-radius: 999px;
  color: #fecdd3;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-global-contact-row__status.active {
  border-color: rgba(34, 197, 94, 0.45);
  color: #bbf7d0;
}

.admin-global-contacts-attachments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.admin-global-contact-attachment {
  display: grid;
  grid-gap: 0.48rem;
  gap: 0.48rem;
  min-width: 0;
  padding: 0.62rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.admin-global-contact-attachment.active {
  border-color: rgba(255, 106, 0, 0.48);
  box-shadow: none;
}

.admin-global-contact-attachment__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.admin-global-contact-attachment__header strong {
  min-width: 0;
  color: #ffffff;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-global-contact-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.admin-global-contacts-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.admin-global-contacts-actions {
  justify-content: flex-end;
  margin: 0;
}

.admin-global-contacts-empty {
  margin: 0;
  padding: 0.65rem;
  border: 1px dashed rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.admin-commercial-addressing-toolbar {
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
}

.admin-commercial-addressing-search {
  min-width: 0;
}

.admin-commercial-addressing-page .admin-input,
.admin-commercial-addressing-page .admin-select {
  min-height: 34px;
  padding: 0.25rem 0.5rem;
  font-size: 0.88rem;
}

.admin-commercial-addressing-page .admin-edit-btn {
  min-height: 34px;
  padding: 0.25rem 0.65rem;
  font-size: 0.82rem;
}

.admin-commercial-addressing-toolbar__actions {
  align-self: end;
  margin: 0;
}

.admin-commercial-addressing-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
}

.admin-commercial-addressing-selection strong {
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 900;
}

.admin-commercial-addressing-selection .admin-select {
  width: min(280px, 100%);
}

.admin-commercial-board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(190px, 240px);
  grid-gap: 0.55rem;
  gap: 0.55rem;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.15rem;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-width: thin;
}

.admin-commercial-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 300px;
  max-height: calc(100dvh - var(--sp-header-h, 46px) - 250px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.admin-commercial-column--unassigned {
  box-shadow: none;
}

.admin-commercial-column__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.38rem;
  padding: 0.42rem 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.42);
}

.admin-commercial-column__header strong {
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-commercial-column__header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  min-height: 1.18rem;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  font-size: 0.64rem;
  font-weight: 900;
}

.admin-commercial-column__list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.26rem;
  min-height: 0;
  overflow-y: auto;
  padding: 0.36rem;
  scrollbar-color: var(--sp-color-accent-orange) rgba(255, 255, 255, 0.08);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}

.admin-prescripteur-card {
  display: grid;
  grid-gap: 0.05rem;
  gap: 0.05rem;
  min-width: 0;
  padding: 0.28rem 0.36rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: #f8fafc;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.admin-prescripteur-card:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.admin-prescripteur-card.selected {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.16);
}

.admin-prescripteur-card__name {
  min-width: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 0.74rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-prescripteur-card__city {
  min-width: 0;
  overflow: hidden;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.62rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-commercial-column__empty {
  margin: 0;
  padding: 0.36rem;
  border: 1px dashed rgba(255, 255, 255, 0.14);
  border-radius: 6px;
}

@media (max-width: 1280px) {
  .admin-global-contacts-layout {
    grid-template-columns: 1fr;
  }

  .admin-global-contacts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-commercial-addressing-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-commercial-addressing-toolbar__actions {
    justify-content: flex-start;
  }

  .admin-commercial-column {
    min-height: 320px;
    max-height: none;
  }
}

.admin-placeholder {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  text-align: center;
  padding: 2rem 1rem;
}

/* ── Section tabs — underline style ─────────────────────────────────────────
   Usage:
     <div class="admin-section-tabs">
       <button class="admin-section-tab active">Onglet</button>
     </div>
   Active state is set by adding the "active" class to the button.
*/
.admin-section-tabs {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--sp-ui-border);
  overflow-x: auto;
  overflow-y: hidden;
  background: transparent;
  background-clip: padding-box;
}

.admin-section-tab {
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 400;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: color 0.12s, border-color 0.12s, font-weight 0.12s;
  white-space: nowrap;
}

.app-root:not(.compact-root) .admin-section-tab {
  padding: 10.5px 24px;
  font-size: 19.5px;
}

.app-root:not(.compact-root) .admin-section-select {
  min-height: 40px;
  padding: 0.25rem 1.4rem 0.25rem 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  background-color: transparent;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  outline: none;
}

.app-root:not(.compact-root) .admin-section-select:focus {
  border-bottom-color: var(--sp-color-accent-orange);
  background-color: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-section-select option {
  background: #121212;
  color: #ffffff;
}

.admin-section-tab:hover:not(.active) {
  background: transparent;
  color: var(--sp-color-accent-orange);
  border-bottom-color: var(--sp-color-accent-orange);
}

.admin-section-tab.active {
  background: transparent;
  font-weight: 600;
  color: var(--sp-color-accent-orange);
  border-bottom-color: var(--sp-color-accent-orange);
}

.app-root:not(.compact-root) .admin-section-tab {
  position: relative;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-section-tab::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 75%;
  height: 2px;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  opacity: 0;
  transform: translateX(-50%) scaleX(0.35);
  transform-origin: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.app-root:not(.compact-root) .admin-section-tab:hover:not(.active),
.app-root:not(.compact-root) .admin-section-tab:focus-visible,
.app-root:not(.compact-root) .admin-section-tab.active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.app-root:not(.compact-root) .admin-section-tab.active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

.app-root.compact-root .admin-compact-managed-page .admin-section-tab:not(.active),
.app-root.compact-root .admin-compact-managed-page .admin-section-tab:hover:not(.active) {
  color: #000000;
}

/* Compact managed pages: final shared surface rules.
   This block intentionally lives after legacy page-specific admin rules so
   Utilisateurs, Droits d'acces, and future managed pages inherit the same sizes. */
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .settings-page-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .settings-form-section {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  gap: 7px;
  padding: 8px;
  border-radius: var(--sp-card-inner-frame-radius, 8px);
  box-sizing: border-box;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-section-tabs,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .sp-tab-stack__bar {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.1rem 0 0.35rem;
  border-bottom-color: var(--sp-ui-border);
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-section-tab {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0.32rem 0.58rem;
  color: #000000;
  font-size: 0.72rem;
  line-height: 1.1;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-section-tab.active {
  color: var(--sp-color-accent-orange);
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .settings-form-section__header h3,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-card-header,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-ui-header {
  font-size: 0.88rem;
  line-height: 1.18;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .settings-form-section__header p,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-ui-hint,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-hint {
  font-size: 0.72rem;
  line-height: 1.3;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-form-grid,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-ui-grid,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-feature-grid,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-authz-project-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-form-field {
  gap: 4px;
  font-size: 0.82rem;
  line-height: 1.2;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-select,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-input,
.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .admin-table-input {
  min-height: 34px;
  padding: 0.25rem 0.55rem;
  font-size: 0.88rem;
  line-height: 1.2;
}

.app-root.compact-root .app-main--compact-shared .admin-compact-managed-page .sp-segmented-toggle__button {
  min-height: 34px;
  padding: 0.32rem 0.58rem;
  border-radius: 6px;
  font-size: 0.72rem;
}

/* ── PDF Configurator ──────────────────────────────────────────────────────── */

.pdf-cfg-root {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  font-size: 0.85rem;
}

.pdf-cfg-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--sp-border, #e2e8f0);
  background: var(--sp-surface, #fff);
  flex-shrink: 0;
}

.pdf-cfg-toolbar__title {
  font-weight: 700;
  font-size: 0.92rem;
  flex: 1 1;
}

.pdf-cfg-toolbar__actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.pdf-cfg-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 5px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s;
}
.pdf-cfg-btn--primary { background: #2563eb; color: #fff; border-color: #2563eb; }
.pdf-cfg-btn--primary:hover { background: #1d4ed8; }
.pdf-cfg-btn--ghost { background: transparent; color: #64748b; border-color: #e2e8f0; }
.pdf-cfg-btn--ghost:hover { background: #f8fafc; }
.pdf-cfg-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.pdf-cfg-save-ok { color: #16a34a; font-size: 0.8rem; display: flex; align-items: center; gap: 4px; }
.pdf-cfg-save-err { color: #dc2626; font-size: 0.8rem; }

.pdf-cfg-layout {
  display: flex;
  flex: 1 1;
  overflow: hidden;
}

/* Preview */
.pdf-cfg-preview {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--sp-border, #e2e8f0);
  overflow: hidden;
}

.pdf-cfg-preview__header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.78rem;
  color: #64748b;
  border-bottom: 1px solid var(--sp-border, #e2e8f0);
  background: #f8fafc;
  flex-shrink: 0;
}

.pdf-cfg-preview__frame-wrap {
  flex: 1 1;
  overflow: hidden;
  position: relative;
}

.pdf-cfg-preview-frame {
  width: 100%;
  height: 100%;
  border: none;
}

.pdf-cfg-preview__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #94a3b8;
  font-size: 0.85rem;
}

/* Panel */
.pdf-cfg-panel {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pdf-cfg-section-nav {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--sp-border, #e2e8f0);
  flex-shrink: 0;
}

.pdf-cfg-section-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  text-align: left;
  background: transparent;
  border: none;
  font-size: 0.82rem;
  cursor: pointer;
  color: #374151;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.1s;
}
.pdf-cfg-section-btn:hover { background: #f8fafc; }
.pdf-cfg-section-btn--active { background: #eff6ff; color: #2563eb; font-weight: 600; }

.pdf-cfg-fields {
  flex: 1 1;
  overflow-y: auto;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pdf-cfg-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid #f1f5f9;
}

.pdf-cfg-field__label {
  font-size: 0.8rem;
  color: #374151;
  flex: 1 1;
  line-height: 1.3;
}

/* Controls */
.pdf-cfg-toggle { position: relative; display: inline-block; width: 34px; height: 18px; flex-shrink: 0; }
.pdf-cfg-toggle input { opacity: 0; width: 0; height: 0; }
.pdf-cfg-toggle__track {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: #cbd5e1; border-radius: 9px; transition: background 0.2s; cursor: pointer;
}
.pdf-cfg-toggle__track::before {
  content: ""; position: absolute; height: 12px; width: 12px;
  left: 3px; bottom: 3px; background: #fff; border-radius: 50%; transition: transform 0.2s;
}
.pdf-cfg-toggle input:checked + .pdf-cfg-toggle__track { background: #2563eb; }
.pdf-cfg-toggle input:checked + .pdf-cfg-toggle__track::before { transform: translateX(16px); }

.pdf-cfg-color {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.pdf-cfg-color__input { width: 28px; height: 24px; padding: 0; border: 1px solid #e2e8f0; border-radius: 4px; cursor: pointer; }
.pdf-cfg-color__text { width: 72px; font-size: 0.75rem; padding: 2px 4px; border: 1px solid #e2e8f0; border-radius: 4px; }

.pdf-cfg-number {
  width: 64px;
  padding: 3px 6px;
  font-size: 0.8rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  text-align: right;
}

.pdf-cfg-text {
  width: 140px;
  padding: 3px 6px;
  font-size: 0.78rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}

.pdf-cfg-spinner { animation: pdf-cfg-spin 0.8s linear infinite; }
@keyframes pdf-cfg-spin { to { transform: rotate(360deg); } }

.pdf-cfg-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 40px;
  color: #64748b;
}

.pdf-cfg-error { padding: 24px; color: #dc2626; }
.pdf-cfg-error__detail { font-size: 0.8rem; margin-top: 6px; color: #94a3b8; }

/* ── PDF Drag & Drop Editor ──────────────────────────────────────────────────── */

.pdf-editor-root {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  font-size: 0.85rem;
  background: #f8fafc;
}

.pdf-editor-layout {
  display: flex;
  flex: 1 1;
  overflow: hidden;
  gap: 0;
}

/* Canvas scroll area */
.pdf-editor-scroll {
  flex: 1 1;
  overflow: auto;
  padding: 24px;
  background: #f1f5f9;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

/* A4 page canvas */
.pdf-editor-canvas {
  position: relative;
  background: #fff;
  box-shadow: 0 4px 32px rgba(0,0,0,0.18), 0 1px 4px rgba(0,0,0,0.08);
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: 1px solid #e2e8f0;
}

/* Faint grid lines every 10mm = 35px */
.pdf-editor-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(0,0,0,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,0.04) 1px, transparent 1px);
  background-size: 35px 35px;
}

/* Individual draggable block */
.pdf-editor-block {
  position: absolute;
  box-sizing: border-box;
  border: 1.5px dashed transparent;
  transition: border-color 0.1s;
}
.pdf-editor-block:hover {
  border-color: #93c5fd;
}
.pdf-editor-block--selected {
  border: 2px solid #2563eb !important;
  z-index: 10;
}

/* Block label (shown on hover/selected) */
.pdf-editor-block__label {
  display: none;
  position: absolute;
  top: -18px;
  left: 0;
  font-size: 10px;
  font-weight: 600;
  color: #2563eb;
  background: #eff6ff;
  padding: 1px 5px;
  border-radius: 3px 3px 0 0;
  white-space: nowrap;
  pointer-events: none;
  z-index: 5;
}
.pdf-editor-block--selected .pdf-editor-block__label,
.pdf-editor-block:hover .pdf-editor-block__label {
  display: block;
}

/* Block content fills the block */
.pdf-editor-block__content {
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

/* Resize handles */
.pdf-editor-handle {
  position: absolute;
  width: 9px;
  height: 9px;
  background: #2563eb;
  border: 2px solid #fff;
  border-radius: 2px;
  z-index: 20;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.pdf-editor-handle:hover { background: #1d4ed8; }

/* Right panel */
.pdf-editor-panel {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid var(--sp-border, #e2e8f0);
  background: #fff;
}

.pdf-editor-section-title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  padding: 8px 12px 4px;
  border-bottom: 1px solid #f1f5f9;
}

/* Block list */
.pdf-editor-block-list {
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
  max-height: 240px;
  overflow-y: auto;
}

.pdf-editor-block-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  cursor: pointer;
  font-size: 0.8rem;
  border-bottom: 1px solid #f8fafc;
  transition: background 0.1s;
}
.pdf-editor-block-item:hover { background: #f8fafc; }
.pdf-editor-block-item--active { background: #eff6ff; color: #2563eb; font-weight: 600; }
.pdf-editor-block-item--hidden { opacity: 0.4; }

.pdf-editor-block-item__name { flex: 1 1; }
.pdf-editor-block-item__vis {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
  color: #94a3b8;
  padding: 0 2px;
  line-height: 1;
}
.pdf-editor-block-item__vis:hover { color: #2563eb; }

/* Props panel */
.pdf-editor-props {
  flex: 1 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* Position/size grid */
.pdf-editor-pos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 6px;
  gap: 6px;
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
}
.pdf-editor-pos-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pdf-editor-pos-label {
  font-size: 0.72rem;
  color: #64748b;
  font-weight: 600;
}

/* Hint */
.pdf-editor-hint {
  padding: 20px 16px;
  color: #94a3b8;
  font-size: 0.82rem;
  line-height: 1.8;
}

/* Select control */
.pdf-cfg-select {
  padding: 3px 5px;
  font-size: 0.78rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #fff;
  min-width: 70px;
}

/* ── PDF preview iframe panel ── */
.pdf-editor-preview {
  width: 320px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: 1px solid var(--sp-border, #e2e8f0);
  background: #f8fafc;
}

.pdf-editor-preview__header {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
  flex-shrink: 0;
  gap: 6px;
}

.pdf-editor-preview__frame {
  flex: 1 1;
  overflow: hidden;
  position: relative;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/extranet.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
.extranet-title {
  color: #ffffff;
  width: 100%;
  background: transparent;
  border-bottom: 0;
  box-sizing: border-box;
  flex: 0 0 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-option {
  position: relative;
}

.quote-option:disabled,
.quote-option input:disabled {
  cursor: not-allowed;
}

.quote-option.is-forbidden,
.quote-option.is-forbidden:disabled {
  border-color: var(--sp-ui-danger-text) !important;
  color: var(--sp-ui-danger-text) !important;
  background: rgba(176, 0, 0, 0.07) !important;
  cursor: not-allowed !important;
  opacity: 0.78;
}

.quote-option.is-forbidden .quote-option__label {
  color: var(--sp-ui-danger-text);
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  -webkit-text-decoration-color: currentColor;
          text-decoration-color: currentColor;
}

.quote-option__reason {
  display: block;
  margin-top: 3px;
  color: var(--sp-ui-danger-text);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.extranet-page {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

.extranet-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  min-height: 52px;
  max-height: 52px;
  background: #000000;
  border-bottom: 3px solid var(--sp-color-accent-orange);
  box-sizing: border-box;
  overflow: hidden;
}

.extranet-header__actions {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  min-width: 0;
}

.extranet-header__actions .admin-tab {
  margin: 0;
}

.extranet-header__aside {
  display: none;
}

.extranet-shell {
  --extranet-side-panel-min-height: 520px;
  display: grid;
  grid-template-columns: 220px 1fr;
  grid-gap: 1rem;
  gap: 1rem;
  padding: 1rem;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  align-items: stretch;
  box-sizing: border-box;
  overflow: hidden;
}

.extranet-shell.extranet-shell--drive {
  height: 100%;
}

.extranet-shell--drive .extranet-main {
  gap: 0;
  padding-right: 0;
  padding-bottom: 0;
  overflow: hidden;
}

.extranet-sidebar {
  background: #0f0f0f;
  color: #ffffff;
  border-radius: 10px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  min-height: 0;
  align-self: stretch;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
}

.extranet-brand {
  font-weight: 800;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}

.extranet-brand img {
  display: block;
  max-width: 100%;
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
}

.extranet-sub {
  font-size: 0.85rem;
  opacity: 0.7;
}

.extranet-nav-menu__row,
.extranet-nav-menu__trigger {
  display: none;
}

.extranet-nav-menu__backdrop {
  display: none;
}

.extranet-shell--compact {
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  height: calc(100dvh - var(--sp-compact-header-offset, 0px));
  min-height: 0;
  padding: 8px;
  overflow: hidden;
}

.extranet-shell--compact .extranet-sidebar {
  display: none;
}

.extranet-shell--compact .extranet-sidebar.has-menu-trigger {
  display: flex;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.extranet-shell--compact .extranet-sidebar.has-menu-trigger .extranet-brand,
.extranet-shell--compact .extranet-sidebar.has-menu-trigger .extranet-sub,
.extranet-shell--compact .extranet-sidebar.has-menu-trigger .extranet-nav {
  display: none;
}

.extranet-shell--compact .extranet-sidebar.has-menu-trigger .extranet-nav-menu__row {
  display: flex;
  width: 100%;
}

.extranet-shell--compact .extranet-sidebar.has-menu-trigger .extranet-nav-menu__trigger {
  width: 100%;
}

.extranet-shell--compact .extranet-sidebar.is-menu-open {
  position: fixed;
  z-index: 90;
  top: var(--sp-compact-header-offset, 54px);
  left: 8px;
  right: 8px;
  display: flex;
  width: auto;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 54px) - 12px);
  padding: 10px;
  border: 1px solid var(--sp-theme-card-border);
  border-radius: 14px;
  background: var(--sp-theme-card-bg);
  color: var(--sp-theme-text-primary);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
  overflow: auto;
}

.extranet-shell--compact .extranet-sidebar.has-menu-trigger.is-menu-open .extranet-brand,
.extranet-shell--compact .extranet-sidebar.has-menu-trigger.is-menu-open .extranet-sub,
.extranet-shell--compact .extranet-sidebar.has-menu-trigger.is-menu-open .extranet-nav {
  display: flex;
}

.extranet-shell--compact .extranet-nav {
  position: relative;
  z-index: 1;
  gap: 7px;
}

.extranet-shell--compact .extranet-nav-menu__backdrop {
  position: fixed;
  z-index: 0;
  inset: var(--sp-compact-header-offset, 54px) 0 0;
  display: block;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.42);
}

.extranet-shell--compact .extranet-nav__item {
  min-height: 42px;
  padding: 9px 10px;
  font-size: 14px;
}

.extranet-shell--compact .extranet-nav__spacer {
  display: none;
}

.extranet-shell--compact .extranet-main {
  min-height: 0;
  height: 100%;
  padding: 0 0 12px;
  overflow-y: auto;
}

.extranet-shell--compact-settings .extranet-section {
  min-width: 0;
}

.extranet-shell--compact-settings .extranet-section__title {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 12;
  margin: 0;
  padding: 10px 2px 8px;
  background: var(--sp-ui-bg, #f6f7f9);
  font-size: 14px;
}

.extranet-shell--compact-settings .admin-subtabs {
  position: -webkit-sticky;
  position: sticky;
  top: 36px;
  z-index: 11;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 6px;
  gap: 6px;
  max-height: 42dvh;
  margin: 0 0 10px;
  padding: 8px;
  overflow: auto;
  border: 1px solid var(--sp-ui-border, #d0d0d0);
  border-radius: 8px;
  background: #ffffff;
}

.extranet-shell--compact-settings .admin-subtabs .admin-tab {
  width: 100%;
  min-height: 38px;
  justify-content: flex-start;
  text-align: left;
}

.extranet-shell--compact-settings .extranet-grid,
.extranet-shell--compact-settings .prescripteur-settings__grid,
.extranet-shell--compact-settings .prescripteur-sellers__create,
.extranet-shell--compact-settings .integrations-settings__grid,
.extranet-shell--compact-settings .integrations-settings__split {
  grid-template-columns: 1fr;
}

.extranet-shell--compact-settings .extranet-card {
  min-width: 0;
  padding: 10px;
  border-radius: 8px;
}

.extranet-shell--compact-settings .admin-input,
.extranet-shell--compact-settings .admin-select,
.extranet-shell--compact-settings textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.extranet-nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1;
}

.extranet-shell {
  --extranet-btn-radius: 8px;
  --extranet-btn-border: var(--sp-color-accent-orange);
  --extranet-btn-bg: #0a0a0a;
  --extranet-btn-color: #ffffff;
}

.projects-content > .extranet-page {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
}

.projects-content__project-embed {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.projects-content .extranet-shell--module-embed {
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

.projects-content .extranet-shell--module-embed .extranet-main {
  min-width: 0;
  min-height: 0;
  padding-top: 0;
  height: 100%;
  max-height: 100%;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed,
.projects-content .level-one-module__content-scroll > .crm-page--embedded,
.projects-content .level-one-module__content-scroll > .stats-panel--embedded,
.projects-content .level-one-scroll > .projects-content__project-embed,
.projects-content .level-one-scroll > .crm-page--embedded,
.projects-content .level-one-scroll > .stats-panel--embedded {
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 0;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed,
.projects-content .level-one-scroll > .projects-content__project-embed {
  display: flex;
}

.projects-content .level-one-module__content-scroll > .projects-content__project-embed[hidden],
.projects-content .level-one-scroll > .projects-content__project-embed[hidden] {
  display: none;
}

.projects-content .level-one-module__content-scroll .extranet-page,
.projects-content .level-one-scroll .extranet-page {
  height: auto;
  min-height: 100%;
  padding: 0;
  overflow: visible;
}

.projects-content .level-one-module__content-scroll .extranet-shell--module-embed,
.projects-content .level-one-scroll .extranet-shell--module-embed {
  width: 100%;
  height: auto;
  max-height: none;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .projects-content > .extranet-page {
  flex: 1 1;
  padding: 0;
  gap: 0;
  height: auto;
  max-height: 100%;
  min-height: 0;
  overflow: visible;
}

.app-root:not(.compact-root) .projects-content > .extranet-page > .extranet-shell--module-embed {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  height: auto;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.projects-content .level-one-module__content-scroll .extranet-shell--module-embed .extranet-main,
.projects-content .level-one-scroll .extranet-shell--module-embed .extranet-main {
  overflow: visible;
}

.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll > .projects-content__project-embed,
.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll > .extranet-page,
.app-root:not(.compact-root) .projects-content .level-one-scroll > .projects-content__project-embed,
.app-root:not(.compact-root) .projects-content .level-one-scroll > .extranet-page,
.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll .extranet-page,
.app-root:not(.compact-root) .projects-content .level-one-scroll .extranet-page,
.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll .extranet-shell--module-embed,
.app-root:not(.compact-root) .projects-content .level-one-scroll .extranet-shell--module-embed {
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-scroll {
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll > .extranet-page,
.app-root:not(.compact-root) .projects-content .level-one-scroll > .extranet-page {
  flex: 1 1 auto;
  display: flex;
  width: 100%;
}

.app-root:not(.compact-root) .projects-content .level-one-module__content-scroll .extranet-shell--module-embed .extranet-main,
.app-root:not(.compact-root) .projects-content .level-one-scroll .extranet-shell--module-embed .extranet-main {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: auto;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: visible;
}

.app-root:not(.compact-root) .projects-content > .extranet-page--module-embed.extranet-page--quote-editor,
.app-root:not(.compact-root) .projects-content .extranet-page--module-embed.extranet-page--quote-editor > .extranet-shell--quote-editor,
.app-root:not(.compact-root) .projects-content .extranet-page--module-embed.extranet-page--quote-editor > .extranet-shell--quote-editor > .extranet-main {
  display: contents;
}

.app-root:not(.compact-root) .projects-content .extranet-shell--module-embed .extranet-main > .quote-project-list {
  flex: 0 0 auto;
  min-height: 0;
}

.app-root:not(.compact-root) .projects-content .level-one-view-body:has(.view-body-scroll-devis) {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll:has(.view-body-scroll-devis) {
  border-radius: 0;
  background: transparent;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll:has(.view-body-scroll-devis) > * {
  box-shadow: none;
  background: transparent;
}

.app-root:not(.compact-root) .projects-content .view-body-scroll-devis {
  width: 100%;
  min-height: 100%;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: visible;
}

.app-root:not(.compact-root) .projects-content .extranet-shell--module-embed .extranet-main > .prescripteur-settings--embedded {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .projects-content .extranet-shell--module-embed .extranet-main > .prescripteur-settings--embedded > .sp-common-view__body {
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: auto;
}

.projects-content .level-one-module__content-scroll > .stats-panel--embedded .stats-panel__body,
.projects-content .level-one-module__content-scroll > .crm-page--embedded > .admin-card,
.projects-content .level-one-module__content-scroll > .admin-card,
.projects-content .level-one-scroll > .stats-panel--embedded .stats-panel__body,
.projects-content .level-one-scroll > .crm-page--embedded > .admin-card,
.projects-content .level-one-scroll > .admin-card {
  height: auto;
  max-height: none;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.projects-content .level-one-module__content-scroll > .stats-panel--embedded .stats-panel__body::after,
.projects-content .level-one-scroll > .stats-panel--embedded .stats-panel__body::after {
  content: none;
}

.extranet-nav__spacer {
  flex: 1 1 auto;
  min-height: 12mm;
}

.extranet-nav__button-mode {
  margin-top: auto;
  display: grid;
  grid-gap: 0.45rem;
  gap: 0.45rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.extranet-nav__button-mode-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.82);
}

.projects-nav__button-mode-toggle,
.extranet-nav__button-mode-toggle {
  justify-self: center;
  min-height: 22px;
  margin-inline: auto;
  padding: 0.2rem 0.5rem;
  font-size: 0.57rem;
}

.extranet-nav__toggle {
  width: 34px;
  height: 18px;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 999px;
  background: #171717;
  padding: 2px;
  cursor: pointer;
}

.extranet-nav__toggle span {
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  transition: transform 0.16s ease, background-color 0.16s ease;
}

.extranet-nav__toggle.is-on {
  background: var(--sp-color-accent-orange);
}

.extranet-nav__toggle.is-on span {
  background: #0a0a0a;
  transform: translateX(16px);
}

.extranet-nav__group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.extranet-nav__item {
  background: #0a0a0a;
  border: 1px solid var(--sp-color-accent-orange);
  color: #ffffff;
  padding: clamp(0.3rem, 0.45vw, 0.4rem) clamp(0.55rem, 0.9vw, 0.85rem);
  border-radius: var(--extranet-btn-radius);
  text-align: left;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: 0;
  transition: all 0.15s ease;
}

.extranet-nav__item--icon {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.extranet-nav__item:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.extranet-nav__item.active,
.extranet-nav__item:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  border-color: var(--sp-color-accent-orange);
}

.extranet-nav__status {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
  line-height: 1.25;
  padding: 0 0.25rem;
}

.extranet-submenu {
  margin-left: 0.6rem;
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.extranet-submenu__item {
  background: #0a0a0a;
  border: 1px solid var(--sp-color-accent-orange);
  color: #ffffff;
  padding: clamp(0.25rem, 0.45vw, 0.35rem) clamp(0.5rem, 0.9vw, 0.75rem);
  border-radius: var(--extranet-btn-radius);
  text-align: left;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.15s ease;
}

.extranet-submenu__item:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
  border-color: var(--sp-color-accent-orange);
}

.extranet-main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.4rem;
  padding-bottom: 0.8rem;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

.extranet-section__title {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  margin-bottom: 0.6rem;
}

.extranet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.extranet-card {
  background: #ffffff;
  border: 1px solid #d0d0d0;
  border-radius: 10px;
  padding: 0.8rem;
}

.extranet-card h4 {
  margin: 0 0 0.4rem;
  font-weight: 800;
}

.extranet-shell .btn-secondary {
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: var(--extranet-btn-radius);
  background: #0a0a0a;
  color: #ffffff;
  cursor: pointer;
  font-weight: 700;
  transition: all 0.15s ease;
}

.extranet-shell .btn-secondary:hover {
  background: var(--sp-color-accent-orange);
  color: #0a0a0a;
}

.extranet-shell .btn-secondary:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.travel-price-pending {
  color: var(--sp-color-accent-orange);
  animation: travel-price-pending-pulse 1.1s ease-in-out infinite;
}

@keyframes travel-price-pending-pulse {
  0%,
  100% {
    opacity: 0.55;
  }

  50% {
    opacity: 1;
  }
}

.extranet-shell .admin-add-btn,
.extranet-shell .admin-suspend-btn,
.extranet-shell .admin-tab {
  border-radius: var(--extranet-btn-radius);
}

.extranet-entry-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: center;
}

.extranet-entry-action {
  min-width: 180px;
  justify-content: center;
}

.extranet-modal-backdrop {
  position: fixed;
  inset: 0;
  background: var(--sp-ui-overlay);
  display: grid;
  place-items: center;
  z-index: 1500;
  padding: 20px;
}

.extranet-modal {
  width: min(92vw, 460px);
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 10px;
  padding: 16px;
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.extranet-modal__title {
  font-weight: 800;
  font-size: 1.05rem;
}

.extranet-modal__field {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-weight: 700;
}

.extranet-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.quote-pdf-print-modal-loader {
  position: relative;
  height: 7px;
  width: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.16);
}

.quote-pdf-print-modal-loader__cursor {
  position: absolute;
  inset: 0 auto 0 0;
  width: 34%;
  min-width: 76px;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--sp-color-accent-orange), rgba(255, 255, 255, 0));
  animation: quote-pdf-print-modal-loader 1.05s ease-in-out infinite;
  transform: translateX(-120%);
  transition: none;
}

@keyframes quote-pdf-print-modal-loader {
  0% {
    transform: translateX(-120%);
  }

  100% {
    transform: translateX(320%);
  }
}

@media (min-width: 901px) {
  .extranet-page {
    font-size: 90%;
    gap: 0.675rem;
    padding: 0.54rem 0.45rem;
  }

  .extranet-header {
    height: 47px;
    min-height: 47px;
    max-height: 47px;
  }

  .extranet-header__actions {
    left: 0.9rem;
    gap: 0.45rem;
  }

  .extranet-shell:not(.extranet-shell--compact) {
    --extranet-side-panel-min-height: 468px;
    grid-template-columns: 198px minmax(0, 1fr);
    gap: 0.9rem;
    padding: 0.9rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-sidebar {
    border-radius: 9px;
    padding: 0.9rem;
    gap: 0.72rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-brand {
    font-size: 1.08rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-brand img {
    max-height: 49px;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-nav {
    gap: 0.45rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-nav__item {
    padding: clamp(0.27rem, 0.405vw, 0.36rem) clamp(0.5rem, 0.81vw, 0.765rem);
    border-radius: 7px;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-submenu {
    margin-left: 0.54rem;
    gap: 0.36rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-submenu__item {
    padding: clamp(0.225rem, 0.405vw, 0.315rem) clamp(0.45rem, 0.81vw, 0.675rem);
    border-radius: 7px;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-main {
    gap: 0.9rem;
    padding-right: 0.36rem;
    padding-bottom: 0.72rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-section__title {
    margin-bottom: 0.54rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-grid {
    grid-template-columns: repeat(auto-fit, minmax(198px, 1fr));
    gap: 0.72rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .extranet-card {
    border-radius: 9px;
    padding: 0.72rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .admin-subtabs {
    gap: 0.45rem;
    margin-bottom: 0.54rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .admin-tab {
    padding: 0.315rem 0.81rem;
    font-size: 0.765rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .admin-input:not(.settings-input),
  .extranet-shell:not(.extranet-shell--compact) .admin-select:not(.settings-input) {
    padding: 0.315rem 0.405rem;
    font-size: 0.855rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .admin-add-btn,
  .extranet-shell:not(.extranet-shell--compact) .admin-suspend-btn,
  .extranet-shell:not(.extranet-shell--compact) .btn-secondary,
  .extranet-shell:not(.extranet-shell--compact) .toggle-btn {
    padding: 0.315rem 0.72rem;
  }

  .extranet-shell:not(.extranet-shell--compact) .quote-page {
    font-size: 16px;
  }

  .extranet-shell:not(.extranet-shell--compact) .quote-card--a4 {
    font-size: 16px;
  }

  .projects-content .extranet-shell.extranet-shell--module-embed:not(.extranet-shell--compact) {
    grid-template-columns: minmax(0, 1fr);
  }
}

.compact-root .quote-new-project-modal {
  width: min(92dvw, 360px);
  max-height: calc(100dvh - 24px);
  overflow: auto;
}

.quote-new-project-modal {
  --sp-ui-surface: #171717;
  --sp-ui-surface-soft: #0f0f0f;
  --sp-ui-border: #4a4a4a;
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: #4a4a4a;
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #171717;
  color: #f2f2f2;
  box-shadow: var(--sp-shadow-modal, 0 24px 64px rgba(0, 0, 0, 0.55));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
}

.quote-new-project-modal-backdrop {
  height: 100dvh;
  max-height: 100dvh;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 16px;
}

.quote-new-project-modal .extranet-modal__title,
.quote-new-project-modal .extranet-modal__field {
  color: #f2f2f2;
}

.quote-new-project-modal .extranet-modal__actions.sp-action-row--compact {
  justify-content: space-evenly;
}

.quote-new-project-modal .quote-new-project-preset-toggle {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  white-space: normal;
}

.quote-new-project-modal .quote-new-project-preset-toggle .sp-segmented-toggle__button {
  flex: 0 1 auto;
  max-width: 100%;
  min-width: 0;
  line-height: 1.15;
  overflow-wrap: anywhere;
  white-space: normal;
}

.quote-new-project-modal .admin-input,
.quote-new-project-modal .sp-line-input {
  border-color: var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.quote-new-project-modal .admin-input::placeholder,
.quote-new-project-modal .sp-line-input::placeholder {
  color: rgba(226, 232, 240, 0.54);
}

.quote-new-project-modal .admin-input:focus,
.quote-new-project-modal .sp-line-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: #151515;
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.quote-new-project-modal .admin-input.sp-line-input {
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 8px;
  padding: 0.55rem 0.65rem;
}

.quote-new-project-modal .admin-input.sp-line-input:focus {
  border-color: var(--sp-color-accent-orange);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
}

.quote-new-project-modal .quote-new-project-name-input {
  background: var(--sp-ui-input-bg);
  border-color: var(--sp-ui-input-border);
  color: #f2f2f2;
}

.quote-new-project-modal .quote-new-project-name-input:focus {
  background: #151515;
  border-color: var(--sp-color-accent-orange);
  color: #ffffff;
}

.quote-new-project-modal .admin-hint {
  color: var(--sp-ui-text-muted);
}

.quote-conversion-checklist {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  margin-top: 12px;
}

.quote-conversion-checklist__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 12px;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.035);
}

.quote-conversion-checklist__content {
  min-width: 0;
}

.quote-conversion-checklist__title {
  color: #f2f2f2;
  font-weight: 800;
  line-height: 1.2;
}

.quote-conversion-checklist__body {
  margin-top: 3px;
  color: var(--sp-ui-text-muted);
  font-size: 0.86rem;
  line-height: 1.25;
}

.quote-conversion-checklist__status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #23d160;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.quote-project-list-loading.sp-inline-load-overlay {
  position: static;
  inset: auto;
  min-height: 260px;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.quote-project-list-loading .sp-initial-load-card--inline {
  width: min(28rem, 100%);
}

.quote-new-project-modal .sp-searchable-picker {
  position: relative;
}

.quote-new-project-modal .sp-searchable-picker__panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 20;
  padding: 8px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 10px;
  background: #171717;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45);
}

.quote-new-project-modal .sp-searchable-picker__list {
  max-height: min(250px, 38vh);
}

.quote-new-project-modal .admin-add-btn,
.quote-new-project-modal .admin-suspend-btn {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.055);
  color: #ffffff;
}

.quote-new-project-modal .admin-add-btn:hover,
.quote-new-project-modal .admin-suspend-btn:hover {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.16);
}

.quote-order-mission-modal-backdrop {
  z-index: 1800;
}

.quote-order-mission-modal {
  --sp-ui-surface: #171717;
  --sp-ui-surface-soft: #0f0f0f;
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  width: min(92vw, 520px);
  border-color: var(--sp-ui-border);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #171717;
  color: var(--sp-ui-text);
  box-shadow: var(--sp-shadow-modal, 0 24px 64px rgba(0, 0, 0, 0.55));
}

.quote-order-mission-modal .extranet-modal__title,
.quote-order-mission-modal__message {
  color: var(--sp-ui-text);
}

.quote-order-mission-modal__hint {
  margin: 0;
  color: var(--sp-ui-text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.sp-searchable-picker {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  min-width: 0;
}

.sp-searchable-picker__trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 3px;
  gap: 3px;
  width: 100%;
  min-height: 48px;
  padding: 0.55rem 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}

.sp-searchable-picker__trigger-copy {
  display: grid;
  min-width: 0;
  grid-gap: 3px;
  gap: 3px;
}

.sp-searchable-picker__trigger-label {
  color: rgba(226, 232, 240, 0.72);
  font-size: 0.74rem;
  font-weight: 800;
}

.sp-searchable-picker__trigger strong {
  overflow: hidden;
  font-size: 0.94rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sp-searchable-picker__chevron {
  color: rgba(226, 232, 240, 0.72);
  transition: transform 0.16s ease;
}

.sp-searchable-picker.is-open .sp-searchable-picker__chevron {
  transform: rotate(180deg);
}

.sp-searchable-picker__panel {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.sp-searchable-picker__search {
  width: 100%;
}

.sp-searchable-picker__list {
  display: grid;
  align-content: start;
  max-height: 250px;
  min-height: 0;
  overflow-y: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sp-searchable-picker__item {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  width: 100%;
  min-height: 38px;
  padding: 0.5rem 0.2rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: transparent;
  color: rgba(255, 255, 255, 0.88);
  text-align: left;
  cursor: pointer;
}

.sp-searchable-picker__item:last-child {
  border-bottom: 0;
}

.sp-searchable-picker__item:hover,
.sp-searchable-picker__item.active {
  background: rgba(255, 138, 61, 0.12);
  color: #ffffff;
}

.sp-searchable-picker__item strong,
.sp-searchable-picker__item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sp-searchable-picker__item strong {
  font-size: 0.78rem;
  font-weight: 800;
}

.sp-searchable-picker__item small {
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.68rem;
  font-weight: 650;
}

.quote-project-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr)) auto;
  grid-gap: 8px;
  gap: 8px;
  margin: 12px 0;
  align-items: center;
}

.quote-project-list {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.quote-project-sortbar {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(120px, 0.9fr) minmax(130px, 1fr) minmax(95px, 0.7fr) minmax(90px, 0.7fr) minmax(90px, 0.65fr);
  grid-gap: 6px;
  gap: 6px;
  align-items: stretch;
}

.quote-project-sortbar__button {
  min-height: 34px;
  border: 1px solid #c8c8c8;
  border-radius: 8px;
  background: #ffffff;
  color: var(--sp-ui-text);
  font-size: 0.78rem;
  font-weight: 800;
  text-align: left;
  padding: 7px 9px;
  cursor: pointer;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.quote-project-sortbar__button.active {
  border-color: #1f2933;
  background: #1f2933;
  color: #ffffff;
}

.quote-project-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.85fr) minmax(260px, 1.4fr);
  grid-gap: 12px;
  gap: 12px;
  border: 2px solid #1f2933;
  border-left: 8px solid #49525f;
  border-radius: 8px;
  padding: 12px;
  background: #f7f7f7;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
}

.quote-project-row--alerts {
  border-left-color: #dc2626;
}

.quote-project-row--pending {
  border-left-color: #f97316;
}

.quote-project-row--validated {
  border-left-color: #16a34a;
}

.quote-project-row--without-follow-up {
  grid-template-columns: 1fr;
  border-color: #f2b8b8;
  border-left-color: #dc2626;
  background: #fff8f8;
}

.quote-project-row--without-follow-up .quote-project-row__documents {
  display: none;
}

.quote-project-row__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-weight: 800;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.quote-project-row__title-main,
.quote-project-row__title-side {
  display: contents;
}

.quote-project-row__mobile-total {
  display: none;
}

.quote-project-row__mobile-sequence {
  display: none;
}

.quote-project-row__sequence-compact {
  display: none;
}

.quote-project-row__sequence-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--sp-ui-text-muted);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.quote-project-row__address {
  margin-top: 2px;
  color: var(--sp-ui-text-muted);
  font-size: 0.86rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.quote-project-row__new-quote {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 8px;
}

.quote-project-row__sequence-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.quote-project-row__quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0;
}

.quote-project-row__prescripteur-label {
  display: inline;
  max-width: 100%;
  color: var(--sp-ui-text-muted);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.quote-icon-button svg {
  flex: 0 0 auto;
}

.quote-icon-only-mode .quote-icon-button > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.quote-project-row__archived-line,
.quote-project-document__archived-line,
.quote-project-document__single-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
  color: var(--sp-ui-text-muted);
  font-size: 0.82rem;
}

.quote-project-document__single-line {
  margin-top: 0;
}

.quote-project-document__head {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  font-size: 0.92rem;
  line-height: 1.25;
}

.quote-project-document__summary {
  display: block;
  min-width: 0;
}

.quote-project-document__summary .quote-project-document__line {
  min-width: 0;
}

.quote-project-document__line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  align-items: center;
  grid-gap: 6px;
  gap: 6px;
  font-size: 0.92rem;
  line-height: 1.25;
}

.quote-project-document__line-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.quote-project-document__line-title .quote-status-badge {
  margin-left: 0;
}

.quote-project-document__line-main {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  color: var(--sp-ui-text);
}

.quote-project-document__line-tail {
  white-space: nowrap;
  color: var(--sp-ui-text-muted);
  font-weight: 750;
}

button.quote-project-document__line-tail,
button.quote-project-document__compact-total,
button.quote-project-document__disabled-amount {
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.quote-project-document__compact-line {
  display: none;
}

.quote-project-document__line-main--compact,
.quote-project-document__compact-total {
  display: none;
}

.quote-project-document__summary .quote-project-document__meta {
  align-items: center;
  flex-direction: row;
  justify-content: flex-end;
  gap: 8px;
  text-align: right;
  white-space: nowrap;
}

.quote-project-document__materials-inline {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--sp-ui-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-project-print-menu {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.quote-project-print-menu > summary {
  list-style: none;
  cursor: pointer;
}

.quote-project-print-menu > summary::-webkit-details-marker {
  display: none;
}

.quote-project-print-menu__panel {
  position: absolute;
  z-index: 5;
  top: calc(100% + 4px);
  left: 0;
  min-width: 190px;
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  padding: 8px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
  font-size: 0.78rem;
}

.quote-project-row__quick-actions .quote-action-without-follow-up {
  border-color: #d95c5c;
  background: #5b1515;
  color: #fff4f4;
}

.quote-project-row__meta,
.quote-project-document__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--sp-ui-text-muted);
  font-size: 0.82rem;
}

.quote-project-row__documents {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-project-document {
  position: relative;
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  background: #ffffff;
  border: 1px solid #dedede;
  border-radius: 8px;
  padding: 8px;
}

.quote-project-document--without-follow-up {
  background: #fff0f0;
  border-color: #f2b8b8;
  opacity: 0.7;
  overflow: hidden;
}

.quote-project-document--converted {
  background: #fff8e8;
  border-color: #e2b85c;
}

.quote-project-document--order {
  background: #eef7ff;
  border-color: #7bb3df;
  border-left: 5px solid #2d7fb8;
}

.quote-project-document--alerts {
  border-color: #dc2626;
  border-left: 5px solid #dc2626;
}

.quote-project-document--pending {
  border-color: #f97316;
  border-left: 5px solid #f97316;
}

.quote-project-document--validated {
  border-color: #16a34a;
  border-left: 5px solid #16a34a;
}

.quote-project-document--without-follow-up::after {
  content: none;
}

.quote-project-document--single-row {
  display: block;
  padding: 6px 8px;
}

.quote-project-document--single-row.quote-project-document--without-follow-up,
.quote-project-document--single-row.quote-project-document--order {
  background: #fff0f0;
  border: 1px solid #f2b8b8;
  opacity: 0.7;
}

.quote-project-document__disabled-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 11ch;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  min-width: 0;
}

.quote-project-document__disabled-main {
  min-width: 0;
  overflow: hidden;
  color: var(--sp-ui-text);
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-project-document__disabled-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
}

.quote-project-document__disabled-amount {
  color: var(--sp-ui-text);
  display: inline-block;
  min-width: 11ch;
  text-align: right;
  font-weight: 900;
  white-space: nowrap;
}

.quote-status-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.quote-status-badge--without-follow-up {
  background: #ffe0e0;
  color: #9f1d1d;
  border: 1px solid #efb0b0;
}

.quote-status-badge--converted {
  background: #fff1c7;
  color: #7b4e00;
  border: 1px solid #e3bd5a;
}

.quote-status-badge--order {
  background: #dff0ff;
  color: #17577f;
  border: 1px solid #8ec5ed;
}

.quote-status-badge--signed {
  background: #e7f5ec;
  color: #17643a;
  border: 1px solid #9fd1b3;
}

.quote-project-document__materials {
  font-size: 0.82rem;
  color: var(--sp-ui-text-muted);
}

.quote-signed-lock-message {
  padding: 7px 8px;
  border: 1px solid #9fd1b3;
  border-radius: 8px;
  background: #f2fbf5;
  color: #17643a;
  font-size: 0.78rem;
  font-weight: 700;
}

.quote-signed-lock-inline {
  align-self: center;
  margin-right: 4px;
  color: var(--sp-ui-text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.quote-business-alerts {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  padding: 7px 8px;
  border: 1px solid #e2b85c;
  border-radius: 8px;
  background: #fff8e8;
  color: #5f4300;
  font-size: 0.78rem;
}

.quote-business-alerts-compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #ef4444;
  cursor: pointer;
  box-shadow: none;
}

.quote-business-alerts-compact:hover {
  border-color: transparent;
  background: transparent;
  color: #ef4444;
}

.quote-business-alerts-popover {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.quote-business-alerts-tooltip {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  right: 0;
  width: min(320px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  padding: 10px 12px;
  border: 1px solid #e2a300;
  border-radius: 8px;
  background: #fffdf7;
  color: #151515;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  font-size: 0.78rem;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.quote-business-alerts-popover:hover .quote-business-alerts-tooltip,
.quote-business-alerts-popover:focus-within .quote-business-alerts-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.quote-business-alerts-tooltip__title {
  margin-bottom: 6px;
  font-weight: 900;
  color: #5f3700;
}

.quote-business-alerts-tooltip ul {
  margin: 0;
  padding-left: 18px;
}

.quote-business-alerts-tooltip li + li {
  margin-top: 4px;
}

.quote-business-alerts--ok {
  border-color: #cfd8cf;
  background: #f6faf6;
  color: var(--sp-ui-text-muted);
}

.quote-business-alerts__title {
  font-weight: 800;
}

.quote-business-alerts ul {
  margin: 0;
  padding-left: 16px;
}

.quote-business-alerts li + li {
  margin-top: 3px;
}

.quote-business-alerts__empty {
  font-size: 0.76rem;
}

.quote-business-alerts-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.35);
}

.quote-business-alerts-modal__panel {
  width: min(420px, calc(100vw - 32px));
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding: 16px;
  border: 2px solid #ff7a00;
  border-radius: 10px;
  background: #ffffff;
  color: #151515;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}

.quote-business-alerts-modal__title {
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.quote-business-alerts-modal__panel ul {
  margin: 0;
  padding-left: 18px;
}

.projects-content .quote-project-filters {
  grid-template-columns: repeat(3, minmax(144px, 1fr)) auto;
  gap: 6px;
  margin: 7px 0;
}

.projects-content .quote-project-filters .admin-input,
.projects-content .quote-project-filters .btn-secondary {
  min-height: 36px;
  padding: 2px 7px;
  font-size: 1.11rem;
}

.projects-content .quote-project-list {
  gap: 0;
  margin-top: var(--sp-common-content-body-gap);
}

.projects-content .quote-project-list,
.projects-content .quote-project-filters,
.projects-content .quote-project-sortbar {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
}

.app-root:not(.compact-root) .projects-content .quote-project-list {
  flex: 0 0 auto;
  gap: 3.5px;
  margin-top: 0;
  min-height: 0;
  overflow: visible;
  scrollbar-gutter: auto;
}

.app-root:not(.compact-root) .projects-content .prescripteur-settings {
  color: #f8fafc;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
}

.app-root:not(.compact-root) .projects-content .prescripteur-settings .prescripteur-settings__layout {
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .prescripteur-settings .prescripteur-settings__content {
  height: 100%;
  max-height: 100%;
}

.projects-content .quote-project-row__title,
.projects-content .quote-project-document__line-main,
.projects-content .quote-project-document__disabled-main,
.projects-content .quote-project-document__disabled-amount {
  color: #f8fafc;
}

.projects-content .quote-project-row,
.projects-content .quote-project-document {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.projects-content .quote-project-row--alerts {
  border-left-color: #dc2626;
}

.projects-content .quote-project-row--pending {
  border-left-color: #f97316;
}

.projects-content .quote-project-row--validated {
  border-left-color: #16a34a;
}

.projects-content .quote-project-row--without-follow-up,
.projects-content .quote-project-document--without-follow-up,
.projects-content .quote-project-document--single-row.quote-project-document--without-follow-up {
  border-color: rgba(220, 38, 38, 0.42);
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
  border-left-color: #dc2626;
  background: rgba(220, 38, 38, 0.13);
}

.projects-content .quote-project-document--converted {
  border-color: rgba(226, 184, 92, 0.52);
  background: rgba(226, 184, 92, 0.14);
}

.projects-content .quote-project-document--order,
.projects-content .quote-project-document--single-row.quote-project-document--order {
  border-color: rgba(45, 127, 184, 0.55);
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
  border-left-color: #2d7fb8;
  background: rgba(45, 127, 184, 0.14);
}

.projects-content .quote-project-document--alerts {
  border-color: rgba(220, 38, 38, 0.72);
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
  border-left-color: #dc2626;
}

.projects-content .quote-project-document--pending {
  border-color: rgba(249, 115, 22, 0.72);
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
  border-left-color: #f97316;
}

.projects-content .quote-project-document--validated {
  border-color: rgba(22, 163, 74, 0.72);
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
  border-left-color: #16a34a;
}

.projects-content .quote-project-sortbar__button,
.projects-content .quote-project-print-menu__panel {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.projects-content .quote-project-sortbar__button.active,
.projects-content .quote-project-sortbar__button:hover,
.projects-content .quote-project-print-menu__panel {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.16);
  color: #ffffff;
}

.projects-content .quote-project-row__address,
.projects-content .quote-project-row__meta,
.projects-content .quote-project-document__meta,
.projects-content .quote-project-document__materials,
.projects-content .quote-project-document__materials-inline,
.projects-content .quote-project-document__line-tail,
.projects-content .quote-project-row__archived-line,
.projects-content .quote-project-document__archived-line,
.projects-content .quote-project-document__single-line {
  color: rgba(226, 232, 240, 0.72);
}

.projects-content .quote-project-filters .admin-input {
  border-color: rgba(255, 255, 255, 0.16);
  background: transparent;
  color: #ffffff;
}

.projects-content .quote-project-filters .admin-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.projects-content .quote-project-sortbar {
  grid-template-columns: minmax(132px, 1.2fr) minmax(102px, 0.9fr) minmax(114px, 1fr) minmax(78px, 0.7fr) minmax(78px, 0.7fr) minmax(78px, 0.65fr);
  gap: 4px;
}

.projects-content .quote-project-sortbar__button {
  min-height: 30px;
  border-radius: 4px;
  padding: 4px 6px;
  gap: 4px;
  font-size: 0.71rem;
}

.projects-content .quote-project-row {
  grid-template-columns: minmax(144px, 0.85fr) minmax(216px, 1.4fr);
  gap: 2.5px;
  border-width: 1px;
  border-radius: 4px;
  padding: 2.5px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

.projects-content .quote-project-row--alerts,
.projects-content .quote-project-row--pending,
.projects-content .quote-project-row--validated,
.projects-content .quote-project-row--without-follow-up {
  border-left-width: var(--level-one-view-body-state-border-width, 5px);
}

.projects-content .quote-project-row__title {
  gap: 3px;
  font-size: 0.9rem;
}

.projects-content .quote-project-row__sequence-badge {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.71rem;
}

.projects-content .quote-project-row__address,
.projects-content .quote-project-row__meta,
.projects-content .quote-project-document__meta,
.projects-content .quote-project-document__materials,
.projects-content .quote-project-document__materials-inline,
.projects-content .quote-project-row__archived-line,
.projects-content .quote-project-document__archived-line,
.projects-content .quote-project-document__single-line {
  gap: 4px;
  margin-top: 3px;
  font-size: 0.74rem;
}

.projects-content .quote-project-row__sequence-actions,
.projects-content .quote-project-row__quick-actions,
.projects-content .quote-project-document__actions {
  gap: 4px;
}

.projects-content .quote-project-row__sequence-actions,
.projects-content .quote-project-row__new-quote {
  margin-top: 5px;
}

.projects-content .quote-icon-button {
  font-size: 0.8rem;
  color: var(--sp-ui-text, #f8fafc);
}

.projects-content .quote-icon-button span,
.projects-content .quote-icon-button svg {
  color: inherit;
  stroke: currentColor;
}

.projects-content .quote-icon-button:disabled,
.projects-content .quote-icon-button[aria-disabled="true"],
.projects-content .quote-project-print-menu__panel .level-one-view-body-action:disabled {
  opacity: 0.5;
}

.projects-content .quote-icon-button:disabled:hover,
.projects-content .quote-icon-button[aria-disabled="true"]:hover,
.projects-content .quote-project-print-menu__panel .level-one-view-body-action:disabled:hover {
  color: var(--sp-ui-text, #f8fafc);
}

.projects-content .quote-icon-only-mode .quote-project-row .quote-icon-button,
.projects-content .quote-icon-only-mode .quote-project-document .quote-icon-button,
.projects-content .quote-icon-only-mode .quote-project-print-menu > summary.quote-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 33px;
  width: 33px;
  min-width: 33px;
  max-width: 33px;
  height: 33px;
  min-height: 33px;
  max-height: 33px;
  padding: 0;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  line-height: 1;
  overflow: hidden;
  vertical-align: middle;
}

.projects-content .quote-icon-only-mode .quote-icon-button.sp-btn--compact::after {
  display: none;
}

.projects-content .quote-icon-button svg,
.projects-content .quote-project-document__actions svg,
.projects-content .quote-project-row__quick-actions svg {
  width: 17px;
  height: 17px;
}

.projects-content .quote-project-list:not(.quote-icon-only-mode) .quote-project-row .quote-icon-button,
.projects-content .quote-project-list:not(.quote-icon-only-mode) .quote-project-document .quote-icon-button {
  width: auto;
  min-width: max-content;
  max-width: none;
  height: 33px;
  min-height: 33px;
  max-height: 33px;
  padding: 2px 8px;
  aspect-ratio: auto;
  box-sizing: border-box;
  overflow: visible;
  white-space: nowrap;
}

.projects-content .quote-project-list:not(.quote-icon-only-mode) .quote-project-document__actions .quote-icon-button {
  min-width: 0;
  max-width: 120px;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  padding: 1px 5px;
  gap: 3px;
  font-size: 0.62rem;
  line-height: 1;
}

.projects-content .quote-project-list:not(.quote-icon-only-mode) .quote-project-document__actions .quote-icon-button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.projects-content .quote-project-list:not(.quote-icon-only-mode) .quote-project-document__actions .quote-icon-button svg {
  width: 12px;
  height: 12px;
}

.projects-content .quote-project-document {
  gap: 2.5px;
  border-radius: 4px;
  padding: 2.5px;
}

.projects-content .quote-project-document--single-row {
  display: block;
  padding: 2px 5px;
}

.projects-content .quote-project-document__disabled-line {
  gap: 5px;
  min-height: 20px;
  font-size: 0.5rem;
  line-height: 1;
}

.projects-content .quote-project-document__disabled-actions {
  gap: 3px;
}

.projects-content .quote-project-document--single-row .quote-icon-button {
  min-width: max-content;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 1px 5px;
  font-size: 0.5rem;
  line-height: 1;
}

.projects-content .quote-project-document--single-row .quote-icon-button svg {
  width: 10px;
  height: 10px;
}

.projects-content .quote-project-document--single-row .quote-project-document__disabled-amount {
  font-size: 0.5rem;
  line-height: 1;
}

.projects-content .quote-project-row__documents {
  gap: 5px;
}

.projects-content .quote-project-document__summary {
  gap: 6px;
}

.projects-content .quote-project-document__head {
  gap: 4px;
  font-size: 0.83rem;
}

.projects-content .quote-status-badge {
  margin-left: 4px;
  padding: 1px 5px;
  font-size: 0.65rem;
}

.projects-content .quote-business-alerts-compact {
  width: 21px;
  height: 21px;
  font-size: 0.72rem;
  color: #ef4444;
}

.projects-content .quote-business-alerts-compact:hover,
.projects-content .quote-business-alerts-compact:focus-visible {
  border: 0;
  background: transparent;
  color: #ef4444;
  outline: none;
}

.projects-content .quote-business-alerts-compact svg,
.projects-content .quote-business-alerts-compact:hover svg,
.projects-content .quote-business-alerts-compact:focus-visible svg {
  color: #ef4444;
  stroke: #ef4444;
}

.projects-content .quote-project-print-menu__panel {
  top: calc(100% + 2px);
  min-width: 114px;
  gap: 4px;
  padding: 5px;
  border-radius: 4px;
  font-size: 0.71rem;
  border-color: rgba(255, 255, 255, 0.16);
  background: #171717;
  color: #f2f2f2;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.45);
}

.projects-content .quote-project-print-menu__panel .level-one-view-body-action {
  justify-content: flex-start;
  min-height: 24px;
  border: 0;
  background: transparent;
  color: #f2f2f2;
  box-shadow: none;
}

.projects-content .quote-project-print-menu__panel .level-one-view-body-action:hover,
.projects-content .quote-project-print-menu__panel .level-one-view-body-action:focus-visible {
  background: rgba(255, 106, 0, 0.16);
  color: var(--sp-color-accent-orange);
}

.app-root.compact-root .projects-content .projects-content__project-embed,
.app-root.compact-root .projects-content > .extranet-page,
.app-root.compact-root .projects-content .extranet-shell--module-embed.extranet-shell--compact {
  border: 0;
  outline: 0;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  padding: 0;
  overflow: visible;
}

.app-root.compact-root .projects-content .extranet-shell--module-embed.extranet-shell--compact .extranet-main {
  gap: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-page,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-page > .level-one-view-body,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content > .extranet-page,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-page > .level-one-view-body > .projects-content > .extranet-page,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .extranet-shell--module-embed.extranet-shell--compact {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-page > .level-one-view-body {
  width: 100%;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
  padding: 7px;
  border-radius: 14px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-page > .level-one-view-body > .projects-content {
  width: 100%;
  min-width: 0;
  min-height: 0;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  border-radius: calc(14px - 7px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content::-webkit-scrollbar {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content > .extranet-page,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-page > .level-one-view-body > .projects-content > .extranet-page,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .extranet-shell--module-embed.extranet-shell--compact {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  max-height: none;
  overflow: visible;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .extranet-shell--module-embed.extranet-shell--compact .extranet-main {
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}

.app-root.compact-root .projects-content .quote-project-list,
.app-root.compact-root .projects-content .quote-project-filters,
.app-root.compact-root .projects-content .quote-project-sortbar {
  --sp-ui-surface: #1d2733;
  --sp-ui-surface-soft: #161d26;
  --sp-ui-border: #2f3a48;
  --sp-ui-text: #e6ebf2;
  --sp-ui-text-muted: #aab7c7;
  --sp-ui-muted: #aab7c7;
  color: #e6ebf2;
}

.app-root.compact-root .projects-content .quote-project-list {
  justify-items: stretch;
  margin-top: 0;
}

.app-root.compact-root .projects-content .quote-project-row__title,
.app-root.compact-root .projects-content .quote-project-document__line-main,
.app-root.compact-root .projects-content .quote-project-document__disabled-main,
.app-root.compact-root .projects-content .quote-project-document__disabled-amount {
  color: #e6ebf2;
}

.app-root.compact-root .projects-content .quote-project-row,
.app-root.compact-root .projects-content .quote-project-document {
  border-color: #2f3a48;
  background: #1d2733;
  color: #e6ebf2;
}

.app-root.compact-root .projects-content .quote-project-document {
  gap: 3px;
  box-sizing: border-box;
  padding-block: 4px;
}

.app-root.compact-root .projects-content .quote-project-row {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-left-color: var(--sp-color-accent-orange);
  border-left-width: 8px;
  border-radius: 8px;
}

.app-root.compact-root .projects-content .quote-project-row__main,
.app-root.compact-root .projects-content .quote-project-row__documents {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.app-root.compact-root .projects-content .quote-project-row__documents {
  padding-inline: 1.5px;
}

.app-root.compact-root .projects-content .quote-project-row--alerts {
  border-left-color: #dc2626;
}

.app-root.compact-root .projects-content .quote-project-row--pending {
  border-left-color: #f97316;
}

.app-root.compact-root .projects-content .quote-project-row--validated {
  border-left-color: #16a34a;
}

.app-root.compact-root .projects-content .quote-project-row--without-follow-up,
.app-root.compact-root .projects-content .quote-project-document--without-follow-up,
.app-root.compact-root .projects-content .quote-project-document--single-row.quote-project-document--without-follow-up {
  border-color: #ff9a9a;
  background: #1d2733;
}

.app-root.compact-root .projects-content .quote-project-document--converted {
  border-color: var(--sp-color-accent-orange);
  background: #1d2733;
}

.app-root.compact-root .projects-content .quote-project-document--order,
.app-root.compact-root .projects-content .quote-project-document--single-row.quote-project-document--order {
  border-color: var(--sp-access-prescripteur-bg);
  background: #1d2733;
}

.app-root.compact-root .projects-content .quote-project-document--alerts {
  border-color: #dc2626;
  border-left-color: #dc2626;
}

.app-root.compact-root .projects-content .quote-project-document--pending {
  border-color: #f97316;
  border-left-color: #f97316;
}

.app-root.compact-root .projects-content .quote-project-document--validated {
  border-color: #16a34a;
  border-left-color: #16a34a;
}

.app-root.compact-root .projects-content .quote-project-row__sequence-badge,
.app-root.compact-root .projects-content .quote-project-sortbar__button,
.app-root.compact-root .projects-content .quote-project-print-menu__panel {
  border-color: #2f3a48;
  background: #161d26;
  color: #e6ebf2;
}

.app-root.compact-root .projects-content .quote-project-sortbar__button.active,
.app-root.compact-root .projects-content .quote-project-sortbar__button:hover {
  border-color: var(--sp-color-accent-orange);
  background: #1d2733;
  color: #e6ebf2;
}

.app-root.compact-root .projects-content .quote-project-print-menu__panel .level-one-view-body-action:disabled {
  opacity: 0.5;
}

.app-root.compact-root .projects-content .quote-project-print-menu__panel .level-one-view-body-action:disabled:hover {
  color: var(--sp-ui-text, #f8fafc);
}

.app-root.compact-root .projects-content .quote-project-row__address,
.app-root.compact-root .projects-content .quote-project-row__meta,
.app-root.compact-root .projects-content .quote-project-document__meta,
.app-root.compact-root .projects-content .quote-project-document__materials,
.app-root.compact-root .projects-content .quote-project-document__materials-inline,
.app-root.compact-root .projects-content .quote-project-document__line-tail,
.app-root.compact-root .projects-content .quote-project-row__archived-line,
.app-root.compact-root .projects-content .quote-project-document__archived-line,
.app-root.compact-root .projects-content .quote-project-document__single-line {
  color: #aab7c7;
}

.quote-project-document__actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.quote-margin-button {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  min-width: 82px;
  justify-content: center;
  font-weight: 900;
  letter-spacing: 0;
}

.quote-margin-modal__subtitle {
  margin-top: -0.45rem;
  margin-bottom: 0.55rem;
  color: var(--sp-theme-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.quote-margin-modal__grid {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-margin-modal__row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.quote-margin-modal__row span {
  color: var(--sp-theme-text-muted);
  font-weight: 700;
}

.quote-margin-modal__row strong {
  color: var(--sp-theme-text-primary);
  text-align: right;
}

.quote-margin-modal__row--strong strong {
  color: var(--sp-color-accent-orange);
  font-size: 1.05rem;
}

.quote-project-document__actions .quote-action-without-follow-up {
  margin-left: 10px;
  border-color: #d95c5c;
  background: #5b1515;
  color: #fff4f4;
}

.quote-project-document__actions .quote-action-without-follow-up:hover {
  background: #d95c5c;
  color: #170606;
}

.quote-delete-modal__hint {
  color: var(--sp-ui-text-muted);
  font-size: 0.86rem;
}

.quote-signature-link-modal {
  width: min(560px, calc(100vw - 24px));
}

.quote-signature-link-modal__body,
.quote-signature-link-modal__field,
.quote-signature-link-modal__result {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-signature-link-modal__summary {
  font-weight: 800;
}

.quote-signature-link-modal__result {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.quote-signature-link-modal__result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.quote-signature-link-modal__test-hint {
  color: var(--sp-ui-text-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.quote-signature-link-modal__result-actions .sp-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.quote-signature-link-modal__error {
  color: var(--sp-ui-danger-text, #fca5a5);
}

.quote-signature-link-modal__error-block {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(248, 113, 113, 0.42);
  border-radius: 8px;
  color: var(--sp-ui-danger-text, #fca5a5);
  background: rgba(127, 29, 29, 0.18);
}

.quote-signature-link-modal__error-title {
  font-weight: 800;
}

.quote-signature-link-modal__error-block ul {
  margin: 0;
  padding-left: 18px;
}

.quote-signature-link-modal__error-block li + li {
  margin-top: 4px;
}

.quote-page--readonly {
  pointer-events: auto;
}

.quote-readonly-overlay {
  position: absolute;
  z-index: 40;
  top: 16mm;
  left: 50%;
  width: 72mm;
  transform: translateX(-50%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2mm;
  padding: 2.5mm 3mm;
  border: 1px solid #c8c8c8;
  border-radius: 6px;
  background: #fff8e8;
  color: #111111;
  font-size: 11px;
  line-height: 1.1;
  text-align: center;
  white-space: normal;
  pointer-events: auto;
}

.quote-readonly-overlay__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1mm;
  min-width: 0;
}

.quote-readonly-overlay--order {
  top: 25mm;
  width: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #dc2626;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.12;
  text-transform: uppercase;
}

.quote-readonly-overlay__text--order {
  gap: 0;
}

.quote-readonly-overlay__text--order strong {
  display: none;
}

.quote-readonly-overlay strong {
  font-size: 12px;
}

.quote-readonly-overlay__duplicate {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1mm;
  flex: 0 0 auto;
  min-height: 7mm;
  padding: 0 2.5mm;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 5px;
  background: #0a0a0a;
  color: #ffffff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0;
  cursor: pointer;
}

.quote-readonly-overlay__duplicate:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.extranet-separator {
  height: 2px;
  background: #111111;
  opacity: 0.2;
}

.quote-card {
  background: #ffffff;
  border: 1px solid #d0d0d0;
  border-radius: 12px;
  padding: 4.8rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.quote-wrapper {
  display: contents;
}

.quote-compact-editbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  justify-content: stretch;
  width: min(100%, 420px);
  padding: 8px;
  background: var(--sp-ui-bg, #f6f7f9);
}

.quote-compact-editbar__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(17, 17, 17, 0.14);
  border-radius: 8px;
  background: #111827;
  color: #ffffff;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.quote-compact-editbar__button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.quote-touch-magnifier {
  position: fixed;
  z-index: 90;
  overflow: hidden;
  border: 2px solid rgba(17, 17, 17, 0.72);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  pointer-events: none;
  touch-action: none;
}

.quote-touch-magnifier__content {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  pointer-events: none;
}

.quote-phone-editor {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  background: var(--sp-theme-card-bg, var(--sp-ui-surface, #ffffff));
  color: var(--sp-theme-text-primary, var(--sp-ui-text, #171717));
}

.quote-phone-editor__backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  border: 0;
  background: transparent;
}

.quote-phone-editor__bar {
  display: grid;
  grid-template-columns: 74px 1fr 74px;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px;
  border-bottom: 2px solid var(--sp-color-accent-orange, #ff6a00);
  background: var(--sp-theme-header-bg, #0a0a0a);
  color: var(--sp-theme-text-on-header, #ffffff);
}

.quote-phone-editor__bar strong {
  text-align: center;
}

.quote-phone-editor button,
.quote-phone-editor input {
  min-height: 42px;
  border: 1px solid var(--sp-color-accent-orange, rgba(17, 17, 17, 0.14));
  border-radius: 8px;
  font: inherit;
}

.quote-phone-editor button {
  background: var(--sp-theme-header-bg, #0a0a0a);
  color: var(--sp-theme-text-on-header, #ffffff);
  font-weight: 700;
}

.quote-phone-editor__bar button:last-child,
.quote-phone-editor__menu button {
  background: var(--sp-color-accent-orange, #ff6a00);
  color: #ffffff;
}

.quote-phone-editor__menu,
.quote-phone-editor__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  overflow: auto;
}

.quote-phone-editor__menu button {
  min-height: 58px;
  font-size: 16px;
}

.quote-phone-editor__form label {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
}

.quote-phone-editor__form input,
.quote-phone-editor__form select {
  padding: 0 10px;
  background: var(--sp-ui-surface, #ffffff);
  color: var(--sp-ui-text, #171717);
}

.quote-phone-editor__check {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.quote-phone-editor__check input {
  min-height: 0;
  width: 20px;
  height: 20px;
}

.quote-phone-editor__product {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--sp-ui-border, rgba(17, 17, 17, 0.12));
  border-radius: 8px;
  background: color-mix(in srgb, var(--sp-ui-surface, #ffffff) 88%, var(--sp-color-accent-orange, #ff6a00) 12%);
}

.quote-phone-editor__realization {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--sp-ui-border, rgba(17, 17, 17, 0.12));
  border-radius: 8px;
}

.quote-phone-editor__realization span {
  font-size: 13px;
  line-height: 1.35;
}

.quote-phone-editor__footer {
  padding: 10px 14px 14px;
}

.quote-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.quote-inline-action-button {
  --quote-inline-action-bg: #ffffff;
  --quote-inline-action-border: var(--sp-color-accent-orange);
  --quote-inline-action-text: #111111;
  color: var(--quote-inline-action-text);
  stroke: currentColor;
}

.quote-inline-action-button span,
.quote-inline-action-button svg {
  color: inherit;
  stroke: currentColor;
}

.quote-inline-action-button:hover,
.quote-inline-action-button:focus-visible {
  --quote-inline-action-bg: #fff7ed;
  --quote-inline-action-border: var(--sp-color-accent-orange);
  --quote-inline-action-text: #111111;
  color: var(--quote-inline-action-text);
}

.quote-inline-action-button:disabled,
.quote-inline-action-button[aria-disabled="true"] {
  --quote-inline-action-bg: #e5e7eb;
  --quote-inline-action-border: rgba(249, 115, 22, 0.45);
  --quote-inline-action-text: #6b7280;
  color: var(--quote-inline-action-text);
  cursor: default;
}

.quote-page {
  position: relative;
  width: 100%;
  max-width: none;
  --addr-x: 120mm;
  --addr-y: 35mm;
  --addr-w: 80mm;
  --addr-h: 40mm;
  overflow-x: auto;
}

.app-root:not(.compact-root) .level-one-view-body .quote-page {
  overflow-x: hidden;
}

.app-root:not(.compact-root) .level-one-view-body .quote-page select,
.app-root:not(.compact-root) .level-one-view-body .quote-page select option {
  background: #ffffff;
  color: #111111;
}

.compact-phone .quote-wrapper {
  align-items: center;
  height: calc(100dvh - var(--sp-compact-header-offset, 0px));
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.compact-phone .quote-page--phone-fit {
  flex: 0 0 auto;
  touch-action: none;
}

.quote-sheet-stack {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  width: 100%;
}

.quote-sheet-stack .quote-card--a4:not(:last-child) {
  page-break-after: always;
  break-after: page;
}

.quote-card--a4 {
  --sp-ui-surface: #ffffff;
  --sp-ui-surface-soft: #f8fafc;
  --sp-ui-border: #d1d5db;
  --sp-ui-input-bg: #ffffff;
  --sp-ui-input-border: #d1d5db;
  --sp-ui-text: #111111;
  --sp-ui-text-muted: #444444;
  --sp-theme-card-bg: #ffffff;
  --sp-theme-text-primary: #111111;
  --sp-theme-text-muted: #444444;
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: #111111;
}

.quote-card--a4 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.quote-card--a4 select,
.quote-card--a4 textarea,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 select,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 textarea {
  background: #ffffff;
  color: #111111;
}

.quote-card--a4 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.quote-card--a4 select:focus,
.quote-card--a4 textarea:focus,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 select:focus,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 textarea:focus {
  background: #ffffff;
  color: #111111;
}

.quote-address-window {
  display: none;
}

.quote-address-label {
  display: none;
}

.editable-layout-placeholder {
  visibility: hidden;
  pointer-events: none;
  min-height: 1px;
}

.editable-layout-item {
  position: absolute;
  box-sizing: border-box;
  z-index: 8;
  overflow: visible; /* handles sit at -5px outside bounds */
}

.editable-layout-item__content {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.editable-layout-item[data-layout-id="customerBlock"] .editable-layout-item__content {
  overflow: visible;
}

.editable-layout-item__content .quote-summary,
.editable-layout-item__content .quote-top-right,
.editable-layout-item__content .quote-table,
.editable-layout-item__content .quote-footer__grid,
.editable-layout-item__content .quote-footer__meta {
  width: 100%;
  height: 100%;
}

.editable-layout-item__content .quote-logo {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  display: block;
}

.quote-layout-flow {
  position: static;
  margin-top: var(--quote-flow-offset, auto);
  min-height: var(--quote-flow-min-height, auto);
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-sizing: border-box;
  z-index: auto;
  overflow: visible;
  break-inside: avoid;
  page-break-inside: avoid;
}

.quote-layout-flow__section {
  box-sizing: border-box;
  max-width: 100%;
  flex: 0 0 auto;
}

.quote-layout-flow__section--totals {
  margin-top: 0;
}

.quote-layout-flow__bottom {
  position: relative;
  margin-top: auto;
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

/* quote-card inner content wrapper — position: relative so overlay and absolute blocks anchor here */
.quote-card__content {
  position: relative;
  flex: 1 1;
  min-height: var(--quote-content-min-height, calc(297mm - 18mm));
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  overflow: visible;
}

.quote-top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  border-bottom: 1px solid #b9b9b9;
  padding-bottom: 0.35rem;
}

.quote-logo-slot {
  width: 98mm;
  height: 38mm;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
}

.quote-logo {
  width: auto;
  max-width: 98mm;
  max-height: 38mm;
  height: auto;
  margin-bottom: 0;
  display: block;
  position: static;
  cursor: pointer;
}

.quote-top-right {
  text-align: right;
  color: #232323;
  font-size: 10.45px;
  line-height: 1.2;
  position: relative;
}

.quote-title {
  font-weight: 800;
  font-size: 3.135rem;
  color: #111111;
}

.quote-top-right .quote-title.quote-title--order {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  text-align: right;
  font-size: 1.75rem;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
}

.quote-ref {
  font-weight: 700;
  color: #333333;
}

.quote-party {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.quote-party__column {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.quote-box {
  --quote-party-line-height: calc(16.5px * 1.22);
  border: 1px solid #b9b9b9;
  background: #f3f3f3;
  padding: 0.45rem;
  font-size: 16.5px;
  line-height: 1.22;
  height: calc((var(--quote-party-line-height) * 6) + 0.9rem);
  box-sizing: border-box;
  overflow: hidden;
}

.quote-party__main-name {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.05;
}

.quote-party__city-row {
  display: grid;
  grid-template-columns: minmax(44px, max-content) minmax(0, 1fr);
  grid-column-gap: 0.35rem;
  column-gap: 0.35rem;
  align-items: baseline;
  min-width: 0;
}

.quote-party__access-row {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
}

.quote-elevator-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: #6f6f6f;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
  opacity: 0.42;
}

.quote-elevator-toggle:hover,
.quote-elevator-toggle:focus-visible,
.quote-elevator-toggle.is-active {
  color: #111111;
  opacity: 1;
}

.quote-elevator-toggle:focus-visible {
  outline: 1px solid var(--quote-inline-action-border, #ff8a3d);
  outline-offset: 2px;
}

.quote-box--plain {
  background: #ffffff;
}

.quote-box--emetteur {
  border: none;
  background: #f3f3f3;
}

.quote-section-title {
  font-weight: 800;
  letter-spacing: 0;
  margin-bottom: 0.1rem;
  font-size: 10px;
}

.quote-section-title--placeholder {
  visibility: hidden;
}

.quote-section-title--row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}

.quote-section-title--row .quote-site-toggle {
  position: absolute;
  top: 0;
  right: 0;
}

.quote-section-title--site-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  grid-column-gap: 0.45rem;
  column-gap: 0.45rem;
  position: relative;
}

.quote-section-title--site-grid .quote-site-toggle {
  position: absolute;
  top: 0;
  right: 0;
}

.quote-site-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  color: #1f2f7a;
  cursor: pointer;
  text-decoration: underline;
}

.quote-site-inline {
  border-left: 1px dashed #c9c9c9;
  padding-left: 0.45rem;
  font-size: 16.5px;
  line-height: 1.22;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.quote-party__address-line {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.94em;
  line-height: 1.12;
}

.quote-box--with-site {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.quote-client-main {
  min-width: 0;
}

.quote-table__head,
.quote-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px 133px 67px 100px;
  grid-gap: 0;
  gap: 0;
  align-items: center;
  font-size: 11px;
}

.quote-table__head {
  font-weight: 800;
  font-size: 22px;
  border-bottom: 1px solid #b9b9b9;
  background: #f7f7f7;
  padding: 0;
}

.quote-table {
  flex: 0 0 auto;
  border: 1px solid #b9b9b9;
}

.quote-table--auto-height {
  min-height: 0;
}

.quote-table__head > span {
  padding: 2px 4px;
  border-right: 1px solid #b9b9b9;
}

.quote-table__head > span:first-child {
  padding-left: 8px;
}

.quote-table__head > span:last-child {
  border-right: none;
}

.quote-group {
  margin-top: 0;
}

.quote-group__title {
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}

.quote-group__subtitle {
  font-size: 0.85rem;
  color: #444444;
  margin-bottom: 0.4rem;
}

.quote-row {
  padding: 0;
  border-bottom: 1px solid #e1e1e1;
}

.quote-row > span {
  padding: 2px 4px;
  border-right: 1px solid #e1e1e1;
}

.quote-row > span:last-child {
  border-right: none;
}

.quote-row > span:nth-child(n+2) {
  font-size: 22px;
}

.quote-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.4rem;
  gap: 0.4rem;
  border-top: 1px solid #b9b9b9;
  padding-top: 0.3rem;
  font-size: 11px;
}

.quote-totals-signature-group {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  break-inside: avoid;
  page-break-inside: avoid;
}

.quote-signature-block {
  display: grid;
  grid-gap: 0.22rem;
  gap: 0.22rem;
  justify-self: end;
  width: 30%;
  min-width: 55mm;
  max-width: 68mm;
  break-inside: avoid;
  page-break-inside: avoid;
  font-size: 10px;
  color: #111111;
}

.quote-signature-block__label {
  font-weight: 700;
}

.quote-signature-block__box {
  min-height: 28mm;
  border: 1px solid #111111;
  background: #ffffff;
}

.order-material-validation-page__signature.quote-signature-block {
  width: 100%;
  max-width: none;
}

.quote-signature-block__signed {
  height: 100%;
  min-height: 28mm;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  justify-items: center;
  grid-gap: 1mm;
  gap: 1mm;
  padding: 2mm;
  box-sizing: border-box;
  text-align: center;
}

.quote-signature-block__signed img {
  max-width: 100%;
  max-height: 18mm;
  object-fit: contain;
}

.quote-signature-block__agreement,
.quote-signature-block__meta {
  font-size: 9px;
  font-weight: 700;
}

.quote-site-card {
  border: 1px solid #b9b9b9;
  background: #fff;
  padding: 0.4rem 0.5rem;
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.quote-site-card__row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 12px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.quote-site-card__date-group {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.quote-site-card__label {
  font-weight: 700;
  min-width: 0;
}

.quote-site-card__value {
  font-weight: 600;
  min-width: 74px;
}

.quote-site-card__realization-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(17, 24, 39, 0.18);
  border-radius: 6px;
  background: #fff;
  color: #111;
  cursor: pointer;
}

.quote-realization-modal__panel {
  max-width: 560px;
}

.quote-realization-modal__body {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.quote-realization-modal__body label {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-weight: 700;
}

.quote-realization-modal__label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.quote-realization-modal__choices {
  display: flex;
}

.quote-realization-modal__choices button {
  white-space: normal;
}

.quote-site-card__row .admin-input {
  flex: 1 1 320px;
  min-width: 220px;
}

.quote-site-card__date-picker-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.quote-site-card__date-input-proxy {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border: 0;
  padding: 0;
}

.quote-site-card__calendar-icon {
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  color: #111;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quote-site-card__mission {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 0;
  background: transparent;
  padding: 0;
  font-weight: 700;
  font: inherit;
  line-height: inherit;
  color: #6f6f6f;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-left: 0.25rem;
  cursor: pointer;
  opacity: 0.42;
}

.quote-site-card__mission:hover,
.quote-site-card__mission:focus-visible,
.quote-site-card__mission.is-active {
  color: #111111;
  opacity: 1;
}

.quote-site-card__mission:focus-visible {
  outline: 1px solid var(--quote-inline-action-border, #ff8a3d);
  outline-offset: 2px;
}

.quote-site-card__vat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  margin-left: auto;
}

.quote-site-card__vat .admin-input {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  height: 26px;
  padding: 2px 0;
  font-size: 12px;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: right;
}

.quote-card--a4 .quote-site-card__vat .admin-input,
.quote-card--a4 .quote-site-card__vat .admin-input:focus,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 .quote-site-card__vat .admin-input,
.app-root:not(.compact-root) .level-one-view-body .quote-card--a4 .quote-site-card__vat .admin-input:focus {
  border: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
}

.quote-vat-settings {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.quote-technical-settings {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.quote-technical-settings__card {
  margin: 0;
}

.quote-vat-settings__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.quote-vat-settings__rate {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  align-items: start;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  padding: 8px;
  background: #ffffff;
}

.quote-vat-settings__rate-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.quote-vat-settings__rate-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-vat-settings__remove {
  flex: 0 0 auto;
}

@media (max-width: 1180px) {
  .quote-vat-settings__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .quote-vat-settings__list {
    grid-template-columns: 1fr;
  }
}

.quote-weight-settings__fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.quote-blocking-settings__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  white-space: normal;
}

.quote-blocking-settings__toggle {
  width: 100%;
}

.quote-edge-media-settings {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-edge-media-settings__row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto 28px;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  min-height: 32px;
}

.quote-edge-media-settings__icon {
  width: 28px;
  height: 28px;
  min-width: 28px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.quote-edge-media-settings__icon.active {
  color: var(--sp-color-accent-orange);
}

.quote-edge-media-settings__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quote-edge-media-settings__preview {
  width: 42px;
  height: 28px;
  object-fit: cover;
  border-radius: 4px;
}

.quote-edge-media-settings__progress {
  font-size: 12px;
  color: var(--sp-color-accent-orange);
  font-weight: 700;
}

.quote-vat-settings__applies {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  font-size: 12px;
}

.quote-vat-settings__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.quote-vat-settings__checks label,
.quote-vat-settings__actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.quote-vat-settings__actions {
  justify-content: flex-start;
  font-weight: 700;
}

.quote-payment-terms-generator {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-payment-terms-generator__toolbar {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.quote-payment-terms-generator__count {
  max-width: 150px;
}

.quote-payment-terms-generator__rows {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.quote-payment-terms-generator__row {
  display: grid;
  grid-template-columns: minmax(72px, 90px) minmax(180px, 1fr) auto;
  grid-gap: 8px;
  gap: 8px;
  align-items: end;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
}

.quote-payment-terms-generator__remove {
  align-self: end;
  min-width: 30px;
}

@media (max-width: 720px) {
  .quote-payment-terms-generator__row {
    grid-template-columns: 1fr;
  }

  .quote-payment-terms-generator__remove {
    justify-self: start;
  }
}

.recipient-inline-input {
  width: 100%;
  border: none;
  background: transparent;
  outline: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.quote-differential-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: block;
  background: rgba(0, 0, 0, 0.72);
}

.quote-differential-dialog {
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: var(--sp-color-accent-orange);
  --sp-ui-text-muted: #b8b8b8;
  position: fixed;
  top: 50%;
  left: 50%;
  right: auto;
  z-index: 1301;
  width: min(645px, calc(100% - 16px));
  padding: 14px;
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  transform: translate(-50%, -50%) scale(0.975);
  transform-origin: center;
}

.quote-differential-dialog__title {
  font-size: var(--sp-popup-title-size, 13px);
  margin-bottom: 0;
}

.quote-differential-dialog__section {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.quote-differential-dialog__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 12px;
  gap: 12px;
}

.quote-differential-dialog__mode-card {
  display: grid;
  align-content: start;
  grid-gap: 8px;
  gap: 8px;
  min-height: 245px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  background: transparent;
  color: var(--sp-ui-text);
  cursor: pointer;
  transition: border-color 0.15s ease, opacity 0.15s ease, background 0.15s ease;
}

.quote-differential-dialog__mode-card.active {
  border-color: var(--sp-color-accent-orange);
  background: rgba(245, 112, 59, 0.08);
  opacity: 1;
}

.quote-differential-dialog__mode-card.inactive {
  opacity: 0.48;
}

.quote-differential-dialog__mode-card.inactive input,
.quote-differential-dialog__mode-card.inactive select {
  cursor: pointer;
  pointer-events: none;
}

.quote-differential-dialog__subtitle {
  font-size: var(--sp-popup-subtitle-size, 11px);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--sp-ui-text-muted);
}

.quote-differential-dialog label {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  font-size: var(--sp-popup-label-size, 12px);
  font-weight: 700;
}

.quote-differential-dialog__choice-row,
.quote-differential-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.quote-differential-dialog__choice-row label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.quote-differential-dialog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px 10px;
  gap: 8px 10px;
}

.quote-differential-dialog__fixed-fields {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 8px;
  gap: 8px;
}

.quote-differential-dialog__line-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  grid-gap: 8px;
  gap: 8px;
  align-items: end;
}

.quote-differential-dialog__full-field {
  grid-column: 1 / -1;
  width: 100%;
}

.quote-differential-dialog__hint {
  font-size: var(--sp-popup-hint-size, 11px);
  font-weight: 600;
  color: var(--sp-ui-text-muted);
}

.quote-differential-dialog__alert {
  padding: 8px 10px;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 8px;
  background: rgba(245, 112, 59, 0.12);
  color: var(--sp-color-accent-orange);
  font-size: var(--sp-popup-body-size, 12px);
  font-weight: 800;
}

.quote-differential-dialog__input--required {
  border-bottom-color: var(--sp-color-accent-orange) !important;
  box-shadow: none;
}

.quote-differential-dialog__result,
.quote-differential-dialog__preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 4px 8px;
  gap: 4px 8px;
  font-size: var(--sp-popup-body-size, 12px);
}

.quote-differential-dialog__preview {
  min-height: 42px;
  padding: 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.quote-differential-dialog__preview--reserved {
  visibility: hidden;
}

.quote-fixed-margin-lines {
  display: grid;
  grid-gap: 3px;
  gap: 3px;
  margin: 6px 8px 0 8px;
}

.quote-fixed-margin-lines--service-group {
  margin-left: 150px;
}

.quote-fixed-margin-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 95px;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  padding: 3px 6px;
  border-top: 1px solid #e5e7eb;
  font-size: 12px;
  font-weight: 700;
}

.quote-fixed-margin-line span:last-child {
  text-align: right;
}

.print-only-block {
  display: none;
}

.quote-terms {
  color: #333333;
}

.quote-totals {
  display: grid;
  grid-gap: 0.4rem;
  gap: 0.4rem;
}

.quote-totals > div {
  display: flex;
  justify-content: space-between;
}

.quote-total-ttc {
  font-size: 12px;
}

.order-material-validation-page {
  page-break-before: always;
  break-before: page;
}

.order-material-validation-page__content {
  display: grid;
  grid-gap: 8mm;
  gap: 8mm;
}

.order-material-validation-page__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 4mm 6mm;
  gap: 4mm 6mm;
  font-size: 12px;
}

.order-material-validation-page__grid > div {
  display: grid;
  grid-gap: 1mm;
  gap: 1mm;
  padding: 3mm;
  border: 1px solid #b9b9b9;
}

.order-material-validation-page__grid span {
  color: #555555;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.order-material-validation-page__photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112mm;
  border: 1px solid #111111;
  background: #f8f8f8;
  color: #555555;
  font-size: 13px;
  font-weight: 700;
}

.order-material-validation-page__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.order-material-validation-page__notice {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
}

.order-material-validation-page__signature .quote-signature-block__box {
  min-height: 34mm;
}

.quote-footer {
  font-size: 9px;
  line-height: 1.2;
  border-top: 1px solid #c7c7c7;
  padding-top: 0.28rem;
  color: #222222;
  position: static;
  margin-top: auto;
  width: 100%;
  text-align: left;
}

.quote-footer__grid {
  column-count: 2;
  column-gap: 1rem;
}

.quote-footer__item {
  display: grid;
  grid-gap: 0.08rem;
  gap: 0.08rem;
  page-break-inside: avoid;
  break-inside: avoid;
  margin: 0 0 0.25rem;
}

.quote-footer__item strong {
  font-size: 9px;
  line-height: 1.12;
}

.quote-footer__item span {
  font-size: 8.5px;
  line-height: 1.16;
  white-space: pre-line;
}

.quote-footer__item--full {
  column-span: all;
}

.quote-footer__meta {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.35rem;
  font-size: 8px;
  text-align: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.quote-terms-editor {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.quote-terms-editor__section {
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.quote-terms-editor__section--empty {
  border-style: dashed;
  border-color: #9ca3af;
  background: #f8fafc;
}

.quote-terms-editor__label {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  font-size: 0.85rem;
  font-weight: 700;
}

.quote-terms-editor__textarea {
  min-height: 96px;
  resize: vertical;
  font-family: inherit;
  line-height: 1.28;
}

.integrations-settings {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.integrations-settings__card {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.integrations-settings__grid,
.integrations-settings__split {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.integrations-settings__grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.integrations-settings__table {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.integrations-settings__row,
.integrations-settings__export,
.integrations-settings__pill,
.integrations-settings__event {
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  background: #f8fafc;
}

.integrations-settings__row {
  grid-template-columns: minmax(76px, auto) minmax(150px, 1fr) minmax(180px, 2fr) auto;
  align-items: center;
}

.integrations-settings__wide {
  grid-column: 1 / -1;
}

.integrations-settings__link {
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
}

.integrations-settings__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 720px) {
  .integrations-settings__row {
    grid-template-columns: 1fr;
  }
}

.prescripteur-settings {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  height: 100%;
  min-height: 0;
  color: #f8fafc;
  overflow: hidden;
}

.prescripteur-settings__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  grid-gap: 0.75rem;
  gap: 0.75rem;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
}

.prescripteur-settings--no-selector .prescripteur-settings__layout {
  grid-template-columns: minmax(0, 1fr);
}

.prescripteur-settings__selector {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  grid-gap: 10px;
  gap: 10px;
  min-height: 0;
  padding: 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.prescripteur-settings__selector-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.prescripteur-settings__selector-title {
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.06rem;
  text-transform: uppercase;
}

.prescripteur-settings__selector-count {
  margin-top: 0.12rem;
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.68rem;
  font-weight: 700;
}

.prescripteur-settings__search {
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  color: rgba(226, 232, 240, 0.8);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.025rem;
  text-transform: uppercase;
}

.prescripteur-settings__selector-list {
  display: grid;
  align-content: start;
  grid-gap: 6px;
  gap: 6px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

.prescripteur-settings__selector-item {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  width: 100%;
  min-height: 38px;
  padding: 0.45rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.88);
  text-align: left;
  cursor: pointer;
}

.prescripteur-settings__selector-item:hover,
.prescripteur-settings__selector-item.active {
  border-color: rgba(255, 138, 61, 0.72);
  background: rgba(255, 138, 61, 0.16);
  color: #ffffff;
}

.prescripteur-settings__selector-item span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 800;
}

.prescripteur-settings__selector-item small {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.68rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prescripteur-settings__content {
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.prescripteur-settings__grid {
  display: grid;
  grid-gap: 0.55rem 0.7rem;
  gap: 0.55rem 0.7rem;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.prescripteur-settings .company-logo-settings-card__upload {
  color: #f8fafc;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.025rem;
}

.prescripteur-settings .quote-section-title,
.prescripteur-settings .company-logo-settings-card__header {
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.prescripteur-settings .admin-hint {
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.68rem;
  line-height: 1.35;
}

.prescripteur-settings .company-logo-settings-grid {
  gap: 0.7rem;
  margin-bottom: 0;
}

.prescripteur-settings .company-logo-settings-card {
  gap: 0.55rem;
  padding: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.prescripteur-settings .company-logo-settings-card__preview {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.22);
}

.prescripteur-settings .company-logo-settings-card__meta {
  color: rgba(226, 232, 240, 0.8);
  font-size: 0.72rem;
}

.prescripteur-settings .toggle-btn,
.prescripteur-settings .admin-suspend-btn {
  min-height: 34px;
  padding: 0.3rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.055);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 850;
}

.prescripteur-settings .toggle-btn:hover,
.prescripteur-settings .admin-suspend-btn:hover {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.16);
}

@media (max-width: 980px) {
  .prescripteur-settings__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .prescripteur-settings__selector {
    max-height: 320px;
  }
}

.stonepilot-checkbox,
.prescripteur-settings__checkbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 38px;
  gap: 8px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.stonepilot-checkbox input[type="checkbox"],
.prescripteur-settings__checkbox input[type="checkbox"] {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.stonepilot-checkbox__box,
.prescripteur-settings__checkbox-box {
  position: relative;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.28);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
}

.stonepilot-checkbox__box::after,
.prescripteur-settings__checkbox-box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid var(--sp-color-accent-orange);
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: rotate(45deg);
}

.stonepilot-checkbox input[type="checkbox"]:checked + .stonepilot-checkbox__box,
.stonepilot-checkbox:has(input[type="checkbox"]:checked) .stonepilot-checkbox__box,
.prescripteur-settings__checkbox input[type="checkbox"]:checked + .prescripteur-settings__checkbox-box,
.prescripteur-settings__checkbox:has(input[type="checkbox"]:checked) .prescripteur-settings__checkbox-box {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.12);
}

.stonepilot-checkbox input[type="checkbox"]:checked + .stonepilot-checkbox__box::after,
.stonepilot-checkbox:has(input[type="checkbox"]:checked) .stonepilot-checkbox__box::after,
.prescripteur-settings__checkbox input[type="checkbox"]:checked + .prescripteur-settings__checkbox-box::after,
.prescripteur-settings__checkbox:has(input[type="checkbox"]:checked) .prescripteur-settings__checkbox-box::after {
  opacity: 1;
}

.stonepilot-checkbox input[type="checkbox"]:focus-visible + .stonepilot-checkbox__box,
.prescripteur-settings__checkbox input[type="checkbox"]:focus-visible + .prescripteur-settings__checkbox-box {
  outline: 2px solid rgba(255, 106, 0, 0.35);
  outline-offset: 2px;
}

.stonepilot-checkbox:hover,
.prescripteur-settings__checkbox:hover {
  color: #ffffff;
}

.prescripteur-settings__logo-block {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.prescripteur-settings__logo-preview {
  width: 180px;
  min-height: 72px;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prescripteur-settings__logo-preview img {
  max-width: 100%;
  max-height: 72px;
  object-fit: contain;
  display: block;
}

.prescripteur-settings__logo-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.prescripteurs-management-page {
  min-height: 0;
}

.prescripteurs-management-page__create-grid {
  display: grid;
  grid-gap: 0.85rem;
  gap: 0.85rem;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.prescripteurs-management-page__form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.prescripteurs-management-page__actions {
  justify-content: flex-start;
  margin: 0;
}

.drive-documents {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  grid-gap: 14px;
  gap: 14px;
  flex: 1 1;
  min-height: 0;
  height: auto;
}

.extranet-shell--drive .drive-documents {
  align-self: stretch;
  height: 100%;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .extranet-page--module-embed:has(.extranet-shell--drive) {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll .extranet-shell--drive {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll .extranet-shell--drive .extranet-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll .extranet-shell--drive .drive-documents {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.drive-documents > .stonepilot-filemanager {
  min-height: 0;
  height: 100%;
  align-self: stretch;
}

.drive-documents:has(.drive-documents__message) {
  grid-template-rows: auto minmax(0, 1fr);
}

.drive-documents:has(.drive-documents__message) > .stonepilot-filemanager {
  grid-row: 2;
}

.drive-documents__message {
  color: var(--sp-ui-muted);
  font-size: 13px;
}

.stonepilot-filemanager {
  --sp-drive-black: #111111;
  --sp-drive-orange: #ff6a00;
  --sp-drive-orange-soft: #fff1e6;
  --sp-drive-border: #d7d7d7;
  --sp-drive-panel: #ffffff;
  --sp-drive-muted: #6f6f6f;
  --wx-color-primary: var(--sp-drive-orange);
  --wx-color-primary-selected: var(--sp-drive-orange-soft);
  --wx-background: #ffffff;
  --wx-background-alt: #f4f4f4;
  --wx-border: 1px solid var(--sp-drive-border);
  --wx-color-font: #171717;
  --wx-color-font-alt: var(--sp-drive-muted);
  --wx-icon-color: #2b2b2b;
  --wx-fm-background: #f4f4f4;
  --wx-fm-box-shadow: none;
  --wx-fm-select-background: var(--sp-drive-orange-soft);
  --wx-fm-grid-border: 1px solid var(--sp-drive-border);
  --wx-fm-grid-header-color: #f8f8f8;
  --wx-fm-button-font-color: #2b2b2b;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  grid-gap: 4px;
  gap: 4px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f4f4 100%);
  padding: 8px 12px 12px;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  box-shadow: inset 0 3px 0 var(--sp-drive-orange);
}

.stonepilot-filemanager__confirm-popover {
  position: absolute;
  z-index: 40;
  width: 220px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--sp-drive-orange);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(17, 17, 17, 0.2);
  color: #111111;
}

.stonepilot-filemanager__confirm-title {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stonepilot-filemanager__confirm-file {
  min-width: 0;
  overflow: hidden;
  color: #555555;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stonepilot-filemanager__confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}

.stonepilot-filemanager__confirm-actions .admin-add-btn,
.stonepilot-filemanager__confirm-actions .admin-suspend-btn {
  min-height: 28px;
  padding: 5px 8px;
  font-size: 12px;
}

.stonepilot-filemanager__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: nowrap;
  padding: 2px 8px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  height: 48px;
  min-height: 48px;
  overflow: visible;
}

.stonepilot-filemanager__bar > div {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
  height: 20px;
  overflow: visible;
}

.stonepilot-filemanager__bar span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 10px;
  line-height: 1;
}

.stonepilot-filemanager__bar strong {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 16px;
  line-height: 1;
}

.stonepilot-filemanager__current-folder {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  overflow: hidden;
}

.stonepilot-filemanager__current-folder b {
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
}

.stonepilot-filemanager__browser {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 10px;
  gap: 10px;
  grid-row: 4;
  position: relative;
  min-height: 0;
  height: auto;
  align-self: stretch;
  align-items: stretch;
}

.stonepilot-filemanager__browser.has-preview {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.stonepilot-filemanager__svar {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.stonepilot-filemanager__file-input {
  position: fixed;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.stonepilot-filemanager__bar .quote-icon-button {
  border-color: rgba(255, 106, 0, 0.85);
  background: var(--sp-drive-orange);
  color: #111111;
  min-height: 20px;
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1;
}

.stonepilot-filemanager__bar .quote-icon-button span {
  color: currentColor;
  font-size: inherit;
  line-height: inherit;
}

.stonepilot-filemanager__bar .quote-icon-button:hover:not(:disabled) {
  background: #ff7a1a;
}

.stonepilot-filemanager__trash-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.stonepilot-filemanager__trash-toggle.is-active {
  background: #ffffff;
}

.stonepilot-filemanager__breadcrumb-upload {
  border: 1px solid var(--sp-drive-orange);
  border-radius: 7px;
  background: #ffffff;
  color: #111111;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  min-height: 24px;
  padding: 4px 8px;
}

.stonepilot-filemanager__breadcrumb-upload:hover:not(:disabled) {
  background: var(--sp-drive-orange-soft);
}

.stonepilot-filemanager__breadcrumb-upload:disabled {
  cursor: wait;
  opacity: 0.65;
}

.stonepilot-filemanager__progress {
  position: relative;
  height: 28px;
  background: var(--sp-drive-orange-soft);
  border: 1px solid rgba(255, 106, 0, 0.3);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.stonepilot-filemanager__progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  background: var(--sp-drive-orange);
  opacity: 0.35;
  transition: width 0.25s ease;
  min-width: 16px;
}

.stonepilot-filemanager__progress-label {
  position: relative;
  z-index: 1;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 700;
  color: #111111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stonepilot-filemanager__upload-state {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 6px 8px;
  border: 1px solid rgba(255, 106, 0, 0.35);
  border-radius: 8px;
  background: var(--sp-drive-orange-soft);
  color: #111111;
  font-size: 12px;
  font-weight: 700;
}

.stonepilot-filemanager__upload-state span {
  color: #b42318;
}

.stonepilot-filemanager :is(
  .wx-filemanager,
  .wx-layout,
  .wx-body,
  .wx-content,
  .wx-content-wrapper,
  .wx-content-item,
  .wx-content-item-fit,
  .wx-wrapper
) {
  height: 100%;
  min-height: 0;
  border-radius: 8px;
}

.stonepilot-filemanager :is([data-menu-ignore="true"]) {
  height: 100%;
  min-height: 0;
}

.stonepilot-filemanager :is(.wx-filemanager) {
  border: 1px solid #d4d4d4;
  background: #f4f4f4;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.stonepilot-filemanager :is(.wx-layout, .wx-body, .wx-content, .wx-content-wrapper, .wx-content-item, .wx-content-item-fit, .wx-wrapper) {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.stonepilot-filemanager :is(.wx-content) {
  flex-shrink: 1;
}

.stonepilot-filemanager :is(.wx-sidebar) {
  flex: 0 0 fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  min-width: 250px !important;
  max-width: 320px !important;
  overflow-x: hidden !important;
}

.stonepilot-filemanager :is(.wx-sidebar .wx-tree, .wx-sidebar ul) {
  overflow-x: hidden !important;
}

.stonepilot-filemanager :is(.wx-sidebar li, .wx-sidebar .wx-folder, .wx-sidebar .wx-name) {
  max-width: 100%;
  overflow: hidden;
  text-overflow: clip;
  white-space: nowrap;
}

.stonepilot-filemanager :is(.wx-toolbar, .wx-sidebar, .wx-grid-header, .wx-breadcrumbs) {
  background: #ffffff;
  border-color: #d8d8d8;
}

.stonepilot-filemanager :is(.wx-toolbar) {
  border-bottom: 2px solid var(--sp-drive-orange);
}

.stonepilot-filemanager :is(.wx-search-input),
.stonepilot-filemanager [class*="wx-search-input"] {
  display: none !important;
}

.stonepilot-filemanager :is(.wx-modes),
.stonepilot-filemanager [class*="wx-modes"] {
  display: none !important;
}

.stonepilot-filemanager :is(.wx-preview-icon),
.stonepilot-filemanager [class*="wx-preview-icon"] {
  display: none !important;
}

.stonepilot-filemanager :is(.wx-button, .wx-menu) {
  border-radius: 8px;
}

.stonepilot-filemanager :is(.wx-button:hover, .wx-icon.wx-clickable:hover) {
  background: var(--sp-drive-orange-soft);
}

.stonepilot-filemanager :is(.wx-item.wx-selected, .wx-selected, .wx-folder.wx-selected, .wx-item:focus, .wx-item:hover) {
  background: var(--sp-drive-orange-soft);
  outline-color: var(--sp-drive-orange);
}

.stonepilot-filemanager :is(.wx-icon, .wx-tree-icon, .wx-file-icon, .wx-preview i, .wx-folder i) {
  color: var(--sp-drive-orange);
}

.stonepilot-filemanager :is(.wx-cards) {
  background: #f7f7f7;
  height: 100%;
  min-height: 0;
  overflow: auto;
}

.stonepilot-filemanager :is(.wx-item) {
  border: 1px solid transparent;
}

.stonepilot-filemanager :is(.wx-cards .wx-item) {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  width: 120px !important;
  max-width: 120px !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding: 4px !important;
  background: transparent !important;
  box-sizing: border-box;
}

.stonepilot-filemanager :is(.wx-item:hover) {
  border-color: rgba(255, 106, 0, 0.32);
}

.stonepilot-filemanager :is(.wx-preview) {
  background: #ffffff;
}

.stonepilot-filemanager :is(.wx-preview) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 0 !important;
  height: 72px !important;
  max-height: 72px !important;
  padding: 6px !important;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  box-sizing: border-box;
  overflow: hidden;
}

.stonepilot-filemanager :is(.wx-card-preview) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.stonepilot-filemanager :is(.wx-card-preview img, .wx-preview img, .wx-card-preview svg, .wx-preview svg) {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

.stonepilot-filemanager :is(.wx-name, .wx-file-name, .wx-folder-name) {
  display: block;
  width: 100%;
  min-width: 0;
  color: #171717;
  font-size: 11px;
  line-height: 1.2;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stonepilot-filemanager .wx-info {
  width: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  align-items: center;
  justify-content: center;
}

.stonepilot-filemanager .wx-info .wx-more {
  display: none !important;
}

.stonepilot-filemanager__file-actions {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 0;
  flex: 0 0 auto;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-2px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.stonepilot-filemanager :is(.wx-cards .wx-item:hover, .wx-cards .wx-item:focus-within) .stonepilot-filemanager__file-actions,
.stonepilot-filemanager__file-actions:focus-within {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.stonepilot-filemanager__file-action {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  vertical-align: middle;
  padding: 0;
}

.stonepilot-filemanager__file-download {
  border: 1px solid #111111;
  color: #111111;
}

.stonepilot-filemanager__file-rename {
  border: 1px solid rgba(255, 106, 0, 0.75);
  color: #111111;
}

.stonepilot-filemanager__file-rename:hover:not(:disabled) {
  background: var(--sp-drive-orange);
  color: #111111;
}

.stonepilot-filemanager__file-download:hover:not(:disabled) {
  border-color: var(--sp-drive-orange);
  background: var(--sp-drive-orange);
  color: #111111;
}

.stonepilot-filemanager__file-trash {
  border: 1px solid rgba(180, 35, 24, 0.65);
  color: #b42318;
}

.stonepilot-filemanager__file-trash:hover:not(:disabled) {
  background: #b42318;
  color: #ffffff;
}

.stonepilot-filemanager__file-trash.is-restore {
  border-color: rgba(255, 106, 0, 0.75);
  color: #111111;
}

.stonepilot-filemanager__file-trash.is-restore:hover:not(:disabled) {
  background: var(--sp-drive-orange);
  color: #111111;
}

.stonepilot-filemanager__file-trash:disabled {
  cursor: wait;
  opacity: 0.55;
}

.stonepilot-filemanager :is(.wx-menu) {
  border: 1px solid #d8d8d8;
  box-shadow: 0 12px 30px rgba(17, 17, 17, 0.16);
}

.stonepilot-filemanager :is(.wx-menu .wx-item:hover, .wx-menu .wx-item.wx-selected) {
  background: #111111;
  color: #ffffff;
}

.stonepilot-file-preview {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  align-self: stretch;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.stonepilot-file-preview__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  background: #111111;
  color: #ffffff;
  border-bottom: 2px solid var(--sp-drive-orange);
}

.stonepilot-file-preview__head strong,
.stonepilot-file-preview__head span {
  display: block;
  min-width: 0;
}

.stonepilot-file-preview__head strong {
  font-size: 13px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stonepilot-file-preview__head span {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  line-height: 1.25;
}

.stonepilot-file-preview__body {
  display: flex;
  min-height: 0;
  align-items: stretch;
  justify-content: center;
  background: #f6f6f6;
  overflow: auto;
}

.stonepilot-file-preview__frame,
.stonepilot-file-preview__image,
.stonepilot-file-preview__video,
.stonepilot-file-preview__media {
  width: 100%;
  border: 0;
}

.stonepilot-file-preview__frame {
  height: 100%;
  min-height: 0;
  background: #ffffff;
}

.stonepilot-file-preview__image {
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

.stonepilot-file-preview__video {
  height: 100%;
  align-self: center;
  background: #111111;
}

.stonepilot-file-preview__media {
  align-self: center;
  margin: 20px;
}

.stonepilot-file-preview__text {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 12px;
  background: #ffffff;
  color: #171717;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow: auto;
}

.stonepilot-file-preview__fallback,
.stonepilot-file-preview__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 240px;
  padding: 24px;
  color: #383838;
  text-align: center;
}

.stonepilot-file-preview__fallback svg {
  color: var(--sp-drive-orange);
}

.stonepilot-file-preview__actions {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid #d8d8d8;
  background: #ffffff;
}

.stonepilot-file-preview__actions a,
.stonepilot-file-preview__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--sp-drive-orange);
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.stonepilot-file-preview__actions a:hover,
.stonepilot-file-preview__button:hover {
  background: var(--sp-drive-orange-soft);
}

@media (max-width: 980px) {
  .stonepilot-filemanager__browser.has-preview {
    grid-template-columns: minmax(0, 1fr);
  }

  .stonepilot-file-preview {
    min-height: 360px;
  }
}

.prescripteur-sellers {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 0.75rem;
  display: grid;
  grid-gap: 0.65rem;
  gap: 0.65rem;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
  color: #f8fafc;
}

.prescripteur-sellers__list {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.prescripteur-sellers__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 6px;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.04);
  color: #f8fafc;
}

.prescripteur-sellers__item > div {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  font-size: 0.78rem;
}

.prescripteur-sellers__item span {
  color: rgba(226, 232, 240, 0.68);
}

.prescripteur-commercial-field {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  margin: 10px 0 12px;
  color: #111827;
  font-size: 0.88rem;
  font-weight: 800;
}

.prescripteur-commercial-field .admin-select {
  width: 100%;
}

.prescripteur-commercial-field small {
  color: rgba(17, 24, 39, 0.68);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.prescripteur-sellers__create {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  grid-template-columns: 1fr 1fr 1fr auto;
  align-items: end;
}

.print-only-inline {
  display: none;
}

.quote-line-main-title {
  font-size: 1rem !important;
}

.quote-line-dimensions {
  font-size: 0.88rem !important;
}

@media (max-width: 900px) {
  .extranet-shell {
    grid-template-columns: 1fr;
    height: auto;
  }

  .quote-project-row {
    grid-template-columns: 1fr;
  }

  .quote-project-filters {
    grid-template-columns: 1fr;
  }

  .quote-project-sortbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-root.compact-root .projects-content .quote-project-list,
  .app-root.compact-root .projects-content .quote-project-row,
  .app-root.compact-root .projects-content .quote-project-row__main,
  .app-root.compact-root .projects-content .quote-project-row__documents,
  .app-root.compact-root .projects-content .quote-project-document,
  .app-root.compact-root .projects-content .quote-project-document__summary {
    min-width: 0;
    max-width: 100%;
  }

  .app-root.compact-root .projects-content .quote-project-sortbar,
  .app-root.compact-root .projects-content .quote-project-row,
  .app-root.compact-root .projects-content .quote-project-document__line,
  .app-root.compact-root .projects-content .quote-project-document__disabled-line {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-root.compact-root .projects-content .quote-project-row {
    overflow: hidden;
  }

  .app-root.compact-root .projects-content .quote-project-document__head,
  .app-root.compact-root .projects-content .quote-project-document__summary .quote-project-document__meta,
  .app-root.compact-root .projects-content .quote-project-document__disabled-actions,
  .app-root.compact-root .projects-content .quote-project-row__sequence-actions,
  .app-root.compact-root .projects-content .quote-project-row__quick-actions,
  .app-root.compact-root .projects-content .quote-project-document__actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .app-root.compact-root .projects-content .quote-project-row__new-quote,
  .app-root.compact-root .projects-content .quote-margin-button {
    width: auto;
    margin-left: 0;
  }

  .app-root.compact-root .projects-content .quote-project-print-menu {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .app-root.compact-root .projects-content .quote-project-row__title,
  .app-root.compact-root .projects-content .quote-project-row__address,
  .app-root.compact-root .projects-content .quote-project-document__line-main,
  .app-root.compact-root .projects-content .quote-project-document__line-tail,
  .app-root.compact-root .projects-content .quote-project-document__disabled-main,
  .app-root.compact-root .projects-content .quote-project-document__disabled-amount,
  .app-root.compact-root .projects-content .quote-project-document__materials,
  .app-root.compact-root .projects-content .quote-project-document__materials-inline {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .prescripteur-settings__grid {
    grid-template-columns: 1fr;
  }

  .prescripteur-sellers__create {
    grid-template-columns: 1fr;
  }
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .extranet-shell--module-embed {
  box-sizing: border-box;
  padding: 0;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-list {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row + .quote-project-row {
  margin-top: 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-list > .quote-project-row {
  border-radius: 8px !important;
  background: #1d2733;
  background-clip: border-box;
  isolation: isolate;
  overflow: hidden;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(5.8rem, 30vw, 7.4rem);
  align-items: center;
  grid-gap: 2px 8px;
  gap: 2px 8px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding-inline: 1.5px;
  box-sizing: border-box;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title-main,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title-side {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, auto));
  min-width: 0;
  max-width: 100%;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title-main {
  grid-column: 1;
  gap: 2px;
  overflow: hidden;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title-side {
  grid-column: 2;
  justify-items: end;
  align-items: center;
  overflow: hidden;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__sequence-badge,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__mobile-total {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__sequence-badge {
  display: inline-flex;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__sequence-full {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__sequence-compact {
  display: inline;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__prescripteur-label {
  justify-self: start;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__mobile-total {
  justify-self: end;
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 800;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__sale-total {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-row__title .quote-status-badge {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__line {
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 2px 8px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__line-main--desktop,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__line-tail {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__line-main--compact,
.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__compact-total {
  display: inline-block;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__compact-total {
  justify-self: end;
  color: var(--sp-ui-text);
  font-size: 0.92rem;
  font-weight: 800;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__compact-total span {
  color: var(--sp-ui-text-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.app-root.compact-phone[data-responsive-layout="compact"] .projects-content .quote-project-document__compact-line {
  display: block;
  min-width: 0;
  margin-top: 1px;
  overflow: hidden;
  color: var(--sp-ui-text-muted);
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-edit-zones {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-edit-zone {
  position: absolute;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel {
  inset: 0 8px auto;
  max-height: min(76dvh, 520px);
  overflow: hidden;
  border: 1px solid rgba(255, 106, 0, 0.42);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #111827;
  color: #f8fafc;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__bar {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 34px;
  padding: 4px 6px;
  border-bottom: 1px solid rgba(255, 106, 0, 0.34);
  background: #0b1220;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__bar--menu {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__bar--menu .quote-phone-editor__spacer {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__bar strong {
  min-width: 0;
  overflow: hidden;
  font-size: 0.78rem;
  line-height: 1.15;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel button,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel input {
  min-height: 34px;
  border-color: rgba(255, 106, 0, 0.24);
  border-radius: 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel button {
  background: #182235;
  color: #f8fafc;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__close,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__back {
  min-height: 28px;
  padding: 0 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(248, 250, 252, 0.86);
  font-size: 0.7rem;
  font-weight: 600;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__menu,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__form {
  flex: 1 1 auto;
  gap: 6px;
  min-height: 0;
  padding: 7px;
  overflow: auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__placeholder {
  padding: 8px 2px;
  color: rgba(248, 250, 252, 0.72);
  font-size: 0.8rem;
  line-height: 1.25;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__steps {
  gap: 5px;
  padding: 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__step {
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: center;
  grid-gap: 7px;
  gap: 7px;
  min-height: 32px;
  padding: 5px 7px;
  border: 1px solid rgba(255, 106, 0, 0.2);
  border-radius: 6px;
  background: #151f31;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__step span {
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 106, 0, 0.16);
  color: #ffb26f;
  font-size: 0.68rem;
  font-weight: 800;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__step strong {
  min-width: 0;
  overflow: hidden;
  font-size: 0.78rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-panel {
  padding: 7px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
  min-height: 0;
  overflow: auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-group {
  display: grid;
  grid-gap: 0;
  gap: 0;
  padding: 5px 7px;
  border: 1px solid rgba(255, 106, 0, 0.18);
  border-radius: 6px;
  background: #151f31;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-group-title {
  overflow: hidden;
  color: #ffb26f;
  font-size: 0.79rem;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: underline;
  -webkit-text-decoration-color: rgba(255, 106, 0, 0.82);
          text-decoration-color: rgba(255, 106, 0, 0.82);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-subgroup-title {
  overflow: hidden;
  color: #ffb26f;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item {
  display: grid;
  grid-gap: 0;
  gap: 0;
  width: 100%;
  min-height: 0;
  padding: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
  box-shadow: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item strong,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item strong {
  color: rgba(226, 232, 240, 0.72);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.02;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item span,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__empty {
  color: rgba(248, 250, 252, 0.68);
  font-size: 0.7rem;
  line-height: 1.2;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__empty {
  padding: 8px 2px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-add {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  flex: 0 0 auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__quick-adder > .quote-group {
  margin-top: 0 !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__quick-adder > .quote-group > :not(.quick-quote-root-add) {
  display: none !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__quick-adder .quick-quote-root-add {
  display: grid !important;
  margin: 0 !important;
  padding: 0 !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__quick-adder .quick-quote-root-add > button {
  width: 100% !important;
  min-height: 38px !important;
  justify-content: center;
  border-color: rgba(255, 106, 0, 0.78) !important;
  background: var(--sp-color-accent-orange, #ff6a00) !important;
  color: #ffffff !important;
  font-size: 1.2rem !important;
  font-weight: 900 !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__actions {
  padding-top: 7px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__menu button {
  min-height: 38px !important;
  justify-content: flex-start;
  padding: 0 10px !important;
  background: #182235;
  font-size: 0.86rem !important;
  font-weight: 700;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__form label {
  gap: 4px;
  color: rgba(248, 250, 252, 0.82);
  font-size: 0.78rem;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__form input,
.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__form select {
  background: #0b1220;
  color: #f8fafc;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__product {
  gap: 6px;
  padding: 7px;
  border-color: rgba(255, 106, 0, 0.3);
  background: #151f31;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__realization {
  gap: 6px;
  padding: 7px;
  border-color: rgba(255, 106, 0, 0.3);
  background: #151f31;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__realization span {
  color: rgba(248, 250, 252, 0.78);
  font-size: 0.76rem;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-realization-modal {
  align-items: flex-start;
  padding: 8px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-realization-modal .quote-realization-modal__panel {
  max-height: calc(100dvh - 16px);
  overflow: auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__footer {
  border-top: 1px solid rgba(255, 106, 0, 0.26);
  padding: 6px 7px 7px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__footer button {
  width: 100%;
  background: var(--sp-color-accent-orange, #ff6a00);
  font-weight: 800;
}

/* @page doit être au niveau racine — imbriqué dans @media print il est ignoré par Chromium/Playwright */
@page {
  size: A4;
  margin: 0;
}

@media print {
  body.print-quote-only * {
    visibility: hidden !important;
  }

  body.print-quote-only .quote-print-root,
  body.print-quote-only .quote-print-root *,
  body.print-quote-only .quote-page,
  body.print-quote-only .quote-page * {
    visibility: visible !important;
  }

  body.print-quote-only .no-print,
  body.print-quote-only button,
  body.print-quote-only input,
  body.print-quote-only textarea,
  body.print-quote-only select {
    display: none !important;
  }

  body.print-quote-only .quote-page {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    margin: 0 !important;
  }

  body.print-quote-only .print-only-inline {
    display: inline;
  }

  body.print-quote-only .print-only-block {
    display: block;
  }

}

/* ─── PDF Playwright context ─────────────────────────────────────────────────
   Garde uniquement les contenus de blocs visibles en PDF. Les dimensions du
   document restent portées par quote-sheet-core.css / quote-sheet-shell.css.
   ─────────────────────────────────────────────────────────────────────────── */
[data-pdf-ready] .editable-layout-item__content {
  overflow: visible;
}

/* ─── Stock search popup ─────────────────────────────────────────────────── */

.stock-popup__backdrop {
  z-index: 1800;
  padding: 1.5rem;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.stock-popup {
  display: flex;
  flex-direction: column;
  width: min(96vw, 860px);
  max-height: calc(100dvh - 3rem);
  padding: 0;
  background: #171717;
  border-color: #4a4a4a;
  overflow: hidden;
  color: #f2f2f2;
}

.stock-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sp-ui-border, rgba(255,255,255,0.12));
  flex-shrink: 0;
}

.stock-popup__title {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
}

.stock-popup__close {
  color: #f2f2f2;
}

.stock-popup__filters {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sp-ui-border, rgba(255,255,255,0.1));
  flex-shrink: 0;
}

.stock-popup__filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}

.stock-popup__filter-row--dims {
  align-items: flex-end;
  gap: 0.6rem;
}

.stock-popup__filter-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.stock-popup__filter-group--search {
  width: 100%;
}

.stock-popup__filter-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sp-ui-text-muted, #94a3b8);
}

.stock-popup__search {
  width: 100%;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  outline: none;
}

.stock-popup__search::placeholder {
  color: rgba(255, 255, 255, 0.48);
}

.stock-popup__search:focus {
  border: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: inset 0 -1px 0 var(--sp-color-accent-orange);
  outline: none;
}

.stock-popup__toggle-row {
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
  min-height: 30px;
}

.stock-popup__toggle {
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: rgba(226, 232, 240, 0.72);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  opacity: 1;
  text-transform: none;
  white-space: nowrap;
}

.stock-popup__toggle:hover,
.stock-popup__toggle:focus-visible,
.stock-popup__toggle.active,
.stock-popup__toggle.active:hover,
.stock-popup__toggle.active:focus-visible {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sp-color-accent-orange);
  opacity: 1;
  outline: none;
}

.stock-popup__select,
.stock-popup__dim-input {
  min-width: 80px;
  max-width: 120px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  outline: none;
}
.stock-popup__dim-input { max-width: 100px; }

.stock-popup__select:focus,
.stock-popup__dim-input:focus {
  border: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: inset 0 -1px 0 var(--sp-color-accent-orange);
  outline: none;
}

.stock-popup__select option {
  background: #171717;
  color: #ffffff;
}

.stock-popup__use-dims-btn {
  font-size: 0.8rem;
  white-space: nowrap;
  align-self: flex-end;
}

.stock-popup__results {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0.5rem 0;
}

.stock-popup__state {
  padding: 2rem 1.5rem;
  text-align: center;
  color: var(--sp-ui-text-muted, #94a3b8);
  font-size: 0.9rem;
}
.stock-popup__state--error { color: #f87171; }

.stock-popup__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.stock-popup__item:hover { background: rgba(255,255,255,0.04); }

.stock-popup__item-main {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.stock-popup__item-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--sp-ui-text, #f0f4fc);
}

.stock-popup__item-dims,
.stock-popup__item-ref,
.stock-popup__item-supplier,
.stock-popup__item-location {
  font-size: 0.78rem;
  color: var(--sp-ui-text-muted, #94a3b8);
}

.stock-popup__item-status {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}
.stock-popup__item-status--available {
  background: rgba(74,222,128,0.12);
  color: #4ade80;
}
.stock-popup__item-status--reserved {
  background: rgba(251,191,36,0.12);
  color: #fbbf24;
}

.stock-popup__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.55rem 1rem;
  border-top: 1px solid var(--sp-ui-border, rgba(255,255,255,0.1));
  flex-shrink: 0;
}

.stock-popup__count {
  font-size: 0.8rem;
  color: var(--sp-ui-text-muted, #94a3b8);
}

.stock-popup__reload {
  font-size: 0.78rem;
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/extranet-compact.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.quote-compact {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  color: var(--sp-ui-text, #171717);
}

.quote-compact-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.quote-compact-header__eyebrow,
.quote-compact-header__meta {
  margin: 0;
  color: var(--sp-ui-text-muted, #666666);
  font-size: 12px;
}

.quote-compact-header h2 {
  margin: 3px 0;
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: 0;
}

.quote-compact-status {
  flex: 0 0 auto;
  max-width: 44%;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.09);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.quote-compact-status.is-readonly {
  background: rgba(82, 82, 82, 0.12);
  color: #404040;
}

.quote-compact-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.quote-compact-actions__quick,
.quote-compact-doc-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.quote-compact-doc-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quote-compact-chip,
.quote-compact-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  gap: 7px;
  border: 1px solid rgba(17, 17, 17, 0.12);
  border-radius: 8px;
  background: #f8fafc;
  color: #111111;
  font-size: 13px;
  font-weight: 700;
}

.quote-compact-action--primary {
  background: #111827;
  color: #ffffff;
}

.quote-compact-chip:disabled,
.quote-compact-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.quote-compact-section {
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.quote-compact-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  background: #f8fafc;
}

.quote-compact-section__header h3 {
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
}

.quote-compact-section__header span {
  color: var(--sp-ui-text-muted, #666666);
  font-size: 12px;
  white-space: nowrap;
}

.quote-compact-section__body {
  padding: 10px;
}

.quote-compact-piece-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.quote-compact-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: 8px;
  background: #ffffff;
}

.quote-compact-card__top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.quote-compact-card h4,
.quote-compact-card p {
  margin: 0;
}

.quote-compact-card h4 {
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
}

.quote-compact-card p,
.quote-compact-card__child {
  color: var(--sp-ui-text-muted, #666666);
  font-size: 12px;
  line-height: 1.25;
}

.quote-compact-card__top > strong {
  flex: 0 0 auto;
  font-size: 13px;
  white-space: nowrap;
}

.quote-compact-card__tools {
  display: flex;
  gap: 8px;
}

.quote-compact-card__tools span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
  font-weight: 700;
}

.quote-compact-card__children {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-left: 14px;
  border-left: 2px solid rgba(17, 17, 17, 0.1);
}

.quote-compact-card__child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.quote-compact-empty {
  margin: 0;
  color: var(--sp-ui-text-muted, #666666);
  font-size: 13px;
}

.quote-compact-summary {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
}

.quote-compact-summary > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
}

.quote-compact-summary__total {
  padding-top: 7px;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
  font-size: 15px;
}

.quote-compact-tablet__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(420px, 1.18fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: start;
}

.quote-compact-tablet__left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.quote-compact-tablet__editor {
  min-width: 0;
}

.quote-compact-sheet-viewport {
  width: 100%;
  max-width: 100%;
  height: calc(100dvh - 64px);
  max-height: calc(100dvh - 64px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(17, 17, 17, 0.1);
  border-radius: 8px;
  background: #e5e7eb;
}

.quote-compact-sheet-spacer {
  position: relative;
  margin: 0 auto;
}

.quote-compact-sheet-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 210mm;
  transform-origin: top left;
}

.quote-compact-zoom {
  display: block;
  align-items: center;
  padding: 0 4px;
}

.quote-compact-zoom__range {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  min-height: 0;
  height: 14px;
  margin: 0;
  background: transparent;
  accent-color: #111827;
}

.compact-phone .quote-compact-zoom__range {
  min-height: 0;
}

.quote-compact-zoom__range::-webkit-slider-runnable-track {
  height: 2px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.22);
}

.quote-compact-zoom__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  margin-top: -5px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: var(--sp-color-accent-orange, #ff6a00);
  box-shadow: 0 1px 3px rgba(17, 17, 17, 0.25);
}

.quote-compact-zoom__range::-moz-range-track {
  height: 2px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.22);
}

.quote-compact-zoom__range::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: var(--sp-color-accent-orange, #ff6a00);
  box-shadow: 0 1px 3px rgba(17, 17, 17, 0.25);
}

@media (max-width: 767px) {
  .quote-compact-phone {
    padding: 0;
  }

  .quote-compact-header {
    align-items: stretch;
    flex-direction: column;
  }

  .quote-compact-status {
    max-width: 100%;
    text-align: left;
  }

  .quote-compact-sheet-viewport {
    height: calc(100dvh - 58px);
    max-height: calc(100dvh - 58px);
  }
}

@media (max-width: 980px) {
  .quote-compact-tablet__grid {
    grid-template-columns: 1fr;
  }
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/quote-sheet-core.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.quote-sheet-stack {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  width: 100%;
}

.quote-sheet-stack .quote-card--a4:not(:last-child) {
  page-break-after: always;
  break-after: page;
}

.quote-card--a4 {
  width: 210mm;
  min-height: 297mm;
  height: auto;
  padding: 10mm 10mm 8mm;
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.quote-card__content {
  position: relative;
  flex: 1 1;
  min-height: var(--quote-content-min-height, calc(297mm - 18mm));
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  overflow: visible;
}

.quote-layout-flow {
  position: static;
  margin-top: var(--quote-flow-offset, auto);
  min-height: var(--quote-flow-min-height, auto);
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  box-sizing: border-box;
  z-index: auto;
  overflow: visible;
  break-inside: avoid;
  page-break-inside: avoid;
}

.quote-layout-flow__section {
  box-sizing: border-box;
  flex: 0 0 auto;
}

.quote-layout-flow__section--totals {
  margin-top: 0;
}

.quote-layout-flow__bottom {
  position: relative;
  margin-top: auto;
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.quote-top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  border-bottom: 1px solid #b9b9b9;
  padding-bottom: 0.35rem;
}

.quote-logo-slot {
  width: 98mm;
  height: 38mm;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
}

.quote-logo {
  width: auto;
  max-height: 30.4mm;
  height: auto;
  margin-bottom: 0;
  display: block;
  position: static;
  cursor: pointer;
}

.quote-top-right {
  text-align: right;
  color: #232323;
  font-size: 10.45px;
  line-height: 1.2;
  position: relative;
}

.quote-title {
  font-weight: 800;
  font-size: 3.135rem;
  color: #111111;
}

.quote-top-right .quote-title.quote-title--order {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  text-align: right;
  font-size: 1.75rem;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
}

.quote-ref {
  font-weight: 700;
  color: #333333;
}

.quote-party {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.quote-party__column {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.quote-box {
  --quote-party-line-height: calc(16.5px * 1.22);
  border: 1px solid #b9b9b9;
  background: #f3f3f3;
  padding: 0.45rem;
  font-size: 16.5px;
  line-height: 1.22;
  height: calc((var(--quote-party-line-height) * 6) + 0.9rem);
  box-sizing: border-box;
  overflow: hidden;
}

.quote-party__main-name {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.05;
}

.quote-party__city-row {
  display: grid;
  grid-template-columns: minmax(44px, max-content) minmax(0, 1fr);
  grid-column-gap: 0.35rem;
  column-gap: 0.35rem;
  align-items: baseline;
  min-width: 0;
}

.quote-party__address-line {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.94em;
  line-height: 1.12;
}

.quote-box--plain {
  background: #ffffff;
}

.quote-box--emetteur {
  border: none;
  background: #f3f3f3;
}

.quote-box--with-site {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.45rem;
  gap: 0.45rem;
}

.quote-client-main {
  min-width: 0;
}

.quote-site-inline__label {
  font-weight: 700;
  font-size: 0.85em;
  color: #555;
  margin-bottom: 0.2rem;
}

.quote-table__head,
.quote-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px 133px 67px 100px;
  grid-gap: 0;
  gap: 0;
  align-items: center;
  font-size: 11px;
}

.quote-table__head {
  font-weight: 800;
  font-size: 22px;
  border-bottom: 1px solid #b9b9b9;
  background: #f7f7f7;
  padding: 0;
}

.quote-table {
  flex: 0 0 auto;
  border: 1px solid #b9b9b9;
}

.quote-table--auto-height {
  min-height: 0;
}

.quote-table__head > span,
.quote-row > span {
  padding: 2px 4px;
  border-right: 1px solid #e1e1e1;
}

.quote-table__head > span {
  border-right-color: #b9b9b9;
}

.quote-table__head > span:first-child {
  padding-left: 8px;
}

.quote-table__head > span:last-child,
.quote-row > span:last-child {
  border-right: none;
}

.quote-row {
  padding: 0;
  border-bottom: 1px solid #e1e1e1;
}

.quote-row > span:nth-child(n+2) {
  font-size: 22px;
}

.quote-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.4rem;
  gap: 0.4rem;
  border-top: 1px solid #b9b9b9;
  padding-top: 0.3rem;
  font-size: 11px;
}

.quote-totals-signature-group {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  break-inside: avoid;
  page-break-inside: avoid;
}

.quote-footer {
  font-size: 9px;
  line-height: 1.2;
  border-top: 1px solid #c7c7c7;
  padding-top: 0.28rem;
  color: #222222;
  position: static;
  margin-top: auto;
  width: 100%;
  text-align: left;
}

.quote-footer__grid {
  column-count: 2;
  column-gap: 1rem;
}

.quote-footer__item {
  display: grid;
  grid-gap: 0.08rem;
  gap: 0.08rem;
  page-break-inside: avoid;
  break-inside: avoid;
  margin: 0 0 0.25rem;
}

.quote-footer__item strong {
  font-size: 9px;
  line-height: 1.12;
}

.quote-footer__item span {
  font-size: 8.5px;
  line-height: 1.16;
  white-space: pre-line;
}

.quote-footer__item--full {
  column-span: all;
}

.quote-footer__meta {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 0.35rem;
  font-size: 8px;
  text-align: center;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/quote-sheet-shell.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
.quote-wrapper {
  display: contents;
}

.quote-page {
  position: relative;
  width: 100%;
  max-width: none;
  --addr-x: 120mm;
  --addr-y: 35mm;
  --addr-w: 80mm;
  --addr-h: 40mm;
  overflow-x: hidden;
}

.quote-sheet-viewport {
  --sheet-zoom: 1;
  width: 100%;
  display: flex;
  justify-content: center;
  overflow: visible;
}

.quote-sheet-viewport__content {
  width: 210mm;
  transform-origin: top center;
  zoom: var(--sheet-zoom);
}

.quote-sheet-viewport--screen .quote-card--a4,
.quote-sheet-viewport--preview .quote-card--a4 {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
  border: 1px solid #b9b9b9;
  border-radius: 0;
}

.quote-sheet-viewport--pdf {
  display: block;
  width: 210mm;
  min-height: 297mm;
  background: #ffffff;
  overflow: visible;
}

.quote-sheet-viewport--pdf .quote-sheet-viewport__content {
  width: 210mm;
  max-width: none;
  zoom: 1;
}

.quote-sheet-viewport--pdf .quote-card--a4 {
  width: 210mm;
  min-height: 297mm;
  max-width: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
}

.quote-sheet-viewport--pdf .quote-sheet-stack {
  gap: 0;
}

.quote-sheet-viewport--pdf .quote-card__content {
  gap: 0.3rem;
}

.quote-sheet-viewport--pdf .editable-layout-item__content,
[data-pdf-ready] .editable-layout-item__content {
  overflow: visible;
}

/* PDF-only: align designation font size with numeric columns */
.quote-sheet-viewport--pdf .quote-row {
  font-size: 22px;
}

/* PDF-only: let company box expand to show all fields (website etc.) */
.quote-sheet-viewport--pdf .quote-box {
  height: auto;
  min-height: calc((var(--quote-party-line-height) * 6) + 0.9rem);
  overflow: visible;
}

/* PDF-only: equal height boxes in the party row */
.quote-sheet-viewport--pdf .quote-party__column {
  grid-template-rows: auto 1fr;
}
.quote-sheet-viewport--pdf .quote-party__column .quote-box {
  height: 100%;
  box-sizing: border-box;
}

.quote-print-root {
  width: 210mm;
  min-height: 297mm;
  background: #ffffff;
}

@supports not (zoom: 1) {
  .quote-sheet-viewport__content {
    transform: scale(var(--sheet-zoom));
  }
}

@page {
  size: A4;
  margin: 0;
}

@media print {
  body.print-quote-only > *:not(.quote-print-root),
  body.print-quote-only .no-print,
  body.print-quote-only button,
  body.print-quote-only input,
  body.print-quote-only textarea,
  body.print-quote-only select {
    display: none !important;
  }

  body.print-quote-only .quote-print-root,
  body.print-quote-only .quote-print-root * {
    visibility: visible !important;
  }

  .quote-print-root,
  .quote-sheet-viewport,
  .quote-sheet-viewport__content {
    overflow: visible !important;
  }

  .quote-print-root {
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
  }

  .quote-sheet-viewport {
    display: block;
    width: 210mm !important;
  }

  .quote-sheet-viewport__content {
    width: 210mm !important;
    max-width: none !important;
    zoom: 1 !important;
    transform: none !important;
  }

  .quote-card--a4 {
    width: 210mm;
    min-height: 297mm;
    box-shadow: none;
    border: none;
    border-radius: 0;
  }

  .quote-sheet-stack {
    gap: 0;
  }
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/production.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
/* Production / A produire panels */
.page-prod .app-main {
  padding-left: 0;
  padding-right: 0;
}

.page-prod .panel-title,
.page-prod .panel-card {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  background: var(--sp-theme-panel-bg);
  padding: 0;
}

.panel-card {
  background: var(--sp-theme-card-bg);
  border: 2px solid var(--sp-theme-card-border);
  box-shadow: var(--sp-theme-card-shadow);
  padding: 0;
  overflow: visible;
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin-top: 0 !important;
}

.panel-card .sp-grid-bottom {
  flex: 1 1;
  min-height: 0;
  height: 100%;
  overflow: auto;
}

.grid-frame {
  padding: 0.75rem;
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: relative;
}

.grid-frame .sp-grid-bottom {
  flex: 1 1;
  min-height: 0;
  height: 100%;
}

.panel-left .grid-frame,
.panel-right .grid-frame {
  padding: 0.35rem;
  border-radius: 0 0 6px 6px;
  flex: 1 1;
  min-height: 0;
  height: 100%;
}

.panel-left .panel-card,
.panel-right .panel-card {
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}

.panel-right .sp-grid-bottom {
  height: 100%;
}

.panel-card .panel-title {
  margin-bottom: 0.1rem;
}

/* Largeur prod = inset comme admin, sans toucher l'admin */
.page-prod .app-main {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.panel + .panel {
  margin-top: 0;
}

.panel:first-of-type {
  margin-top: 0;
}

.panel-left {
  position: -webkit-sticky;
  position: sticky;
  top: var(--sp-main-pad);
  z-index: 12;
  box-shadow: none;
  flex: none;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: visible;
}

.panel-left .panel-card {
  flex: none;
  min-height: 0;
  height: auto;
}

.panel-left .sp-grid-bottom {
  flex: none;
  min-height: 0;
  height: auto;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  box-shadow: none;
}

.panel-title {
  margin-bottom: 0 !important;
  box-sizing: border-box;
}

.panel-title.with-count {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.panel-title .title-text {
  flex: 1 1;
  text-align: center;
}

.panel-title .title-count {
  position: absolute;
  right: 1rem;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.04rem;
}

.panel-title .production-title-right,
.production-stock-placeholder__header .production-title-right,
.stock-page__header .production-title-right {
  position: absolute;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 800;
  line-height: 1;
}

.panel-title .production-title-right .title-count {
  position: static;
  right: auto;
}

.production-section-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.production-section-toggle__button {
  height: 1.25rem;
  padding: 0 0.5rem;
  border: 1px solid rgba(255, 143, 42, 0.72);
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.86);
  color: #ffffff;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02rem;
  white-space: nowrap;
  cursor: pointer;
}

.production-section-toggle__button:hover,
.production-section-toggle__button:focus-visible {
  background: rgba(255, 143, 42, 0.18);
  border-color: var(--sp-color-accent-orange);
  outline: none;
}

.production-stock-placeholder {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  padding: 0.6rem 0.5rem;
  overflow: auto;
}

.production-stock-placeholder__header {
  position: relative;
}

.production-stock-placeholder__card {
  max-width: 760px;
  width: min(760px, 100%);
  margin: 0 auto;
}

.page-prod .panel-title-prod,
.page-prod .panel-title-aprod,
.page-prod .history-header,
.page-prod .stock-page__header {
  padding-top: 0.4725rem;
  padding-bottom: 0.4725rem;
  min-height: 2.9rem;
  font-size: 1.1025rem;
  border-bottom-width: 2px;
}

.page-prod .panel-title-prod,
.page-prod .panel-title-aprod {
  border-radius: 8px 8px 0 0;
}

.page-prod .panel-title-prod .panel-main-title,
.page-prod .panel-title-aprod .panel-main-title,
.page-prod .history-title-spaced {
  font-size: 1.1025rem;
}

.page-prod .panel-title-prod .panel-main-title,
.page-prod .panel-title-aprod .panel-main-title {
  position: absolute;
  top: 50%;
  left: 50% !important;
  display: inline-block;
  font-weight: 800;
  letter-spacing: 0;
  text-align: center;
  transform: translate(-50%, -50%);
  white-space: pre;
}

.page-prod .panel-title-prod .panel-main-title *,
.page-prod .panel-title-aprod .panel-main-title * {
  letter-spacing: 0;
}

.page-prod .panel-title-prod .level-one-view-title-switch,
.page-prod .panel-title-prod .level-one-view-title-switch__main {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.page-prod .panel-title-prod .title-count,
.page-prod .panel-title-aprod .title-count,
.page-prod .history-week {
  font-size: 0.665rem;
}

.page-prod .panel-title .title-btn {
  padding: 0.21rem 0.56rem;
  font-size: 0.56rem;
}

.page-prod .panel-title-aprod .title-btn {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #ffffff;
}

.page-prod .panel-title-aprod .title-btn:hover,
.page-prod .panel-title-aprod .title-btn:focus-visible,
.page-prod .panel-title-aprod .title-btn.active {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sp-color-accent-orange);
  outline: none;
}

.panel-right .panel-title {
  position: relative;
}

.panel-right {
  flex: 1 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.panel-right .sp-grid-bottom {
  flex: 1 1;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  box-shadow: none;
}

.panel-right .sp-grid-bottom .ag-body-viewport {
  overflow-y: auto !important;
}

.panel-left .ag-pinned-bottom .ag-row {
  min-height: 23px;
  height: 23px !important;
}

.panel-left .ag-pinned-bottom .ag-cell {
  font-weight: 900 !important;
  background: transparent;
  justify-content: flex-start !important;
  align-items: center;
  padding-left: 6px !important;
  padding-right: 6px !important;
  font-size: 0.65rem !important;
  line-height: normal !important;
  overflow: hidden;
}

.panel-left .ag-pinned-bottom .ag-cell[col-id="tr"] {
  justify-content: flex-start !important;
}

.panel-left .ag-pinned-bottom .ag-cell .ag-cell-value {
  font-weight: 900 !important;
  font-size: 0.65rem !important;
  display: flex;
  align-items: center;
  min-height: 100%;
  height: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.title-actions-left-aprod {
  position: absolute;
  left: 0.8rem;
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  align-content: center;
  row-gap: 0.3rem;
  justify-self: start;
  margin-left: 0.55rem;
}

.page-prod .users-connected .users-label {
  font-size: 0.525rem;
}

.page-prod .panel-title .user-badge {
  width: 21.6px;
  height: 21.6px;
  font-size: 0.792rem;
}

.panel-title-aprod.with-count {
  display: flex;
  justify-content: center;
  align-items: center;
}

.panel-title-aprod.with-count .title-text {
  min-width: 0;
  justify-content: center;
}

.panel-title-aprod.with-count .title-count {
  position: absolute;
  right: 1rem;
  margin-right: 0;
  white-space: nowrap;
}

/* Production / A produire AG Grid */
.sp-grid {
  width: 100% !important;
  box-sizing: border-box;
}

.ag-theme-quartz {
  width: 100% !important;
  box-sizing: border-box;

  --sp-production-grid-scale: 0.7;
  --ag-background-color: #ffffff;
  --ag-odd-row-background-color: #f6f7fb;
  --ag-foreground-color: #1f1f1f;

  /* === NOUVELLES VARIABLES V34 === */
  --ag-header-row-background-color: #b00000 !important;
  --ag-header-cell-background-color: #b00000 !important;
  --ag-header-cell-text-color: #ffffff !important;

  /* Bordures + hover */
  --ag-borders: #c2c6d0;
  --ag-row-hover-color: #f2f4f9;

  --ag-header-height: 29px;
  --ag-row-height: 23px;
  --ag-font-size: 0.58rem;
  --ag-cell-horizontal-padding: 6px;
  --ag-spacing: 4px;
  --ag-icon-size: 11px;
  --ag-list-item-height: 20px;
}

.theme-dark .ag-theme-quartz {
  --ag-background-color: #1a2330;
  --ag-odd-row-background-color: #202a38;
  --ag-foreground-color: #e6edf7;
  --ag-borders: #364455;
  --ag-row-hover-color: #2a3647;
  --ag-header-row-background-color: #7f1111 !important;
  --ag-header-cell-background-color: #7f1111 !important;
  --ag-header-cell-text-color: #ffffff !important;
}

.ag-theme-quartz .ag-header-cell-label {
  font-weight: 700;
  justify-content: center;
}

.ag-theme-quartz .ag-header-cell-label {
  font-weight: 700;
  text-align: center;
}

.cell-red {
  background-color: var(--sp-color-danger-bg) !important;
  color: var(--sp-color-danger-text) !important;
}

.cell-green {
  background-color: var(--sp-color-validation-bg) !important;
  color: var(--sp-color-validation-text) !important;
  font-weight: 800 !important;
}

.cell-orange {
  background-color: var(--sp-color-accent-orange) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
}

.cell-orange-text {
  color: var(--sp-color-accent-orange) !important;
  font-weight: 800 !important;
}

.cell-green-text {
  color: var(--sp-color-validation-bg) !important;
  font-weight: 800 !important;
}

.cell-green-black {
  background-color: var(--sp-color-validation-bg) !important;
  color: #111111 !important;
  font-weight: 800 !important;
}

.cell-green-black-outline {
  background-color: var(--sp-color-validation-bg) !important;
  color: #111111 !important;
  font-weight: 800 !important;
  box-shadow: inset 0 0 0 2px #111111 !important;
}

.cell-green-red {
  background-color: var(--sp-color-validation-bg) !important;
  color: #d10000 !important;
  font-weight: 800 !important;
  box-shadow: inset 0 0 0 2px #d10000 !important;
}

.ag-theme-quartz .ag-cell.cell-locked-by-other {
  cursor: not-allowed !important;
}

.ag-theme-quartz .ag-cell.cell-focused-and-locked-by-other {
  cursor: not-allowed !important;
}

.ag-theme-quartz .ag-cell.cell-focused-by-other {
  box-shadow: none !important;
}

.ag-theme-quartz .ag-cell.cell-focused-by-other::after {
  content: none !important;
}

.ag-theme-quartz .ag-cell.cell-focused-and-locked-by-other {
  box-shadow: none !important;
}

.ag-theme-quartz .ag-cell.cell-focused-and-locked-by-other::after {
  content: none !important;
}

.sp-focus-overlays {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 15;
}

.sp-focus-overlay-item {
  position: absolute;
}

.sp-focus-overlay-fill {
  position: absolute;
  inset: 0;
  border-radius: 2px;
}

.sp-focus-overlay-ring {
  position: absolute;
  inset: 0;
  border-radius: 2px;
}

.sp-focus-overlay-badges {
  position: absolute;
  right: 0;
  top: 0;
}

.sp-focus-overlay-badge {
  position: absolute;
  right: 2px;
  top: 2px;
  min-width: 16px;
  height: 14px;
  line-height: 14px;
  border-radius: 7px;
  padding: 0 4px;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
  color: #ffffff;
  white-space: nowrap;
}

.ag-theme-quartz .ag-row:not(.aprod-group-row):not(.aprod-subtotal-row) .ag-cell.cell-red .ag-cell-value,
.ag-theme-quartz .ag-row:not(.aprod-group-row):not(.aprod-subtotal-row) .ag-cell.cell-orange .ag-cell-value {
  color: #000000 !important;
}

.cell-ar-default {
  background-color: transparent !important;
  color: inherit !important;
}

.cell-neutral {
  background-color: transparent !important;
  color: inherit !important;
}

.ag-theme-quartz .aprod-subtotal-row .ag-cell.cell-neutral,
.ag-theme-quartz .row-total .ag-cell.cell-neutral,
.ag-theme-quartz .sp-row-total .ag-cell.cell-neutral {
  background-color: inherit !important;
}

.ag-theme-quartz .ag-cell[col-id="ar"] .ag-cell-value {
  color: #000000 !important;
}

.cell-prod {
  background-color: transparent !important;
  color: inherit !important;
}

.ag-theme-quartz .ag-row:not(.aprod-subtotal-row) .ag-cell.cell-depart:not(.cell-orange-text):not(.cell-green-text):not(.cell-green-black):not(.cell-green-black-outline):not(.cell-green-red) {
  background-color: transparent !important;
  color: inherit !important;
}

.cell-om {
  background-color: var(--sp-color-validation-bg) !important;
  color: var(--sp-color-validation-text) !important;
  font-weight: 800 !important;
}

/* ========================================================= */
/*  HEADER AG GRID : FOND ROUGE APPLICATION + TEXTE BLANC           */
/* ========================================================= */

.ag-theme-quartz .ag-header,
.ag-theme-quartz .ag-header-viewport,
.ag-theme-quartz .ag-header-row,
.ag-theme-quartz .ag-header-cell,
.ag-theme-quartz .ag-header-group-cell {
  background-color: #b00000 !important;
  color: #ffffff !important;
}

/* le texte à l'intérieur de la cellule d’en-tête */
.ag-theme-quartz .ag-header-cell-text {
  color: #ffffff !important;
  font-size: 0.58rem;
  line-height: 1.05;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* on garde le centrage + gras */
.ag-theme-quartz .ag-header-cell-label {
  font-weight: 700;
  justify-content: center;
}

.page-prod .sp-grid-top,
.page-prod .sp-grid-bottom {
  height: auto;
  min-height: 0;
}

/* ===== ALIGNEMENT DU TEXTE ===== */

/* Keep AG Grid native cell layout; center content via cell value container only. */
.ag-theme-quartz.sp-grid .ag-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  overflow: hidden;
  min-width: 0;
  border-right: 1px solid rgba(0, 0, 0, var(--sp-prod-vertical-separator-opacity)) !important;
}

.ag-theme-quartz.sp-grid .ag-row {
  border-bottom: 1px solid rgba(0, 0, 0, var(--sp-prod-separator-opacity)) !important;
}

.ag-theme-quartz.sp-grid .ag-cell .ag-cell-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
}

.ag-theme-quartz.sp-grid .ag-cell .ag-cell-value {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.58rem;
  line-height: 1.05;
}

.ag-theme-quartz.sp-grid .ag-cell[col-id="commentaires"] .ag-cell-value {
  text-align: left;
}

.ag-theme-quartz.sp-grid .ag-header-cell-label {
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
}

.ag-theme-quartz.sp-grid .ag-header-cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ag-theme-quartz.sp-grid .ag-header-cell .ag-header-cell-label {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep app grid alignment driven by our row/cell styles, not AG numeric auto-right alignment. */
.ag-theme-quartz.sp-grid .ag-right-aligned-cell {
  text-align: center !important;
}

.ag-theme-quartz.sp-grid .ag-right-aligned-cell .ag-cell-value,
.ag-theme-quartz.sp-grid .ag-right-aligned-cell .ag-group-value,
.ag-theme-quartz.sp-grid .ag-right-aligned-cell .ag-skeleton-effect {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ag-theme-quartz .marker-row {
  font-weight: 900;
  font-size: 0.76rem;
}

.ag-theme-quartz .aprod-group-row .ag-cell {
  background: #000000 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: 0.64rem !important;
}

.ag-theme-quartz .sp-row-total .ag-cell[col-id="prod"],
.ag-theme-quartz .sp-row-total .ag-cell[col-id="prod"] .ag-cell-value {
  color: #000000 !important;
}

.ag-theme-quartz .sp-row-total.is-holiday .ag-cell.production-holiday-cell {
  justify-content: center;
  background: #000000 !important;
  color: #ff7a00 !important;
}

.ag-theme-quartz .production-holiday-label {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  overflow: visible;
  text-align: center;
  font-size: 0.64rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.ag-theme-quartz .aprod-group-row .ag-cell .ag-cell-value {
  line-height: 1;
}

.ag-theme-quartz .blocked-row .ag-cell {
  background: #ff9999 !important;
  color: #000 !important;
}

.ag-theme-quartz .prod-archived-row .ag-cell {
  opacity: 0.75;
  background: #cfe9d7 !important;
  color: #0f3f2d !important;
}

.ag-theme-quartz .prod-pas-fait-row .ag-cell {
  background: #ffe7bf !important;
  color: #111111 !important;
}

.ag-theme-quartz .ag-cell.cell-prod-pas-fait {
  background: #ffd7a1 !important;
  color: #111111 !important;
  font-weight: 800 !important;
}

.ag-theme-quartz .ag-cell.cell-prod-blank {
  background: transparent !important;
  color: inherit !important;
  font-weight: 700 !important;
}

/* Hover : léger zoom uniquement (pas de fond ni ombre) */
.ag-theme-quartz
  .ag-row-hover:not(.ag-row-pinned):not(.aprod-group-row):not(.blocked-row)
  .ag-cell {
  font-weight: 700 !important;
  font-family: inherit;
}

/* En-tête des colonnes PROD (6e colonne) en jaune */
.ag-theme-quartz .ag-header-cell[col-id="prod"],
.ag-theme-quartz .ag-header-cell.col-prod-yellow {
  background: #ffd200 !important;
  color: #000 !important;
}

.ag-theme-quartz .aprod-subtotal-row .ag-cell {
  background: var(--sp-aprod-tc-marker-bg, #f2f2f2) !important;
  color: var(--sp-aprod-tc-marker-color, #111111) !important;
  font-weight: 900 !important;
  font-size: 0.64rem !important;
  height: 100% !important;
  line-height: 1 !important;
  align-items: center !important;
  justify-content: center !important;
}

.ag-theme-quartz .aprod-subtotal-row .ag-cell-wrapper,
.ag-theme-quartz .aprod-subtotal-row .ag-cell-value {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  line-height: 1 !important;
}

.ag-theme-quartz .row-total.ag-row-selected .ag-cell,
.ag-theme-quartz .row-total .ag-cell.ag-cell-focus,
.ag-theme-quartz .row-total .ag-cell:focus {
  outline: none !important;
  box-shadow: none !important;
}

.ag-theme-quartz .ag-full-width-row.row-total .ag-cell-wrapper {
  width: 100%;
  padding: 0 !important;
}

.ag-theme-quartz .touch-drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0;
  color: #444;
  cursor: -webkit-grab;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ag-theme-quartz .touch-drag-handle.armed {
  color: #000;
  font-weight: 700;
}

/* Drag & drop : rendu plus nerveux */
.ag-theme-quartz .ag-row-dragging {
  opacity: 1 !important;
  transform: scale(1.005);
  transition: transform 0.05s ease-out;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.16);
  cursor: -webkit-grabbing;
  cursor: grabbing;
  font-weight: 800 !important;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(126, 34, 206, 0.18) 0 10px,
    rgba(126, 34, 206, 0.06) 10px 20px
  ) !important;
}

.ag-theme-quartz .ag-row-dragging .ag-cell {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  background: transparent !important;
}

.ag-theme-quartz .ag-row.ag-row-dragging {
  transition: none;
}

.ag-theme-quartz .ag-dnd-ghost {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0.08 !important;
}

.ag-theme-quartz .ag-dnd-ghost-icon,
.ag-theme-quartz .ag-dnd-ghost-label {
  opacity: 0 !important;
}

.panel-card.sp-cross-grid-drop-target .grid-frame::after {
  content: "";
  position: absolute;
  inset: 0.75rem;
  z-index: 20;
  pointer-events: none;
  border-radius: 4px;
  background:
    radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.42), transparent 34%),
    radial-gradient(circle at 78% 72%, rgba(255, 255, 255, 0.34), transparent 30%),
    rgba(245, 245, 248, 0.38);
  -webkit-backdrop-filter: blur(1.6px) saturate(0.92);
          backdrop-filter: blur(1.6px) saturate(0.92);
}

.sp-grid .ag-cell {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.sp-grid .ag-cell-wrapper {
  position: relative;
}

.sp-grid .ag-row-drag {
  position: absolute !important;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.sp-grid .ag-row-drag,
.sp-grid .ag-icon-grip {
  display: none !important;
}

.sp-grid .ag-row-drag.ag-invisible {
  display: none !important;
}

/* Commentaires : alignés à gauche */
.ag-theme-quartz .ag-cell[col-id="commentaires"] {
  justify-content: flex-start;
}

.ag-theme-quartz .ag-tooltip {
  white-space: pre-line;
}

/* Indicateur de commentaire sur la colonne client */
.ag-theme-quartz .client-cell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-align: center;
}

.comments-disabled .ag-theme-quartz .client-comment-icon {
  display: none;
}

.ag-theme-quartz .client-comment-icon {
  width: 11px;
  height: 10px;
  flex: 0 0 11px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='28' viewBox='0 0 32 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.75' y='1.75' width='28.5' height='20.5' rx='6' stroke='%23e95420' stroke-width='3'/%3E%3Cpath d='M10 22 L6.5 26.5 L13 22' stroke='%23e95420' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ag-theme-quartz .client-text {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-theme-quartz .sav-row .ag-cell {
  background: #efefef !important;
}

/* Priorite au fond FAIT (meme si la ligne est SAV). */
.ag-theme-quartz .prod-archived-row.sav-row .ag-cell,
.ag-theme-quartz .prod-archived-row .ag-cell {
  background: var(--sp-prod-done-row-bg) !important;
  color: var(--sp-prod-done-row-text) !important;
}

.ag-theme-quartz .sav-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 1px 4px;
  border-radius: 999px;
  background: #222;
  color: #fff;
  font-size: 0.43rem;
  font-weight: 700;
  line-height: 1.15;
}

.ag-theme-quartz .ag-cell.client-text-orange .client-text {
  color: var(--sp-color-accent-orange) !important;
  font-weight: 800 !important;
}

.ag-theme-quartz .ag-cell.client-text-red .client-text {
  color: var(--sp-color-danger-bg) !important;
  font-weight: 900 !important;
}

.ag-theme-quartz .ag-cell.affaire-text-orange .ag-cell-value {
  color: var(--sp-color-accent-orange) !important;
  font-weight: 800 !important;
}

.ag-theme-quartz .ag-cell.affaire-text-red .ag-cell-value {
  color: var(--sp-color-danger-bg) !important;
  font-weight: 900 !important;
}

/* Desktop search-light history (React list, AG-like visual) */
.history-search-desktop {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.45rem 0.5rem;
  height: 100%;
  overflow: auto;
}

.history-search-desktop__title {
  margin: 0;
  font-size: 1.6rem;
  padding: 0.7rem 0.9rem;
  letter-spacing: 0.16rem;
}

.history-search-desktop__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #000000;
  color: #ffffff;
  border-bottom: 2px solid var(--sp-color-accent-orange);
  padding: 0.35rem 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-size: 0.8rem;
}

.history-search-desktop__table {
  border: 2px solid #000;
  background: #d9d9d9;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.2);
  min-height: 0;
  overflow: auto;
}

.history-search-desktop__head,
.history-search-desktop__day-head,
.history-search-desktop__row {
  display: grid;
  grid-template-columns: 70px 90px minmax(180px, 1.3fr) minmax(110px, 1fr) minmax(120px, 1fr) minmax(100px, 0.85fr) 64px 90px 90px minmax(120px, 1fr);
}

.history-search-desktop__head {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  background: #b00000;
  color: #ffffff;
}

.history-search-desktop__body {
  background: #f5f5f5;
}

.history-search-desktop__day-head {
  background: #b00000;
  color: #ffffff;
  border-top: 1px solid #8e0000;
}

.history-search-desktop__separator {
  background: #000000 !important;
  color: #ffffff !important;
  border-bottom: 3px solid var(--sp-color-accent-orange) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 12px;
  gap: 12px;
  padding: 0.35rem 0.6rem;
  font-size: 0.39rem !important;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap !important;
  min-height: 0 !important;
}

.history-search-desktop__separator span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

.history-search-desktop__separator span:last-child {
  margin-left: auto;
  white-space: nowrap !important;
}

.history-search-desktop__row {
  border-top: 1px solid #d3d3d3;
  min-height: 44px;
}

.history-search-desktop__row:hover {
  background: #fff1e8;
}

.history-search-desktop__row--clickable {
  cursor: pointer;
}

.history-search-desktop__row--clickable:focus-visible {
  outline: 2px solid var(--sp-color-accent-orange);
  outline-offset: -2px;
}

.history-search-desktop__cell {
  min-width: 0;
  padding: 0.56rem 0.6rem;
  border-right: 1px solid #e3e3e3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.05rem;
  line-height: 1.15;
}

.history-search-desktop__cell:last-child {
  border-right: none;
}

.history-search-desktop__cell--head {
  font-weight: 800;
  letter-spacing: 0.03em;
  border-right: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 0.92rem;
}

.history-search-desktop__cell--day-head {
  font-weight: 800;
  letter-spacing: 0.03em;
  border-right: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 0.66rem;
}

.history-search-desktop__empty {
  padding: 1rem;
  color: #333;
  font-weight: 700;
}

.history-search-desktop .hsr-col-jour,
.history-search-desktop .hsr-col-prod,
.history-search-desktop .hsr-col-ep {
  text-align: center;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/stock.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
.stock-page {
  --sp-ui-surface: #171717;
  --sp-ui-surface-soft: #0f0f0f;
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: #4a4a4a;
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  padding: 0.6rem 0.5rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    var(--sp-ui-surface-soft);
  color: var(--sp-ui-text);
  overflow: auto;
}

.stock-page__header {
  position: relative;
  flex: 0 0 auto;
}

.stock-page__shell {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  min-height: 0;
  flex: 1 1 auto;
  border: 1px solid rgba(255, 143, 42, 0.75);
  border-radius: 14px;
  border-color: rgba(255, 143, 42, 0.75);
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text);
  overflow: hidden;
  box-shadow: inset 0 0 0 6px #000000, 0 10px 18px rgba(0, 0, 0, 0.25);
}

.stock-hub-page {
  min-height: 0;
}

.stock-hub-tabs {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.stock-hub-content {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.stock-hub-content > .anticipation-page,
.stock-hub-content > .stock-page,
.stock-hub-content > .sp-card-1 {
  min-height: 0;
  flex: 1 1 auto;
}

.stock-page--embedded {
  gap: 0;
  padding: 0;
  background: transparent;
  overflow: hidden;
}

.app-root:not(.compact-root) .stock-page.sp-common-view {
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root:not(.compact-root) .stock-page.sp-common-view .stock-page__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.app-root:not(.compact-root) .stock-page.sp-common-view .stock-page__body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.app-root:not(.compact-root) .stock-page.sp-common-view .stock-page__shell {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
}

.app-root:not(.compact-root) .stock-page:not(.stock-page--embedded),
.app-root:not(.compact-root) .projects-content > .stock-page:not(.level-one-view-split) {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-muted: rgba(226, 232, 240, 0.68);
  padding: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.9);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    #1f1f1f;
  color: #f8fafc;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.app-root:not(.compact-root) .stock-page.sp-common-view,
.app-root:not(.compact-root) .projects-content > .stock-page.sp-common-view {
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.app-root:not(.compact-root) .stock-hub-content > .stock-page--embedded {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .stock-page .stock-page__header {
  padding: var(--sp-common-content-title-row-padding);
  border-bottom: 1px solid var(--sp-common-content-title-divider);
}

.app-root:not(.compact-root) .stock-page .history-title-spaced {
  font-size: var(--sp-common-content-title-size);
  line-height: var(--sp-common-content-title-line-height);
  font-weight: var(--sp-common-content-title-font-weight);
}

.stock-page .settings-form-section,
.stock-page .settings-field,
.stock-page .settings-readonly-field {
  color: var(--sp-ui-text);
}

.stock-page .admin-edit-btn.settings-actions__secondary,
.stock-page .settings-actions__secondary {
  color: var(--sp-ui-text);
}

.stock-page .admin-edit-btn.settings-actions__secondary:hover,
.stock-page .settings-actions__secondary:hover {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 143, 42, 0.12);
  color: #ffffff;
}

.stock-page .settings-field > span,
.stock-page .settings-form-section__header p {
  color: var(--sp-ui-text-muted);
}

.stock-page .admin-input,
.stock-page .settings-input {
  border-color: rgba(255, 255, 255, 0.16);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.stock-page .admin-input:focus,
.stock-page .settings-input:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
  outline: none;
}

.stock-page .admin-input::placeholder,
.stock-page .settings-input::placeholder {
  color: rgba(226, 232, 240, 0.34);
}

.stock-page .admin-input option,
.stock-page .settings-input option {
  background: #101010;
  color: var(--sp-ui-text);
}

.stock-page .anticipation-section-head p,
.stock-page .anticipation-placeholder p,
.stock-page .anticipation-group p {
  color: var(--sp-ui-text-muted);
}

.stock-page .anticipation-group,
.stock-page .anticipation-placeholder {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.055);
  color: var(--sp-ui-text);
}

.stock-page .anticipation-group.active {
  border-color: var(--sp-color-accent-orange);
  box-shadow: inset 0 0 0 1px rgba(255, 143, 42, 0.9);
}

.stock-page .anticipation-group small {
  color: var(--sp-ui-text-muted);
}

/* ── Stock/Emplacements split layout helpers ─────────────────────────────────── */

/* Non-embedded shell (sp-common-view context): same dense left panel */
.app-root:not(.compact-root) .stock-page__shell .level-one-view-menu {
  gap: 2px;
  padding: 0.4rem;
}

/* Section label in left panel */
.stock-left-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0.35rem 0.1rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(226,232,240,0.4);
}

/* Create row: input + button side by side */
.stock-create-row {
  display: flex;
  gap: 0.3rem;
  align-items: center;
}

.stock-create-row .stock-list-panel__search-input {
  flex: 1 1;
  min-width: 0;
}

/* Small orange action button */
.stock-create-btn {
  padding: 0.28rem 0.55rem;
  border: 1px solid rgba(249,115,22,0.4);
  border-radius: 5px;
  background: rgba(249,115,22,0.12);
  color: #fb923c;
  font-size: 0.7rem;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.12s;
}

.stock-create-btn:hover:not(:disabled) { background: rgba(249,115,22,0.22); }
.stock-create-btn:disabled { opacity: 0.4; cursor: default; }

/* New plan quick form */
.stock-new-plan-form {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

/* ── Stock item card in list ─────────────────────────────────────────────────── */

.stock-list-panel__search-input {
  width: min(360px, 100%);
  margin: 0;
}

.stock-controls .stock-list-panel__search-input.level-one-view-body-select {
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
}

.stock-controls .stock-list-panel__search-input.level-one-view-body-select::placeholder {
  color: rgba(226,232,240,0.38);
}

.stock-controls .stock-list-panel__search-input.level-one-view-body-select:focus {
  border-color: rgba(249,115,22,0.65);
  background: rgba(255,255,255,0.08);
}

.stock-list-panel__filters {
  padding: 0;
}

.stock-list-panel__filter-btn {
  min-height: 28px;
  padding-inline: 0.45rem;
  font-size: 0.72rem;
}

.stock-controls .stock-list-panel__filter-btn.level-one-view-body-action {
  border: 0;
  background: transparent;
  color: var(--sp-ui-text-muted, rgba(226, 232, 240, 0.72));
  box-shadow: none;
}

.stock-controls .stock-list-panel__filter-btn.level-one-view-body-action:hover,
.stock-controls .stock-list-panel__filter-btn.level-one-view-body-action:focus-visible,
.stock-controls .stock-list-panel__filter-btn.level-one-view-body-action.is-active {
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  box-shadow: none;
}

.stock-list-panel__loading,
.stock-list-panel__empty {
  padding: 1rem 0.75rem;
  font-size: 0.775rem;
  color: rgba(226,232,240,0.45);
  text-align: center;
}

.stock-list-panel__footer {
  padding: 0.3rem 0.75rem;
  font-size: 0.68rem;
  color: rgba(226,232,240,0.35);
  border-top: 1px solid rgba(255,255,255,0.06);
  flex-shrink: 0;
}

.stock-item-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0.65rem;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: transparent;
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  transition: background 0.1s;
}

.stock-item-card:hover { background: rgba(255,255,255,0.055); }

.stock-item-card--active {
  background: rgba(255,255,255,0.09);
  border-left: 2px solid var(--sp-color-accent, #f97316);
  padding-left: calc(0.65rem - 2px);
}

.stock-item-card__row1 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.stock-item-card__title {
  font-size: 0.775rem;
  font-weight: 600;
  flex: 1 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stock-item-card__type {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.45);
  flex-shrink: 0;
}

.stock-item-card__row2 {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.stock-item-card__dim,
.stock-item-card__batch,
.stock-item-card__supplier {
  font-size: 0.68rem;
  color: rgba(226,232,240,0.55);
}

.stock-item-card__batch { color: rgba(249,115,22,0.75); }
.stock-item-card__photo-badge { font-size: 0.65rem; }

.stock-item-card__location {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.4);
}

.stock-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ── Stock detail panel ──────────────────────────────────────────────────────── */

.stock-detail-panel {
  overflow-y: auto;
  min-width: 0;
}

.stock-table-view {
  display: grid;
  grid-template-rows: auto minmax(190px, 0.9fr) minmax(220px, 1fr);
  grid-gap: 0.5rem;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.stock-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(0,0,0,0.16);
}

.stock-table-shell {
  min-height: 0;
  overflow: auto;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(0,0,0,0.18);
}

.stock-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  color: #f1f5f9;
  font-size: 0.75rem;
}

.stock-table th,
.stock-table td {
  padding: 0.42rem 0.55rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.stock-table__photo-head,
.stock-table__photo-cell {
  width: 42px;
  text-align: center !important;
}

.stock-table__photo-btn.level-one-view-body-action {
  width: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  color: rgba(226,232,240,0.58);
}

.stock-table__photo-btn.level-one-view-body-action:hover,
.stock-table__photo-btn.level-one-view-body-action:focus-visible,
.stock-table__photo-btn.level-one-view-body-action.is-active {
  color: var(--sp-color-accent-orange);
}

.stock-table th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
  background: #111111;
  color: rgba(226,232,240,0.62);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.stock-table tbody tr {
  cursor: pointer;
}

.stock-table tbody tr:hover,
.stock-table tbody tr.is-active {
  background: rgba(249,115,22,0.1);
}

.stock-table__state {
  height: 7rem;
  color: rgba(226,232,240,0.42);
  text-align: center !important;
}

.stock-table-view__detail {
  min-height: 0;
  overflow: auto;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(0,0,0,0.18);
}

.stock-body-split {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  grid-gap: 0;
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(0,0,0,0.18);
}

.stock-body-split__rail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  border-right: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.16);
}

.stock-body-split__main {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
}

.stock-detail-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(226,232,240,0.35);
  font-size: 0.85rem;
}

.stock-detail {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

.stock-detail__header {
  padding: 0.85rem 1rem 0.65rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.stock-detail__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f1f5f9;
  margin-bottom: 0.35rem;
}

.stock-detail__badges {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.stock-detail__badge {
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.1rem 0.45rem;
  border-radius: 4px;
  background: rgba(255,255,255,0.08);
  color: rgba(226,232,240,0.75);
}

.stock-detail__badge--status {
  background: rgba(255,255,255,0.04);
}

.stock-detail__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0;
  gap: 0;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.stock-detail__grid--compact { padding: 0; gap: 0.5rem; }

.stock-detail__field {
  display: flex;
  flex-direction: column;
  padding: 0.25rem 0;
  gap: 0.08rem;
}

.stock-detail__field span {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.45);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.stock-detail__field strong {
  font-size: 0.78rem;
  color: #f1f5f9;
  font-weight: 500;
}

.stock-detail__field-label {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.stock-detail__field-label span {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.45);
}

.stock-detail__section {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.stock-detail__section-title {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(226,232,240,0.5);
}

.stock-detail__section-toggle {
  background: none;
  border: none;
  color: rgba(249,115,22,0.85);
  font-size: 0.775rem;
  cursor: pointer;
  text-align: left;
  padding: 0;
}

.stock-detail__select,
.stock-detail__input {
  padding: 0.38rem 0.6rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 5px;
  background: rgba(255,255,255,0.05);
  color: #f1f5f9;
  font-size: 0.78rem;
  width: 100%;
  outline: none;
}

.stock-detail__select:focus,
.stock-detail__input:focus { border-color: rgba(255,255,255,0.25); }

.stock-detail__notes {
  padding: 0.38rem 0.6rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 5px;
  background: rgba(255,255,255,0.05);
  color: #f1f5f9;
  font-size: 0.78rem;
  width: 100%;
  resize: vertical;
  min-height: 50px;
}

.stock-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.stock-detail__btn {
  padding: 0.3rem 0.7rem;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 5px;
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
  font-size: 0.72rem;
  cursor: pointer;
  transition: background 0.12s;
}

.stock-detail__btn:hover { background: rgba(255,255,255,0.12); }
.stock-detail__btn--primary { background: rgba(249,115,22,0.2); border-color: rgba(249,115,22,0.4); color: #fb923c; }
.stock-detail__btn--primary:hover { background: rgba(249,115,22,0.3); }
.stock-detail__btn--warn { border-color: rgba(96,165,250,0.4); color: #60a5fa; }
.stock-detail__btn--danger { border-color: rgba(239,68,68,0.4); color: #f87171; }
.stock-detail__btn--sm { padding: 0.18rem 0.5rem; font-size: 0.68rem; }

.stock-detail__hint {
  font-size: 0.72rem;
  color: rgba(226,232,240,0.45);
}

.stock-detail__reservation {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.775rem;
}

.stock-detail__reserve-row {
  display: flex;
  gap: 0.4rem;
  align-items: center;
}

.stock-detail__reserve-row .stock-detail__input { flex: 1 1; }

.stock-detail__movement {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 0.72rem;
  padding: 0.15rem 0;
  border-top: 1px solid rgba(255,255,255,0.05);
}

.stock-detail__movement-type {
  color: rgba(249,115,22,0.8);
  flex-shrink: 0;
}

.stock-detail__movement-date {
  color: rgba(226,232,240,0.35);
  font-size: 0.65rem;
  margin-left: auto;
  flex-shrink: 0;
}

.stock-detail__remnant-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* ── Photos ──────────────────────────────────────────────────────────────────── */

.stock-photos {
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.stock-photos__main {
  width: 100%;
  aspect-ratio: 16/9;
  background: rgba(255,255,255,0.04);
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.4rem;
}

.stock-photos__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.stock-photos__placeholder {
  font-size: 0.75rem;
  color: rgba(226,232,240,0.3);
}

.stock-photos__thumbs {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.stock-photos__thumb {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  background: rgba(255,255,255,0.05);
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stock-photos__thumb.active { border-color: rgba(249,115,22,0.6); }
.stock-photos__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ── Emplacements panel ──────────────────────────────────────────────────────── */

.stock-locations-panel {
  display: flex;
  gap: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  flex: 1 1;
}

.stock-locations-panel__left {
  width: 260px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,0.1);
  overflow: hidden;
}

.stock-locations-panel__right {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  gap: 0;
  min-width: 0;
}

.stock-locations-panel__section-title {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(226,232,240,0.5);
  padding: 0.6rem 0.75rem 0.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stock-locations-panel__create {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0 0.65rem 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}

.stock-locations-panel__list {
  flex: 1 1;
  overflow-y: auto;
}

.stock-locations-panel__hint {
  font-size: 0.72rem;
  color: rgba(226,232,240,0.4);
  padding: 0.5rem 0.75rem;
}

.stock-locations-panel__input {
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 5px;
  background: rgba(255,255,255,0.05);
  color: #f1f5f9;
  font-size: 0.75rem;
  width: 100%;
  outline: none;
}

.stock-locations-panel__input--sm { width: 80px; }
.stock-locations-panel__input:focus { border-color: rgba(255,255,255,0.25); }

.stock-locations-panel__create-btn {
  padding: 0.3rem 0.65rem;
  border: 1px solid rgba(249,115,22,0.4);
  border-radius: 5px;
  background: rgba(249,115,22,0.15);
  color: #fb923c;
  font-size: 0.72rem;
  cursor: pointer;
  align-self: flex-start;
  transition: background 0.12s;
}

.stock-locations-panel__create-btn:hover:not(:disabled) { background: rgba(249,115,22,0.25); }
.stock-locations-panel__create-btn:disabled { opacity: 0.4; cursor: default; }

.stock-locations-panel__field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  color: rgba(226,232,240,0.55);
}

.stock-locations-panel__detail {
  padding: 0.65rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.stock-locations-panel__empty {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: rgba(226,232,240,0.3);
  padding: 1.5rem;
  text-align: center;
}

.stock-locations-panel__plans-section {
  padding: 0.5rem 0 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}

.stock-locations-panel__plan-new-btn {
  background: none;
  border: none;
  color: rgba(249,115,22,0.8);
  font-size: 0.7rem;
  cursor: pointer;
}

.stock-locations-panel__plan-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  padding: 0.4rem 1rem;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.stock-locations-panel__plan-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 1rem 1rem;
}

.stock-plan-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
  background: rgba(255,255,255,0.04);
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  margin-bottom: 0.35rem;
  transition: background 0.12s, border-color 0.12s;
}

.stock-plan-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(249,115,22,0.35); }
.stock-plan-card--active { background: rgba(249,115,22,0.12); border-color: rgba(249,115,22,0.45); }

.stock-plan-card__name { font-size: 0.8rem; font-weight: 600; }
.stock-plan-card__meta { font-size: 0.68rem; color: rgba(226,232,240,0.5); }

.stock-reception-panel {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
  color: #f1f5f9;
}

.stock-reception-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.stock-reception-panel__meta,
.stock-reception-panel__placeholder {
  color: rgba(226,232,240,0.55);
  font-size: 0.75rem;
}

.stock-reception-lines {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 0;
}

.stock-reception-line {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.65rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px;
  background: rgba(255,255,255,0.035);
}

.stock-reception-line__check {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.stock-reception-line__grid {
  display: grid;
  grid-template-columns: minmax(72px, 0.45fr) minmax(140px, 1fr) minmax(160px, 1.1fr);
  grid-gap: 0.5rem;
  gap: 0.5rem;
}

.stock-reception-line__grid label {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  color: rgba(226,232,240,0.58);
  font-size: 0.68rem;
}

.stock-reception-line__grid input,
.stock-reception-line__grid select {
  min-width: 0;
  padding: 0.34rem 0.45rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 5px;
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
  font-size: 0.76rem;
  outline: none;
}

.stock-reception-line__grid option {
  background: #111111;
  color: #f1f5f9;
}

.stock-reception-panel__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.25rem;
}

.stock-settings-card--zone-editor {
  padding: 0;
  overflow: hidden;
}

.stock-settings-card--zone-editor .stock-zone-editor-scroll {
  gap: 0;
  height: 100%;
  max-height: 100%;
  padding: 0;
  overflow: hidden;
}

/* ── Location card ───────────────────────────────────────────────────────────── */

.stock-location-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0.65rem;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: transparent;
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  transition: background 0.1s;
  width: 100%;
}

.stock-location-card:hover { background: rgba(255,255,255,0.055); }
.stock-location-card--active { background: rgba(255,255,255,0.09); border-left: 2px solid rgba(249,115,22,0.7); }

.stock-location-card__row { display: flex; align-items: center; gap: 0.4rem; }
.stock-location-card__row--meta { margin-top: 0.05rem; }
.stock-location-card__name { font-size: 0.775rem; font-weight: 600; }
.stock-location-card__code { font-size: 0.65rem; color: rgba(226,232,240,0.45); }
.stock-location-card__count { font-size: 0.68rem; color: rgba(226,232,240,0.5); }
.stock-location-card__grid-badge { font-size: 0.65rem; color: rgba(96,165,250,0.7); margin-left: auto; }

.stock-location-card__bar {
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 0.2rem;
}

.stock-location-card__bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s;
}

/* ── Zone editor ─────────────────────────────────────────────────────────────── */

.zone-editor {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: #0f0f0f;
  color: #f1f5f9;
}

.zone-editor__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.zone-editor__toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  flex: 1 1;
}

.zone-editor__plan-name {
  padding: 0.3rem 0.55rem;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 5px;
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
  font-size: 0.8rem;
  font-weight: 600;
  width: 160px;
  outline: none;
}

.zone-editor__config-field {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.7rem;
  color: rgba(226,232,240,0.5);
}

.zone-editor__config-field input {
  width: 52px;
  padding: 0.28rem 0.4rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
  font-size: 0.72rem;
  outline: none;
}

.zone-editor__density-field {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(226,232,240,0.68);
  font-size: 0.7rem;
  white-space: nowrap;
}

.zone-editor__density-field input[type="range"] {
  width: 130px;
  accent-color: #f97316;
}

.zone-editor__density-field strong {
  min-width: 2.2rem;
  color: #f1f5f9;
  font-size: 0.72rem;
  text-align: right;
}

.zone-editor__upload-btn,
.zone-editor__btn {
  padding: 0.3rem 0.65rem;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 5px;
  background: rgba(255,255,255,0.06);
  color: rgba(226,232,240,0.8);
  font-size: 0.72rem;
  cursor: pointer;
  transition: background 0.12s;
  white-space: nowrap;
}

.zone-editor__btn:hover, .zone-editor__upload-btn:hover { background: rgba(255,255,255,0.12); }
.zone-editor__btn--primary { background: rgba(249,115,22,0.2); border-color: rgba(249,115,22,0.4); color: #fb923c; }
.zone-editor__btn--primary:hover { background: rgba(249,115,22,0.3); }
.zone-editor__btn--active { background: rgba(249,115,22,0.25); border-color: rgba(249,115,22,0.55); color: #f97316; }
.zone-editor__btn--ghost { border-color: transparent; background: transparent; color: rgba(226,232,240,0.62); }
.zone-editor__btn--ghost:hover { background: rgba(255,255,255,0.08); color: #f1f5f9; }
.zone-editor__btn--danger { border-color: rgba(239,68,68,0.42); color: #f87171; background: rgba(239,68,68,0.08); }
.zone-editor__btn--danger:hover:not(:disabled) { background: rgba(239,68,68,0.16); color: #fecaca; }
.zone-editor__btn:disabled { opacity: 0.4; cursor: default; }

.zone-editor__background-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex: 0 0 auto;
}

.zone-editor__close {
  padding: 0.28rem 0.65rem;
  border: 1px solid rgba(239,68,68,0.3);
  border-radius: 5px;
  background: rgba(239,68,68,0.1);
  color: #f87171;
  font-size: 0.72rem;
  cursor: pointer;
}

.zone-editor__error {
  padding: 0.4rem 0.75rem;
  background: rgba(239,68,68,0.12);
  color: #f87171;
  font-size: 0.75rem;
  flex-shrink: 0;
}

.zone-editor__body {
  display: flex;
  flex: 1 1;
  min-height: 0;
  overflow: hidden;
}

.zone-editor__canvas-wrap {
  display: grid;
  place-items: center;
  flex: 1 1;
  overflow: auto;
  min-width: 0;
  min-height: 0;
  padding: 0.35rem;
}

.zone-editor__grid {
  display: grid;
  background-color: #151515;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  outline: 2px solid rgba(255,255,255,0.45);
  box-shadow: 0 0 0 1px rgba(0,0,0,0.85), 0 14px 22px rgba(0,0,0,0.35);
}

.zone-editor__zone-overlays {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.zone-editor__zone-overlay {
  position: absolute;
  box-sizing: border-box;
  border: 3px solid var(--zone-editor-zone-color, #f97316);
  background: color-mix(in srgb, var(--zone-editor-zone-color, #f97316) 12%, transparent);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.65),
    0 0 0 1px rgba(0,0,0,0.75),
    0 0 18px color-mix(in srgb, var(--zone-editor-zone-color, #f97316) 34%, transparent);
}

.zone-editor__zone-overlay-label {
  position: absolute;
  left: 4px;
  top: 4px;
  max-width: calc(100% - 8px);
  padding: 0.12rem 0.35rem;
  border-radius: 4px;
  background: color-mix(in srgb, var(--zone-editor-zone-color, #f97316) 72%, #000000);
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.15;
  text-shadow: 0 1px 2px rgba(0,0,0,0.75);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zone-editor__cell {
  border: 1px solid rgba(255,255,255,0.42);
  box-sizing: border-box;
  cursor: crosshair;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.28);
  transition: background-color 0.08s;
  position: relative;
  z-index: 1;
}

.zone-editor__cell:hover { border-color: rgba(249,115,22,0.9); }
.zone-editor__cell--selected { border-color: rgba(249,115,22,0.95) !important; }

.zone-editor__sidebar {
  width: 220px;
  flex-shrink: 0;
  border-left: 1px solid rgba(255,255,255,0.1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.zone-editor__sidebar-section {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.zone-editor__sidebar-title {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(226,232,240,0.45);
  margin-bottom: 0.1rem;
}

.zone-editor__zone-input {
  padding: 0.32rem 0.5rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 5px;
  background: rgba(255,255,255,0.05);
  color: #f1f5f9;
  font-size: 0.75rem;
  width: 100%;
  outline: none;
}

.zone-editor__zone-label {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.68rem;
  color: rgba(226,232,240,0.45);
}

.zone-editor__draw-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.zone-editor__cell-count {
  font-size: 0.68rem;
  color: rgba(249,115,22,0.75);
}

.zone-editor__hint {
  font-size: 0.68rem;
  color: rgba(226,232,240,0.4);
  line-height: 1.4;
}

.zone-editor__zone-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.zone-editor__zone-card {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 5px;
  background: transparent;
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  width: 100%;
  margin-bottom: 0.25rem;
  transition: background 0.1s;
  flex-wrap: wrap;
}

.zone-editor__zone-card:hover { background: rgba(255,255,255,0.06); }
.zone-editor__zone-card--active { border-color: rgba(249,115,22,0.45); background: rgba(249,115,22,0.07); }

.zone-editor__zone-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}

.zone-editor__zone-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  flex: 1 1;
  min-width: 0;
}

.zone-editor__zone-card-name {
  font-size: 0.75rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zone-editor__zone-card-count {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.5);
}

.zone-editor__capacity-bar {
  width: 100%;
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
}

.zone-editor__capacity-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s;
}

/* ── Commandes (MaterialOrdersPanel) ───────────────────────────────────────── */

/* View nav buttons */
.orders-nav-btns {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0.4rem 0.4rem 0.2rem;
}
.orders-nav-btn {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.35rem 0.6rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: rgba(226,232,240,0.7);
  font-size: 12.5px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
}
.orders-nav-btn:hover { background: rgba(255,255,255,0.07); color: #f1f5f9; }
.orders-nav-btn.active {
  background: rgba(96,165,250,0.14);
  border-color: rgba(96,165,250,0.3);
  color: #93c5fd;
  font-weight: 700;
}

/* Action buttons (Regrouper / Envoyer) */
.orders-nav-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0.3rem 0.4rem 0.4rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  margin: 0.2rem 0;
}
.orders-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.35rem 0.5rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px;
  background: rgba(255,255,255,0.04);
  color: rgba(226,232,240,0.75);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.orders-action-btn:hover:not(:disabled) { background: rgba(255,255,255,0.1); color: #f1f5f9; }
.orders-action-btn:disabled { opacity: 0.35; cursor: default; }
.orders-action-btn--regroup { border-color: rgba(251,191,36,0.25); color: rgba(251,191,36,0.8); }
.orders-action-btn--regroup:hover:not(:disabled) { background: rgba(251,191,36,0.1); color: #fbbf24; border-color: rgba(251,191,36,0.4); }
.orders-action-btn--send { border-color: rgba(96,165,250,0.2); }
.orders-action-btn--send.orders-action-btn--ready {
  border-color: rgba(34,197,94,0.35);
  color: #4ade80;
  background: rgba(34,197,94,0.06);
}
.orders-action-btn--send.orders-action-btn--ready:hover:not(:disabled) { background: rgba(34,197,94,0.14); }

/* Missing calepinage warning */
.orders-calepinage-missing {
  color: rgba(251,191,36,0.8);
  font-size: 11px;
  font-style: italic;
}

/* Supplier editor */
.orders-supplier-editor {
  padding: 0.75rem;
  overflow-y: auto;
  height: 100%;
}

/* Calepinage validation modal */
.orders-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.orders-modal {
  background: var(--sp-ui-surface, #1e293b);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  width: min(480px, 92vw);
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.orders-modal__header {
  padding: 1rem 1.25rem 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.orders-modal__header h3 { margin: 0 0 0.2rem; font-size: 15px; }
.orders-modal__header p { margin: 0; font-size: 12px; color: rgba(226,232,240,0.55); }
.orders-modal__content { padding: 1rem 1.25rem; }
.orders-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem 1rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

/* ⚙ Réglages commande button in left nav (legacy) */
.orders-settings-btn {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 100%;
  padding: 0.38rem 0.6rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 5px;
  background: rgba(255,255,255,0.04);
  color: rgba(226,232,240,0.7);
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s, color 0.12s;
  flex-shrink: 0;
}
.orders-settings-btn:hover { background: rgba(255,255,255,0.08); color: #f1f5f9; }
.orders-settings-btn.active {
  background: rgba(249,115,22,0.14);
  border-color: rgba(249,115,22,0.4);
  color: #fb923c;
}

/* Compact group card in left nav */
.orders-group-nav-card {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  width: 100%;
  padding: 0.42rem 0.55rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  background: rgba(255,255,255,0.035);
  color: var(--sp-ui-text, #f1f5f9);
  text-align: left;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
  flex-shrink: 0;
}
.orders-group-nav-card:hover { background: rgba(255,255,255,0.07); }
.orders-group-nav-card.active {
  background: rgba(249,115,22,0.1);
  border-color: rgba(249,115,22,0.5);
}

.orders-group-nav-card__row1 {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  overflow: hidden;
}
.orders-group-nav-card__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.orders-group-nav-card__name {
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.orders-group-nav-card__meta {
  font-size: 0.65rem;
  color: rgba(226,232,240,0.5);
  padding-left: 1.05rem;
}

/* Right panel empty state */
.orders-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(226,232,240,0.35);
  font-size: 0.85rem;
}

/* Group detail view */
.orders-group-detail {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}

.orders-group-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.75rem 0.6rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
  flex-wrap: wrap;
}
.orders-group-header__info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.orders-group-header__title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #f1f5f9;
}
.orders-group-header__supplier {
  font-size: 0.75rem;
  color: rgba(226,232,240,0.6);
}
.orders-group-header__meta {
  font-size: 0.72rem;
  color: rgba(226,232,240,0.45);
}
.orders-group-header__actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* Items list */
.orders-items-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.35rem 0;
}

.orders-item-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.5fr) minmax(100px, 1fr) 70px minmax(80px, 1fr) 90px 60px;
  align-items: center;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  padding: 0.45rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  font-size: 0.75rem;
  transition: background 0.1s;
}
.orders-item-row:hover { background: rgba(255,255,255,0.03); }

.orders-item-row__project {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  overflow: hidden;
}
.orders-item-row__seq {
  font-weight: 700;
  color: #f1f5f9;
  font-size: 0.73rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.orders-item-row__client {
  font-size: 0.68rem;
  color: rgba(226,232,240,0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.orders-item-row__material {
  color: rgba(226,232,240,0.75);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.orders-item-row__surface {
  color: rgba(226,232,240,0.65);
  text-align: right;
  white-space: nowrap;
}
.orders-item-row__plans {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
}
.orders-plan-link {
  padding: 0.15rem 0.4rem;
  border: 1px solid rgba(96,165,250,0.35);
  border-radius: 3px;
  background: rgba(96,165,250,0.08);
  color: #93c5fd;
  font-size: 0.65rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.1s;
}
.orders-plan-link:hover { background: rgba(96,165,250,0.18); }
.orders-plan-link--no-href { color: rgba(226,232,240,0.45); border-color: rgba(255,255,255,0.1); background: transparent; }
.orders-plan-empty { color: rgba(226,232,240,0.25); }

.orders-item-row__status { display: flex; align-items: center; }
.orders-item-row__actions { display: flex; gap: 0.25rem; align-items: center; }

.orders-item-action {
  width: 26px;
  height: 26px;
  border-radius: 5px;
  border: 1px solid;
  font-size: 0.8rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.1s;
  flex-shrink: 0;
}
.orders-item-action--ok {
  border-color: rgba(34,197,94,0.4);
  background: rgba(34,197,94,0.1);
  color: #4ade80;
}
.orders-item-action--ok:hover:not(:disabled) { background: rgba(34,197,94,0.22); }
.orders-item-action--ko {
  border-color: rgba(239,68,68,0.35);
  background: rgba(239,68,68,0.08);
  color: #f87171;
}
.orders-item-action--ko:hover:not(:disabled) { background: rgba(239,68,68,0.18); }
.orders-item-action:disabled { opacity: 0.35; cursor: default; }

/* Review comment row at bottom */
.orders-review-row {
  padding: 0.6rem 0.75rem;
  flex-shrink: 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.orders-review-row .settings-textarea {
  min-height: 52px;
  resize: vertical;
}

/* Settings view */
.orders-settings-view {
  padding: 0.75rem;
  overflow-y: auto;
  height: 100%;
}

/* Section label in left nav (separates groups / preparations / orders) */
.orders-section-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(226,232,240,0.35);
  padding: 0.55rem 0.35rem 0.2rem;
  flex-shrink: 0;
}

/* Footer row with CTA inside detail panel */
.orders-group-footer {
  padding: 0.6rem 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* ── Supplier body view (split left/right like op-sheet-panel) ─────────────── */

.material-orders-card--body {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0 !important;
}

.sup-body-panel {
  display: flex;
  flex-direction: row;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* ── Left column: search + list ── */

.sup-body-panel__list {
  width: 260px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255,255,255,0.1);
  overflow: hidden;
}

.sup-body-panel__toolbar {
  padding: 0.6rem 0.6rem 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.sup-search-row {
  display: flex;
  gap: 0.3rem;
}

.sup-search-input {
  flex: 1 1;
  min-width: 0;
  padding: 0.38rem 0.6rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px;
  background: rgba(255,255,255,0.05);
  color: #f1f5f9;
  font-size: 0.775rem;
  outline: none;
  transition: border-color 0.15s;
}
.sup-search-input::placeholder { color: rgba(226,232,240,0.32); }
.sup-search-input:focus { border-color: rgba(255,255,255,0.28); }

.sup-create-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}

.sup-create-btn {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.07);
  color: #f1f5f9;
  font-size: 0.8rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.1s;
}
.sup-create-btn:hover:not(:disabled) { background: rgba(255,255,255,0.14); }
.sup-create-btn--cancel { border-color: rgba(239,68,68,0.3); color: #f87171; }
.sup-create-btn--cancel:hover:not(:disabled) { background: rgba(239,68,68,0.12); }
.sup-create-btn:disabled { opacity: 0.4; cursor: default; }

.sup-create-error {
  width: 100%;
  font-size: 0.7rem;
  color: #f87171;
  padding: 0.15rem 0;
}

.sup-add-btn {
  width: 100%;
  padding: 0.35rem 0.6rem;
  border: 1px dashed rgba(249,115,22,0.35);
  border-radius: 6px;
  background: rgba(249,115,22,0.06);
  color: #fb923c;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.12s, border-color 0.12s;
}
.sup-add-btn:hover { background: rgba(249,115,22,0.12); border-color: rgba(249,115,22,0.55); }

.sup-body-panel__results {
  flex: 1 1;
  overflow-y: auto;
  padding: 0.3rem 0;
}

.sup-empty-list {
  padding: 1.5rem 0.75rem;
  color: rgba(226,232,240,0.32);
  font-size: 0.775rem;
  text-align: center;
}

.sup-supplier-card {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  width: 100%;
  padding: 0.5rem 0.7rem;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  background: transparent;
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  transition: background 0.1s;
}
.sup-supplier-card:hover { background: rgba(255,255,255,0.055); }
.sup-supplier-card--active { background: rgba(249,115,22,0.1); border-bottom-color: rgba(249,115,22,0.2); }

.sup-supplier-card__name {
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sup-supplier-card__email {
  font-size: 0.67rem;
  color: rgba(226,232,240,0.52);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sup-supplier-card__email--empty { color: rgba(226,232,240,0.25); font-style: italic; }

/* ── Right column: supplier detail editor ── */

.sup-body-panel__detail {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.sup-detail-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(226,232,240,0.32);
  font-size: 0.85rem;
  text-align: center;
  padding: 2rem;
}

.sup-detail-scroll {
  flex: 1 1;
  overflow-y: auto;
  padding: 0.75rem 1rem;
}

.sup-detail-header {
  padding-bottom: 0.5rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.sup-detail-title {
  font-size: 1rem;
  font-weight: 700;
  color: #f1f5f9;
  margin: 0;
}

/* Non-embedded anticipation-content when in body mode */
.anticipation-content--body {
  flex: 1 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
}

/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/planning.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
.planning-tech-day-label__rail {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.planning-tech-day-label__rail-track {
  display: flex;
  flex-wrap: nowrap;
}

.planning-tech-day-label__rail-item {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.planning-tech-day-label__rail-item.is-holiday {
  color: #ff7a00;
  text-transform: uppercase;
}

.planning-tech-header__holiday {
  margin-top: 2px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0;
}

.sp-inline-load-overlay--planning-technician {
  inset: 0;
  align-items: center;
  background: rgba(255, 106, 0, 0.14);
}

.sp-inline-load-overlay--planning-technician .sp-initial-load-card--inline {
  background: rgba(28, 18, 8, 0.96);
  border-color: var(--sp-color-accent-orange);
}

.sp-inline-load-overlay--planning-technician .sp-initial-load-title--inline,
.sp-inline-load-overlay--planning-technician .sp-initial-load-message {
  color: #ffd089;
  animation: sp-initial-load-blink 0.95s ease-in-out infinite;
}

.admin-planning-panel {
  padding: 0.55rem 0.55rem 0.95rem;
  background-clip: padding-box;
}

.admin-planning-table-shell {
  border: 2px solid #000000;
  border-radius: 12px;
  overflow: hidden;
  background: #f7f4ef;
}

.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-panel,
.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-table-shell,
.app-root:not(.compact-root) .admin-planning-settings-page .admin-table-shell {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: #f8fafc;
}

.app-root:not(.compact-root) .admin-planning-settings-page .admin-table,
.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-table {
  color: #f8fafc;
  background: transparent;
}

.app-root:not(.compact-root) .admin-planning-settings-page .admin-table th,
.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-table th {
  border-color: rgba(255, 255, 255, 0.12);
  background: #000000;
  color: #ffffff;
}

.app-root:not(.compact-root) .admin-planning-settings-page .admin-table td,
.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-table td {
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(248, 250, 252, 0.9);
  background: transparent;
}

.app-root:not(.compact-root) .admin-planning-settings-page .admin-planning-table .admin-planning-subgroup-separator td {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.admin-planning-table {
  margin-bottom: 0.45rem;
  border-collapse: separate !important;
  border-spacing: 0;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 0;
  background: transparent;
}

.admin-planning-table.admin-table-users {
  border-collapse: separate !important;
}

.admin-planning-table th:first-child,
.admin-planning-table td:first-child {
  border-left: 0;
}

.admin-planning-table th:last-child,
.admin-planning-table td:last-child {
  border-right: 0;
}

.admin-planning-table thead tr:first-child th {
  border-top: 0;
}

.admin-planning-table tbody tr:last-child td {
  border-bottom: 0;
}

.admin-planning-table .admin-planning-group-separator td {
  background: #111111;
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.5rem 0.75rem;
}

.admin-planning-table .admin-planning-subgroup-separator td {
  background: #d5d5d5;
  color: #111111;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
}

.admin-planning-table .admin-planning-group-separator.is-drop-target td,
.admin-planning-table .admin-planning-subgroup-separator.is-drop-target td,
.admin-planning-table tr.is-drop-target td {
  box-shadow: inset 0 0 0 2px #ff6a00;
}

.admin-planning-table tr.is-dragging td {
  opacity: 0.55;
}

.admin-planning-actions {
  margin-top: 0.45rem;
}

.admin-planning-user-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 0.7rem;
}

.admin-planning-user-picker__item {
  white-space: nowrap;
}

.admin-planning-order-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.admin-planning-btn--icon {
  min-width: 0;
  width: 24px;
  height: 24px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.admin-planning-tech-actions-cell .admin-planning-btn--icon {
  color: #c81e1e;
  border-color: rgba(200, 30, 30, 0.35);
}

.admin-planning-tech-actions-cell {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.admin-planning-tech-actions-cell .admin-input {
  flex: 1 1 auto;
  min-width: 0;
}

.admin-planning-multi-select {
  min-height: 74px;
  width: 100%;
}

.admin-planning-mobile-assignments,
.admin-planning-mobile-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.admin-planning-mobile-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.45rem;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 999px;
  background: #f5f5f5;
  color: #111111;
  max-width: 100%;
}

.admin-planning-mobile-chip__label {
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.admin-planning-mobile-chip__remove {
  border: 0;
  background: transparent;
  color: #8b0000;
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

.admin-planning-mobile-add-btn {
  min-width: 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.admin-planning-tech-remove-cell {
  text-align: center;
  vertical-align: middle;
}

.admin-planning-action-type-cell {
  display: flex;
  justify-content: flex-end;
  min-height: 22px;
  margin-bottom: 0.2rem;
}

.ag-theme-quartz .planning-total-full-row {
  width: 100%;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  color: #ffffff;
  font-weight: 900;
  font-size: 1.1rem;
  box-sizing: border-box;
}

.ag-theme-quartz .planning-total-full-row--grid {
  display: grid;
  justify-content: initial;
  align-items: center;
}

.ag-theme-quartz .planning-total-label {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
  white-space: nowrap;
}

.ag-theme-quartz .planning-total-value {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  text-align: center;
}

.planning-page {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  min-height: 0;
  width: 100%;
  min-width: 0;
}

.planning-toolbar {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 14px;
  padding: 0 2px;
}

.planning-week {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
}

.app-root:not(.compact-root) .planning-week .history-select,
.app-root:not(.compact-root) .planning-week .toggle-btn {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.app-root:not(.compact-root) .planning-week .toggle-btn {
  margin-left: 0;
}

.app-root:not(.compact-root) .planning-week .history-select:hover,
.app-root:not(.compact-root) .planning-week .history-select:focus-visible,
.app-root:not(.compact-root) .planning-week .toggle-btn:hover,
.app-root:not(.compact-root) .planning-week .toggle-btn:focus-visible {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.planning-toolbar-title {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planning-toolbar-subtitle {
  margin-top: 3px;
  font-size: 10px;
  opacity: 0.78;
  max-width: 760px;
}

.planning-toolbar-chip {
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  padding: 5px 9px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planning-layout {
  display: grid;
  flex: 1 1;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  min-width: 0;
  padding: 0 1.5%;
  box-sizing: border-box;
}

.compact-main-shell,
.planning-main-card {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  overflow: hidden;
  border-color: var(--sp-color-accent-orange);
  width: 100%;
  min-width: 0;
  margin: 0;
  position: relative;
}

.compact-main-shell__body,
.planning-main-card__body {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.app-root:not(.compact-root) .planning-main-card__body::-webkit-scrollbar-thumb {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  background-clip: content-box;
}

.compact-main-shell__body > :only-child {
  flex: 1 1;
  min-height: 100%;
}

.compact-root .app-main--admin > .compact-main-shell > .compact-main-shell__body {
  flex: 0 1 auto;
  align-self: center;
  width: 96%;
  height: auto;
  min-height: 0;
  max-height: 99%;
  overflow: hidden;
  margin-top: 1%;
  margin-bottom: 0;
}

.compact-root .app-main--compact-shared:not(.app-main--admin) > .compact-main-shell {
  align-self: stretch;
  width: 100%;
  max-width: 100%;
}

.compact-root .app-main--compact-shared:not(.app-main--admin) > .compact-main-shell > .compact-main-shell__body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.compact-root .app-main--admin > .compact-main-shell > .compact-main-shell__body > :only-child {
  flex: 0 1 auto;
  height: auto;
  max-height: 100%;
  min-height: 0;
}

.planning-tech-day {
  --planning-tech-inline-size: 97%;
  --planning-tech-gap-top: 1%;
  --planning-tech-gap-main: 2%;
  display: flex;
  flex-direction: column;
  gap: var(--planning-tech-gap-main);
  padding: 0;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  box-sizing: border-box;
}

.planning-tech-header {
  --planning-tech-header-h: 4.5vh;
  --planning-tech-header-toggle-h: calc(var(--planning-tech-header-h) * 0.25);
  --planning-tech-header-refresh-h: calc(var(--planning-tech-header-h) - 8px);
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  align-self: center;
  width: var(--planning-tech-inline-size);
  height: var(--planning-tech-header-h);
  min-height: var(--planning-tech-header-h);
  max-height: var(--planning-tech-header-h);
  margin-top: var(--planning-tech-gap-top);
  padding: 0 14px;
  background: #000000;
  color: #ffffff;
  border-radius: 12px 12px 0 0;
  border-top: 0;
  border-bottom: 3px solid var(--sp-color-accent-orange);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
}

.planning-tech-debug-blank {
  flex: 1 1 auto;
  min-height: 0;
}

.planning-tech-header__toggle,
.planning-tech-header__refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  white-space: nowrap;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #ffffff;
  cursor: pointer;
  margin: 0;
  padding: 0;
  min-width: 0;
  min-height: 0;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

.planning-tech-header__toggle {
  justify-self: start;
  align-self: center;
  inline-size: max-content;
  block-size: var(--planning-tech-header-toggle-h);
  min-block-size: var(--planning-tech-header-toggle-h);
  max-block-size: var(--planning-tech-header-toggle-h);
  font-size: clamp(8px, calc(var(--planning-tech-header-toggle-h) * 0.9), 11px);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 0;
  padding: 0;
}

.planning-tech-header__refresh {
  justify-self: end;
  align-self: center;
  inline-size: var(--planning-tech-header-refresh-h);
  block-size: var(--planning-tech-header-refresh-h);
  min-inline-size: var(--planning-tech-header-refresh-h);
  max-inline-size: var(--planning-tech-header-refresh-h);
  min-block-size: var(--planning-tech-header-refresh-h);
  max-block-size: var(--planning-tech-header-refresh-h);
}

.planning-tech-header__refresh svg {
  width: 72%;
  height: 72%;
}

.planning-tech-header__toggle:hover,
.planning-tech-header__toggle:focus-visible,
.planning-tech-header__refresh:hover,
.planning-tech-header__refresh:focus-visible {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.planning-tech-header__refresh:disabled {
  opacity: 0.45;
  background: transparent;
}

.planning-tech-header__date {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.planning-tech-header__date-text {
  display: block;
  align-self: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-sizing: border-box;
}

.planning-tech-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-self: center;
  width: var(--planning-tech-inline-size);
  min-width: 0;
  min-height: 0;
  max-height: calc(100% - var(--planning-tech-header-h) - var(--planning-tech-gap-top) - var(--planning-tech-gap-main));
}

.planning-tech-nav {
  display: flex;
  gap: 8px;
}

.planning-tech-nav--top {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.planning-tech-nav--bottom {
  justify-content: space-between;
}

.planning-tech-nav-btn {
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.planning-tech-strip {
  padding: 8px 10px;
  background: #111111;
  color: #ffffff;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.planning-tech-resource-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.planning-tech-resource-tab {
  flex: 0 0 auto;
  border: 1px solid rgba(236, 121, 30, 0.42);
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.06);
  color: #111111;
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.planning-tech-resource-tab.is-active {
  background: #111111;
  color: #ffffff;
  border-color: var(--sp-color-accent-orange);
}

.planning-tech-search-bar {
  display: flex;
  gap: 8px;
  align-items: center;
}

.planning-tech-search-input {
  width: 100%;
  min-width: 0;
  border-radius: 14px;
  border: 1px solid rgba(236, 121, 30, 0.42);
  background: #ffffff;
  color: #111111;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
}

.planning-tech-cards {
  width: 100%;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  align-content: start;
  min-width: 0;
}

.planning-tech-pager {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  min-width: 0;
  min-height: 0;
  touch-action: pan-x pan-y;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.planning-tech-pager::-webkit-scrollbar {
  display: none;
}

.planning-tech-pager__track {
  display: flex;
  align-items: flex-start;
  width: 300%;
  height: 100%;
  min-height: 100%;
  min-width: 0;
}

.planning-tech-pager__slide {
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: calc(100% / 3);
  height: 100%;
  min-height: 100%;
  min-width: 0;
  padding: 0 2px;
  box-sizing: border-box;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.planning-tech-pager__slide > .planning-tech-cards {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
}

.planning-tech-movement-band {
  min-height: 2.5vh;
  margin: 0 2px 10px;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-sizing: border-box;
  border: 2px solid var(--planning-movement-color, #6f3cff);
  background: color-mix(in srgb, var(--planning-movement-color, #6f3cff) 28%, white);
  color: var(--planning-movement-color, #6f3cff);
  border-radius: 8px;
}

.planning-tech-movement-band__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.planning-tech-movement-band__count {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.planning-tech-day-group {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-tech-day-group__title {
  padding: 8px 10px;
  border-radius: 10px;
  background: #111111;
  color: #ffffff;
  border: 1px solid var(--sp-color-accent-orange);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.planning-tech-day-group__title.is-holiday {
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #000000;
  color: #ff7a00;
  text-transform: uppercase;
}

.planning-tech-day-group__title.is-holiday strong {
  font-size: 11px;
  line-height: 1.1;
  letter-spacing: 0;
}

.planning-tech-day-group__cards {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  min-width: 0;
}

.planning-tech-card {
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  min-width: 0;
  text-align: left;
  padding: 3px 5px 5px;
  padding-left: 12px;
  box-sizing: border-box;
  overflow-x: hidden;
  display: block;
}

.planning-tech-card .planning-card-topline--header {
  min-height: 3.5vh;
  min-height: 3.5dvh;
  margin-bottom: 2px;
  gap: 1px;
  align-items: center;
  font-size: 10px;
  line-height: 1;
}

.planning-tech-card .planning-card-tags {
  gap: 1px;
  line-height: 1;
}

.planning-tech-card .planning-card-tag {
  font-size: 10px;
}

.planning-tech-card .planning-card-tag--type {
  min-height: 0;
  padding: 0;
}

.planning-tech-card .planning-card-type-marker {
  min-width: 2vh;
  min-width: 2dvh;
  height: 2vh;
  height: 2dvh;
  font-size: 9px;
}

.planning-tech-card .planning-card-type-marker--validated {
  min-width: 2vh;
  min-width: 2dvh;
  height: 2vh;
  height: 2dvh;
  padding: 0 1px;
  border-width: 1px;
}

.planning-tech-card .planning-card-status-wrap {
  line-height: 1;
}

.planning-tech-card .planning-card-affaire {
  min-height: 0;
  gap: 2px;
  padding: 0 3px;
  border-radius: 4px;
  font-size: 10px;
}

.planning-tech-action-item {
  width: 100%;
  border: 2px solid color-mix(in srgb, var(--planning-action-item-color, #e7eef8) 82%, #111111);
  border-radius: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--planning-action-item-color, #e7eef8) 28%, white) 0 14px, transparent 14px),
    #f7f7f7;
  box-shadow: none;
  padding: 6px 8px;
  text-align: left;
  color: #111111;
  box-sizing: border-box;
}

.planning-tech-action-item--movement {
  border-color: color-mix(in srgb, var(--planning-action-item-color, #6f3cff) 82%, #111111);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--planning-action-item-color, #6f3cff) 38%, white) 0 16px, transparent 16px),
    color-mix(in srgb, var(--planning-action-item-color, #6f3cff) 16%, white);
}

.planning-tech-action-item__topline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

.planning-tech-action-item__label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-tech-action-item__time {
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  margin-left: auto;
}

.planning-tech-action-item__affaire {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.planning-tech-action-item__comment {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

.planning-tech-card .planning-card-status {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline;
  font-size: 9.4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  min-height: 0;
  line-height: 1;
  box-shadow: none;
}

.planning-tech-empty {
  border: 1px dashed rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  background: #ffffff;
  padding: 20px 14px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(17, 17, 17, 0.64);
}

.planning-search-results {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding: 12px;
}

.planning-search-results__header {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
}

.planning-search-results__title {
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.planning-search-results__subtitle {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.72;
}

.planning-search-results__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  grid-gap: 12px;
  gap: 12px;
  align-content: start;
}

.planning-search-result-card {
  width: 100%;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  text-align: left;
  cursor: pointer;
}

.planning-search-result-card__row {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.planning-search-result-card__label {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.62;
}

.planning-search-result-card__value {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  word-break: break-word;
}

.planning-grid {
  display: grid;
  --planning-day-columns: 7;
  --planning-day-min-width: 153px;
  --planning-grid-head-height: 43px;
  --planning-row-min-height: 116px;
  --planning-subgroup-column-width: 48px;
  --planning-resource-column-width: 187px;
  grid-template-columns: var(--planning-subgroup-column-width) var(--planning-resource-column-width) repeat(var(--planning-day-columns), minmax(var(--planning-day-min-width), 1fr));
  align-items: stretch;
  overflow: visible;
  position: relative;
}

.planning-grid-head {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 12;
  background: #000000;
  color: #ffffff;
  border-bottom: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 9px;
  min-height: var(--planning-grid-head-height);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
}

.planning-grid-head--day {
  cursor: default;
}

.planning-grid-head--upcoming {
  background: #1b1b1b;
}

.planning-grid-head--day.is-holiday {
  background: #000000;
  color: #ff7a00;
}

.planning-grid-head-label {
  font-size: 10px;
  font-weight: 800;
}

.planning-grid-head-holiday {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0;
}

.planning-grid-head--resource {
  left: var(--planning-subgroup-column-width);
  z-index: 13;
}

.planning-grid-head--subgroup {
  left: 0;
  z-index: 14;
  border-left: 0;
  text-align: center;
}

.planning-group-row {
  --sp-planning-group-line-h: 3vh;
  --sp-planning-group-line-h: 3dvh;
  grid-column: 1 / -1;
  position: -webkit-sticky;
  position: sticky;
  top: var(--planning-grid-head-height);
  z-index: 11;
  padding: 0 calc(var(--sp-planning-group-line-h) * 0.4);
  background: #111111;
  color: #ffffff;
  border-top: 1px solid var(--sp-color-accent-orange);
  border-bottom: 1px solid var(--sp-color-accent-orange);
  min-height: var(--sp-planning-group-line-h);
  height: var(--sp-planning-group-line-h);
  font-size: calc(var(--sp-planning-group-line-h) * 0.9);
  line-height: var(--sp-planning-group-line-h);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--sp-planning-group-line-h) * 0.25);
  flex-wrap: nowrap;
  overflow: hidden;
}

.planning-group-row__header {
  display: flex;
  align-items: center;
  gap: calc(var(--sp-planning-group-line-h) * 0.25);
  width: 100%;
  min-width: 0;
}

.planning-group-row__title-wrap {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--sp-planning-group-line-h) * 0.25);
  min-width: 0;
  font-size: calc(var(--sp-planning-group-line-h) * 0.9);
  line-height: var(--sp-planning-group-line-h);
}

.planning-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--sp-planning-group-line-h) * 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: inherit;
  min-height: calc(var(--sp-planning-group-line-h) * 0.52);
  font-size: calc(var(--sp-planning-group-line-h) * 0.3);
  line-height: calc(var(--sp-planning-group-line-h) * 0.3);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.planning-group-row__action-btn {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #ffffff;
  padding: 0 calc(var(--sp-planning-group-line-h) * 0.28);
  min-height: calc(var(--sp-planning-group-line-h) * 0.52);
  font-size: calc(var(--sp-planning-group-line-h) * 0.3);
  line-height: calc(var(--sp-planning-group-line-h) * 0.3);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.planning-group-row__action-btn:hover {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.planning-group-row__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(var(--sp-planning-group-line-h) * 0.2);
  flex-wrap: nowrap;
  margin-left: auto;
}

.planning-group-action {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 3px 8px;
  color: #111111;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: none;
}

.planning-group-action.is-blocking {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
}

.planning-group-action__label {
  text-transform: uppercase;
}

.planning-group-action__meta,
.planning-group-action__comment {
  color: rgba(17, 17, 17, 0.78);
}

.planning-resource-cell {
  position: -webkit-sticky;
  position: sticky;
  left: var(--planning-subgroup-column-width);
  z-index: 1;
  background: #ffffff;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 2px solid #000000;
  padding: 10px 9px;
  min-height: var(--planning-row-min-height);
}

.planning-subgroup-cell {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 2;
  background: #f1f1f1;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 2px solid #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--planning-row-min-height);
  overflow: hidden;
}

.planning-subgroup-cell span {
  display: inline-block;
  transform: rotate(-90deg);
  transform-origin: center;
  font-size: 19px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.planning-resource-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.25;
}

.planning-resource-name-main {
  min-width: 0;
}

.planning-resource-name .planning-count-badge {
  background: rgba(17, 17, 17, 0.08);
  color: rgba(17, 17, 17, 0.82);
  flex: 0 0 auto;
}

.planning-resource-registration {
  margin-top: 3px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  opacity: 0.62;
  text-transform: uppercase;
}

.planning-resource-kind {
  margin-top: 3px;
  font-size: 9px;
  opacity: 0.65;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.planning-resource-kind--teams {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
  margin-top: 5px;
  text-transform: none;
  letter-spacing: normal;
  opacity: 1;
  justify-items: stretch;
}

.planning-resource-team-title {
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.planning-resource-team-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px;
}

.planning-resource-team-line--week {
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.planning-resource-team-line--day {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: baseline;
  grid-column-gap: 7px;
  column-gap: 7px;
  grid-row-gap: 2px;
  row-gap: 2px;
  width: 100%;
}

.planning-resource-team-day {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: rgba(0, 0, 0, 0.58);
}

.planning-resource-team-value {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 9px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.82);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-resource-team-line--week .planning-resource-team-value {
  font-size: 13px;
  text-align: left;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.planning-resource-team-line--week .planning-resource-team-value strong,
.planning-resource-team-line--day .planning-resource-team-value strong {
  font-size: 1.3em;
  font-weight: 900;
}

.planning-resource-team-line--day .planning-resource-team-day {
  display: block;
  font-size: 11.5px;
  text-align: left;
}

.planning-resource-team-line--day .planning-resource-team-day::after {
  content: none;
}

.planning-resource-team-line--day .planning-resource-team-value {
  display: block;
  width: 100%;
  justify-self: stretch;
  text-align: left;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.planning-grid-cell {
  min-height: var(--planning-row-min-height);
  padding: 7px;
  border-bottom: 2px solid #000000;
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  background: #ffffff;
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  align-content: start;
}

.planning-subgroup-cell.planning-row--alt {
  background: #dddddd;
}

.planning-resource-cell.planning-row--alt,
.planning-grid-cell.planning-row--alt {
  background: #ececec;
}

.planning-grid-cell.is-holiday {
  background: #000000;
  color: #ff7a00;
}

.planning-grid-cell.planning-row--alt.is-holiday {
  background: #000000;
  color: #ff7a00;
}

.planning-grid-cell__holiday {
  margin: -7px -7px 2px;
  padding: 3px 7px;
  border-bottom: 1px solid rgba(255, 122, 0, 0.45);
  background: #000000;
  color: #ff7a00;
  display: flex;
  gap: 5px;
  align-items: center;
  min-width: 0;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.planning-grid-cell__holiday strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-grid-cell__team-band {
  margin: -7px -7px 2px;
  padding: 3px 7px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: color-mix(in srgb, var(--sp-color-accent-orange) 10%, white);
  color: rgba(17, 17, 17, 0.78);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-grid-cell--movement-covered .planning-grid-cell__team-band {
  margin-top: 0;
}

.planning-grid-cell--movement-covered {
  border-bottom: 3px solid var(--planning-movement-border-color, #6f3cff);
  background: color-mix(in srgb, var(--planning-movement-fill-color, #6f3cff) 25%, white);
  padding-top: 0;
  gap: 0;
  --planning-band-offset-left: -7px;
  --planning-band-offset-right: -7px;
}

.planning-grid-cell--movement-first {
  padding-left: 0;
  --planning-band-offset-left: 0;
  border-left: 0;
  background-image: linear-gradient(var(--planning-movement-border-color, #6f3cff), var(--planning-movement-border-color, #6f3cff));
  background-repeat: no-repeat;
  background-size: 2px calc(100% - 3px);
  background-position: left 3px;
}

.planning-grid-cell--movement-last {
  padding-right: 0;
  --planning-band-offset-right: 0;
  border-right: 0;
  background-image: linear-gradient(var(--planning-movement-border-color, #6f3cff), var(--planning-movement-border-color, #6f3cff));
  background-repeat: no-repeat;
  background-size: 2px calc(100% - 3px);
  background-position: right 3px;
}

.planning-grid-cell--movement-single {
  padding-left: 0;
  padding-right: 0;
  border-left: 0;
  border-right: 0;
  background-image:
    linear-gradient(var(--planning-movement-border-color, #6f3cff), var(--planning-movement-border-color, #6f3cff)),
    linear-gradient(var(--planning-movement-border-color, #6f3cff), var(--planning-movement-border-color, #6f3cff));
  background-repeat: no-repeat, no-repeat;
  background-size:
    2px calc(100% - 3px),
    2px calc(100% - 3px);
  background-position:
    left 3px,
    right 3px;
}

.planning-grid-cell__bands {
  display: grid;
  grid-template-rows: repeat(var(--planning-movement-lanes), minmax(24px, auto));
  grid-gap: 0;
  gap: 0;
  align-content: start;
  margin-left: var(--planning-band-offset-left, 0);
  margin-right: var(--planning-band-offset-right, 0);
}

.planning-grid-cell__cards {
  display: grid;
  grid-gap: 7px;
  gap: 7px;
  align-content: start;
  min-width: 0;
  padding: 0 7px 0 7px;
}

.planning-grid-cell--movement-covered .planning-grid-cell__cards {
  margin-top: 7px;
  min-width: 0;
  padding-left: 4px;
  padding-right: 4px;
}

.planning-action-item {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 2px solid color-mix(in srgb, var(--planning-action-item-color, #e7eef8) 82%, #111111);
  border-radius: 5px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--planning-action-item-color, #e7eef8) 28%, white) 0 14px, transparent 14px),
    #f7f7f7;
  box-shadow: none;
  padding: 5px 7px;
  text-align: left;
  color: #111111;
  cursor: pointer;
}

.planning-grid-cell--movement-covered .planning-action-item {
  max-width: 100%;
}

.planning-action-item__topline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  flex-wrap: wrap;
}

.planning-action-item__kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 15px;
  padding: 0 5px;
  border-radius: 999px;
  background: #111111;
  color: #ffffff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.planning-action-item__label {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-action-item__time {
  font-size: 9px;
  font-weight: 700;
  white-space: nowrap;
  margin-left: auto;
}

.planning-action-item__affaire {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

.planning-action-item__comment {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

.planning-grid-cell__band-fragment {
  min-height: 21px;
  margin-top: 3px;
  padding: 2px 5px 2px 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #111111;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  box-sizing: border-box;
  cursor: pointer;
}

.planning-grid-cell__band-fragment.is-first {
  padding-left: 5px;
}

.planning-grid-cell__band-fragment.is-last {
  padding-right: 5px;
}

.planning-grid-cell__band-fragment.is-single {
  padding-right: 5px;
}

.planning-grid-cell__band-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
}

.planning-grid-cell.is-over {
  background: rgba(255, 106, 0, 0.08);
  box-shadow: inset 0 0 0 2px rgba(255, 106, 0, 0.22);
}

.planning-grid-cell--upcoming-group {
  min-height: 0;
  position: relative;
  padding: 0;
  background: rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

.planning-grid-cell__upcoming-scroll {
  position: absolute;
  inset: 7px 3px 7px 7px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 4px;
}

.planning-card {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  padding: 5px 6px;
  cursor: -webkit-grab;
  cursor: grab;
}

.planning-card--compact {
  padding: 4px 5px;
  min-height: 0;
}

.planning-card--editing {
  background-image:
    repeating-linear-gradient(
      -45deg,
      rgba(106, 59, 255, 0.14) 0,
      rgba(106, 59, 255, 0.14) 8px,
      rgba(255, 255, 255, 0.08) 8px,
      rgba(255, 255, 255, 0.08) 16px
    );
  box-shadow:
    inset 0 0 0 2px rgba(106, 59, 255, 0.35),
    0 4px 10px rgba(0, 0, 0, 0.05);
}

.planning-grid-cell--upcoming .planning-card--compact {
  opacity: 0.7;
  background: #f1f1f1 !important;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-left: 4px solid #7a7a7a !important;
}

.planning-grid-cell--upcoming .planning-card--compact.planning-card--orange,
.planning-grid-cell--upcoming .planning-card--compact.planning-card--sand,
.planning-grid-cell--upcoming .planning-card--compact.planning-card--slate,
.planning-grid-cell--upcoming .planning-card--compact.planning-card--red {
  border-left-width: 4px !important;
}

.planning-grid-cell--upcoming .planning-card--compact.planning-card--orange {
  background: #fff1e5 !important;
  border-left-color: var(--sp-color-accent-orange) !important;
}

.planning-card--orange {
  background: #fff1e5;
  border-left: 4px solid var(--sp-color-accent-orange);
}

.planning-card--sand {
  background: #f8edd6;
  border-left: 4px solid #b87f18;
}

.planning-card--slate {
  background: #e7eaee;
  border-left: 4px solid #49525f;
}

.planning-card--red {
  background: #fdeaea;
  border-left: 4px solid #d93025;
}

.planning-grid-cell--upcoming .planning-card--compact.planning-card--red {
  background: #fdeaea !important;
  border-left-color: #d93025 !important;
}

.planning-card-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
}

.planning-card-topline--header {
  margin-bottom: 3px;
}

.planning-card-topline--client {
  align-items: center;
  margin-bottom: 2px;
}

.planning-card-tags {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 3px;
  min-width: 0;
  flex-wrap: wrap;
}

.planning-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  color: inherit;
  text-transform: uppercase;
}

.planning-card-type-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14px;
  height: 14px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.planning-card-type-marker--default {
  color: currentColor;
}

.planning-card-type-marker--done {
  color: #0b7a28;
}

.planning-card-type-marker--validated {
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  border: 1px solid #111111;
  border-radius: 2px;
  background: #111111;
  color: #ffffff;
}

.planning-card-affaire {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 19px;
  max-width: 100%;
  background: var(--sp-color-accent-orange);
  color: #111111;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  padding: 3px 7px;
  border-radius: 8px;
  box-sizing: border-box;
}

.planning-card-affaire-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
}

.planning-card-editing-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  margin-bottom: 6px;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  background: rgba(106, 59, 255, 0.12);
  color: #4f2ab8;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.planning-card-editing-badge__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #6a3bff;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
}

.planning-card-editing-badge__label {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-card-om-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  padding: 1px 5px;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 999px;
  background: transparent;
  color: #b86c00;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}

.planning-card-split-badge {
  display: inline;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(17, 17, 17, 0.78);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.planning-card--drag-overlay {
  width: 280px;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.24);
  pointer-events: none;
  transform: rotate(1deg);
}

.planning-card-shell {
  display: block;
}

.planning-card-shell--with-time {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  grid-column-gap: 7px;
  column-gap: 7px;
}

.planning-card-side-time-rail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  min-width: 15px;
  overflow: visible;
}

.planning-card-side-time-rail > span {
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: rgba(17, 17, 17, 0.82);
}

.planning-card-main {
  min-width: 0;
}

.planning-card-client {
  flex: 1 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 900;
  color: inherit;
  text-transform: uppercase;
}

.planning-card-client--compact {
  font-size: 11px;
  line-height: 1.15;
}

.planning-card-client-line {
  display: block;
}

.planning-card-amount {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 900;
}

.planning-card-amount.is-zero {
  color: #0b7a28;
}

.planning-card-amount.is-due {
  color: #a32020;
}

.planning-card-title {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  color: rgba(17, 17, 17, 0.75);
}

.planning-card-address-row + .planning-card-address-row {
  margin-top: 2px;
}

.planning-card-address {
  display: inline;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(17, 17, 17, 0.88);
}

.planning-card-link,
.planning-confirm-modal__link {
  text-decoration: none;
  color: inherit;
}

.planning-card-link:hover,
.planning-confirm-modal__link:hover {
  text-decoration: underline;
}

.planning-error-modal {
  width: min(460px, calc(100vw - 2rem));
}

.planning-upcoming-modal {
  width: min(92vw, 720px);
  max-height: min(82vh, 82dvh);
  display: flex;
  flex-direction: column;
}

.planning-upcoming-modal__body {
  overflow-y: auto;
  align-content: start;
  gap: 14px;
  padding-right: 4px;
}

.planning-upcoming-modal__group {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-upcoming-modal__group-title {
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.planning-upcoming-modal__list {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-upcoming-modal__item {
  width: 100%;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  text-align: left;
  border-radius: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  cursor: pointer;
}

.planning-upcoming-modal__item-date {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.72;
}

.planning-upcoming-modal__item-client {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.planning-upcoming-modal__item-meta {
  font-size: 12px;
  font-weight: 700;
  opacity: 0.78;
}

.planning-upcoming-modal__empty {
  font-size: 14px;
  font-weight: 700;
  opacity: 0.8;
}

.planning-card-time-row {
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.planning-card-time {
  min-width: 0;
  font-size: 15px;
  font-weight: 900;
  color: #111111;
}

.planning-card-note {
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px solid rgba(17, 17, 17, 0.18);
  font-size: 14px;
  font-style: italic;
  color: rgba(17, 17, 17, 0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-card-actions {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

.planning-card-confirm-btn {
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 999px;
  background: #111111;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.planning-card-confirm-btn:hover {
  background: var(--sp-color-accent-orange);
  border-color: var(--sp-color-accent-orange);
}

.planning-confirm-popover-layer {
  position: fixed;
  inset: 0;
  z-index: 1350;
  background: transparent;
}

.planning-confirm-modal {
  --sp-line-input-border: rgba(17, 17, 17, 0.28);
  --sp-line-input-border-focus: var(--sp-color-accent-orange);
  position: fixed;
  z-index: 1360;
  width: min(460px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
  padding: 14px;
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  box-sizing: border-box;
}

.planning-confirm-modal__title {
  font-size: 15px;
  font-weight: 800;
  padding-bottom: 8px;
  border-bottom: 2px solid #2f77ff;
}

.planning-confirm-modal__section {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-confirm-modal__label {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.planning-confirm-modal__client-name {
  font-size: 14px;
  font-weight: 700;
}

.planning-confirm-modal__client-line {
  font-size: 12px;
  color: rgba(17, 17, 17, 0.72);
}

.planning-confirm-modal__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  background: #f7f7f7;
  padding: 6px 8px;
  font-size: 13px;
}

.planning-confirm-modal__datetime {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 8px;
  gap: 8px;
}

.planning-confirm-modal__choice {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 4px 0;
  font-size: 13px;
}

.planning-confirm-modal__choice label {
  display: flex;
  align-items: center;
  gap: 4px;
}

.planning-confirm-modal__history,
.planning-confirm-modal__comment,
.planning-confirm-modal__notes {
  width: 100%;
}

.planning-confirm-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.planning-confirm-modal__btn {
  border: 0;
  border-radius: 4px;
  padding: 8px 12px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.planning-confirm-modal__btn--comment {
  background: #1473e6;
}

.planning-confirm-modal__btn--cancel {
  background: #6f7b87;
}

.planning-confirm-modal__btn--close {
  background: #111111;
  color: #ffffff;
}

.planning-confirm-modal__btn--confirm {
  background: #29a643;
}

.planning-team-popover-layer {
  position: fixed;
  inset: 0;
  z-index: 1700;
  background: transparent;
}

.planning-team-popover {
  position: fixed;
  width: min(1120px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  border-radius: 12px;
  background: #ffffff;
  color: #111111;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
  padding: 14px;
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.planning-team-popover--week {
  width: min(440px, calc(100vw - 24px));
  gap: 10px;
}

.planning-team-popover__title {
  font-size: 15px;
  font-weight: 800;
}

.planning-team-popover__week-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.planning-team-popover__grid {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.planning-team-popover__hint {
  font-size: 12px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.6);
}

.planning-team-popover__days {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  grid-gap: 12px;
  gap: 12px;
  align-items: start;
}

.planning-team-popover__day-block {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  padding: 8px 10px 10px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
}

.planning-team-popover__day-title {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.planning-team-popover__field {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
}

.planning-team-popover__checkbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.planning-team-popover__checkbox-main {
  display: flex;
  align-items: center;
  gap: 8px;
}

.planning-team-popover__responsible {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 800;
}

.planning-team-popover__checkbox.is-checked {
  border-color: var(--sp-color-accent-orange);
  background: rgba(233, 84, 32, 0.08);
}

.planning-team-popover__checkbox.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.planning-team-popover__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.planning-action-popover-layer {
  position: fixed;
  inset: 0;
  z-index: 1700;
  background: rgba(7, 12, 18, 0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.planning-action-popover {
  --sp-ui-surface: rgba(255, 255, 255, 0.055);
  --sp-ui-surface-soft: rgba(255, 255, 255, 0.085);
  --sp-ui-border: rgba(255, 255, 255, 0.16);
  --sp-ui-text: #f8fafc;
  --sp-ui-text-muted: rgba(226, 232, 240, 0.72);
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: rgba(255, 255, 255, 0.18);

  position: fixed;
  width: min(640px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  border: 4px solid #000000;
  border-radius: 14px;
  background: #111111;
  color: var(--sp-ui-text);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.36);
  padding: 8px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-action-popover__title {
  margin: 0;
  padding: 8px 4px 10px;
  border-bottom: 1px solid var(--sp-ui-border);
  background: transparent;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-action-popover__type-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: 8px;
  gap: 8px;
}

.planning-action-popover__type-panel {
  display: grid;
  align-content: start;
  grid-gap: 6px;
  gap: 6px;
  min-width: 0;
}

.planning-action-popover__type-panel + .planning-action-popover__type-panel {
  border-left: 1px solid var(--sp-ui-border);
  padding-left: 8px;
}

.planning-action-popover__type-title {
  color: rgba(226, 232, 240, 0.72);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-action-popover__type-options {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.planning-action-popover__type-btn {
  min-height: 28px;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 800;
}

.planning-action-popover__type-btn:hover,
.planning-action-popover__type-btn.is-active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.planning-action-popover__field {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
}

.planning-action-popover__field > span {
  color: var(--sp-ui-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-action-popover__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sp-ui-text);
  font-size: 12px;
  font-weight: 700;
}

.planning-action-popover__duration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 8px;
  gap: 8px;
}

.planning-action-popover__search-results {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  max-height: 180px;
  overflow: auto;
  padding: 6px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: var(--sp-ui-surface-soft);
}

.planning-action-popover__search-option {
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: transparent;
  color: var(--sp-ui-text);
  padding: 6px 8px;
  text-align: left;
  cursor: pointer;
  display: grid;
  grid-gap: 2px;
  gap: 2px;
}

.planning-action-popover__search-option:hover {
  color: var(--sp-color-accent-orange);
}

.planning-action-popover__search-affaire {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.planning-action-popover__search-client,
.planning-action-popover__search-empty {
  font-size: 12px;
  color: rgba(226, 232, 240, 0.74);
}

.planning-action-popover .planning-action-popover__input,
.planning-action-popover .level-one-view-body-select {
  width: 100%;
  max-width: 100%;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 0.95rem;
  box-sizing: border-box;
}

.planning-action-popover .planning-action-popover__input:focus,
.planning-action-popover .level-one-view-body-select:focus {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 255, 255, 0.035);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.16);
}

.planning-action-popover .level-one-view-body-select option {
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
}

.planning-action-popover__comment {
  resize: vertical;
  min-height: 72px;
}

.planning-action-popover__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.planning-action-popover__btn--delete {
  color: #ff7a7a;
}

.planning-action-popover__btn--delete:hover,
.planning-action-popover__btn--delete:focus-visible {
  color: #ff3b30;
}

.planning-action-popover__error {
  color: #b42318;
  font-size: 12px;
  font-weight: 700;
}

.planning-card-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 1px 4px;
  background: transparent;
  color: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}

.planning-card-status-wrap {
  position: relative;
}

.planning-card-status--confirmed {
  color: #197a1f;
}

.planning-card-status--draft {
  color: #8f3d00;
}

.planning-card-status--waiting {
  color: #8f3d00;
}

.planning-card-status--done {
  color: rgba(17, 17, 17, 0.72);
}

.planning-card-status--validated {
  color: #111111;
}

.planning-card-status-overlay {
  position: fixed;
  inset: 0;
  z-index: 1600;
  background: rgba(0, 0, 0, 0.42);
}

.planning-card-status-menu {
  position: fixed;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 180px;
  max-width: min(260px, calc(100vw - 32px));
  padding: 10px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.planning-card-status-option {
  justify-content: flex-start;
  width: 100%;
  min-height: 28px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  text-align: left;
}

.planning-card-status-option:hover,
.planning-card-status-option.is-active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.planning-drawer {
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 12px;
  background: #000000;
  color: #ffffff;
  padding: 16px;
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.planning-popup {
  position: fixed;
  z-index: 1300;
  width: min(920px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
  box-sizing: border-box;
}

.planning-popup.planning-popup--compact {
  width: min(920px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
}

.planning-drawer--inline {
  width: 100%;
  height: 100%;
  max-height: 100%;
  box-shadow: none;
  overflow-y: auto;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-header {
  position: relative;
  display: block;
  cursor: default;
  touch-action: auto;
  height: 5dvh;
  min-height: 5dvh;
  padding: 0;
  margin-bottom: 2dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-header-main {
  position: relative;
  width: 100%;
  height: 100%;
  padding-right: 7dvh;
  box-sizing: border-box;
  text-align: left;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-header > .planning-confirm-modal__btn--close {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  outline: 0;
  display: flex;
  align-items: center;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-eyebrow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 22%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 88%;
  text-align: center;
  line-height: 1;
  margin: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-confirm-modal__btn {
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  font-size: 1.5dvh;
  line-height: 1.5dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-title {
  position: absolute;
  left: 0;
  right: 7dvh;
  bottom: 0;
  height: 1.5dvh;
  line-height: 1;
  text-align: left;
  font-size: 1.5dvh;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: flex;
  align-items: flex-end;
  align-content: flex-end;
  flex-wrap: wrap;
  overflow: hidden;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-preplanning {
  position: absolute;
  left: 0;
  right: 7dvh;
  top: 2.2dvh;
  height: 1dvh;
  margin: 0;
  font-size: 1dvh;
  line-height: 1;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-section + .planning-drawer-section {
  margin-top: 2dvh;
}

.planning-drawer--inline.planning-drawer--compact .sp-modal-backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  box-sizing: border-box;
}

.planning-report-sketch {
  display: grid;
  grid-gap: 0.7dvh;
  gap: 0.7dvh;
}

.planning-report-sketch.is-orientation-blocked {
  position: relative;
}

.planning-report-sketch.is-orientation-blocked > :not(.planning-report-sketch__orientation-guard) {
  visibility: hidden;
}

.planning-report-sketch__cartouche {
  position: absolute;
  right: 1.2dvh;
  bottom: 1.2dvh;
  z-index: 2;
  display: grid;
  grid-gap: 0.45dvh;
  gap: 0.45dvh;
  width: min(36dvh, calc(100% - 2.4dvh));
  padding: 0.9dvh 1dvh;
  border: 1px solid rgba(28, 34, 44, 0.22);
  border-radius: 1.2dvh;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.35dvh 1.2dvh rgba(15, 23, 42, 0.12);
  pointer-events: auto;
}

.planning-report-sketch__cartouche-title {
  font-size: 1.35dvh;
  font-weight: 800;
  color: #1f2937;
  overflow-wrap: anywhere;
}

.planning-report-sketch__cartouche-lines {
  display: grid;
  grid-gap: 0.22dvh;
  gap: 0.22dvh;
}

.planning-report-sketch__cartouche-line {
  font-size: 1.22dvh;
  font-weight: 600;
  color: #4b5563;
  overflow-wrap: anywhere;
}

.planning-report-sketch__tools,
.planning-report-sketch__row,
.planning-report-sketch__swatches,
.planning-report-sketch__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45dvh;
}

.planning-report-sketch__toolbar {
  position: relative;
  display: grid;
  grid-gap: 0.65dvh;
  gap: 0.65dvh;
  padding: 0.35dvh 0;
}

.planning-report-sketch__tools {
  align-items: center;
}

.planning-report-sketch__tools-separator {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.56);
  font-size: calc(1.3dvh * var(--planning-report-sketch-ui-scale, 1));
  font-weight: 800;
  line-height: 1;
}

.planning-report-sketch__tools-trailing {
  margin-left: auto;
  min-width: 0;
  display: flex;
  align-items: center;
}

.planning-report-sketch__row {
  align-items: center;
}

.planning-report-sketch__row-label {
  flex: 0 0 auto;
  min-width: calc(5.8dvh * var(--planning-report-sketch-ui-scale, 1));
  font-size: calc(0.82dvh * var(--planning-report-sketch-ui-scale, 1));
  font-weight: 800;
  color: rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-report-sketch__tool,
.planning-report-sketch__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(3dvh * var(--planning-report-sketch-ui-scale, 1));
  min-width: calc(3dvh * var(--planning-report-sketch-ui-scale, 1));
  height: calc(3dvh * var(--planning-report-sketch-ui-scale, 1));
  min-height: calc(3dvh * var(--planning-report-sketch-ui-scale, 1));
  padding: 0;
  border: 1px solid transparent;
  border-radius: calc(0.45dvh * var(--planning-report-sketch-ui-scale, 1));
  background: transparent;
  color: #ffffff;
  font: inherit;
  font-size: calc(0.75dvh * var(--planning-report-sketch-ui-scale, 1));
  font-weight: 700;
}

.planning-report-sketch__tool {
  opacity: 0.82;
}

.planning-report-sketch__tool.is-active {
  border-color: rgba(255, 122, 0, 0.9);
  opacity: 1;
}

.planning-report-sketch__action {
  color: rgba(255, 255, 255, 0.78);
}

.planning-report-sketch__action:disabled {
  opacity: 0.38;
  cursor: default;
}

.planning-report-sketch__tool svg,
.planning-report-sketch__action svg {
  width: calc(2.5dvh * var(--planning-report-sketch-ui-scale, 1));
  height: calc(2.5dvh * var(--planning-report-sketch-ui-scale, 1));
  flex: 0 0 auto;
}

.planning-report-sketch__swatches {
  align-items: center;
}

.planning-report-sketch__swatches--inline {
  flex: 0 1 auto;
}

.planning-report-sketch__swatch {
  width: calc(2.2dvh * var(--planning-report-sketch-ui-scale, 1));
  min-width: calc(2.2dvh * var(--planning-report-sketch-ui-scale, 1));
  height: calc(2.2dvh * var(--planning-report-sketch-ui-scale, 1));
  min-height: calc(2.2dvh * var(--planning-report-sketch-ui-scale, 1));
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.planning-report-sketch__swatch.is-light {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
}

.planning-report-sketch__swatch.is-active {
  border-color: rgba(255, 122, 0, 0.92);
  transform: scale(1.08);
}

.planning-report-sketch__swatch--gradient {
  background: linear-gradient(135deg, #ff2d55 0%, #ff9f1a 18%, #ffd43b 34%, #18b57d 52%, #00a3ff 70%, #7b2cbf 100%);
  box-shadow: none;
}

.planning-report-sketch__chips {
  align-items: center;
}

.planning-report-sketch__chips-end {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.planning-report-sketch__chip,
.planning-report-sketch__select {
  height: calc(2.4dvh * var(--planning-report-sketch-ui-scale, 1));
  padding: 0 calc(0.75dvh * var(--planning-report-sketch-ui-scale, 1));
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: calc(0.45dvh * var(--planning-report-sketch-ui-scale, 1));
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font: inherit;
  font-size: calc(0.82dvh * var(--planning-report-sketch-ui-scale, 1));
  font-weight: 700;
}

.planning-report-sketch__chip.is-active {
  border-color: rgba(255, 122, 0, 0.92);
  color: #ffffff;
}

.planning-report-sketch__overlay {
  position: absolute;
  top: calc(100% + 0.25dvh);
  left: 0;
  right: 0;
  z-index: 6;
  padding: calc(0.55dvh * var(--planning-report-sketch-ui-scale, 1)) calc(0.7dvh * var(--planning-report-sketch-ui-scale, 1));
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: calc(0.75dvh * var(--planning-report-sketch-ui-scale, 1));
  background: rgba(5, 5, 5, 0.96);
  box-shadow: 0 0.6dvh 1.8dvh rgba(0, 0, 0, 0.28);
}

.planning-report-sketch__overlay .planning-report-sketch__chip,
.planning-report-sketch__overlay .planning-report-sketch__select {
  background: transparent;
}

.planning-report-sketch__display-overlay {
  position: absolute;
  top: calc(100% + 0.25dvh);
  left: 0;
  right: 0;
  z-index: 7;
  display: grid;
  grid-gap: 0.8dvh;
  gap: 0.8dvh;
  padding: 0.8dvh 0.95dvh;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.75dvh;
  background: rgba(5, 5, 5, 0.97);
  box-shadow: 0 0.6dvh 1.8dvh rgba(0, 0, 0, 0.28);
}

.planning-report-sketch__display-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8dvh;
  font-size: 0.9dvh;
  font-weight: 800;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.planning-report-sketch__display-control {
  display: grid;
  grid-gap: 0.42dvh;
  gap: 0.42dvh;
}

.planning-report-sketch__display-control span {
  font-size: 0.82dvh;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.74);
}

.planning-report-sketch__display-control input[type="range"] {
  width: 100%;
  margin: 0;
  accent-color: var(--sp-color-accent-orange);
}

.planning-report-sketch__hint {
  font-size: 1.2dvh;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.72);
}

.planning-report-sketch__canvas-wrap {
  position: relative;
  width: 100%;
  min-height: 32dvh;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.2dvh;
  background: #ffffff;
  overflow: hidden;
}

.planning-report-sketch__canvas {
  display: block;
  width: 100%;
  touch-action: none;
}

.planning-report-sketch__error {
  min-width: 0;
}

.planning-report-sketch__orientation-guard {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: grid;
  place-items: center;
  padding: 2dvh;
  background: rgba(5, 5, 5, 0.96);
}

.planning-report-sketch__orientation-card {
  display: grid;
  grid-gap: 1.2dvh;
  gap: 1.2dvh;
  width: min(100%, 34dvh);
  padding: 2.2dvh 2dvh;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1.6dvh;
  background: rgba(255, 255, 255, 0.05);
  text-align: center;
}

.planning-report-sketch__orientation-icon {
  font-size: 4.2dvh;
  line-height: 1;
  color: var(--sp-color-accent-orange);
}

.planning-report-sketch__orientation-title {
  font-size: 2dvh;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
}

.planning-report-sketch__orientation-text {
  font-size: 1.45dvh;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.76);
}

.planning-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  cursor: move;
  touch-action: none;
}

.planning-drawer-header > div:first-child {
  flex: 1 1 auto;
  text-align: center;
}

.planning-drawer-header-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
}

.planning-report-backdrop {
  z-index: 1400;
}

.planning-report-modal {
  position: relative;
  width: min(1100px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-gap: 16px;
  gap: 16px;
  padding: 20px;
  border: 2px solid var(--sp-color-accent-orange);
  border-radius: 14px;
  background: #050505;
  color: #ffffff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  overflow: hidden;
  box-sizing: border-box;
}

.planning-drawer-eyebrow {
  color: var(--sp-color-accent-orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.planning-drawer-title {
  margin-top: 4px;
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.planning-drawer-preplanning {
  margin-top: 8px;
  color: var(--sp-color-accent-orange);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.planning-drawer-presence {
  margin-top: 10px;
  color: #6a3bff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.planning-drawer-form {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  margin-top: 15px;
  justify-items: start;
}

.planning-drawer-form .admin-select-wrap {
  width: min(420px, 100%);
}

.planning-drawer-edit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  grid-gap: 20px;
  gap: 20px;
  align-items: start;
}

.planning-drawer-edit-column {
  min-width: 0;
}

.planning-drawer-edit-column--planning {
  justify-self: end;
  width: 100%;
  max-width: 340px;
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.planning-drawer-form--main {
  margin-top: 0;
}

.planning-drawer-form--main .admin-select-wrap {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  grid-gap: 8px;
  gap: 8px;
  align-items: start;
}

.planning-drawer-form--main .admin-select-wrap > span {
  font-size: 13px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.96);
  letter-spacing: 0.02em;
  text-align: right;
  line-height: 1.15;
  padding-top: 7px;
}

.planning-drawer-form--planning {
  margin-top: 0;
  justify-items: stretch;
}

.planning-drawer-form--planning .admin-select-wrap {
  display: grid;
  grid-template-columns: 122px minmax(0, 1fr);
  grid-gap: 8px;
  gap: 8px;
  align-items: start;
  width: 100%;
}

.planning-drawer-subcolumn-title {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 12px;
}

.planning-drawer-planning-flag {
  width: min(420px, 100%);
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 106, 0, 0.32);
  background: rgba(255, 106, 0, 0.08);
}

.planning-drawer-planning-flag--side {
  width: 100%;
}

.planning-drawer-planning-flag__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sp-color-accent-orange);
}

.planning-drawer-planning-flag__choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
}

.planning-drawer-field-hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
}

.planning-drawer-form--planning .admin-select-wrap > span {
  font-size: 13px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.96);
  letter-spacing: 0.02em;
  text-align: right;
  line-height: 1.15;
  padding-top: 7px;
}

.planning-drawer-form--main .admin-select-wrap > :not(span),
.planning-drawer-form--planning .admin-select-wrap > :not(span) {
  min-width: 0;
}

.planning-drawer-section {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.planning-drawer-section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.planning-drawer-section-title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sp-color-accent-orange);
}

.planning-drawer-subtitle {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.86);
}

.planning-drawer-info {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
}

.planning-drawer-info--error {
  color: #ffb4a0;
}

.planning-drawer-history {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.planning-drawer-history__item {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.04);
}

.planning-drawer-history__topline {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.94);
}

.planning-drawer-history__meta {
  margin-top: 4px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.58);
}

.planning-drawer-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.planning-drawer-meta-item {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.planning-drawer-meta-label,
.planning-drawer-order-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.56);
}

.planning-drawer-meta-value,
.planning-drawer-order-value {
  margin-top: 4px;
  min-width: 0;
  line-height: 1.35;
  word-break: break-word;
}

.planning-drawer-orders {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  max-height: 42vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.planning-drawer-order-card {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
}

.planning-drawer-order-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 0;
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  padding: 11px 12px;
  font-weight: 700;
  cursor: pointer;
}

.planning-drawer-order-body {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  padding: 12px;
}

.planning-drawer-order-lines {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.planning-drawer-order-line {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.82);
}

.planning-drawer-order-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.planning-drawer-order-item {
  min-width: 0;
}

.planning-drawer-order-empty {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.68);
}

.planning-drawer-order-comment {
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.24);
  line-height: 1.4;
  white-space: pre-wrap;
}

.planning-drawer-detail-tabs {
  display: flex;
  gap: 8px;
}

.planning-drawer-detail-tab {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.82);
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.planning-drawer-detail-tab.is-active {
  background: rgba(240, 103, 36, 0.18);
  border-color: rgba(240, 103, 36, 0.52);
  color: #ffffff;
}

.planning-drawer-rechiffrage {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.planning-drawer-rechiffrage__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.planning-drawer-rechiffrage__totals {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.planning-drawer-rechiffrage__total {
  min-width: 88px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.planning-drawer-rechiffrage__total span {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.56);
}

.planning-drawer-rechiffrage__total strong {
  display: block;
  margin-top: 4px;
  font-size: 16px;
  color: #ffffff;
}

.planning-drawer-rechiffrage__add,
.planning-drawer-rechiffrage__actions button {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.planning-drawer-rechiffrage__card {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.planning-drawer-rechiffrage__head,
.planning-drawer-rechiffrage__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.planning-drawer-rechiffrage__order {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
}

.planning-drawer-rechiffrage__badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.planning-drawer-rechiffrage__badge.is-valid {
  background: rgba(34, 197, 94, 0.18);
  color: #b7f7c7;
}

.planning-drawer-rechiffrage__badge.is-corrected {
  background: rgba(251, 191, 36, 0.2);
  color: #fde68a;
}

.planning-drawer-rechiffrage__badge.is-deleted {
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
}

.planning-drawer-rechiffrage__badge.is-added {
  background: rgba(59, 130, 246, 0.18);
  color: #bfdbfe;
}

.planning-drawer-rechiffrage__actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.planning-drawer-rechiffrage__origin,
.planning-drawer-rechiffrage__edit {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.planning-drawer-rechiffrage__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.56);
}

.planning-drawer-rechiffrage__text {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
}

.planning-drawer-rechiffrage__subtext {
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.74);
}

.planning-drawer-rechiffrage__added {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.planning-confirm-modal .sp-line-input {
  width: 100%;
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  background: transparent;
  color: #111111;
  box-shadow: none;
  outline: 0;
}

.planning-confirm-modal .sp-line-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus);
  background: transparent;
  box-shadow: none;
}

.planning-drawer .sp-line-input {
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: var(--sp-color-accent-orange);
  width: 100%;
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--sp-line-input-border);
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  outline: 0;
}

.planning-drawer .sp-line-input:focus {
  border-bottom-color: var(--sp-line-input-border-focus);
  background: transparent;
  box-shadow: none;
}

.planning-confirm-modal select.sp-line-input,
.planning-drawer select.sp-line-input {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  background-color: transparent;
}

.planning-confirm-modal select.sp-line-input option {
  background: #ffffff;
  color: #111111;
}

.planning-drawer select.sp-line-input option {
  background: #111111;
  color: #ffffff;
}

.planning-drawer-delete {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  justify-items: start;
}

.planning-drawer-delete__btn,
.planning-drawer-delete__confirm-btn {
  background: var(--sp-color-danger-bg);
  color: var(--sp-color-danger-text);
}

.planning-drawer-delete__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 1180px) {
  .planning-layout {
    grid-template-columns: 1fr;
  }
}

.planning-drawer-status-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.planning-drawer-status-quick-actions .planning-card-status {
  padding: 4px 8px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.82);
}

.planning-drawer-status-quick-actions .planning-card-status.is-active {
  color: var(--sp-color-accent-orange);
}

@media (min-width: 900px) {
  .planning-confirm-modal {
    width: min(322px, calc(100vw - 24px));
    padding: 10px;
    gap: 8px;
  }

  .planning-confirm-modal__title {
    font-size: 11px;
    padding-bottom: 6px;
  }

  .planning-confirm-modal__section {
    gap: 6px;
  }

  .planning-confirm-modal__label,
  .planning-confirm-modal__client-line {
    font-size: 9px;
  }

  .planning-confirm-modal__client-name,
  .planning-confirm-modal__checkbox,
  .planning-confirm-modal__choice,
  .planning-confirm-modal__btn {
    font-size: 10px;
  }

  .planning-confirm-modal__checkbox {
    gap: 6px;
    padding: 4px 6px;
  }

  .planning-confirm-modal__actions {
    gap: 6px;
  }

  .planning-confirm-modal__btn {
    padding: 6px 8px;
  }

  .planning-popup:not(.planning-popup--compact) {
    width: min(644px, calc(100vw - 24px));
    padding: 11px;
    gap: 10px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-header {
    gap: 8px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-header-actions {
    gap: 7px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-eyebrow {
    font-size: 8px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-title {
    margin-top: 3px;
    font-size: 25px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-preplanning {
    margin-top: 6px;
    font-size: 17px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-section {
    gap: 8px;
    padding-top: 7px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-section-title,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-subtitle,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-info {
    font-size: 9px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-meta-grid,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-order-grid {
    gap: 7px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-meta-item {
    padding: 7px 8px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-meta-label,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-order-label {
    font-size: 8px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-meta-value,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-order-value,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-order-empty,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-order-line,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-rechiffrage__text {
    font-size: 9px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-form {
    gap: 8px;
    margin-top: 10px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-edit-layout {
    grid-template-columns: minmax(0, 1fr) minmax(196px, 238px);
    gap: 14px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-edit-column--planning {
    max-width: 238px;
    padding-left: 14px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-form--main .admin-select-wrap {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 6px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-form--planning .admin-select-wrap {
    grid-template-columns: 85px minmax(0, 1fr);
    gap: 6px;
  }

  .planning-popup:not(.planning-popup--compact) .planning-drawer-form--main .admin-select-wrap > span,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-form--planning .admin-select-wrap > span,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-field-hint,
  .planning-popup:not(.planning-popup--compact) .planning-drawer-subcolumn-title {
    font-size: 9px;
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/history.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
/* === historique === */
.history-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.6rem 0.5rem;
  overflow: auto;
  height: 100%;
}

.history-header {
  height: 2.9rem;
  min-height: 2.9rem;
  box-sizing: border-box;
  border-radius: 8px;
  position: relative;
}

.history-title-spaced {
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  font-size: 1.1025rem;
  letter-spacing: 0;
  text-align: center;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.app-root:not(.compact-root) .history-title-spaced .level-one-view-title-switch,
.app-root:not(.compact-root) .history-title-spaced .level-one-view-title-switch__main {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  line-height: inherit;
}

.app-root:not(.compact-root) .history-title-spaced .level-one-view-title-switch__main * {
  font-size: inherit;
  letter-spacing: 0;
}

.history-week {
  font-weight: 600;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  position: absolute;
  right: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.history-week.planning-week {
  width: auto;
  justify-content: flex-end;
}

.history-week .toggle-btn {
  padding: 0.25rem 0.65rem;
  font-size: 0.8rem;
}

.history-week .production-section-toggle {
  margin-right: 0.15rem;
}

.history-select {
  height: 28px;
  padding: 0 0.5rem;
  border-radius: 6px;
  border: 1px solid var(--sp-color-accent-orange);
  background: #0a0a0a;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03rem;
}

.history-days {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.history-day {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.history-day-title {
  background: #000;
  color: #fff;
  border-bottom: 3px solid var(--sp-color-accent-orange);
  border-radius: 8px 8px 0 0;
  padding: 0.35rem 0.75rem;
  font-weight: 800;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
  width: 100%;
  box-sizing: border-box;
}

.history-card {
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  border: 2px solid var(--sp-theme-card-border);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  padding: 0;
  overflow: hidden;
  box-shadow: var(--sp-theme-card-shadow);
}

.history-card .grid-frame {
  padding: 0.35rem;
}

.sp-unsaved-backdrop {
  position: fixed;
  inset: 0;
  background: var(--sp-ui-overlay);
  display: grid;
  place-items: center;
  z-index: 1500;
  padding: 20px;
}

.sp-unsaved-dialog {
  width: min(92vw, 520px);
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text);
  border: 1px solid var(--sp-ui-border);
  border-radius: 10px;
  padding: 14px;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.sp-unsaved-title {
  font-weight: 700;
}

.sp-unsaved-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/report.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.72);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-gap: 1.6dvh;
  gap: 1.6dvh;
  padding: 2dvh;
  background: #050505;
  color: #ffffff;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1dvh;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header {
  align-items: stretch;
  flex-direction: column;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header > div {
  flex: 1 1 auto;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header button,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__footer button {
  flex: 0 0 auto;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__summary {
  display: flex;
  align-items: center;
  gap: 0.8dvh;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__summary-text {
  min-width: 0;
  flex: 1 1 auto;
  font-size: 1.3dvh;
  font-weight: 800;
  color: var(--sp-color-accent-orange);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__summary-close {
  min-height: 0;
  height: auto;
  line-height: 1;
  padding: 0;
  flex: 0 0 auto;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__footer .planning-compact-intervention-actions__btn {
  min-height: 2.8dvh;
  padding: 0 1.1dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__footer .planning-compact-report-modal__save-btn {
  width: auto;
  min-width: 0;
  padding: 0 0.9dvh;
  flex: 0 0 auto;
  align-self: flex-end;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header .planning-compact-intervention-actions__btn {
  align-self: flex-end;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__title {
  font-size: 2.2dvh;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sp-color-accent-orange);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__subtitle {
  margin-top: 0.4dvh;
  font-size: 1.2dvh;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.72);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header > div > div {
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__header > div > div span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__tabs {
  display: flex;
  gap: 0.45dvh;
  margin-top: 0.6dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__tab {
  --planning-compact-report-tab-height: 2.8dvh;
  --planning-compact-report-tab-padding-x: 1.2dvh;
  --planning-compact-report-tab-font-size: 1.1dvh;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 auto;
  height: var(--planning-compact-report-tab-height);
  min-height: var(--planning-compact-report-tab-height);
  max-height: var(--planning-compact-report-tab-height);
  padding: 0 var(--planning-compact-report-tab-padding-x);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.25dvh;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.8);
  font: inherit;
  font-size: var(--planning-compact-report-tab-font-size);
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__tab.is-active {
  border-color: rgba(255, 122, 0, 0.9);
  background: rgba(255, 122, 0, 0.16);
  color: #ffffff;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__body {
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  display: grid;
  grid-gap: 1.4dvh;
  gap: 1.4dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__check,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field {
  display: grid;
  grid-gap: 0.7dvh;
  gap: 0.7dvh;
  font-size: 1.4dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__check {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field span {
  font-weight: 800;
  color: var(--sp-color-accent-orange);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field select,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field textarea,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field input[type="file"] {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1dvh;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  padding: 1dvh 1.2dvh;
  font: inherit;
  box-sizing: border-box;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__field textarea {
  resize: vertical;
  min-height: 9dvh;
}

.planning-report-modal .planning-compact-report-modal__header,
.planning-report-modal .planning-compact-report-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}

.planning-report-modal .planning-compact-report-modal__header {
  align-items: stretch;
  flex-direction: column;
}

.planning-report-modal .planning-compact-report-modal__header > div {
  flex: 1 1 auto;
  min-width: 0;
}

.planning-report-modal .planning-compact-report-modal__body {
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  display: grid;
  grid-gap: 16px;
  gap: 16px;
}

.planning-report-modal .planning-compact-report-modal__tabs {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/photos.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__photos {
  font-size: 1.2dvh;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.8);
  word-break: break-word;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section {
  display: grid;
  grid-gap: 1dvh;
  gap: 1dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1dvh;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__header > span {
  flex: 1 1 12dvh;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 1dvh;
  min-width: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7dvh;
  padding: 0 1.2dvh;
  white-space: nowrap;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__action-btn svg {
  width: 1.7dvh;
  height: 1.7dvh;
  flex: 0 0 auto;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__action-btn span {
  display: inline;
  line-height: 1;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-section__input {
  display: none;
}

.planning-compact-report-camera-backdrop {
  position: absolute;
  inset: 0;
  padding: 2dvh;
  z-index: 1002;
}

.app-blur-popup.planning-compact-report-camera {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.planning-compact-report-camera__dialog {
  width: min(100%, 81dvh);
  max-height: 100%;
  display: grid;
  grid-gap: 1.2dvh;
  gap: 1.2dvh;
}

.planning-compact-report-camera__preview {
  overflow: hidden;
  border-radius: 1.4dvh;
  background: #000000;
}

.planning-compact-report-camera__preview video {
  display: block;
  width: 100%;
  max-height: 84dvh;
  object-fit: cover;
  background: #000000;
}

.planning-compact-report-camera__footer {
  display: grid;
  grid-gap: 1dvh;
  gap: 1dvh;
}

.planning-compact-report-camera__count {
  text-align: center;
  font-size: 2.6dvh;
  font-weight: 800;
  color: var(--sp-color-accent-orange);
}

.planning-compact-report-camera__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1dvh;
}

.planning-compact-report-camera__capture {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7dvh;
  width: auto;
  min-width: 0;
  border-color: var(--sp-color-accent-orange);
}

.planning-compact-report-camera__capture svg {
  width: 1.8dvh;
  height: 1.8dvh;
  flex: 0 0 auto;
}

.planning-compact-report-camera__capture-dock {
  position: fixed;
  right: max(2dvh, env(safe-area-inset-right, 0px));
  bottom: max(2dvh, env(safe-area-inset-bottom, 0px));
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}

.planning-compact-report-camera__capture-dock .planning-compact-report-camera__capture {
  pointer-events: auto;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 0.6dvh;
  gap: 0.6dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 0.8dvh;
  background: rgba(255, 255, 255, 0.06);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__media {
  position: relative;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__image,
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.08);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.2dvh;
  text-align: center;
  padding: 1.2dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__delete {
  all: unset;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0.12dvh solid rgba(217, 45, 32, 0.95);
  border-radius: 50%;
  background: transparent;
  color: #d92d20;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0.2dvh 0.5dvh rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: blur(0.2dvh);
          backdrop-filter: blur(0.2dvh);
  box-sizing: border-box;
  flex: 0 0 28px;
  align-self: auto;
  justify-self: auto;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__delete span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transform: none;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__delete-btn {
  all: unset;
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 1px solid #d92d20;
  border-radius: 50%;
  background: transparent;
  color: #d92d20;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
  cursor: pointer;
  flex: 0 0 28px;
  align-self: auto;
  justify-self: auto;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__success {
  position: absolute;
  right: 0.55dvh;
  bottom: 0.55dvh;
  z-index: 2;
  width: 2.2dvh;
  height: 2.2dvh;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.12dvh solid rgba(18, 183, 106, 0.95);
  border-radius: 999px;
  background: rgba(12, 15, 24, 0.12);
  color: #12b76a;
  font-size: 1.05dvh;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0.2dvh 0.5dvh rgba(0, 0, 0, 0.18);
  -webkit-backdrop-filter: blur(0.2dvh);
          backdrop-filter: blur(0.2dvh);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__success span {
  transform: translateY(-0.02dvh);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__progress {
  position: absolute;
  right: 0.55dvh;
  bottom: 0.55dvh;
  left: 0.55dvh;
  z-index: 2;
  height: 0.45dvh;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__progress-bar {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #12b76a 0%, #1ad67e 100%);
  transition: width 180ms ease;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__progress--indeterminate .planning-compact-report-photo-card__progress-bar {
  width: 42%;
  animation: planning-compact-report-photo-progress 1.1s ease-in-out infinite;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__meta {
  display: grid;
  grid-gap: 0.25dvh;
  gap: 0.25dvh;
  padding: 0.5dvh 0.6dvh 0.6dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__name {
  font-size: 0.95dvh;
  color: #ffffff;
  word-break: break-word;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-card__status {
  font-size: 0.9dvh;
  color: rgba(255, 255, 255, 0.74);
}

@keyframes planning-compact-report-photo-progress {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(320%);
  }
}

@media (max-width: 520px) {
  .planning-drawer--inline.planning-drawer--compact .planning-compact-report-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/sketch.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.planning-drawer--inline.planning-drawer--compact .planning-compact-report-backdrop.is-sketch-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 1400;
  background: #050505;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen {
  position: fixed;
  inset: 0;
  gap: 0.15dvh;
  padding: max(0.9dvh, env(safe-area-inset-top)) max(0.9dvh, env(safe-area-inset-right)) max(0.9dvh, env(safe-area-inset-bottom)) max(0.9dvh, env(safe-area-inset-left));
  grid-template-rows: auto minmax(0, 1fr);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__header {
  gap: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__header > div > div {
  margin-top: 0.35dvh !important;
  padding: 0.35dvh 0.7dvh !important;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__title {
  font-size: 1.7dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__summary {
  gap: 0.7dvh;
  padding: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__summary-text {
  font-size: calc(1.8dvh * 1.3);
  line-height: 1;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__summary-close {
  min-height: 0;
  height: auto;
  line-height: 1;
  padding: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__tabs {
  margin-top: 0.2dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal__body.is-sketch {
  overflow: hidden;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-report-modal.is-sketch-fullscreen .planning-compact-report-modal__body.is-sketch {
  height: 100%;
  gap: 0.35dvh;
}

.planning-report-sketch--compact-landscape {
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  grid-template-areas:
    "toolbar"
    "canvas"
    "hint"
    "error";
  row-gap: 0.7dvh;
  align-items: stretch;
}

.planning-report-sketch--compact-landscape .planning-report-sketch__toolbar {
  grid-area: toolbar;
  align-content: start;
  align-self: start;
  min-height: 0;
  overflow: visible;
  padding: 0;
}

.planning-report-sketch__tools-trailing .planning-compact-report-modal__tabs--inline {
  margin-top: 0;
  margin-left: auto;
}

.planning-report-sketch--compact-landscape .planning-report-sketch__hint {
  grid-area: hint;
}

.planning-report-sketch--compact-landscape .planning-report-sketch__canvas-wrap {
  grid-area: canvas;
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

.planning-report-sketch--compact-landscape .planning-report-sketch__error {
  grid-area: error;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/drive.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
/* ─── Drive Panel ─────────────────────────────────────────────────────────── */

.sp-drive-panel {
  --sp-drive-bg: #0f1115;
  --sp-drive-panel-bg: #151922;
  --sp-drive-panel-soft: #1c2230;
  --sp-drive-border: rgba(255, 255, 255, 0.1);
  --sp-drive-border-strong: rgba(255, 255, 255, 0.18);
  --sp-drive-text: #f4f6fb;
  --sp-drive-muted: #a5adbd;
  --sp-drive-faint: #717b8f;
  --sp-drive-hover: rgba(255, 255, 255, 0.065);
  --sp-drive-accent: var(--sp-color-accent-orange, #ff7a1a);
  --sp-drive-accent-soft: rgba(255, 122, 26, 0.14);
  --sp-drive-danger: #ff6b5f;
  --sp-drive-success: #4ade80;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: radial-gradient(circle at top left, rgba(255, 122, 26, 0.08), transparent 34%), var(--sp-drive-bg);
  color: var(--sp-drive-text);
  font-size: 0.9rem;
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll:has(> .sp-drive-panel) {
  overflow: hidden;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .sp-drive-panel {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
}

.app-root.compact-root .projects-content > .sp-drive-panel {
  width: 100%;
  height: 100%;
  min-height: 0;
  font-size: 0.82rem;
}

.app-root.compact-root .sp-drive-header {
  gap: 0.35rem;
  padding: 0.4rem 0.55rem;
}

.app-root.compact-root .sp-drive-breadcrumb {
  flex-wrap: nowrap;
}

.app-root.compact-root .sp-drive-breadcrumb__item {
  max-width: 9rem;
  padding: 0.16rem 0.22rem;
  font-size: 0.78rem;
}

.app-root.compact-root .sp-drive-header-actions {
  gap: 0.25rem;
}

.app-root.compact-root .sp-drive-btn--sm {
  padding: 0.22rem 0.42rem;
  font-size: 0.72rem;
}

.app-root.compact-root .sp-drive-upload-zone {
  gap: 0.45rem;
  padding: 0.4rem 0.55rem;
}

.app-root.compact-root .sp-drive-upload-zone__label,
.app-root.compact-root .sp-drive-upload-status {
  font-size: 0.72rem;
}

.app-root.compact-root .sp-drive-item,
.app-root.compact-root .sp-drive-new-folder {
  grid-template-columns: 1.25rem minmax(0, 1fr) auto auto;
  gap: 0 0.35rem;
  padding: 0.34rem 0.55rem;
}

.app-root.compact-root .sp-drive-item__size {
  min-width: 3rem;
  font-size: 0.7rem;
}

.app-root.compact-root .sp-drive-action-btn {
  width: 25px;
  height: 25px;
}

.app-root.compact-root .sp-drive-preview-backdrop {
  padding: 0.5rem;
}

.app-root.compact-root .sp-drive-preview-modal {
  width: min(100vw - 1rem, 960px);
  max-height: calc(100dvh - 1rem);
  border-radius: 8px;
}

.app-root.compact-root .sp-drive-preview-header {
  padding: 0.5rem 0.65rem;
}

.app-root.compact-root .sp-drive-preview-iframe {
  min-height: 72dvh;
}

/* Loading / disabled states */
.sp-drive-panel--loading,
.sp-drive-panel--error,
.sp-drive-panel--disabled {
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem;
  text-align: center;
  color: var(--sp-drive-muted);
}

.sp-drive-disabled-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.4;
}

.sp-drive-disabled-msg {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.sp-drive-error-detail {
  font-size: 0.82rem;
  opacity: 0.7;
  margin: 0;
}

/* Spinner */
.sp-drive-spinner {
  width: 22px;
  height: 22px;
  border: 2px solid var(--sp-drive-border-strong);
  border-top-color: var(--sp-drive-accent);
  border-radius: 50%;
  animation: sp-drive-spin 0.7s linear infinite;
  flex-shrink: 0;
}

@keyframes sp-drive-spin {
  to { transform: rotate(360deg); }
}

/* ─── Header ─────────────────────────────────────────────────────────────── */

.sp-drive-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.85rem;
  border-bottom: 1px solid var(--sp-drive-border);
  background: rgba(21, 25, 34, 0.96);
  flex-shrink: 0;
  flex-wrap: wrap;
}

.sp-drive-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.1rem;
  flex: 1 1;
  min-width: 0;
  overflow: hidden;
}

.sp-drive-breadcrumb__item {
  background: none;
  border: none;
  padding: 0.2rem 0.3rem;
  font-size: 0.88rem;
  cursor: pointer;
  color: var(--sp-drive-accent);
  border-radius: 4px;
  white-space: nowrap;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.sp-drive-breadcrumb__item:hover {
  background: var(--sp-drive-hover);
  text-decoration: underline;
}

.sp-drive-breadcrumb__item[aria-current="page"] {
  color: var(--sp-drive-text);
  cursor: default;
  font-weight: 600;
}

.sp-drive-breadcrumb__item[aria-current="page"]:hover {
  background: none;
  text-decoration: none;
}

.sp-drive-breadcrumb__root {
  font-weight: 700;
}

.sp-drive-breadcrumb__sep {
  color: var(--sp-drive-faint);
  font-size: 0.8rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 0 0.05rem;
}

.sp-drive-header-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

/* ─── Buttons ─────────────────────────────────────────────────────────────── */

.sp-drive-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--sp-drive-accent);
  border-radius: 6px;
  background: var(--sp-drive-accent);
  color: #111111;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
  white-space: nowrap;
}

.sp-drive-btn:hover { opacity: 0.85; }
.sp-drive-btn:disabled { opacity: 0.45; cursor: default; }

.sp-drive-btn--sm {
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
}

.sp-drive-btn--ghost {
  background: rgba(255, 255, 255, 0.04);
  color: var(--sp-drive-text);
  border-color: var(--sp-drive-border-strong);
}

.sp-drive-btn--ghost:hover {
  background: var(--sp-drive-hover);
}

.sp-drive-btn--danger {
  background: #b42318;
  border-color: #ff6b5f;
  color: #ffffff;
}

/* ─── Upload zone ─────────────────────────────────────────────────────────── */

.sp-drive-upload-zone {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 0.85rem;
  border-bottom: 1px dashed var(--sp-drive-border-strong);
  background: rgba(21, 25, 34, 0.78);
  cursor: pointer;
  transition: background 0.15s;
  flex-shrink: 0;
  flex-wrap: wrap;
}

.sp-drive-upload-zone:hover,
.sp-drive-upload-zone--drag-over {
  background: var(--sp-drive-hover);
}

.sp-drive-upload-zone--drag-over {
  border-color: var(--sp-drive-accent);
  box-shadow: inset 0 0 0 2px var(--sp-drive-accent);
}

.sp-drive-upload-input {
  display: none;
}

.sp-drive-upload-zone__label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  color: var(--sp-drive-text);
  pointer-events: none;
}

.sp-drive-upload-status {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

.sp-drive-upload-status--ok {
  color: var(--sp-drive-success);
  background: rgba(74, 222, 128, 0.1);
}

.sp-drive-upload-status--err {
  color: var(--sp-drive-danger);
  background: rgba(255, 107, 95, 0.12);
}

/* ─── Content / File list ─────────────────────────────────────────────────── */

.sp-drive-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.sp-drive-loading-row {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 320px;
  padding: 2rem;
}

.sp-drive-loading-state {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 320px;
  padding: 24px;
}

.sp-drive-loading-state__inner {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  width: min(360px, 78%);
}

.sp-drive-loading-state__message {
  color: var(--sp-ui-text, #f8fafc);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.sp-drive-error-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0.85rem;
  color: var(--sp-drive-danger);
  font-size: 0.88rem;
}

.sp-drive-error-row__message {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.sp-drive-empty {
  padding: 2rem 0.85rem;
  text-align: center;
  color: var(--sp-drive-muted);
  font-size: 0.88rem;
}

/* ─── File row ────────────────────────────────────────────────────────────── */

.sp-drive-item {
  display: grid;
  grid-template-columns: 1.6rem 1fr auto auto;
  align-items: center;
  grid-gap: 0 0.5rem;
  gap: 0 0.5rem;
  padding: 0.42rem 0.85rem;
  border-bottom: 1px solid var(--sp-drive-border);
  transition: background 0.1s;
  min-width: 0;
}

.sp-drive-item:hover:not(.sp-drive-item--header) {
  background: var(--sp-drive-hover);
}

.sp-drive-item--header {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--sp-drive-muted);
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--sp-drive-border-strong);
  background: var(--sp-drive-panel-bg);
}

.sp-drive-item--dir .sp-drive-item__name {
  font-weight: 600;
}

.sp-drive-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sp-drive-text);
  line-height: 1;
  flex-shrink: 0;
}

.sp-drive-item__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--sp-drive-text);
}

.sp-drive-item__name-btn {
  background: none;
  border: none;
  padding: 0;
  color: var(--sp-drive-text);
  cursor: pointer;
  font-size: inherit;
  font-weight: inherit;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  display: block;
}

.sp-drive-item__name-btn:hover { text-decoration: underline; }

.sp-drive-item__size {
  font-size: 0.78rem;
  color: var(--sp-drive-muted);
  white-space: nowrap;
  text-align: right;
  min-width: 4rem;
}

.sp-drive-item__actions {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.1s;
}

.sp-drive-item:hover .sp-drive-item__actions {
  visibility: visible;
  opacity: 1;
}

.sp-drive-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
  width: 28px;
  height: 28px;
  padding: 0;
  cursor: pointer;
  border-radius: 4px;
  line-height: 1;
  color: var(--sp-drive-muted);
  transition: background 0.1s, color 0.1s;
}

.sp-drive-action-btn:hover {
  background: var(--sp-drive-accent-soft);
  border-color: rgba(255, 122, 26, 0.35);
  color: var(--sp-drive-text);
}

.sp-drive-action-btn--danger:hover {
  background: rgba(255, 107, 95, 0.14);
  border-color: rgba(255, 107, 95, 0.4);
  color: var(--sp-drive-danger);
}

/* ─── New folder inline ───────────────────────────────────────────────────── */

.sp-drive-new-folder {
  display: grid;
  grid-template-columns: 1.6rem 1fr auto auto;
  align-items: center;
  grid-gap: 0 0.5rem;
  gap: 0 0.5rem;
  padding: 0.42rem 0.85rem;
  border-bottom: 1px solid var(--sp-drive-accent);
  background: var(--sp-drive-accent-soft);
}

.sp-drive-new-folder__input,
.sp-drive-rename__input {
  padding: 0.25rem 0.4rem;
  border: 1px solid var(--sp-drive-accent);
  border-radius: 4px;
  font-size: 0.88rem;
  background: #0d1016;
  color: var(--sp-drive-text);
  min-width: 0;
  width: 100%;
  outline: none;
}

.sp-drive-rename__input {
  font-weight: 600;
}

/* ─── Preview modal ───────────────────────────────────────────────────────── */

.sp-drive-preview-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1800;
  background: rgba(5, 7, 11, 0.82);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.sp-drive-preview-modal {
  display: flex;
  flex-direction: column;
  width: min(92vw, 960px);
  max-height: calc(100dvh - 3rem);
  background: var(--sp-drive-panel-bg);
  border: 1px solid var(--sp-drive-border-strong);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.sp-drive-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--sp-drive-border);
  flex-shrink: 0;
}

.sp-drive-preview-title {
  font-weight: 600;
  font-size: 0.9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.sp-drive-preview-close {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 1rem;
  color: var(--sp-drive-muted);
  padding: 0.2rem 0.4rem;
  border-radius: 4px;
  flex-shrink: 0;
}

.sp-drive-preview-close:hover {
  background: var(--sp-drive-hover);
  border-color: var(--sp-drive-border-strong);
  color: var(--sp-drive-text);
}

.sp-drive-preview-body {
  flex: 1 1;
  min-height: 0;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #090b10;
}

.sp-drive-preview-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.sp-drive-preview-iframe {
  width: 100%;
  height: 100%;
  min-height: 60vh;
  border: none;
  display: block;
}

/* ─── Delete confirm ──────────────────────────────────────────────────────── */

.sp-drive-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1900;
  background: rgba(5, 7, 11, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.sp-drive-confirm {
  background: var(--sp-drive-panel-bg);
  border: 1px solid var(--sp-drive-border-strong);
  border-radius: 10px;
  padding: 1.5rem 1.75rem;
  max-width: 380px;
  width: 100%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.sp-drive-confirm__msg {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
}

.sp-drive-confirm__hint {
  font-size: 0.82rem;
  color: var(--sp-drive-muted);
}

.sp-drive-confirm__actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/operational-sheet.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/* ── Operational Sheet Panel (Suivi de projet) ─────────────────────────────── */

.op-sheet-panel {
  --op-bg: #121212;
  --op-list-width: 272px;
  --op-border: rgba(255, 255, 255, 0.11);
  --op-surface: rgba(255, 255, 255, 0.05);
  --op-surface-hover: rgba(255, 255, 255, 0.09);
  --op-surface-active: rgba(255, 255, 255, 0.13);
  --op-text: #f1f5f9;
  --op-text-muted: rgba(226, 232, 240, 0.62);
  --op-text-faint: rgba(226, 232, 240, 0.38);
  --op-green: #22c55e;
  --op-green-dim: rgba(34, 197, 94, 0.22);
  --op-orange: var(--sp-color-accent, #f97316);
  --op-orange-dim: rgba(249, 115, 22, 0.2);
  --op-red: #ef4444;
  --op-red-dim: rgba(239, 68, 68, 0.2);
  --op-gray: rgba(226, 232, 240, 0.28);
  --op-gray-dim: rgba(226, 232, 240, 0.08);
  --op-tl-node-size: 20px;
  --op-tl-connector-width: 48px;

  display: flex;
  flex-direction: row;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0)), var(--op-bg);
  color: var(--op-text);
  font-size: 0.8125rem;
}

/* ── Left list ──────────────────────────────────────────────────────────────── */

.op-sheet-panel__list {
  width: var(--op-list-width);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--op-border);
  overflow: hidden;
}

.op-sheet-panel__search-zone {
  padding: 0.65rem 0.65rem 0.55rem;
  border-bottom: 1px solid var(--op-border);
  flex-shrink: 0;
}

.op-search-form {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.op-search-input {
  flex: 1 1;
  min-width: 0;
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--op-border);
  border-radius: 6px;
  background: var(--op-surface);
  color: var(--op-text);
  font-size: 0.775rem;
  outline: none;
  transition: border-color 0.15s;
}

.op-search-input::placeholder {
  color: var(--op-text-faint);
}

.op-search-input:focus {
  border-color: rgba(255, 255, 255, 0.28);
}

.op-search-btn {
  flex-shrink: 0;
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--op-border);
  border-radius: 6px;
  background: var(--op-surface);
  color: var(--op-text-muted);
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.op-search-btn:hover:not(:disabled) {
  background: var(--op-surface-hover);
  color: var(--op-text);
}

.op-search-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

.op-sheet-panel__results {
  flex: 1 1;
  overflow-y: auto;
}

.op-empty-list {
  padding: 1.5rem 0.85rem;
  color: var(--op-text-faint);
  font-size: 0.775rem;
  text-align: center;
}

/* ── Project card in list ───────────────────────────────────────────────────── */

.op-project-card {
  display: block;
  width: 100%;
  padding: 0.6rem 0.75rem;
  border: none;
  border-bottom: 1px solid var(--op-border);
  background: transparent;
  color: var(--op-text);
  text-align: left;
  cursor: pointer;
  transition: background 0.12s;
}

.op-project-card:hover {
  background: var(--op-surface-hover);
}

.op-project-card--active {
  background: var(--op-surface-active);
  border-left: 2px solid var(--op-orange);
  padding-left: calc(0.75rem - 2px);
}

.op-project-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 0.15rem;
}

.op-project-card__ref {
  font-weight: 600;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1;
  min-width: 0;
}

.op-project-card__date {
  font-size: 0.68rem;
  color: var(--op-text-faint);
  white-space: nowrap;
  flex-shrink: 0;
}

.op-project-card__client {
  font-size: 0.73rem;
  color: var(--op-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.12rem;
}

.op-project-card__material {
  font-size: 0.68rem;
  color: var(--op-text-faint);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.18rem;
}

.op-project-card__stage {
  font-size: 0.7rem;
  color: var(--op-orange);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Status badge ───────────────────────────────────────────────────────────── */

.op-status-badge {
  display: inline-block;
  padding: 0.1rem 0.42rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.op-status-badge--done {
  background: var(--op-green-dim);
  color: var(--op-green);
}

.op-status-badge--active {
  background: var(--op-orange-dim);
  color: var(--op-orange);
}

.op-status-badge--planned {
  background: var(--op-gray-dim);
  color: var(--op-text-muted);
}

.op-status-badge--pending {
  background: transparent;
  color: var(--op-text-faint);
}

/* ── Detail panel ───────────────────────────────────────────────────────────── */

.op-sheet-panel__detail {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.op-detail-empty {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--op-text-faint);
  font-size: 0.85rem;
}

.op-detail-scroll {
  flex: 1 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* ── Detail header ──────────────────────────────────────────────────────────── */

.op-detail-header {
  padding: 0.9rem 1.25rem 0.75rem;
  border-bottom: 1px solid var(--op-border);
  flex-shrink: 0;
}

.op-detail-header__main {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  margin-bottom: 0.25rem;
}

.op-detail-header__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--op-text);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.op-detail-header__seq {
  font-size: 0.75rem;
  color: var(--op-text-faint);
  flex-shrink: 0;
}

.op-detail-header__meta {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex-wrap: wrap;
  font-size: 0.775rem;
  color: var(--op-text-muted);
}

.op-detail-header__prescr {
  color: var(--op-text-faint);
}

.op-detail-header__commercial {
  color: var(--op-text-faint);
  font-style: italic;
}

/* ── Timeline: shared node styles ───────────────────────────────────────────── */

.op-tl-node {
  width: var(--op-tl-node-size);
  height: var(--op-tl-node-size);
  border-radius: 50%;
  border: 2px solid;
  flex-shrink: 0;
  position: relative;
  transition: background 0.2s, border-color 0.2s;
}

.op-tl-node--done {
  background: var(--op-green);
  border-color: var(--op-green);
  box-shadow: 0 0 0 3px var(--op-green-dim);
}

.op-tl-node--done::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  font-weight: 700;
  color: #fff;
}

.op-tl-node--active {
  background: var(--op-orange);
  border-color: var(--op-orange);
  box-shadow: 0 0 0 3px var(--op-orange-dim);
}

.op-tl-node--warning {
  background: var(--op-orange);
  border-color: var(--op-orange);
  box-shadow: 0 0 0 3px var(--op-orange-dim);
}

.op-tl-node--blocked {
  background: var(--op-red);
  border-color: var(--op-red);
  box-shadow: 0 0 0 3px var(--op-red-dim);
}

.op-tl-node--upcoming,
.op-tl-node--planned {
  background: transparent;
  border-color: rgba(226, 232, 240, 0.35);
}

.op-tl-node--pending {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.14);
}

.op-tl-node--info {
  background: rgba(96, 165, 250, 0.25);
  border-color: rgba(96, 165, 250, 0.7);
}

.op-tl-stage__date {
  margin-top: 0.2rem;
  font-size: 0.63rem;
  text-align: center;
  min-height: 0.9rem;
}

.op-tl-stage__date--done {
  color: var(--op-green);
  font-weight: 600;
}

.op-tl-stage__date--forecast {
  color: var(--op-text-faint);
  font-style: italic;
}

.op-tl-stage__date--empty {
  color: rgba(255, 255, 255, 0.13);
}

/* ── Timeline: branched layout ──────────────────────────────────────────────── */

.op-timeline {
  padding: 1rem 1.25rem 0.75rem;
  overflow-x: auto;
  flex-shrink: 0;
  border-bottom: 1px solid var(--op-border);
}

.op-timeline::-webkit-scrollbar {
  height: 4px;
}

.op-timeline::-webkit-scrollbar-track {
  background: transparent;
}

.op-timeline::-webkit-scrollbar-thumb {
  background: var(--op-border);
  border-radius: 2px;
}

.op-tl-flow {
  position: relative;
  display: grid;
  grid-template-columns: max-content max-content max-content;
  align-items: center;
  min-width: max-content;
}

.op-tl-edges {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

.op-tl-edge {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 2;
  stroke-linecap: round;
}

.op-tl-edge--done {
  stroke: var(--op-green);
}

.op-tl-edge--warning {
  stroke: var(--op-orange);
}

.op-tl-edge--blocked {
  stroke: var(--op-red);
}

.op-tl-edge--upcoming {
  stroke: rgba(255, 255, 255, 0.1);
}

.op-tl-branches {
  position: relative;
  display: grid;
  grid-template-rows: repeat(3, max-content);
  grid-gap: 0.45rem;
  gap: 0.45rem;
  margin-left: 54px;
  padding: 0.2rem 0.75rem;
  z-index: 1;
}

.op-tl-branch {
  display: grid;
  grid-template-columns: 76px max-content;
  align-items: start;
  min-width: max-content;
}

.op-tl-branch__spacer {
  width: 76px;
}

.op-tl-branch__track {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-width: max-content;
  padding: 0.6rem 22px 0;
}

/* ── Horizontal track (main + inside stages) ────────────────────────────────── */

.op-timeline__track {
  display: flex;
  align-items: flex-start;
  min-width: max-content;
  padding-top: 0.6rem;
  z-index: 1;
}

.op-timeline__track--tail {
  padding-top: 0.6rem;
}

.op-tl-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 86px;
  max-width: 100px;
  z-index: 1;
}

.op-tl-flow > .op-tl-stage {
  padding-top: 0.6rem;
}

.op-tl-stage__top {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.op-tl-stage__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.45rem;
  font-size: 0.67rem;
  color: var(--op-text-muted);
  text-align: center;
  line-height: 1.3;
  gap: 0.05rem;
}

/* ── Detail sections ────────────────────────────────────────────────────────── */

.op-detail-sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.5rem;
}

.op-detail-section {
  background: var(--op-surface);
  border: 1px solid var(--op-border);
  border-radius: 8px;
  overflow: hidden;
}

.op-detail-section__title {
  padding: 0.45rem 0.75rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--op-text-faint);
  border-bottom: 1px solid var(--op-border);
  background: rgba(255, 255, 255, 0.02);
}

.op-detail-section__body {
  padding: 0.45rem 0.75rem 0.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.op-info-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  min-height: 1.4rem;
}

.op-info-row__label {
  font-size: 0.7rem;
  color: var(--op-text-faint);
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 90px;
}

.op-info-row__value {
  font-size: 0.775rem;
  color: var(--op-text);
  font-weight: 500;
  word-break: break-word;
}

.op-action-link {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  color: var(--op-orange);
  text-decoration: none;
  transition: opacity 0.15s;
}

.op-action-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* ── Alerts ─────────────────────────────────────────────────────────────────── */

.op-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.op-alert__dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.3rem;
}

.op-alert__dot--error,
.op-alert__dot--critical {
  background: #ef4444;
}

.op-alert__dot--warning {
  background: #f97316;
}

.op-alert__dot--info {
  background: #60a5fa;
}

.op-alert__msg {
  font-size: 0.75rem;
  color: var(--op-text-muted);
  line-height: 1.4;
}

/* ── Compact (mobile) ───────────────────────────────────────────────────────── */

.app-root.compact-root .op-sheet-panel {
  flex-direction: column;
}

.app-root.compact-root .op-sheet-panel__list {
  width: 100%;
  max-height: 35vh;
  border-right: none;
  border-bottom: 1px solid var(--op-border);
}

.app-root.compact-root .op-timeline {
  padding: 0.75rem 0.65rem 0.55rem;
}

.app-root.compact-root .op-tl-branch {
  grid-template-columns: 64px max-content;
}

.app-root.compact-root .op-tl-branches {
  margin-left: 42px;
  padding-inline: 0.55rem;
}

.app-root.compact-root .op-tl-stage {
  min-width: 72px;
}

.app-root.compact-root .op-detail-sections {
  grid-template-columns: 1fr;
  padding: 0.75rem;
}

.app-root.compact-root .op-detail-header {
  padding: 0.65rem 0.75rem 0.55rem;
}

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/crm.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/* ── Stats Panel — override ancien mode iframe Grafana ───────────────────── */

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded {
  height: auto !important;
  min-height: 0;
  overflow: visible !important;
  flex: 0 0 auto;
}

.app-root:not(.compact-root) .projects-content .level-one-view-scroll > .stats-panel--embedded .stats-panel__body {
  height: auto !important;
  overflow: visible !important;
  max-height: none !important;
}

/* ── Stats Panel — native charts ─────────────────────────────────────────── */

.stats-panel__body {
  padding: 0;
}

.stats-filters {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.stats-filter-label {
  font-size: 0.75rem;
  color: rgba(226, 232, 240, 0.55);
  white-space: nowrap;
}

.stats-filter-date {
  padding: 0.28rem 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: #f1f5f9;
  font-size: 0.775rem;
  outline: none;
  cursor: pointer;
  color-scheme: dark;
}
.stats-filter-date:focus { border-color: rgba(255, 255, 255, 0.32); }

.stats-filter-btn {
  padding: 0.28rem 0.75rem;
  border: 1px solid rgba(249, 115, 22, 0.4);
  border-radius: 6px;
  background: rgba(249, 115, 22, 0.1);
  color: #fb923c;
  font-size: 0.775rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s;
}
.stats-filter-btn:hover:not(:disabled) { background: rgba(249, 115, 22, 0.2); }
.stats-filter-btn:disabled { opacity: 0.4; cursor: default; }

.stats-filter-error {
  font-size: 0.75rem;
  color: #f87171;
}

.stats-tabs-bar {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  padding: 0.6rem 0.75rem 0;
}

.stats-tab-content {
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.stats-empty {
  padding: 2rem;
  text-align: center;
  color: rgba(226, 232, 240, 0.38);
  font-size: 0.85rem;
}

/* KPI cards */
.stats-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.stats-kpi-card {
  padding: 0.8rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.stats-kpi-card__label {
  font-size: 0.67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(226, 232, 240, 0.45);
}

.stats-kpi-card__value {
  font-size: 1.4rem;
  font-weight: 800;
  color: #f1f5f9;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.stats-kpi-card__sub {
  font-size: 0.71rem;
  color: rgba(226, 232, 240, 0.45);
}

.stats-kpi-card--accent .stats-kpi-card__value { color: #4ade80; }

/* Chart blocks */
.stats-chart-block {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.02);
}

.stats-chart-block--half {
  flex: 1 1;
  min-width: 220px;
}

.stats-chart-title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(226, 232, 240, 0.45);
  margin-bottom: 0.6rem;
}

.stats-pies-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* Tooltip */
.stats-tooltip {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 0.4rem 0.65rem;
  font-size: 0.78rem;
}

.stats-tooltip__label {
  color: rgba(226, 232, 240, 0.55);
  font-size: 0.72rem;
  margin-bottom: 0.2rem;
}

.stats-tooltip__row {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  font-weight: 600;
}

/* Simulation */
.stats-simulation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  grid-gap: 0.65rem;
  gap: 0.65rem;
}

.stats-simulation-card {
  padding: 0.75rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.82rem;
  color: #f1f5f9;
}

.stats-simulation-card__detail {
  font-size: 0.72rem;
  color: rgba(226, 232, 240, 0.5);
}

.stats-simulation-card--ok { border-color: rgba(74, 222, 128, 0.25); }
.stats-simulation-card--warning { border-color: rgba(251, 146, 60, 0.35); }
.stats-simulation-card--overloaded { border-color: rgba(248, 113, 113, 0.4); }
.stats-simulation-card--underloaded { border-color: rgba(96, 165, 250, 0.25); }

/* ── CRM Panel — Suivi des ventes ─────────────────────────────────────────── */

.crm-page--embedded {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
}

/* ── Tab bar ── */

.crm-tabs-bar {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  padding: 0.75rem 0.75rem 0;
  flex-shrink: 0;
}

/* ── Filters row ── */

.crm-filters {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.crm-filter-label {
  font-size: 0.75rem;
  color: rgba(226, 232, 240, 0.55);
  white-space: nowrap;
}

.crm-filter-select,
.crm-filter-input {
  padding: 0.3rem 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: #f1f5f9;
  font-size: 0.775rem;
  outline: none;
  transition: border-color 0.15s;
  cursor: pointer;
}
.crm-filter-select:focus,
.crm-filter-input:focus {
  border-color: rgba(255, 255, 255, 0.32);
}
.crm-filter-input {
  width: 72px;
  text-align: center;
}

.crm-filter-btn {
  padding: 0.3rem 0.75rem;
  border: 1px solid rgba(249, 115, 22, 0.4);
  border-radius: 6px;
  background: rgba(249, 115, 22, 0.1);
  color: #fb923c;
  font-size: 0.775rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s;
}
.crm-filter-btn:hover:not(:disabled) {
  background: rgba(249, 115, 22, 0.2);
}
.crm-filter-btn:disabled {
  opacity: 0.4;
  cursor: default;
}

/* ── Content area ── */

.crm-content {
  padding: 0.75rem;
  flex: 1 1;
}

.crm-loading,
.crm-empty {
  padding: 2rem;
  text-align: center;
  color: rgba(226, 232, 240, 0.38);
  font-size: 0.85rem;
}

/* ── Data table ── */

.crm-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
}

.crm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.78rem;
  color: #f1f5f9;
}

.crm-table thead tr {
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.crm-table th {
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(226, 232, 240, 0.5);
  white-space: nowrap;
}

.crm-table th.crm-th--right,
.crm-table td.crm-td--right {
  text-align: right;
}

.crm-table td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  vertical-align: middle;
}

.crm-table tbody tr:last-child td {
  border-bottom: none;
}

.crm-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.crm-table__rank {
  font-size: 0.72rem;
  font-weight: 800;
  color: rgba(226, 232, 240, 0.4);
  width: 36px;
  text-align: center;
}

.crm-table__name {
  font-weight: 600;
  color: #f1f5f9;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crm-table__amount {
  font-weight: 700;
  color: #f1f5f9;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.crm-table__count {
  color: rgba(226, 232, 240, 0.65);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.crm-table__date {
  color: rgba(226, 232, 240, 0.55);
  font-size: 0.73rem;
  white-space: nowrap;
}

.crm-inactive-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.67rem;
  font-weight: 700;
  background: rgba(239, 68, 68, 0.14);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.2);
  white-space: nowrap;
}

/* ── Pipeline / Taux de transformation ── */

.crm-pipeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.crm-kpi-card {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.crm-kpi-card__label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(226, 232, 240, 0.45);
}

.crm-kpi-card__value {
  font-size: 1.5rem;
  font-weight: 800;
  color: #f1f5f9;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.crm-kpi-card__sub {
  font-size: 0.72rem;
  color: rgba(226, 232, 240, 0.45);
}

.crm-kpi-card--accent .crm-kpi-card__value {
  color: #4ade80;
}

.crm-kpi-card--warning .crm-kpi-card__value {
  color: #fb923c;
}

.crm-pipeline-section-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(226, 232, 240, 0.4);
  padding: 0.5rem 0 0.35rem;
  margin-top: 0.25rem;
}

.crm-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.75rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  margin-bottom: 0.3rem;
  font-size: 0.78rem;
}

.crm-status-row__label {
  color: rgba(226, 232, 240, 0.75);
  font-weight: 500;
}

.crm-status-row__count {
  font-weight: 700;
  color: #f1f5f9;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.crm-status-row__amount {
  color: rgba(226, 232, 240, 0.55);
  font-size: 0.73rem;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/workspace-actions.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/* ── Workspace Actions — Suivi des actions / Mon espace ──────────────────── */

/* ── Override complet du thème clair de react-kanban-kit (dark force) ──────── */
/* Le kit injecte son CSS dynamiquement → même spécificité = kit gagne → !important requis */

.wa-board-wrap .rkk-board {
  height: 100%;
  gap: 0.75rem;
  min-width: max-content;
}

.wa-board-wrap .rkk-column-outer {
  min-width: min(270px, 82dvw) !important;
  max-width: min(270px, 82dvw) !important;
}

.wa-board-wrap .rkk-column {
  background-color: var(--sp-theme-card-bg) !important;
  border: 1px solid var(--sp-theme-card-border) !important;
  color: var(--sp-ui-text) !important;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
}

.wa-board-wrap .rkk-column-wrapper {
  gap: 0 !important;
  max-height: 100%;
}

.wa-board-wrap .rkk-column-header {
  background-color: transparent !important;
  height: auto !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}

.wa-board-wrap .rkk-column-header-left {
  font-size: 0.71rem;
  color: var(--sp-ui-text-muted) !important;
}

.wa-board-wrap .rkk-column-header-right {
  font-size: 0.67rem !important;
  background-color: var(--sp-ui-surface-soft) !important;
  color: var(--sp-ui-text-muted) !important;
  border-radius: 999px;
  padding: 0.1rem 0.45rem;
}

.wa-board-wrap .rkk-column-shadow {
  background-color: rgba(255, 122, 26, 0.08) !important;
  border: 1px dashed rgba(255, 122, 26, 0.55) !important;
}

.wa-board-wrap .rkk-column-content {
  height: 0;
  flex: 1 1;
  min-height: 0;
}

.wa-board-wrap .rkk-column-content-list {
  padding: 0.35rem !important;
  gap: 0.35rem;
  display: flex;
  flex-direction: column;
  background: transparent !important;
}

/* Wrapper carte : occupe toute la largeur de la colonne */
.wa-board-wrap .rkk-card-shadow-container {
  background: transparent !important;
  width: 100%;
}

/* Cartes drag-shadow */
.wa-board-wrap .rkk-card-shadow {
  background-color: rgba(255, 122, 26, 0.08) !important;
  border: 1px dashed rgba(255, 122, 26, 0.55) !important;
  box-shadow: none !important;
  width: 100%;
}

.wa-board-wrap .rkk-card-shadow-container *,
.wa-board-wrap .rkk-column-shadow * {
  background: transparent !important;
}

/* Carte par défaut du kit – si jamais utilisée */
.wa-board-wrap .rkk-default-card {
  background-color: var(--sp-ui-surface) !important;
  border-color: var(--sp-ui-border) !important;
  box-shadow: none !important;
  color: var(--sp-ui-text) !important;
}

/* Skeleton en dark */
.wa-board-wrap .rkk-skeleton {
  background: var(--sp-ui-surface-soft) !important;
  border-color: var(--sp-ui-border) !important;
  box-shadow: none !important;
}

.wa-board-wrap .rkk-skeleton-title,
.wa-board-wrap .rkk-skeleton-priority {
  background: var(--sp-ui-border) !important;
}

.wa-board-wrap .rkk-skeleton-line {
  background: var(--sp-ui-border) !important;
  border-radius: 4px;
  height: 12px;
}

.wa-board-wrap .rkk-skeleton-tag {
  background: var(--sp-ui-border) !important;
}

@keyframes wa-skeleton-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

.wa-page {
  --sp-theme-bg-app: #0f0f0f;
  --sp-theme-text-primary: #f2f2f2;
  --sp-theme-text-on-header: #f5f7fb;
  --sp-theme-header-bg: #101010;
  --sp-theme-panel-bg: #0f0f0f;
  --sp-theme-card-bg: #171717;
  --sp-theme-card-border: #2f2f2f;
  --sp-theme-card-shadow: 0 12px 26px rgba(0, 0, 0, 0.5);
  --sp-ui-surface: #171717;
  --sp-ui-surface-soft: #0f0f0f;
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  --sp-ui-border: #4a4a4a;
  --sp-ui-overlay: rgba(7, 12, 18, 0.72);
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: #4a4a4a;
  --sp-ui-modal-bg: #171717;
  --sp-ui-modal-border: #4a4a4a;
  --sp-ui-btn-neutral-bg: #1f1f1f;
  --sp-ui-danger-text: #ff9a9a;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0)),
    var(--sp-theme-panel-bg);
  border-radius: 8px;
}

.wa-page--embedded {
  height: 100%;
}

/* ── Header ── */

.wa-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--sp-ui-border);
  flex-shrink: 0;
}
.wa-header--minimal {
  padding: 0;
  border-bottom: none;
}

.wa-list-tabs {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.wa-list-tabs::-webkit-scrollbar { display: none; }

.wa-list-tab {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 30px;
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--sp-ui-border);
  border-radius: 6px;
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text-muted);
  font-size: 0.7rem;
  font-weight: 750;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.wa-list-tab:hover:not(.wa-list-tab--active) {
  background: var(--sp-ui-surface-soft);
  color: var(--sp-ui-text);
}

.wa-list-tab--active {
  background: var(--sp-theme-card-bg);
  color: var(--sp-ui-text);
  border-color: var(--sp-ui-input-border);
}

.wa-list-tab__label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.wa-list-tab__count {
  min-width: 18px;
  padding: 0.05rem 0.35rem;
  border-radius: 999px;
  background: var(--sp-ui-surface-soft);
  color: var(--sp-ui-text-muted);
  font-size: 0.64rem;
  text-align: center;
}

.wa-header__title {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sp-ui-text-muted);
  white-space: nowrap;
}

.wa-header__spacer {
  flex: 1 1;
}

/* ── User tabs — dark forcé, indépendant du thème parent ── */

.wa-user-tabs {
  display: flex;
  gap: 0.3rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 0.55rem 1rem 0;
  flex-shrink: 0;
  scrollbar-width: none;
  border-bottom: 1px solid var(--sp-ui-border);
  background: var(--sp-theme-panel-bg);
}
.wa-user-tabs::-webkit-scrollbar { display: none; }

.wa-user-tab {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--sp-ui-border);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text-muted);
  font-size: 0.73rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.1s, color 0.1s;
  margin-bottom: -1px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.wa-user-tab:hover:not(.wa-user-tab--active) {
  background: var(--sp-ui-surface-soft);
  color: var(--sp-ui-text);
}
.wa-user-tab--active {
  background: var(--sp-theme-card-bg);
  color: var(--sp-ui-text);
  border-color: var(--sp-ui-border);
  border-bottom-color: var(--sp-theme-card-bg);
}

.wa-user-tab__avatar {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(249, 115, 22, 0.22);
  color: #fb923c;
  font-size: 0.6rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  flex-shrink: 0;
}

.wa-user-tab__count {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--sp-ui-text-muted);
  background: var(--sp-ui-surface-soft);
  border-radius: 999px;
  padding: 0 0.35rem;
  min-width: 18px;
  text-align: center;
}

/* ── Board layout ── */

.wa-board-wrap {
  flex: 1 1;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1rem;
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overscroll-behavior: contain;
}

.wa-create {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0 1rem 0.75rem;
}

.wa-create__form {
  align-items: flex-end;
  display: flex;
  gap: 0.55rem;
  min-width: min(100%, 280px);
}

.wa-create__form--card {
  flex: 1 1;
  min-width: min(100%, 420px);
}

.wa-create__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--sp-ui-border);
  color: var(--sp-ui-text);
  font: inherit;
  min-width: 0;
  outline: none;
  padding: 0.4rem 0;
}

.wa-create__input:focus {
  border-bottom-color: var(--sp-color-accent, #ff7a1a);
}

.wa-create__input::placeholder {
  color: var(--sp-ui-text-muted);
}

.wa-create__button {
  background: transparent;
  border: 0;
  color: var(--sp-ui-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 0.4rem 0;
  white-space: nowrap;
}

.wa-create__button:hover:not(:disabled) {
  color: var(--sp-color-accent, #ff7a1a);
}

.wa-create__button:disabled {
  cursor: default;
  opacity: 0.45;
}

.wa-board-wrap--compact {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: center;
  width: var(--sp-planning-compact-frame-w, 95dvw);
  min-width: var(--sp-planning-compact-frame-w, 95dvw);
  max-width: var(--sp-planning-compact-frame-w, 95dvw);
  height: calc(100dvh - var(--sp-compact-header-offset, 0px) - var(--sp-planning-compact-box-gap, 12px) - var(--sp-planning-compact-bottom-gap, 2dvh));
  min-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - var(--sp-planning-compact-box-gap, 12px) - var(--sp-planning-compact-bottom-gap, 2dvh));
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - var(--sp-planning-compact-box-gap, 12px) - var(--sp-planning-compact-bottom-gap, 2dvh));
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  border: 0.9dvw solid #000000;
  border-radius: 12px;
  box-shadow: none;
}

.wa-board-wrap--compact::after {
  content: "";
  position: absolute;
  inset: 0.9dvw;
  z-index: 20;
  border: 0.9dvw solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  pointer-events: none;
}

.wa-compact-actions {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
  padding: 0.45rem 0.65rem 0;
}

.wa-compact-carousel-header {
  position: relative;
  display: grid;
  grid-template-columns: minmax(64px, 0.72fr) minmax(0, 1.5fr) minmax(64px, 0.72fr);
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  height: 4.5dvh;
  min-height: 42px;
  flex-shrink: 0;
  padding: 0 14px;
  background: #000000;
  border-bottom: 3px solid var(--wa-compact-active-color, #94a3b8);
  border-radius: 12px 12px 0 0;
  box-sizing: border-box;
}

.wa-compact-carousel-header::after {
  content: none;
}

.wa-compact-carousel-header__action {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f8fafc;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.1;
  padding: 0;
  white-space: nowrap;
}

.wa-compact-carousel-header__action:hover:not(:disabled) {
  background: transparent;
  color: #ffb066;
}

.wa-compact-carousel-header__action:disabled {
  cursor: default;
  opacity: 0.42;
}

.wa-compact-carousel-header__title {
  min-width: 0;
  overflow: hidden;
  color: #f8fafc;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

.wa-compact-carousel-header__rail {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.wa-compact-carousel-header__rail-track {
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
}

.wa-compact-carousel-header__rail-item {
  flex: 0 0 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  overflow: hidden;
  white-space: nowrap;
}

.wa-compact-carousel-header__rail-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wa-compact-carousel-header__rail-count {
  flex-shrink: 0;
  color: #0f172a;
  background: var(--wa-compact-active-color, #94a3b8);
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  min-width: 1.45rem;
  padding: 0.22rem 0.4rem;
  text-align: center;
}

.wa-compact-list-form-row {
  flex-shrink: 0;
  padding: 0.45rem 0.65rem 0;
}

.wa-list-carousel {
  flex: 1 1;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  box-sizing: border-box;
}
.wa-list-carousel::-webkit-scrollbar { display: none; }

.wa-list-carousel__track {
  display: flex;
  height: 100%;
  min-width: 0;
}

.wa-list-carousel__slide {
  min-width: 0;
  height: 100%;
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.wa-board {
  display: flex;
  gap: 0.75rem;
  height: 100%;
  width: max-content;
  min-height: 0;
  align-items: flex-start;
}

.wa-board--kit {
  align-items: stretch;
  min-height: 100%;
}

.wa-board--compact {
  width: max-content;
  gap: 0;
  align-items: stretch;
}

/* ── Column ── */

.wa-col-wrap {
  flex: 0 0 270px;
  min-width: 270px;
  max-width: 270px;
  height: 100%;
}

.wa-board--compact .wa-col-wrap {
  flex-basis: min(270px, 82dvw);
  min-width: min(270px, 82dvw);
  max-width: min(270px, 82dvw);
}

.wa-col {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  border-radius: 10px;
  background: var(--sp-theme-card-bg);
  border: 1px solid var(--sp-theme-card-border);
}

.wa-board--kit .wa-col {
  width: 100%;
}

.wa-col--compact-single {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.wa-col__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.75rem;
  flex-shrink: 0;
  border-bottom: 1px solid var(--sp-ui-border);
}

.wa-col__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.wa-col--blue    .wa-col__dot { background: #60a5fa; }
.wa-col--orange  .wa-col__dot { background: #fb923c; }
.wa-col--sand    .wa-col__dot { background: #fbbf24; }
.wa-col--purple  .wa-col__dot { background: #a78bfa; }
.wa-col--green   .wa-col__dot { background: #4ade80; }
.wa-col--slate   .wa-col__dot { background: #94a3b8; }

.wa-col--blue    .wa-col__header { border-top: 2px solid #60a5fa; border-radius: 10px 10px 0 0; }
.wa-col--orange  .wa-col__header { border-top: 2px solid #fb923c; border-radius: 10px 10px 0 0; }
.wa-col--sand    .wa-col__header { border-top: 2px solid #fbbf24; border-radius: 10px 10px 0 0; }
.wa-col--purple  .wa-col__header { border-top: 2px solid #a78bfa; border-radius: 10px 10px 0 0; }
.wa-col--green   .wa-col__header { border-top: 2px solid #4ade80; border-radius: 10px 10px 0 0; }
.wa-col--slate   .wa-col__header { border-top: 2px solid #94a3b8; border-radius: 10px 10px 0 0; }

.wa-col__title {
  font-size: 0.71rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--sp-ui-text);
  flex: 1 1;
}

.wa-col__count {
  font-size: 0.67rem;
  font-weight: 700;
  color: var(--sp-ui-text-muted);
  background: var(--sp-ui-surface-soft);
  border-radius: 999px;
  padding: 0.1rem 0.4rem;
  min-width: 20px;
  text-align: center;
}

.wa-col__cards {
  flex: 1 1;
  overflow-y: auto;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  scrollbar-width: thin;
  scrollbar-color: var(--sp-ui-border) transparent;
}

.wa-card-wrap {
  width: 100%;
}

.wa-card-indicator {
  background: var(--sp-color-accent, #ff7a1a);
  border-radius: 999px;
  height: 3px;
}

.wa-col__empty {
  padding: 1.5rem 0.5rem;
  text-align: center;
  color: var(--sp-ui-text-muted);
  font-size: 0.73rem;
}

.wa-compact-col {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  background: #e5e7eb;
}

.wa-compact-col .wa-col__header {
  flex-shrink: 0;
  background: var(--sp-theme-card-bg);
  border-right: 1px solid var(--sp-theme-card-border);
  border-bottom: 1px solid var(--sp-theme-card-border);
  border-left: 1px solid var(--sp-theme-card-border);
}

.wa-compact-col__cards {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.65rem 14px;
  background: #e5e7eb;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: var(--sp-ui-border) transparent;
}

/* ── Card ── */

.wa-card {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  padding: 0.6rem 0.7rem;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, transform 0.1s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  width: 100%;
  box-sizing: border-box;
}
.wa-card:hover {
  background: var(--sp-ui-surface-soft);
  border-color: var(--sp-ui-input-border);
}
.wa-card:active {
  transform: scale(0.98);
}

.wa-card__title {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--sp-ui-text);
  line-height: 1.3;
  margin-bottom: 0.35rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wa-card__meta {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.wa-card__meta-row {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.7rem;
  color: var(--sp-ui-text-muted);
  line-height: 1.3;
}

.wa-card__meta-row svg {
  flex-shrink: 0;
  margin-top: 1px;
  opacity: 0.6;
}

.wa-card__meta-value {
  flex: 1 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wa-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.45rem;
}

.wa-card__tag {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  background: var(--sp-ui-surface-soft);
  color: var(--sp-ui-text-muted);
}

.wa-card__tag--blue   { background: rgba(96, 165, 250, 0.12);  color: #93c5fd; }
.wa-card__tag--orange { background: rgba(251, 146, 60, 0.12);  color: #fdba74; }
.wa-card__tag--green  { background: rgba(74, 222, 128, 0.12);  color: #86efac; }
.wa-card__tag--purple { background: rgba(167, 139, 250, 0.12); color: #c4b5fd; }

/* ── Loading / Error states ── */

.wa-loading {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sp-ui-text-muted);
  font-size: 0.85rem;
}

.wa-error {
  flex: 1 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f87171;
  font-size: 0.82rem;
}

/* ── Compact viewport framing ── */

.compact-root .wa-header {
  padding: 0.45rem 0.65rem;
}

.compact-root .wa-user-tabs {
  padding: 0.45rem 0.65rem 0;
}

.compact-root .wa-user-tab {
  padding: 0.32rem 0.6rem;
  font-size: 0.68rem;
}

.compact-root .wa-card {
  padding: 0.55rem 0.6rem;
}

.compact-root .wcm-overlay {
  padding: 0.75rem;
  align-items: stretch;
}

.compact-root .wcm-modal {
  width: 100%;
  max-width: none;
  max-height: 100%;
  margin-bottom: 0;
}

/* ── Admin toolbar ── */

.wa-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--sp-ui-border);
  flex-shrink: 0;
}

.wa-toolbar__label {
  font-size: 0.72rem;
  color: var(--sp-ui-text-muted);
  white-space: nowrap;
}

.wa-owner-select {
  padding: 0.3rem 0.55rem;
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 0.75rem;
  outline: none;
  cursor: pointer;
  max-width: 180px;
}

/* ── Drag indicator ── */

.wa-card--dragging {
  opacity: 0.5;
  transform: rotate(2deg);
}

.wa-col__drop-zone {
  min-height: 60px;
  border-radius: 6px;
  border: 2px dashed transparent;
  transition: border-color 0.15s;
}
.wa-col__drop-zone--active {
  border-color: var(--sp-ui-border);
}

/* ── Modal carte (WorkspaceCardModal) ──────────────────────────────────────── */

.wcm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 3rem;
  overflow-y: auto;
}

.wcm-modal {
  width: 760px;
  max-width: calc(100vw - 2rem);
  background: var(--sp-ui-modal-bg);
  border: 1px solid var(--sp-ui-modal-border);
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
}

/* ── Header ── */

.wcm-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 1.25rem 1.25rem 0.3rem;
}

.wcm-header-icon {
  color: var(--sp-ui-text-muted);
  padding-top: 2px;
  flex-shrink: 0;
}

.wcm-modal-title {
  flex: 1 1;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--sp-ui-text);
  line-height: 1.3;
}

.wcm-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: rgba(226, 232, 240, 0.4);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.12s, color 0.12s;
}
.wcm-close-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
}

.wcm-column-label {
  padding: 0 1.25rem 1rem 2.8rem;
  font-size: 0.72rem;
  color: var(--sp-ui-text-muted);
}
.wcm-column-label__name {
  text-decoration: underline;
  color: var(--sp-ui-text-muted);
}

.wcm-quick-actions {
  display: none;
}

/* ── Body ── */

.wcm-modal-body {
  display: flex;
  gap: 1.25rem;
  padding: 0 1rem 1.25rem;
  min-height: 0;
}

/* ── Main colonne ── */

.wcm-main {
  flex: 1 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* ── Section ── */

.wcm-section {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.wcm-section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--sp-ui-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.wcm-section-header svg { opacity: 0.7; }

/* ── Description grille ── */

.wcm-desc-grid {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  overflow: hidden;
}

.wcm-desc-row {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.45rem 0.8rem;
  border-bottom: 1px solid var(--sp-ui-border);
}
.wcm-desc-row:last-child { border-bottom: none; }

.wcm-desc-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--sp-ui-text-muted);
  text-transform: uppercase;
  min-width: 130px;
  flex-shrink: 0;
}

.wcm-desc-value {
  font-size: 0.8rem;
  color: var(--sp-ui-text);
  flex: 1 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

a.wcm-link {
  color: var(--sp-color-accent, #ff7a1a);
  text-decoration: none;
}
a.wcm-link:hover { text-decoration: underline; }

/* ── Pièces jointes ── */

.wcm-attachments {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.wcm-attachment {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 6px;
  padding: 0.5rem 0.7rem;
}

.wcm-attachment__icon {
  color: var(--sp-ui-text-muted);
  flex-shrink: 0;
}

.wcm-attachment__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.wcm-attachment__date {
  font-size: 0.65rem;
  color: var(--sp-ui-text-muted);
}

/* ── Tabs ── */

.wcm-tabs-bar {
  display: flex;
  gap: 0.25rem;
  border-bottom: 1px solid var(--sp-ui-border);
  padding-bottom: 0;
}

.wcm-tab {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.8rem;
  border: none;
  background: transparent;
  color: rgba(226, 232, 240, 0.4);
  font-size: 0.76rem;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  border-radius: 6px 6px 0 0;
  transition: color 0.12s, background 0.12s;
}
.wcm-tab:hover { color: rgba(226, 232, 240, 0.7); background: rgba(255,255,255,0.04); }
.wcm-tab--active { color: var(--sp-color-accent, #ff7a1a); border-bottom-color: var(--sp-color-accent, #ff7a1a); }

/* ── Commentaires ── */

.wcm-comments { display: flex; flex-direction: column; gap: 0.75rem; padding-top: 0.5rem; }

.wcm-comment-box { display: flex; flex-direction: column; gap: 0.5rem; }

.wcm-comment-input {
  width: 100%;
  background: var(--sp-ui-input-bg);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 8px;
  color: var(--sp-ui-text);
  font-size: 0.8rem;
  padding: 0.55rem 0.7rem;
  resize: vertical;
  outline: none;
  font-family: inherit;
  transition: border-color 0.12s;
}
.wcm-comment-input::placeholder { color: var(--sp-ui-text-muted); }
.wcm-comment-input:focus { border-color: rgba(255, 122, 26, 0.5); }

.wcm-comment-actions { display: flex; gap: 0.4rem; }

.wcm-btn {
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  border: none;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(226, 232, 240, 0.6);
  transition: background 0.12s;
}
.wcm-btn:hover { background: rgba(255, 255, 255, 0.1); }
.wcm-btn--primary { background: var(--sp-color-accent, #ff7a1a); color: #fff; }
.wcm-btn--primary:hover { background: var(--sp-color-accent, #ff7a1a); }

.wcm-comment-list { display: flex; flex-direction: column; gap: 0.7rem; }

.wcm-comment {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.wcm-comment__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 122, 26, 0.18);
  color: var(--sp-color-accent, #ff7a1a);
  font-size: 0.68rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.wcm-comment__body { flex: 1 1; min-width: 0; }

.wcm-comment__meta {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}

.wcm-comment__author {
  font-size: 0.73rem;
  font-weight: 700;
  color: var(--sp-ui-text);
}

.wcm-comment__date {
  font-size: 0.65rem;
  color: var(--sp-ui-text-muted);
}

.wcm-comment__text {
  font-size: 0.78rem;
  color: var(--sp-ui-text);
  white-space: pre-wrap;
  line-height: 1.45;
}

/* ── Input générique ── */

.wcm-input {
  width: 100%;
  background: var(--sp-ui-input-bg);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  color: var(--sp-ui-text);
  font-size: 0.78rem;
  padding: 0.4rem 0.65rem;
  outline: none;
  font-family: inherit;
  box-sizing: border-box;
}
.wcm-input::placeholder { color: var(--sp-ui-text-muted); }
.wcm-input:focus { border-color: rgba(255, 122, 26, 0.5); }

.wcm-link-adder { display: flex; flex-direction: column; gap: 0.4rem; }

/* ── Vide ── */
.wcm-empty {
  font-size: 0.75rem;
  color: var(--sp-ui-text-muted);
  padding: 0.75rem 0;
}

/* ── Sidebar ── */

.wcm-sidebar {
  width: 168px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 0.25rem;
}

.wcm-sidebar-group { display: flex; flex-direction: column; gap: 0.3rem; }

.wcm-sidebar-group__label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--sp-ui-text-muted);
  text-transform: uppercase;
  margin-bottom: 0.1rem;
}

.wcm-sidebar-current-list {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: var(--sp-ui-text-muted);
  padding: 0.35rem 0.55rem;
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 6px;
}

.wcm-sidebar-action {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 0.6rem;
  border: none;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(226, 232, 240, 0.6);
  font-size: 0.75rem;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
  text-align: left;
  width: 100%;
}
.wcm-sidebar-action:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.09);
  color: #f1f5f9;
}
.wcm-sidebar-action:disabled {
  opacity: 0.45;
  cursor: default;
}
.wcm-sidebar-action--danger:hover:not(:disabled) {
  background: rgba(248, 113, 113, 0.1);
  color: #f87171;
}

/* ── Barre "Ajouter une liste" ─────────────────────────────────────────────── */

.wa-add-list-bar {
  display: flex;
  align-items: center;
  padding: 0.45rem 1rem;
  flex-shrink: 0;
  border-bottom: 1px solid var(--sp-ui-border);
}

.wa-add-list-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border: 1px dashed var(--sp-ui-border);
  border-radius: 6px;
  color: var(--sp-ui-text-muted);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  transition: border-color 0.12s, color 0.12s;
}
.wa-add-list-btn:hover {
  border-color: var(--sp-color-accent, #ff7a1a);
  color: var(--sp-color-accent, #ff7a1a);
}

.wa-add-list-btn--compact {
  padding: 0.25rem 0.55rem;
}

.wa-add-list-form {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.wa-add-list-form--compact {
  width: 100%;
  justify-content: flex-end;
}

.wa-add-list-input {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 5px;
  color: var(--sp-ui-text);
  font: inherit;
  font-size: 0.78rem;
  outline: none;
  padding: 0.28rem 0.6rem;
  width: 180px;
  transition: border-color 0.12s;
}
.wa-add-list-input:focus { border-color: var(--sp-color-accent, #ff7a1a); }
.wa-add-list-input::placeholder { color: var(--sp-ui-text-muted); }

.wa-add-list-input--compact {
  width: min(170px, 100%);
}

.wa-add-list-submit {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: var(--sp-color-accent, #ff7a1a);
  border: none;
  border-radius: 5px;
  color: #111111;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.3rem 0.65rem;
  transition: background 0.1s;
}
.wa-add-list-submit:hover { background: var(--sp-color-accent, #ff7a1a); }

.wa-add-list-cancel {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border: none;
  color: var(--sp-ui-text-muted);
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0.2rem 0.3rem;
}
.wa-add-list-cancel:hover { color: var(--sp-ui-text-muted); }

/* ── Bouton "+" dans l'entête de colonne ────────────────────────────────────── */

.wa-col__add-card-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border: none;
  border-radius: 4px;
  color: var(--sp-ui-text-muted);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.1rem 0.25rem;
  transition: color 0.1s, background 0.1s;
  flex-shrink: 0;
}
.wa-col__add-card-btn:hover {
  background: rgba(255, 122, 26, 0.12);
  color: var(--sp-color-accent, #ff7a1a);
}

/* ── Formulaire "Ajouter une carte" (dans la colonne, via le kit) ───────────── */

.wa-add-card-form {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 7px;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  box-sizing: border-box;
}

.wa-add-card-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--sp-ui-border);
  color: var(--sp-ui-text);
  font: inherit;
  font-size: 0.78rem;
  outline: none;
  padding: 0.2rem 0;
  width: 100%;
  transition: border-color 0.12s;
}
.wa-add-card-input:focus { border-color: var(--sp-color-accent, #ff7a1a); }
.wa-add-card-input::placeholder { color: var(--sp-ui-text-muted); }

.wa-add-card-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.wa-add-card-submit {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: var(--sp-color-accent, #ff7a1a);
  border: none;
  border-radius: 4px;
  color: #111111;
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.22rem 0.55rem;
  transition: background 0.1s;
}
.wa-add-card-submit:hover { background: var(--sp-color-accent, #ff7a1a); }

.wa-add-card-cancel {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border: none;
  color: var(--sp-ui-text-muted);
  cursor: pointer;
  font-size: 0.78rem;
  padding: 0.15rem 0.3rem;
}
.wa-add-card-cancel:hover { color: var(--sp-ui-text-muted); }

/* ── Overlay "Ajouter une carte" ────────────────────────────────────────────── */

.wa-quick-add-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wa-quick-add-panel {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 10px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-width: calc(100vw - 2rem);
  padding: 1rem;
  width: 280px;
}

.wa-quick-add__label {
  color: var(--sp-ui-text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

/* ── Actions sur carte (visibles au hover) ──────────────────────────────────── */

.wa-card__action-row {
  display: flex;
  gap: 0.25rem;
  margin-top: 0.45rem;
  opacity: 0;
  transition: opacity 0.12s;
}
.wa-card:hover .wa-card__action-row { opacity: 1; }

.wa-card__action-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(58, 74, 93, 0.6);
  border-radius: 4px;
  color: var(--sp-ui-text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.35rem;
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}
.wa-card__action-btn:hover {
  background: rgba(255, 122, 26, 0.12);
  border-color: var(--sp-color-accent, #ff7a1a);
  color: var(--sp-color-accent, #ff7a1a);
}
.wa-card__action-btn--danger:hover {
  background: rgba(248, 113, 113, 0.1);
  border-color: #f87171;
  color: #f87171;
}

/* ── Édition inline du titre ────────────────────────────────────────────────── */

.wa-card__inline-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--sp-color-accent, #ff7a1a);
  color: var(--sp-ui-text);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.35rem;
  outline: none;
  padding: 0;
  width: 100%;
}

/* ── Description courte ─────────────────────────────────────────────────────── */

.wa-card__desc {
  font-size: 0.7rem;
  color: var(--sp-ui-text-muted);
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 0.2rem;
}

/* ── WorkspaceCardModal — nouvelles classes ──────────────────────────────────── */

.wcm-labels-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 1.25rem 0.5rem;
}

.wcm-label-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  color: #fff;
  white-space: nowrap;
}

.wcm-picker {
  border: 1px solid var(--sp-ui-border);
  border-radius: 6px;
  background: var(--sp-ui-surface);
  overflow: hidden;
}

.wcm-picker-list {
  display: flex;
  flex-direction: column;
}

.wcm-picker-item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.6rem;
  font-size: 0.75rem;
  color: var(--sp-ui-text);
  cursor: pointer;
  transition: background 0.1s;
}
.wcm-picker-item:hover {
  background: var(--sp-ui-surface-soft);
}

.wcm-task-list-section {
  background: var(--sp-ui-surface);
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  padding: 0.65rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.wcm-task-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.22rem 0;
}

.wcm-task-add {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

.wcm-members-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.wcm-member-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 122, 26, 0.18);
  color: var(--sp-color-accent, #ff7a1a);
  font-size: 0.62rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  flex-shrink: 0;
}

.wcm-due-input {
  width: 100%;
  background: var(--sp-ui-input-bg);
  border: 1px solid var(--sp-ui-input-border);
  border-radius: 6px;
  color: var(--sp-ui-text);
  font-size: 0.78rem;
  padding: 0.4rem 0.65rem;
  outline: none;
  font-family: inherit;
  box-sizing: border-box;
  color-scheme: dark;
}
.wcm-due-input:focus { border-color: rgba(255, 122, 26, 0.5); }

.wcm-sidebar-section-value {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  color: var(--sp-ui-text-muted);
  padding: 0.25rem 0.6rem;
}

.wcm-progress {
  height: 4px;
  border-radius: 2px;
  background: var(--sp-ui-border);
  overflow: hidden;
  margin-bottom: 0.2rem;
}

.wcm-progress-bar {
  height: 100%;
  background: var(--sp-color-accent, #ff7a1a);
  border-radius: 2px;
  transition: width 0.3s ease;
}

.wcm-saving {
  font-size: 0.68rem;
  color: var(--sp-ui-text-muted);
  opacity: 0.6;
  white-space: nowrap;
  padding-top: 2px;
}

/* ── WorkspaceCardModal compact phone ─────────────────────────────────────── */

.app-root.compact-phone[data-responsive-layout="compact"] .wcm-overlay,
.wcm-overlay.wcm-overlay--compact {
  --sp-ui-modal-bg: #0f1720;
  --sp-ui-modal-border: rgba(148, 163, 184, 0.24);
  --sp-ui-surface: #16202b;
  --sp-ui-surface-soft: #1d2937;
  --sp-ui-border: rgba(148, 163, 184, 0.18);
  --sp-ui-input-bg: #111b26;
  --sp-ui-input-border: rgba(148, 163, 184, 0.28);
  --sp-ui-text: #e6edf7;
  --sp-ui-text-muted: #8fa1b5;
  align-items: center;
  justify-content: center;
  padding: 10px;
  overflow: hidden;
  background: rgba(7, 12, 18, 0.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color-scheme: dark;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal * {
  box-sizing: border-box;
  max-width: 100%;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal {
  width: min(100%, 420px);
  max-width: calc(100vw - 20px);
  height: min(680px, calc(100dvh - 20px));
  max-height: calc(100dvh - 20px);
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--sp-ui-modal-bg);
  border-color: var(--sp-ui-modal-border);
  color: var(--sp-ui-text);
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal-header {
  flex-shrink: 0;
  gap: 0.45rem;
  padding: 0.75rem 0.8rem 0.25rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-header-icon {
  display: none;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal-title {
  font-size: 0.94rem;
  line-height: 1.25;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal-title.wcm-input {
  min-height: 32px;
  height: auto;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-close-btn {
  padding: 0.22rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-column-label {
  flex-shrink: 0;
  padding: 0 0.8rem 0.45rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-labels-bar {
  flex-shrink: 0;
  padding: 0 0.8rem 0.45rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-quick-actions {
  display: grid;
  flex-shrink: 0;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-gap: 0.25rem;
  gap: 0.25rem;
  width: 100%;
  padding: 0 0.8rem 0.55rem;
  overflow: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-quick-action {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.16rem;
  min-height: 46px;
  width: 100%;
  min-width: 0;
  padding: 0.28rem 0.1rem;
  border: 1px solid var(--sp-ui-border);
  border-radius: 7px;
  background: var(--sp-ui-surface);
  color: var(--sp-ui-text-muted);
  cursor: pointer;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-quick-action span {
  max-width: 100%;
  overflow: hidden;
  font-size: 0.52rem;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-quick-action--danger {
  color: #fca5a5;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-modal-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  min-height: 0;
  max-width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding: 0 0.8rem 0.85rem;
  -webkit-overflow-scrolling: touch;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-main {
  gap: 0.85rem;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-section {
  gap: 0.45rem;
  min-width: 0;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-section-header,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-group__label {
  font-size: 0.66rem;
  letter-spacing: 0.05em;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-desc-grid {
  border-radius: 7px;
  max-width: 100%;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-desc-row {
  flex-direction: column;
  gap: 0.18rem;
  padding: 0.45rem 0.6rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-desc-label {
  min-width: 0;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-desc-value {
  min-width: 0;
  width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-tabs-bar {
  gap: 0.15rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-tab {
  flex: 1 1;
  justify-content: center;
  padding: 0.38rem 0.45rem;
  font-size: 0.7rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comments {
  gap: 0.55rem;
  padding-top: 0.25rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comment-input {
  min-height: 72px;
  padding: 0.48rem 0.55rem;
  resize: vertical;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comment {
  gap: 0.45rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comment__avatar,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-member-avatar {
  width: 24px;
  height: 24px;
  font-size: 0.58rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comment__meta {
  flex-wrap: wrap;
  gap: 0.25rem 0.45rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-comment__text,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) a.wcm-link,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-attachment__body {
  min-width: 0;
  overflow-wrap: anywhere;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar {
  order: -1;
  width: 100%;
  max-width: 100%;
  gap: 0.35rem;
  padding-top: 0;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-group {
  gap: 0.35rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-action,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-group__label,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-section-value {
  display: none;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-group:not(:has(.wcm-picker)) {
  display: none;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-sidebar-action {
  min-height: 34px;
  padding: 0.32rem 0.55rem;
  font-size: 0.72rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-picker {
  border-radius: 7px;
  max-width: 100%;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-picker-item {
  padding: 0.36rem 0.5rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-input,
:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-due-input {
  padding: 0.36rem 0.5rem;
  font-size: 0.74rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-btn {
  padding: 0.3rem 0.55rem;
  font-size: 0.7rem;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-task-list-section {
  border-radius: 7px;
  padding: 0.52rem 0.6rem;
  max-width: 100%;
  overflow-x: hidden;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-task-add {
  gap: 0.3rem;
  min-width: 0;
}

:is(.app-root.compact-phone[data-responsive-layout="compact"], .wcm-overlay--compact) .wcm-attachment {
  gap: 0.5rem;
  padding: 0.45rem 0.55rem;
  min-width: 0;
  overflow: hidden;
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
.signature-pad {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.signature-pad__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #f4f4f4;
  font-size: 14px;
  font-weight: 700;
}

.signature-pad__head button {
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  background: transparent;
  color: #f4f4f4;
  cursor: pointer;
}

.signature-pad__head button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.signature-pad__canvas {
  width: 100%;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 8px;
  background: #ffffff;
  touch-action: none;
  display: block;
}

.order-signature-public {
  display: grid;
  grid-gap: 14px;
  gap: 14px;
}

.approval-public-root {
  -webkit-overflow-scrolling: touch;
}

.approval-public-root--signature {
  height: 100dvh;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  place-items: start center;
}

.approval-public-card {
  box-sizing: border-box;
}

.approval-public-card--signature {
  gap: 14px;
  max-height: none;
  padding: 18px;
}

.approval-public-header {
  display: grid;
  grid-template-columns: minmax(72px, 120px) minmax(0, 1fr) minmax(72px, 120px);
  align-items: center;
  grid-gap: 14px;
  gap: 14px;
  width: 100%;
}

.approval-public-logo-frame {
  width: 100%;
  height: 56px;
  display: grid;
  place-items: center start;
  overflow: hidden;
}

.approval-public-logo-frame .login-o365-logo {
  width: auto;
  height: auto;
  max-width: 118px;
  max-height: 54px;
  margin: 0;
  opacity: 0.92;
}

.approval-public-title {
  margin: 0;
  text-align: center;
}

.approval-public-meta-grid span {
  color: #cfcfcf;
  font-size: 12px;
}

.approval-public-meta-grid,
.order-signature-public__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.approval-public-meta-grid > div,
.order-signature-public__grid > div,
.order-signature-public__material,
.order-signature-public__legal > div {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.approval-public-meta-grid span,
.order-signature-public__grid span,
.order-signature-public__material span,
.order-signature-public__legal span {
  color: #cfcfcf;
  font-size: 12px;
  white-space: pre-line;
}

.order-signature-public__legal {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.order-signature-public__legal-disclosure summary {
  cursor: pointer;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.order-signature-public__legal-disclosure[open] {
  gap: 8px;
}

.order-signature-public__materials {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.order-signature-public__material {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 16px;
}

.order-signature-public__material > div {
  display: grid;
  align-content: start;
  grid-gap: 6px;
  gap: 6px;
}

.order-signature-public__material strong {
  display: block;
  color: #ffffff;
  font-size: 16px;
  line-height: 1.2;
}

.order-signature-public__edges {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin-top: 8px;
}

.order-signature-public__edge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 184px;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
}

.order-signature-public__edge strong {
  font-size: 14px;
}

.order-signature-public__edge img {
  display: block;
  width: 184px;
  height: auto;
  max-height: 180px;
  border-radius: 6px;
  object-fit: contain;
  background: #f7f7f7;
}

.order-signature-public__material > img,
.order-signature-public__photo-placeholder {
  width: 100%;
  min-height: 0;
  border-radius: 7px;
  background: #f7f7f7;
  color: #333333;
  object-fit: contain;
}

.order-signature-public__material > img {
  display: block;
  width: auto;
  max-width: min(320px, 42vw);
  height: auto;
  max-height: 320px;
  justify-self: start;
}

.order-signature-public__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0)),
    repeating-linear-gradient(45deg, #ded7cd 0 12px, #c8beb1 12px 24px);
  color: #2b2825;
}

.order-signature-public__signature-card {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.order-signature-public__signature-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  grid-gap: 10px;
  gap: 10px;
}

.order-signature-public__readonly-field {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  min-width: 0;
}

.order-signature-public__readonly-field span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.82rem;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
}

.order-signature-public__readonly-field strong {
  min-height: 33px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--sp-line-input-border);
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.2;
}

.order-signature-public__name-override {
  grid-column: 1 / -1;
}

.order-signature-public__check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #f4f4f4;
  font-size: 14px;
}

.order-signature-public__check input {
  margin-top: 3px;
}

@media (min-width: 641px) and (max-width: 1024px) {
  .approval-public-card--signature {
    width: min(100%, calc(100vw - 28px)) !important;
    padding: 16px;
  }

  .order-signature-public__material {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 640px) {
  .approval-public-root--signature {
    padding: 10px;
  }

  .approval-public-card--signature {
    width: 100% !important;
    padding: 12px;
  }

  .approval-public-card--signature .login-o365-title {
    font-size: 22px;
  }

  .approval-public-header {
    grid-template-columns: minmax(52px, 76px) minmax(0, 1fr) minmax(52px, 76px);
    gap: 8px;
  }

  .approval-public-logo-frame {
    height: 44px;
  }

  .approval-public-logo-frame .login-o365-logo {
    max-width: 74px;
    max-height: 42px;
  }

  .order-signature-public__material {
    grid-template-columns: 1fr;
  }

  .order-signature-public__material > img {
    width: min(100%, 280px);
    justify-self: start;
    max-height: 260px;
  }

  .order-signature-public__edge {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .order-signature-public__edge img {
    width: min(100%, 220px);
    height: auto;
    max-height: 220px;
  }

  .signature-pad__canvas {
    height: 180px;
  }
}

.app-root.compact-root {
  font-size: 16px;
  zoom: 1;
  transform: none;
  text-size-adjust: 100%;
}

/* Smartphone: popup "Chargement des affaires..." -50% */
.app-root.compact-phone .sp-initial-load-overlay {
  padding: 0.5rem;
}

.app-root.compact-root .sp-initial-load-overlay--compact-level-one {
  inset: var(--sp-compact-header-offset, var(--sp-header-h, 64px)) 0 0 0;
  z-index: 29;
}

.app-root.compact-phone .sp-initial-load-card {
  width: min(80vw, calc(100vw - 1rem));
  width: min(80dvw, calc(100dvw - 1rem));
  border-radius: 12px;
  overflow: hidden;
  padding: 0.5rem 0.55rem;
  gap: 0.275rem;
}

.app-root.compact-phone .sp-initial-load-title {
  font-size: clamp(1.05rem, 1.25vw, 1.35rem);
}

.app-root.compact-phone .sp-initial-load-message {
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
}

.app-root.compact-phone .sp-initial-load-bar-track {
  height: 6px;
}

.app-root.compact-phone .sp-initial-load-percent {
  font-size: 0.95rem;
}

.app-root.compact-phone .sp-inline-load-overlay {
  inset: auto 0.5rem 0.75rem 0.5rem;
}

.app-root.compact-phone .sp-initial-load-card--inline {
  width: min(24rem, calc(100vw - 1rem));
  width: min(24rem, calc(100dvw - 1rem));
  padding: 0.55rem 0.6rem;
  gap: 0.25rem;
}

.app-root.compact-phone .sp-initial-load-title--inline {
  font-size: 0.95rem;
}

.header-actions--admin {
  opacity: 0.96;
  justify-content: flex-start;
}

.toggle-btn--admin-gear {
  font-size: inherit;
  padding-top: inherit;
  padding-bottom: inherit;
}

.page-planning .app-main {
  padding-left: 0;
  padding-right: 0;
}

:root {
  --sp-prod-separator-opacity: 0.18;
  --sp-prod-vertical-separator-opacity: 0.14;
  --sp-prod-done-row-bg: #73eb9f;
  --sp-prod-done-row-text: #062b12;
  --sp-aprod-tc-marker-bg: rgba(0, 0, 0, 0.22);
  --sp-aprod-tc-marker-color: #111111;
}


.compact-history-status-chip {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.sp-title-1-hr {
  display: flex;
  justify-content: center;
  gap: 2.8rem;
}

.hr-dashboard {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  color: #111111;
}

.hr-dashboard__hero {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  padding: 1.2rem;
}

.hr-dashboard__hero h2,
.hr-dashboard__section-card h3 {
  margin: 0;
  line-height: 1.15;
}

.hr-dashboard__hero h2 {
  margin-top: 0.55rem;
  font-size: 1.55rem;
}

.hr-dashboard__hero p,
.hr-dashboard__section-card p {
  margin: 0.65rem 0 0;
  color: #444444;
  line-height: 1.45;
}

.hr-dashboard__summary-grid {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hr-dashboard__summary {
  display: grid;
  align-content: start;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  min-height: 110px;
  padding: 0.8rem;
  border: 1px solid #000000;
  border-radius: 8px;
  background: #f0f0f0;
}

.hr-dashboard__summary span:first-child {
  font-size: 0.78rem;
  color: #555555;
  text-transform: uppercase;
  font-weight: 800;
}

.hr-dashboard__summary strong {
  font-size: 1.05rem;
}

.hr-dashboard__tabs {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
}

.hr-dashboard__tabs span {
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border: 1px solid #000000;
  border-radius: 8px 8px 0 0;
  background: #d9d9d9;
  font-size: 0.86rem;
  font-weight: 800;
  white-space: nowrap;
}

.hr-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.hr-dashboard__section-card {
  display: grid;
  align-content: start;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  min-height: 190px;
  padding: 1rem;
}

.hr-dashboard__section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.hr-dashboard__badge {
  display: inline-flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1.45rem;
  padding: 0.15rem 0.5rem;
  border: 1px solid #000000;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-size: 0.74rem;
  font-weight: 800;
  white-space: nowrap;
}

.hr-dashboard__item-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: auto;
}

.hr-dashboard__item-row span {
  padding: 0.25rem 0.45rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.08);
  color: #222222;
  font-size: 0.8rem;
  font-weight: 700;
}

@media (max-width: 920px) {
  .hr-dashboard__hero {
    grid-template-columns: 1fr;
  }

  .hr-dashboard__summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (pointer: coarse), (hover: none) {
  .search-input {
    font-size: 16px !important;
    min-height: 44px;
    transition: min-height 0.14s ease, padding 0.14s ease, box-shadow 0.14s ease;
  }

  .compact-search-input {
    font-size: 16px !important;
    min-height: 44px;
    transition: min-height 0.14s ease, padding 0.14s ease, box-shadow 0.14s ease;
  }

  .compact-search-input--popover {
    font-size: 96px !important;
    min-height: 88px !important;
    padding: 10px 7px !important;
    line-height: 1.1 !important;
  }

  .search-input:focus,
  .compact-search-input:focus {
    min-height: 52px;
    padding-top: 12px;
    padding-bottom: 12px;
    box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.35);
  }
}

.context-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: transparent;
}

.context-menu {
  position: absolute;
  background: #111;
  color: #f5f5f5;
  border: 1px solid #444;
  border-radius: 8px;
  min-width: 230px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  padding: 0.25rem 0;
  font-size: 0.9rem;
}

.context-menu-item {
  width: 100%;
  background: transparent;
  color: inherit;
  border: none;
  text-align: left;
  padding: 0.6rem 0.85rem;
  cursor: pointer;
  font-size: inherit;
}

.context-menu-item:hover {
  background: var(--sp-color-accent-orange);
  color: #111;
}

/* Compact phone/tablet views (distinct from desktop) */
.app-root.compact-root {
  min-width: 0;
  width: 100%;
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  touch-action: manipulation;
  --sp-compact-header-h: 12vh;
  --sp-compact-header-h: 12dvh;
  --sp-compact-header-offset: var(--sp-compact-header-h);
  --sp-planning-compact-view-toggle-h: calc(var(--sp-compact-header-h) * 0.25);
  --sp-safe-left: env(safe-area-inset-left, 0px);
  --sp-safe-right: env(safe-area-inset-right, 0px);
  --sp-safe-inline: max(var(--sp-safe-left), var(--sp-safe-right));
}

.app-root.compact-phone {
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior-y: auto;
}

.compact-root .app-main {
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  box-sizing: border-box;
  height: auto;
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding: clamp(12px, 2.8vw, 20px);
}

.page-prod.compact-root {
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
}

.page-prod.compact-root .app-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.page-prod.compact-root .app-main--projects {
  --sp-planning-compact-frame-w: 95dvw;
  --sp-planning-compact-box-gap: 12px;
  --sp-planning-compact-bottom-gap: 2dvh;
  display: flex;
  flex-direction: column;
  height: calc(100dvh - var(--sp-compact-header-offset));
  max-height: calc(100dvh - var(--sp-compact-header-offset));
  overflow: hidden;
}

.compact-root .app-main--compact-shared.app-main--admin {
  --sp-planning-compact-frame-w: 95dvw;
  --sp-planning-compact-box-gap: 12px;
  --sp-planning-compact-bottom-gap: 2dvh;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: calc(100dvh - var(--sp-compact-header-offset));
  min-height: 0;
  max-height: calc(100dvh - var(--sp-compact-header-offset));
  overflow: hidden;
}

.page-planning.compact-root .app-main {
  --sp-planning-compact-frame-w: 95dvw;
  --sp-planning-compact-box-gap: 12px;
  --sp-planning-compact-bottom-gap: 2dvh;
  --sp-planning-compact-week-selector-h: 2.45dvh;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: calc(100dvh - var(--sp-compact-header-offset));
  min-height: 0;
  max-height: calc(100dvh - var(--sp-compact-header-offset));
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.page-planning.compact-root .planning-toolbar {
  flex: 0 0 auto;
}

.compact-header {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  box-sizing: border-box;
  background: var(--sp-theme-header-bg);
  color: var(--sp-theme-text-on-header);
  border-bottom: 2px solid var(--sp-color-accent-orange);
  padding: 12px;
  position: relative;
  z-index: 30;
  height: auto;
  min-height: var(--sp-compact-header-h);
  max-height: none;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  container-type: size;
  --sp-compact-header-unit-h: 40cqh;
  --sp-compact-control-h: 38cqh;
  --sp-compact-control-radius: 3px;
  --sp-compact-search-w: 27cqw;
  --sp-compact-search-h: var(--sp-compact-control-h);
  --sp-compact-logout-w: 24cqw;
  --sp-compact-logout-h: var(--sp-compact-control-h);
  --sp-compact-hamburger-w: 12.5cqw;
  --sp-compact-hamburger-h: var(--sp-compact-control-h);
  --sp-compact-logo-h: 30cqh;
  --sp-compact-login-h: 12.5cqh;
  --sp-connected-badge-size: 2.2vh;
  --sp-connected-badge-size: 2.2dvh;
  --sp-connected-center-y: 11.5vh;
  --sp-connected-center-y: 11.5dvh;
}

.app-root.compact-root[data-device-os="android"] .compact-header {
  --sp-compact-control-radius: 5px;
}

.compact-search-input {
  width: 100%;
  min-height: 42px;
  border-radius: 8px;
  border: 1px solid var(--sp-color-accent-orange);
  background: transparent;
  color: var(--sp-theme-text-on-header);
  padding: 8px 10px;
  font-size: 16px;
  line-height: 1.2;
}

.compact-mode-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  padding: 4px 8px;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--sp-theme-text-on-header);
}

.compact-mode-badge--warn {
  border-color: #ffb020;
  color: #ffdb8a;
}

.compact-mode-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.compact-mode-controls-label {
  font-size: 12px;
  font-weight: 700;
}

.compact-mode-select {
  min-height: 32px;
  border: 1px solid var(--sp-color-accent-orange);
  background: transparent;
  color: var(--sp-theme-text-on-header);
  border-radius: 6px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 700;
}

.compact-header-row {
  display: grid;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
  flex: 0 0 40%;
  min-height: 0 !important;
  height: 100%;
}

.compact-header-row-top {
  grid-template-columns: minmax(0, 1fr) var(--sp-compact-search-w);
  min-height: 0 !important;
  align-items: center;
  height: 100%;
}

.compact-header-search-wrap {
  min-width: 0;
  width: var(--sp-compact-search-w);
  max-width: var(--sp-compact-search-w);
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  position: relative;
  align-self: center;
  height: var(--sp-compact-search-h);
  max-height: var(--sp-compact-search-h);
}

.compact-search-fake {
  width: 100%;
  min-height: 0 !important;
  border-radius: var(--sp-compact-control-radius);
  border: 1px solid var(--sp-color-accent-orange);
  background: transparent;
  color: var(--sp-theme-text-on-header);
  padding: 0 8%;
  font-size: calc(var(--sp-compact-search-h) * 0.48);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: var(--sp-compact-search-h);
  max-height: var(--sp-compact-search-h);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.compact-search-fake-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--sp-compact-search-h);
  max-height: var(--sp-compact-search-h);
  min-width: 0;
}

.compact-search-fake-wrap.has-value .compact-search-fake {
  padding-right: calc(var(--sp-compact-search-h) * 0.9);
}

.compact-search-clear-btn {
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--sp-compact-search-h) * 0.7);
  height: calc(var(--sp-compact-search-h) * 0.7);
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: var(--sp-theme-text-on-header);
  cursor: pointer;
}

.compact-search-fake.has-value {
  font-weight: 800;
}

.compact-search-popover {
  position: absolute;
  top: 0;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  width: min(92vw, 560px);
  min-width: max(280px, calc(100% * 2));
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 12px;
  background: #0c0f14;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
  padding: 10px;
  z-index: 120;
}

.compact-search-input--popover {
  min-height: 88px;
  font-size: 96px;
  font-weight: 700;
  line-height: 1.1;
  padding: 10px 56px 10px 7px;
  border: 0;
  outline: none;
  box-shadow: none;
}

.compact-search-popover-field {
  position: relative;
  border: 0;
  box-shadow: none;
}

.compact-search-popover-clear-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  cursor: pointer;
}

.compact-search-clear-btn:hover,
.compact-search-clear-btn:focus-visible,
.compact-search-popover-clear-btn:hover,
.compact-search-popover-clear-btn:focus-visible {
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.compact-search-popover-actions {
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.compact-search-popover-btn {
  border: 1px solid var(--sp-color-accent-orange);
  background: #141a23;
  color: #ffffff;
  border-radius: 8px;
  min-height: 38px;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 700;
}

.compact-search-popover-btn--close {
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.compact-history-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 8px;
  gap: 8px;
  padding: 8px 0;
}

.compact-history-week-btn,
.compact-history-week-select {
  width: 100%;
}

.compact-history-empty {
  font-size: 26px;
  font-weight: 700;
  text-align: center;
  padding: 16px;
}

.compact-header-row-top .compact-logout {
  grid-column: 3;
  justify-self: end;
  align-self: center;
  width: var(--sp-compact-logout-w);
  min-height: 0 !important;
  height: var(--sp-compact-logout-h);
  max-height: var(--sp-compact-logout-h);
}

.compact-header-row-bottom {
  --sp-compact-line-picker-gap: 1.2dvh;
  --sp-compact-line-picker-max-w: 44vw;
  --sp-compact-line-picker-right: 0px;
  --sp-compact-line-picker-reserved-w: calc(var(--sp-compact-line-picker-max-w) + var(--sp-compact-line-picker-right));
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 1.5vh;
  margin-top: 1.5dvh;
  min-height: 0 !important;
  height: 100%;
  position: relative;
  align-items: center;
}

.compact-header-users {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  width: 100%;
  margin-top: 0.45rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(255, 106, 0, 0.55);
  border-radius: 10px;
  background: rgba(255, 106, 0, 0.08);
  box-sizing: border-box;
  flex: 0 0 20%;
  min-height: 0;
  overflow: hidden;
  min-height: var(--sp-compact-header-unit-h);
  max-height: var(--sp-compact-header-unit-h);
}

.compact-header-users--icons {
  position: absolute;
  top: calc(var(--sp-connected-center-y) - (var(--sp-connected-badge-size) / 2));
  left: 12px;
  right: 12px;
  justify-content: flex-start;
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  min-height: var(--sp-connected-badge-size);
  max-height: var(--sp-connected-badge-size);
  overflow: visible;
  align-content: center;
}

.compact-header-users-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
  white-space: nowrap;
}

.compact-header-users-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem;
  align-items: center;
  min-height: var(--sp-connected-badge-size);
}

.compact-brand-user {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  font-size: var(--sp-compact-login-h);
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.3;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  height: var(--sp-compact-login-h);
  max-height: var(--sp-compact-login-h);
}

.compact-brand-user-name {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  white-space: normal;
  line-height: 1.05;
  max-width: 8ch;
}

.compact-brand-user-block {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  line-height: 1;
}

.compact-brand-user-role {
  display: block;
  margin-top: 1px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.52rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.compact-brand-user-name-line {
  display: block;
}

.compact-brand-device-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--sp-theme-text-on-header);
  font-size: 0.48em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.compact-brand-logo {
  display: block;
  width: auto;
  height: var(--sp-compact-logo-h);
  max-height: var(--sp-compact-logo-h);
  object-fit: contain;
  flex: 0 0 auto;
}

.compact-logout {
  border: 0;
  background: transparent;
  color: var(--sp-theme-text-on-header);
  padding: 0 8%;
  font-size: calc(var(--sp-compact-logout-h) * 0.42);
  font-weight: 700;
  min-height: 0 !important;
  width: var(--sp-compact-logout-w);
  border-radius: 0;
  height: var(--sp-compact-logout-h);
  max-height: var(--sp-compact-logout-h);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.compact-page-name {
  font-size: 20.7cqh;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.35;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.08rem;
  height: var(--sp-compact-header-unit-h);
  max-height: var(--sp-compact-header-unit-h);
  min-width: 0;
  padding-right: calc(var(--sp-compact-line-picker-reserved-w) + var(--sp-compact-line-picker-gap));
  text-align: left;
}

.compact-page-name-main {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  min-width: 0;
}

.compact-page-name-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.7em;
  height: 1.7em;
  padding: 0 0.45em;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.12);
  font-size: 0.72em;
  line-height: 1;
}

.compact-header-line-picker {
  position: absolute;
  top: 50%;
  right: var(--sp-compact-line-picker-right);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 44vw;
  min-width: 0;
  margin-right: 0;
  z-index: 2;
}

.compact-header-line-picker__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--sp-compact-header-unit-h) * 0.05);
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sp-theme-text-on-header);
}

.compact-header-line-picker__trigger--quote-return {
  width: 100%;
  justify-content: flex-end;
}

.compact-settings-menu-trigger {
  width: 100%;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--sp-theme-text-on-header);
  box-sizing: border-box;
}

.compact-settings-menu-trigger .compact-header-line-picker__text {
  text-align: center;
}

.compact-header-line-picker__text {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  font-size: calc(var(--sp-compact-header-unit-h) * 0.36);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compact-header-line-picker__caret {
  font-size: calc(var(--sp-compact-header-unit-h) * 0.32);
  line-height: 1;
  color: var(--sp-theme-text-on-header);
  pointer-events: none;
}

.compact-header-line-picker__menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  display: grid;
  justify-items: end;
  grid-gap: 2px;
  gap: 2px;
  min-width: max-content;
  max-width: min(44vw, 240px);
  padding: 6px 8px;
  background: rgba(0, 0, 0, 0.96);
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.32);
  z-index: 30;
}

.compact-header-line-picker__option {
  border: 0;
  width: 100%;
  padding: 2px 0;
  background: transparent;
  color: var(--sp-theme-text-on-header);
  font-size: calc(var(--sp-compact-header-unit-h) * 0.36);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: right;
}

.compact-header-line-picker__option.is-active {
  color: var(--sp-color-accent-orange);
}

.compact-page-detect {
  display: block;
  font-size: 0.38em;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.15;
  opacity: 0.82;
  text-transform: uppercase;
  white-space: normal;
  word-break: break-word;
}

.compact-page-detect-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
}

.compact-debug-modal {
  width: min(92vw, 760px);
  max-width: min(92vw, 760px);
}

.compact-debug-textarea {
  width: 100%;
  min-height: 320px;
  border: 1px solid var(--sp-ui-input-border);
  background: #ffffff;
  color: #111111;
  font: 13px/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  padding: 10px;
  resize: vertical;
  box-sizing: border-box;
}

.compact-hamburger {
  border: 0;
  background: transparent;
  color: var(--sp-theme-text-on-header);
  width: var(--sp-compact-hamburger-w);
  height: var(--sp-compact-hamburger-h);
  border-radius: var(--sp-compact-control-radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10%;
  padding: 0 12%;
  min-height: 0 !important;
  max-height: var(--sp-compact-hamburger-h);
  box-sizing: border-box;
  justify-self: start;
}

.compact-hamburger span {
  display: block;
  width: 75%;
  height: 8%;
  background: currentColor;
}

.compact-menu {
  position: absolute;
  top: calc(100% - var(--sp-connected-badge-size) - 8px);
  right: 12px;
  margin-top: 8px;
  border: 0;
  background: #000000;
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  padding: 6px;
  border-radius: 8px;
  z-index: 121;
  min-width: min(420px, calc(100vw - 24px));
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.36);
}

.compact-menu--global {
  position: fixed;
  top: calc(var(--sp-compact-header-offset, 0px) + 6px);
  left: 10vw;
  right: 10vw;
  margin-top: 0;
  min-width: 0;
  width: auto;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 18px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.app-root.compact-root .app-blur-popup.compact-menu--global {
  width: auto;
  max-width: none;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

.compact-menu--global::-webkit-scrollbar {
  display: none;
}

.compact-menu-backdrop {
  position: fixed;
  inset: var(--sp-compact-header-offset, 0px) 0 0 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(7, 12, 18, 0.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 120;
  cursor: pointer;
}

.compact-menu-group,
.compact-submenu {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  width: 100%;
}

.compact-menu-item {
  border: 0;
  background: transparent;
  color: #ffffff;
  text-align: left;
  padding: 10px;
  font-size: 64px !important;
  font-weight: 700;
  min-height: 96px;
  width: 100%;
  border-radius: 6px;
}

.compact-menu-item--level-1 {
  justify-self: end;
  width: calc(100% - 18px);
}

.compact-menu-item--level-2 {
  justify-self: end;
  width: calc(100% - 36px);
}

.compact-menu-item--level-3 {
  justify-self: end;
  width: calc(100% - 54px);
}

.compact-menu-item--level-4 {
  justify-self: end;
  width: calc(100% - 72px);
}

.compact-menu-item.active {
  background: transparent;
  color: var(--sp-color-accent-orange);
}

.compact-menu-item--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  grid-gap: 0;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.compact-menu-item__split-main,
.compact-menu-item__split-plus {
  box-sizing: border-box;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.compact-menu-item__split-main {
  min-width: 0;
  padding: 10px;
  text-align: left;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.compact-menu-item__split-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-left: 0;
}

.compact-menu-item__split-main:hover,
.compact-menu-item__split-plus:hover {
  background: rgba(255, 106, 0, 0.14);
}

.app-root.is-stone-piloter.is-access-color-enabled .compact-menu button.compact-menu-item[class*="sp-access-"] {
  border-color: transparent;
  background: transparent;
  color: #ffffff;
}

.compact-menu-item--access-colors {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.compact-menu-item--access-colors .access-color-toggle {
  flex: 0 0 auto;
  pointer-events: none;
}

.compact-main {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

/* Desktop search-light history: compact visuals (~50%) with smartphone-like header/liseret */
.compact-main--desktop-search {
  gap: 6px;
}

.compact-main--desktop-search .compact-section-header {
  min-height: 52px;
  padding: 6px;
  font-size: 16px;
}

.compact-main--desktop-search .compact-section-title-spaced {
  font-size: 1.15em;
  letter-spacing: 0.14em;
}

.compact-main--desktop-search .compact-section-meta-left,
.compact-main--desktop-search .compact-section-meta-right {
  font-size: 0.58em;
  letter-spacing: 0.06em;
}

.compact-main--desktop-search .compact-section-list {
  gap: 4px;
  padding: 4px;
}

.compact-main--desktop-search .compact-data-row {
  padding-top: 5px;
  padding-bottom: 5px;
  min-height: 0;
}

.compact-main--desktop-search .compact-phone-primary-value,
.compact-main--desktop-search .compact-phone-secondary-right {
  font-size: 0.82em;
}

.compact-main--desktop-search .compact-marker-row {
  min-height: 26px;
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 0.78em;
}

.compact-section {
  background: var(--sp-theme-card-bg);
  border: 1px solid var(--sp-theme-card-border);
  border-radius: 10px;
  overflow: hidden;
}

.compact-users-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--sp-theme-card-border);
  border-radius: 10px;
  background: #000000;
  color: #ffffff;
  box-sizing: border-box;
}

.compact-users-strip-label {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.compact-users-strip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
}

.compact-user-badge {
  width: var(--sp-connected-badge-size);
  height: var(--sp-connected-badge-size);
  min-width: var(--sp-connected-badge-size);
  min-height: var(--sp-connected-badge-size);
  font-size: 0.88vh;
  font-size: 0.88dvh;
  line-height: 1;
  font-weight: 800;
  color: #ffffff;
  border-width: 1px;
}

.dash-page {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.dash-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  padding: 0 2px;
}

.dash-toolbar-main {
  display: grid;
  grid-gap: 4px;
  gap: 4px;
}

.dash-toolbar-title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dash-toolbar-subtitle {
  font-size: 12px;
  opacity: 0.78;
  max-width: 760px;
}

.dash-owner-select {
  min-width: 280px;
}

.dash-owner-select small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  opacity: 0.72;
}

.dash-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  grid-gap: 14px;
  gap: 14px;
  align-items: start;
}

.dash-main-card {
  padding: 14px;
  display: grid;
  grid-gap: 14px;
  gap: 14px;
  border-color: var(--sp-color-accent-orange);
}

.dash-loading {
  min-height: 220px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dash-board-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--sp-color-accent-orange);
}

.dash-board-title {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dash-board-meta {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.74;
}

.dash-board-chip {
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #000000;
  color: #ffffff;
}

.dash-board {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 320px;
  grid-gap: 12px;
  gap: 12px;
  overflow-x: auto;
  align-items: start;
  padding-bottom: 2px;
}

.dash-column {
  min-height: 420px;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 12px;
  background: #f6f6f6;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}

.dash-column.is-over {
  border-color: var(--sp-color-accent-orange);
  box-shadow: 0 0 0 2px rgba(255, 106, 0, 0.2);
}

.dash-column-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 2px solid var(--sp-color-accent-orange);
  background: #000000;
  color: #ffffff;
}

.dash-column-title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dash-column-count {
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--sp-color-accent-orange);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  color: #111111;
}

.dash-column-body {
  min-height: 260px;
  padding: 10px;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  align-content: start;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.88) 0%, rgba(244,244,244,0.96) 100%);
}

.dash-card {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  padding: 12px 12px 12px 40px;
  text-align: left;
}

.dash-card--orange {
  border-left: 4px solid var(--sp-color-accent-orange);
}

.dash-card--sand {
  border-left: 4px solid #b87f18;
}

.dash-card--green {
  border-left: 4px solid #2ca242;
}

.dash-card--slate {
  border-left: 4px solid #49525f;
}

.dash-card-handle {
  position: absolute;
  top: 12px;
  left: 10px;
  width: 20px;
  height: 26px;
  border: 0;
  background: transparent;
  padding: 0;
  display: grid;
  grid-gap: 4px;
  gap: 4px;
  align-content: center;
  cursor: -webkit-grab;
  cursor: grab;
}

.dash-card-handle span {
  width: 14px;
  height: 2px;
  background: rgba(0, 0, 0, 0.28);
  border-radius: 999px;
}

.dash-card-body {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.dash-card-title {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.dash-card-description {
  font-size: 12px;
  line-height: 1.45;
  color: rgba(17, 17, 17, 0.78);
}

.dash-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dash-card-tag {
  border-radius: 999px;
  background: rgba(255, 106, 0, 0.12);
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dash-assistant-card {
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 12px;
  background: #000000;
  color: #ffffff;
  padding: 16px;
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.dash-assistant-eyebrow {
  color: var(--sp-color-accent-orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dash-assistant-title {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.1;
}

.dash-assistant-copy,
.dash-assistant-context {
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
}

.dash-assistant-list-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dash-assistant-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .dash-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .dash-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .dash-owner-select {
    min-width: 0;
  }

  .dash-board {
    grid-auto-columns: minmax(280px, 86vw);
  }
}

.compact-root .planning-week .toggle-btn {
  height: 2.5vh;
  height: 2.5dvh;
  min-height: 2.5vh;
  min-height: 2.5dvh;
  min-width: 2.5rem;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.compact-root .planning-week span {
  font-size: 2vh;
  font-size: 2dvh;
  line-height: 2vh;
  line-height: 2dvh;
  display: inline-flex;
  align-items: center;
}

.planning-compact-week-selector-row {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2.45dvh;
  min-height: 2.45dvh;
  max-height: 2.45dvh;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.planning-compact-week-selector {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.38dvh;
  height: 2.1dvh;
  min-height: 2.1dvh;
  max-height: 2.1dvh;
  margin: 0;
  padding: 0;
  font-size: 2.1dvh;
  font-weight: 800;
  line-height: 1;
  box-sizing: border-box;
  white-space: nowrap;
}

.compact-root .planning-compact-week-selector .toggle-btn,
.planning-compact-week-selector__button {
  margin-left: 0;
  margin-right: 0;
  min-width: 2.85dvh;
  width: 2.85dvh;
  height: 2.1dvh;
  min-height: 2.1dvh;
  max-height: 2.1dvh;
  padding: 0;
  border: 0.14dvh solid var(--sp-color-accent-orange);
  border-radius: 0.38dvh;
  background: transparent;
  font: inherit;
  font-size: 1.5dvh;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 0 0 2.85dvh;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}

.compact-root .planning-compact-week-selector .toggle-btn:hover,
.compact-root .planning-compact-week-selector .toggle-btn:focus-visible,
.compact-root .planning-compact-week-selector .toggle-btn:active,
.compact-root .planning-compact-week-selector .toggle-btn.active,
.planning-compact-week-selector__button:hover,
.planning-compact-week-selector__button:focus-visible,
.planning-compact-week-selector__button:active,
.planning-compact-week-selector__button.active {
  background: transparent;
  color: #fff;
  border-color: var(--sp-color-accent-orange);
}

.planning-compact-week-selector__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.1dvh;
  min-height: 2.1dvh;
  max-height: 2.1dvh;
  margin: 0;
  padding: 0 0.32dvh;
  font-size: 1.82dvh;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  color: #111;
  box-sizing: border-box;
}

.planning-compact-week-selector__label--header {
  color: #fff;
}

.compact-root .planning-layout {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  overflow: hidden;
}

.compact-root .planning-page {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.compact-root .planning-main-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: center;
  width: var(--sp-planning-compact-frame-w);
  min-width: var(--sp-planning-compact-frame-w);
  max-width: var(--sp-planning-compact-frame-w);
  height: calc(100dvh - var(--sp-compact-header-offset) - var(--sp-planning-compact-box-gap) - var(--sp-planning-compact-bottom-gap));
  min-height: calc(100dvh - var(--sp-compact-header-offset) - var(--sp-planning-compact-box-gap) - var(--sp-planning-compact-bottom-gap));
  max-height: calc(100dvh - var(--sp-compact-header-offset) - var(--sp-planning-compact-box-gap) - var(--sp-planning-compact-bottom-gap));
  padding: 0;
  margin: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
}

.compact-root .planning-main-card.sp-card-1 {
  padding: 0;
}

.compact-root .planning-main-card.planning-main-card--technician-day,
.compact-root .planning-main-card.planning-main-card--compact-week {
  container-type: inline-size;
  --planning-main-card-frame-size: 0.9dvw;
  border: var(--planning-main-card-frame-size) solid #000000;
  box-shadow: none;
}

.compact-root .planning-main-card.planning-main-card--technician-day::after,
.compact-root .planning-main-card.planning-main-card--compact-week::after {
  content: "";
  position: absolute;
  inset: var(--planning-main-card-frame-size);
  border: var(--planning-main-card-frame-size) solid rgba(128, 128, 128, 0.55);
  border-radius: 8px;
  pointer-events: none;
  z-index: 20;
}

.compact-root .planning-main-card.planning-main-card--compact-week {
  overflow: hidden;
}

.compact-root .planning-main-card.planning-main-card--detail-active {
  border-color: var(--sp-color-accent-orange);
  box-shadow: inset 0 0 0 1px var(--sp-color-accent-orange);
}

.compact-root .planning-main-card__body {
  position: relative;
  z-index: 0;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.compact-root .planning-main-card.planning-main-card--compact-week > .planning-main-card__body {
  overflow: hidden;
}

.compact-root .planning-main-card.planning-main-card--compact-week .planning-week-grid-scroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 97%;
  height: 97%;
  min-height: 0;
  max-height: 100%;
  min-width: 0;
  margin: 1% auto 0;
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: auto;
}

.compact-root .planning-tech-card .planning-card-topline--header {
  min-height: 3.5vh !important;
  min-height: 3.5dvh !important;
  margin: 0 0 2px 0 !important;
  gap: 1px !important;
  align-items: center !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

.compact-root .planning-tech-card .planning-card-tag {
  font-size: 20px !important;
  line-height: 1 !important;
}

.compact-root .planning-tech-card .planning-card-affaire {
  font-size: 2vh !important;
  font-size: 2dvh !important;
  line-height: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 3px !important;
  border-radius: 4px !important;
}

.compact-root .planning-tech-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-content: start !important;
  justify-items: stretch !important;
}

.compact-root .planning-tech-card .planning-card-tags {
  gap: 1px !important;
  min-height: 0 !important;
  line-height: 1 !important;
}

.compact-root .planning-tech-card .planning-card-tag--type {
  min-height: 0 !important;
  padding: 0 !important;
}

.compact-root .planning-tech-card .planning-card-type-marker {
  min-width: 2vh !important;
  min-width: 2dvh !important;
  height: 2vh !important;
  height: 2dvh !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

.compact-root .planning-tech-card .planning-card-type-marker--validated {
  min-width: 2vh !important;
  min-width: 2dvh !important;
  height: 2vh !important;
  height: 2dvh !important;
  padding: 0 1px !important;
}

.compact-root .planning-tech-card .planning-card-status {
  font-size: 9.4px !important;
  line-height: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

.compact-root .planning-grid {
  width: max-content;
  min-width: 100%;
}

.compact-root .planning-grid {
  --sp-planning-subgroup-col-w: 2.5vh;
  --sp-planning-subgroup-col-w: 2.5dvh;
  --sp-planning-resource-col-w: 2.5vh;
  --sp-planning-resource-col-w: 2.5dvh;
  --sp-planning-day-col-w: calc((100vw - var(--sp-planning-subgroup-col-w) - var(--sp-planning-resource-col-w)) / 2);
  --sp-planning-day-col-w: calc((100dvw - var(--sp-planning-subgroup-col-w) - var(--sp-planning-resource-col-w)) / 2);
  --planning-day-min-width: var(--sp-planning-day-col-w);
  --sp-planning-compact-line-h: 6dvh;
  --sp-planning-compact-card-h: 4.2vh;
  --sp-planning-compact-card-h: 4.2dvh;
  grid-template-columns:
    var(--sp-planning-subgroup-col-w)
    var(--sp-planning-resource-col-w)
    repeat(var(--planning-day-columns), minmax(var(--sp-planning-day-col-w), var(--sp-planning-day-col-w)));
  padding-bottom: max(12px, env(safe-area-inset-bottom, 0px) + 12px);
  box-sizing: border-box;
}

.compact-root .planning-grid-head--resource {
  position: -webkit-sticky;
  position: sticky;
  left: var(--sp-planning-subgroup-col-w);
  z-index: 15;
  background: #000000;
  overflow: hidden;
  box-sizing: border-box;
}

.compact-root .planning-grid-head--subgroup {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 16;
  background: #000000;
  overflow: hidden;
  box-sizing: border-box;
}

.compact-root .planning-resource-cell {
  position: -webkit-sticky;
  position: sticky;
  left: var(--sp-planning-subgroup-col-w);
  position: sticky;
  isolation: isolate;
  contain: paint;
  padding: 0.3vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
  border-right: 0;
  min-height: var(--sp-planning-compact-line-h);
  box-sizing: border-box;
  z-index: 4;
}

.compact-root .planning-resource-name {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  font-size: 1.55vh;
  font-size: 1.55dvh;
  line-height: 1;
  overflow: hidden;
  text-align: center;
  gap: 0.2vh;
}

.compact-root .planning-resource-name-main {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center;
  text-align: center;
  width: auto;
  max-width: none;
  overflow-wrap: normal;
  padding: 0;
  white-space: nowrap;
  word-break: normal;
}

.compact-root .planning-resource-name .planning-count-badge,
.compact-root .planning-resource-registration,
.compact-root .planning-resource-kind {
  display: none;
}

.compact-root .planning-subgroup-cell {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  isolation: isolate;
  contain: paint;
  min-height: var(--sp-planning-compact-line-h);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
  box-sizing: border-box;
  z-index: 5;
  padding: 0.3vh;
}

.compact-root .planning-subgroup-cell span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  width: calc(var(--sp-planning-compact-line-h) * 0.9);
  max-width: calc(var(--sp-planning-compact-line-h) * 0.9);
  font-size: 1.55vh;
  font-size: 1.55dvh;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0;
  word-break: normal;
}

.compact-root .planning-grid {
  --planning-row-min-height: var(--sp-planning-compact-line-h);
}

.compact-root .planning-card {
  border-radius: 4px;
  padding: 0.2vh 0.25vh;
  box-shadow: none;
}

.compact-root .planning-card--compact {
  padding: 0.16vh 0.22vh;
  min-height: var(--sp-planning-compact-card-h);
  max-height: none;
  overflow: visible;
}

.compact-root .planning-grid-cell__cards {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.35vh;
  overflow: visible;
  min-height: 0;
}

.compact-root .planning-grid-cell__cards .planning-card {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: var(--sp-planning-compact-card-h);
  max-height: none;
  max-width: none;
  transform: none;
  transform-origin: center center;
  display: grid;
  align-content: stretch;
  justify-items: center;
}

.compact-root .planning-card-compact-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  height: auto;
  min-height: 100%;
  grid-column-gap: 0.25vh;
  column-gap: 0.25vh;
}

.compact-root .planning-card-compact-time-rail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.15vh;
  min-width: 1.15vh;
  overflow: visible;
}

.compact-root .planning-card-compact-time-rail > span {
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 1.05vh;
  font-size: 1.05dvh;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.compact-root .planning-card-compact-main {
  min-width: 0;
  width: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  justify-items: stretch;
}

.compact-root .planning-card-compact-header-stack {
  display: grid;
  justify-items: end;
  grid-gap: 0.08vh;
  gap: 0.08vh;
  min-width: 0;
  text-align: right;
}

.compact-root .planning-card-topline {
  gap: 0.18vh;
  font-size: 1.44vh;
  font-size: 1.44dvh;
}

.compact-root .planning-card-topline--header,
.compact-root .planning-card-topline--client,
.compact-root .planning-card-time-row {
  margin-bottom: 0;
  margin-top: 0;
}

.compact-root .planning-card-tag,
.compact-root .planning-card-affaire,
.compact-root .planning-card-client,
.compact-root .planning-card-amount,
.compact-root .planning-card-address,
.compact-root .planning-card-time,
.compact-root .planning-card-note,
.compact-root .planning-card-compact-type,
.compact-root .planning-card-compact-location {
  font-size: 1.5vh;
  font-size: 1.5dvh;
  line-height: 1.8vh;
  line-height: 1.8dvh;
}

.compact-root .planning-card-affaire {
  min-height: 0;
  padding: 0.1vh 0.22vh;
  border-radius: 0.35vh;
}

.compact-root .planning-card-om-badge,
.compact-root .planning-card-split-badge {
  min-width: 0.8vh;
  padding: 0.06vh 0.16vh;
  font-size: 0.42vh;
  font-size: 0.42dvh;
  line-height: 0.5vh;
  line-height: 0.5dvh;
}

.compact-root .planning-card-note {
  margin-top: 0.12vh;
  padding-top: 0.12vh;
}

.compact-root .planning-card-client--compact {
  display: grid;
  justify-items: center;
  grid-gap: 0.08vh;
  gap: 0.08vh;
  text-align: center;
  max-height: 3.6vh;
  max-height: 3.6dvh;
  overflow: hidden;
  overflow-wrap: anywhere;
  align-content: center;
}

.compact-root .planning-card-compact-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.25vh;
  min-width: 0;
}

.compact-root .planning-card-compact-type--bottom {
  margin-top: 0;
  color: #111111;
  text-align: left;
}

.compact-root .planning-card-compact-location {
  margin-left: auto;
  text-align: right;
}

.compact-root .planning-card-client--compact.planning-card-client--compact-shrink {
  font-size: 1.22vh;
  font-size: 1.22dvh;
  line-height: 1.4vh;
  line-height: 1.4dvh;
  max-height: 2.8vh;
  max-height: 2.8dvh;
}

.compact-root .planning-group-row {
  left: 0;
  z-index: 17;
  justify-self: start;
  padding: 0 calc(var(--sp-planning-group-line-h) * 0.18);
  width: calc(
    var(--sp-planning-subgroup-col-w) +
    var(--sp-planning-resource-col-w) +
    (2 * var(--sp-planning-day-col-w))
  );
  min-width: calc(
    var(--sp-planning-subgroup-col-w) +
    var(--sp-planning-resource-col-w) +
    (2 * var(--sp-planning-day-col-w))
  );
  max-width: calc(
    var(--sp-planning-subgroup-col-w) +
    var(--sp-planning-resource-col-w) +
    (2 * var(--sp-planning-day-col-w))
  );
  overflow: hidden;
}

.compact-root .planning-group-row__header {
  position: relative;
  min-height: var(--sp-planning-group-line-h);
  height: var(--sp-planning-group-line-h);
  width: 100%;
  padding: 0;
  background: transparent;
  border-top: 0;
  border-bottom: 0;
  box-sizing: border-box;
}

.compact-root .planning-group-row__title-wrap {
  display: none;
  width: calc(var(--sp-planning-subgroup-col-w) + var(--sp-planning-resource-col-w));
  min-width: 0;
  justify-content: center;
  padding-right: 0;
  background: transparent;
}

.compact-root .planning-group-row__actions {
  display: none;
}

.compact-root .planning-group-row__compact-overlay {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 19;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: none;
  width: 100%;
  min-width: 100%;
  max-width: none;
  height: 100%;
  padding:
    0
    calc(var(--sp-planning-group-line-h) * 0.18)
    0
    calc(
      var(--sp-planning-subgroup-col-w) + var(--sp-planning-resource-col-w) +
      (var(--sp-planning-group-line-h) * 0.18)
    );
  box-sizing: border-box;
  background: #111111;
  color: #ffffff;
  font-size: calc(var(--sp-planning-group-line-h) * 0.9);
  line-height: var(--sp-planning-group-line-h);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  pointer-events: none;
}

.compact-root .planning-grid-cell {
  overflow: clip;
}

.planning-card-compact-type {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.62);
}

.planning-card-compact-location {
  margin-top: 2px;
  font-size: 10px;
  font-weight: 700;
  color: rgba(17, 17, 17, 0.72);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.planning-drawer--inline.planning-drawer--compact {
  border-radius: calc(var(--planning-popup-compact-unit) * 2.4);
  gap: 0;
  grid-template-rows: auto 1fr;
  align-content: start;
}

.planning-drawer--compact {
  --planning-popup-compact-unit: 0.5vh;
  --planning-popup-compact-unit: 0.5dvh;
  padding: calc(var(--planning-popup-compact-unit) * 3);
  gap: calc(var(--planning-popup-compact-unit) * 2.5);
}

.planning-drawer--compact .planning-drawer-header {
  gap: calc(var(--planning-popup-compact-unit) * 2);
}

.planning-drawer--compact .planning-drawer-header-actions {
  gap: calc(var(--planning-popup-compact-unit) * 1.5);
}

.planning-drawer--compact .planning-drawer-eyebrow {
  font-size: calc(var(--planning-popup-compact-unit) * 1.1);
}

.planning-drawer--compact .planning-drawer-title {
  margin-top: calc(var(--planning-popup-compact-unit) * 0.8);
  font-size: calc(var(--planning-popup-compact-unit) * 3.6);
}

.planning-drawer--compact .planning-drawer-preplanning {
  margin-top: calc(var(--planning-popup-compact-unit) * 1.2);
  font-size: calc(var(--planning-popup-compact-unit) * 2.2);
}

.planning-drawer--compact .planning-drawer-presence {
  margin-top: calc(var(--planning-popup-compact-unit) * 1.2);
  font-size: calc(var(--planning-popup-compact-unit) * 1.2);
}

.planning-drawer--compact .planning-drawer-section {
  gap: calc(var(--planning-popup-compact-unit) * 1.8);
  padding-top: calc(var(--planning-popup-compact-unit) * 1.8);
}

.planning-drawer--compact .planning-drawer-section-title {
  font-size: calc(var(--planning-popup-compact-unit) * 1.3);
}

.planning-drawer--compact .planning-drawer-info {
  font-size: calc(var(--planning-popup-compact-unit) * 1.2);
}

.planning-drawer--compact .planning-drawer-meta-grid {
  gap: calc(var(--planning-popup-compact-unit) * 1.5);
}

.planning-drawer--compact .planning-drawer-meta-item {
  padding: calc(var(--planning-popup-compact-unit) * 1.8) calc(var(--planning-popup-compact-unit) * 2.1);
  border-radius: calc(var(--planning-popup-compact-unit) * 1.8);
}

.planning-drawer--compact .planning-drawer-meta-label,
.planning-drawer--compact .planning-drawer-order-label {
  font-size: calc(var(--planning-popup-compact-unit) * 1.05);
}

.planning-drawer--compact .planning-drawer-meta-value,
.planning-drawer--compact .planning-drawer-order-value {
  margin-top: calc(var(--planning-popup-compact-unit) * 0.8);
  font-size: calc(var(--planning-popup-compact-unit) * 1.25);
  line-height: 1.25;
}

.planning-drawer--compact .planning-drawer-status-quick-actions {
  gap: calc(var(--planning-popup-compact-unit) * 1.2);
}

.planning-drawer--compact .planning-drawer-status-quick-actions .planning-card-status {
  border-radius: calc(var(--planning-popup-compact-unit) * 1.6);
  padding: calc(var(--planning-popup-compact-unit) * 0.4) calc(var(--planning-popup-compact-unit) * 1.1);
  font-size: calc(var(--planning-popup-compact-unit) * 1.2);
  border-width: calc(var(--planning-popup-compact-unit) * 0.45);
}

.planning-drawer--compact .planning-confirm-modal__btn {
  border-radius: calc(var(--planning-popup-compact-unit) * 0.8);
  padding: calc(var(--planning-popup-compact-unit) * 0.9) calc(var(--planning-popup-compact-unit) * 1.6);
  font-size: calc(var(--planning-popup-compact-unit) * 1.2);
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-section {
  gap: calc(var(--planning-popup-compact-unit) * 1.8);
  padding-top: 0dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet {
  display: grid;
  grid-template-rows: 2dvh minmax(0, 1fr);
  grid-gap: calc(var(--planning-popup-compact-unit) * 1.8);
  gap: calc(var(--planning-popup-compact-unit) * 1.8);
  height: 23dvh;
  min-height: 23dvh;
  max-height: 23dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__title {
  height: 2dvh;
  min-height: 2dvh;
  max-height: 2dvh;
  font-size: calc(var(--planning-popup-compact-unit) * 2.6);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  color: var(--sp-color-accent-orange);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  grid-gap: calc(var(--planning-popup-compact-unit) * 1.2);
  gap: calc(var(--planning-popup-compact-unit) * 1.2);
  height: 100%;
  min-height: 0;
  align-content: start;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__field {
  padding: calc(var(--planning-popup-compact-unit) * 1.6) calc(var(--planning-popup-compact-unit) * 2.5);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(var(--planning-popup-compact-unit) * 0.8);
  background: transparent;
  border: 0;
}

.planning-drawer--inline.planning-drawer--compact .planning-drawer-info {
  font-size: calc(var(--planning-popup-compact-unit) * 1.2);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__label,
.planning-drawer--inline.planning-drawer--compact .planning-drawer-meta-label,
.planning-drawer--inline.planning-drawer--compact .planning-drawer-order-label {
  font-size: calc(var(--planning-popup-compact-unit) * 2.1);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__value,
.planning-drawer--inline.planning-drawer--compact .planning-drawer-meta-value,
.planning-drawer--inline.planning-drawer--compact .planning-drawer-order-value {
  margin-top: 0;
  font-size: calc(var(--planning-popup-compact-unit) * 1.25);
  line-height: 1.25;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-sheet__action {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sp-color-accent-orange);
  text-align: left;
  cursor: pointer;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal {
  width: 100%;
  max-width: min(100vw - 2rem, 32rem);
  max-height: 100%;
  overflow: hidden;
  font-size: 2.3rem;
  box-sizing: border-box;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal .sp-modal-title {
  font-size: 1.45rem;
  line-height: 1.25;
  color: var(--sp-theme-text-primary);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal .sp-modal-close {
  font-size: 3.24rem;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal__body {
  gap: calc(var(--planning-popup-compact-unit) * 2);
  max-height: calc(100% - 4.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal__row {
  display: grid;
  grid-gap: calc(var(--planning-popup-compact-unit) * 0.7);
  gap: calc(var(--planning-popup-compact-unit) * 0.7);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal__label {
  font-size: calc(var(--planning-popup-compact-unit) * 2.61);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sp-color-accent-orange);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal__value {
  font-size: calc(var(--planning-popup-compact-unit) * 3.51);
  line-height: 1.35;
  word-break: break-word;
  color: var(--sp-theme-text-primary);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-contact-modal__value.planning-card-link {
  color: var(--sp-theme-text-primary);
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
  grid-gap: 1dvh;
  gap: 1dvh;
  margin-top: auto;
  padding-top: 1.2dvh;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-actions__btn {
  min-height: 4.6dvh;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1.2dvh;
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-size: 1.45dvh;
  font-weight: 800;
  cursor: pointer;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-actions__btn:disabled {
  opacity: 0.65;
  cursor: default;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-actions__btn--primary {
  border-color: var(--sp-color-accent-orange);
  background: var(--sp-color-accent-orange);
  color: #111111;
}

.planning-drawer--inline.planning-drawer--compact .planning-compact-intervention-actions__btn--primary.is-done {
  background: #1f8f52;
  border-color: #1f8f52;
  color: #ffffff;
}

/* DEBUG overlay vue compacte */
.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay="1"] {
  position: relative;
  outline: 1px dashed var(--debug-overlay-color, rgba(90, 200, 250, 0.85));
  outline-offset: -1px;
  box-shadow: inset 0 0 0 1px var(--debug-overlay-color, rgba(90, 200, 250, 0.85));
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="card"] {
  --debug-overlay-color: rgba(255, 122, 0, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="body"] {
  --debug-overlay-color: rgba(90, 200, 250, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="drawer"] {
  --debug-overlay-color: rgba(120, 255, 160, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="header"] {
  --debug-overlay-color: rgba(255, 96, 175, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="wrapper"] {
  --debug-overlay-color: rgba(255, 215, 0, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="section"] {
  --debug-overlay-color: rgba(0, 214, 143, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-type="actions"] {
  --debug-overlay-color: rgba(170, 130, 255, 0.95);
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay="1"]::after {
  content: attr(data-debug-overlay-label) " • " attr(data-debug-overlay-definition);
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  padding: 0.15dvh 0.45dvh;
  font-size: 0.9dvh;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  pointer-events: none;
  z-index: 9999;
  white-space: nowrap;
  background: var(--debug-overlay-color, rgba(90, 200, 250, 0.9));
  color: #111111;
  border-radius: 0.35dvh;
}

.app-root.compact-root[data-debug-overlay-vue-compact="1"] [data-debug-overlay-definition=""]::after {
  content: attr(data-debug-overlay-label) " • " attr(data-debug-overlay-size);
}

.sp-date-picker-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  width: 100%;
}

.sp-date-picker-trigger {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.sp-date-picker-trigger:hover {
  border-color: var(--sp-color-accent-orange);
  color: var(--sp-color-accent-orange);
}

@media (max-width: 760px) {
  .planning-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .planning-grid {
    --planning-day-min-width: 160px;
    grid-template-columns: 48px 160px repeat(var(--planning-day-columns), minmax(var(--planning-day-min-width), 1fr));
  }

  .compact-root .planning-grid {
    --planning-day-min-width: var(--sp-planning-day-col-w);
    grid-template-columns:
      var(--sp-planning-subgroup-col-w)
      var(--sp-planning-resource-col-w)
      repeat(var(--planning-day-columns), minmax(var(--sp-planning-day-col-w), var(--sp-planning-day-col-w)));
  }

  .planning-popup {
    left: 12px !important;
    right: 12px;
    top: auto !important;
    bottom: 12px;
    width: auto;
    max-height: min(92vh, 1120px);
  }

  .planning-popup.planning-popup--compact {
    left: 12px !important;
    right: 12px;
    width: auto;
    max-height: min(92vh, 1120px);
  }

  .planning-drawer-meta-grid,
  .planning-drawer-order-grid {
    grid-template-columns: 1fr;
  }

  .planning-drawer-edit-layout {
    grid-template-columns: 1fr;
  }

  .planning-drawer-edit-column--planning {
    justify-self: stretch;
    max-width: none;
    padding-left: 0;
    padding-top: 14px;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }

  .planning-tech-nav {
    justify-content: space-between;
  }

  .planning-tech-nav-btn {
    flex: 1 1;
  }
}

.compact-section-header,
.compact-page-header {
  --sp-aggrid-title-line-h: 3vh;
  --sp-aggrid-title-line-h: 3dvh;
  --sp-aggrid-inline-pad: calc(var(--sp-aggrid-title-line-h) * 0.75);
  --sp-aggrid-stack-gap: calc(var(--sp-aggrid-title-line-h) * 0.6);
  --sp-aggrid-accent-h: calc(var(--sp-aggrid-title-line-h) * 0.09);
  --sp-aggrid-radius: calc(var(--sp-aggrid-title-line-h) * 0.5);
  width: 100%;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000000;
  color: #ffffff;
  padding: 0 var(--sp-aggrid-inline-pad);
  min-height: var(--sp-aggrid-title-line-h);
  height: var(--sp-aggrid-title-line-h);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  box-shadow: inset 0 calc(var(--sp-aggrid-accent-h) * -1) 0 var(--sp-color-accent-orange);
  overflow: hidden;
}

.compact-page-header {
  box-sizing: border-box;
}

.compact-page-header--with-users {
  display: grid;
  justify-items: center;
  grid-gap: calc(var(--sp-aggrid-title-line-h) * 0.2);
  gap: calc(var(--sp-aggrid-title-line-h) * 0.2);
  padding-top: calc(var(--sp-aggrid-title-line-h) * 0.12);
  padding-bottom: calc(var(--sp-aggrid-title-line-h) * 0.12);
  height: auto;
  min-height: var(--sp-aggrid-title-line-h);
}

.compact-header-users--page {
  position: static;
  left: auto;
  right: auto;
  top: auto;
  display: flex;
  margin-top: 0;
  margin-bottom: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  flex: 0 0 auto;
  justify-content: flex-start;
  width: 100%;
  min-height: var(--sp-connected-badge-size);
  max-height: none;
  overflow: visible;
  align-content: center;
  z-index: 1;
}

.compact-header-users--page .compact-header-users-list {
  justify-content: flex-start;
  width: 100%;
}

.compact-section-meta {
  font-size: 0.82em;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.01em;
  text-align: right;
}

.compact-section-title-spaced {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  font-size: calc(var(--sp-aggrid-title-line-h) * 0.729);
  line-height: var(--sp-aggrid-title-line-h);
  width: auto;
  max-width: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.compact-section-meta-left,
.compact-section-meta-right {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: calc(var(--sp-aggrid-title-line-h) * 0.345);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}

.compact-section-meta-left {
  left: var(--sp-aggrid-inline-pad);
  text-align: left;
}

.compact-section-meta-right {
  right: var(--sp-aggrid-inline-pad);
  text-align: right;
}

.compact-section-list {
  display: grid;
  grid-gap: var(--sp-aggrid-stack-gap);
  gap: var(--sp-aggrid-stack-gap);
  padding: var(--sp-aggrid-stack-gap);
  background: var(--sp-theme-card-border);
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  box-sizing: border-box;
}

.compact-marker-row {
  background: #000000;
  color: #ffffff;
  padding: 0.4vh 0.6vh;
  padding: 0.4dvh 0.6dvh;
  min-height: 0;
  font-size: 1.6vh;
  font-size: 1.6dvh;
  font-weight: 800;
  text-transform: uppercase;
  display: grid;
  align-items: center;
  border-radius: var(--sp-aggrid-radius);
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  box-sizing: border-box;
}

.compact-data-row {
  --sp-aggrid-card-h: 6vh;
  --sp-aggrid-card-h: 6dvh;
  --sp-aggrid-card-pad-block: calc(var(--sp-aggrid-card-h) * 0.06);
  --sp-aggrid-card-pad-inline: calc(var(--sp-aggrid-card-h) * 0.09);
  --sp-aggrid-card-gap: calc(var(--sp-aggrid-card-h) * 0.06);
  --sp-aggrid-card-label-col: calc(var(--sp-aggrid-card-h) * 0.9);
  --sp-aggrid-card-cell-gap: calc(var(--sp-aggrid-card-h) * 0.05);
  --sp-aggrid-card-text-line-h: calc(var(--sp-aggrid-card-h) * 0.25);
  --sp-aggrid-card-label-size: var(--sp-aggrid-card-text-line-h);
  --sp-aggrid-card-value-size: var(--sp-aggrid-card-text-line-h);
  background: var(--sp-theme-panel-bg);
  color: var(--sp-theme-text-primary);
  padding: var(--sp-aggrid-card-pad-block) var(--sp-aggrid-card-pad-inline);
  min-height: var(--sp-aggrid-card-h);
  height: var(--sp-aggrid-card-h);
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: var(--sp-aggrid-card-gap);
  gap: var(--sp-aggrid-card-gap);
  border-radius: var(--sp-aggrid-radius);
  border: 1px solid var(--sp-theme-card-border);
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  box-sizing: border-box;
  align-content: center;
}

.compact-tablet .compact-data-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compact-data-row.compact-data-row--mobile {
  min-height: 6dvh;
  height: auto;
}

.compact-data-cell {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(var(--sp-aggrid-card-label-col), auto) 1fr;
  align-items: center;
  grid-gap: var(--sp-aggrid-card-cell-gap);
  gap: var(--sp-aggrid-card-cell-gap);
  min-height: calc(var(--sp-aggrid-card-text-line-h) * 2);
}

.compact-data-cell--full {
  grid-column: 1 / -1;
}

.compact-cell-label {
  font-size: var(--sp-aggrid-card-label-size);
  font-weight: 800;
  text-transform: uppercase;
  opacity: 0.75;
  line-height: var(--sp-aggrid-card-text-line-h);
}

.compact-cell-value {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
  font-size: var(--sp-aggrid-card-value-size);
  line-height: var(--sp-aggrid-card-text-line-h);
  min-height: calc(var(--sp-aggrid-card-text-line-h) * 2);
  display: flex;
  align-items: center;
}

.compact-detail-backdrop {
  position: fixed;
  inset: 0;
  background: var(--sp-ui-overlay);
  z-index: 60;
  padding: 10px;
  display: grid;
  align-items: start;
}

.compact-detail-modal {
  background: var(--sp-ui-modal-bg);
  border: 2px solid var(--sp-ui-modal-border);
  border-radius: 10px;
  max-height: calc(100dvh - 20px);
  overflow: auto;
  padding: 12px;
}

.compact-detail-title {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 36px;
  line-height: 1.3;
}

.compact-close-btn,
.compact-save-btn {
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-btn-neutral-bg);
  color: var(--sp-ui-text);
  font-size: 32px;
  font-weight: 700;
  padding: 12px;
  min-height: 96px;
  width: 100%;
  border-radius: 8px;
}

.compact-detail-grid {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
}

.compact-detail-item {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--sp-ui-border);
  border-radius: 8px;
  background: var(--sp-ui-surface-soft);
}

.compact-detail-label {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

.compact-detail-value {
  font-size: 32px;
  line-height: 1.3;
  min-height: 88px;
  display: grid;
  align-items: center;
}

.compact-detail-lock-note {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sp-ui-danger-text);
}

.compact-detail-edit-wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 8px;
  gap: 8px;
  align-items: stretch;
}

.compact-detail-input {
  width: 100%;
  border: 1px solid var(--sp-ui-input-border);
  background: var(--sp-ui-input-bg);
  color: var(--sp-ui-text);
  font-size: 32px;
  padding: 12px;
  min-height: 96px;
  border-radius: 8px;
}

.compact-phone {
  touch-action: pan-y;
}

.compact-phone,
.compact-phone button:not(.extranet-nav-menu__trigger):not(.extranet-nav__item):not(.extranet-submenu__item):not(.planning-tech-header__toggle):not(.planning-tech-header__refresh):not(.planning-compact-week-selector__button):not(.planning-compact-report-photo-card__delete):not(.planning-compact-report-photo-card__delete-btn):not(.planning-compact-report-modal__save-btn):not(.planning-compact-report-modal__tab),
.compact-phone input,
.compact-phone select,
.compact-phone textarea {
  font-size: 16px;
}

.compact-phone button:not(.extranet-nav-menu__trigger):not(.extranet-nav__item):not(.extranet-submenu__item):not(.compact-section-header):not(.planning-tech-header__toggle):not(.planning-tech-header__refresh):not(.planning-compact-week-selector__button):not(.planning-compact-report-photo-card__delete):not(.planning-compact-report-photo-card__delete-btn):not(.planning-compact-report-modal__save-btn):not(.planning-compact-report-modal__tab):not(.planning-report-sketch__tool):not(.planning-report-sketch__action):not(.planning-report-sketch__swatch):not(.planning-report-sketch__chip),
.compact-phone select,
.compact-phone textarea,
.compact-phone input:not([type="checkbox"]):not([type="radio"]):not(.quote-compact-zoom__range) {
  min-height: 52px;
}

.compact-phone .planning-compact-report-modal__tab {
  --planning-compact-report-tab-height: 52px;
  --planning-compact-report-tab-padding-x: 12px;
  --planning-compact-report-tab-font-size: 16px;
}

.compact-phone .planning-compact-report-modal__save-btn {
  font-size: 1.45dvh;
  min-height: 2.8dvh;
}

.compact-root .planning-grid-head--compact-toggle {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 16;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  font: inherit;
  color: #ffffff;
  background: #000000;
  border: 0;
  box-shadow: none;
  outline: none;
  cursor: pointer;
  margin: 0;
  min-width: 0;
  min-height: var(--planning-grid-head-height);
  height: var(--planning-grid-head-height);
  max-height: var(--planning-grid-head-height);
  display: grid;
  grid-template-columns: var(--sp-planning-subgroup-col-w) minmax(0, 1fr);
  align-items: center;
  align-self: stretch;
  padding: 0;
  border-left: 0;
  border-bottom-width: 0;
  border-radius: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.compact-root .planning-grid-head--compact-toggle-mode {
  grid-column: 1 / -1;
  justify-self: center;
  display: inline-block;
  transform: rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 0.75em;
  line-height: 1;
}

.compact-root .planning-grid-head--compact-toggle-week {
  justify-self: center;
  line-height: 1;
}

.compact-phone button.planning-grid-head--compact-toggle {
  min-height: 0;
}

.compact-detail-textarea {
  resize: vertical;
  min-height: 120px;
}

.compact-detail-error {
  margin-top: 10px;
  color: var(--sp-ui-danger-text);
  font-size: 16px;
  font-weight: 700;
}

/* Texte tactile: +10% de hauteur de ligne */
.app-root.compact-root .compact-page-name,
.app-root.compact-root .compact-detail-title,
.app-root.compact-root .compact-detail-value {
  line-height: 1.43 !important;
}

/* Separation explicite smartphone vs tablette */
.app-root.compact-phone .compact-header {
  width: 100%;
  margin-inline: 0;
}

.app-root.compact-phone .compact-header-row-top {
  grid-template-columns: minmax(0, 1fr) var(--sp-compact-search-w);
  align-items: center;
  justify-items: stretch;
  text-align: left;
}

.app-root.compact-phone .compact-header-search-wrap {
  width: var(--sp-compact-search-w);
  max-width: var(--sp-compact-search-w);
}

.app-root.compact-phone .compact-header-row-top .compact-logout {
  justify-self: end;
  align-self: center;
  width: var(--sp-compact-logout-w);
  min-width: 0;
  max-width: var(--sp-compact-logout-w);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone .compact-header-row-bottom {
  --sp-compact-line-picker-max-w: 36vw;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: stretch;
  align-items: center;
  grid-gap: 14px;
  gap: 14px;
}

.app-root.compact-phone .compact-page-name {
  text-align: left;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-root.compact-phone .compact-header-line-picker {
  max-width: 36vw;
}

.app-root.compact-tablet .compact-header {
  width: 100%;
  margin-inline: 0;
}

.app-root.compact-phone .compact-phone-primary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.app-root.compact-root .compact-phone-primary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-top: 2px;
}

.app-root.compact-phone .compact-phone-primary-value {
  min-width: 0;
  flex: 1 1 auto;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-root.compact-root .compact-phone-primary-value {
  min-width: 0;
  flex: 1 1 auto;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: calc(var(--sp-aggrid-card-h) * 0.28);
  line-height: var(--sp-aggrid-card-text-line-h);
}

.app-root.compact-phone .compact-phone-status {
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid var(--sp-theme-card-border);
  padding: 2px 8px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-root.compact-root .compact-phone-status {
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid var(--sp-theme-card-border);
  padding: 2px 8px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: clamp(17px, 4.3vw, 21px);
  line-height: 1.05;
}

.app-root.compact-phone .compact-phone-status.status-en-cours {
  background: #ff8a00;
  border-color: #ff8a00;
  color: #111111;
}

.app-root.compact-root .compact-phone-status.status-en-cours {
  background: #ff8a00;
  border-color: #ff8a00;
  color: #111111;
}

.app-root.compact-phone .compact-phone-status.status-fait {
  background: #16a34a;
  border-color: #16a34a;
  color: #ffffff;
}

.app-root.compact-root .compact-phone-status.status-fait {
  background: #16a34a;
  border-color: #16a34a;
  color: #ffffff;
}

.app-root.compact-phone .compact-phone-secondary {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.app-root.compact-root .compact-phone-secondary {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  margin-bottom: 2px;
}

.app-root.compact-root .compact-phone-secondary-left {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.app-root.compact-root .compact-phone-secondary-date {
  flex: 0 0 auto;
  font-size: var(--sp-aggrid-card-value-size);
  line-height: var(--sp-aggrid-card-text-line-h);
}

.app-root.compact-root .compact-phone-secondary-sep {
  flex: 0 0 auto;
  opacity: 0.65;
  font-size: var(--sp-aggrid-card-value-size);
  line-height: var(--sp-aggrid-card-text-line-h);
}

.app-root.compact-root .compact-phone-secondary-right {
  margin-left: auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
  font-size: var(--sp-aggrid-card-value-size);
  line-height: var(--sp-aggrid-card-text-line-h);
}

.app-root.compact-root .compact-data-cell--client .compact-cell-value,
.app-root.compact-root .compact-data-cell--mat .compact-cell-value {
  font-weight: 800;
}

.app-root.compact-tablet .compact-data-cell--client .compact-cell-value,
.app-root.compact-tablet .compact-data-cell--mat .compact-cell-value {
  font-size: calc(var(--sp-aggrid-card-h) * 0.28);
}

.app-root.compact-root .compact-data-cell--client .compact-cell-value {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-root.compact-root .compact-data-cell--status.status-en-cours {
  background: #ff8a00;
  border-color: #ff8a00;
}

.app-root.compact-root .compact-data-cell--status.status-en-cours .compact-cell-value,
.app-root.compact-root .compact-data-cell--status.status-en-cours .compact-cell-label {
  color: #111111;
  font-weight: 800;
}

.app-root.compact-root .compact-data-cell--status.status-fait {
  background: #16a34a;
  border-color: #16a34a;
}

.app-root.compact-root .compact-data-cell--status.status-fait .compact-cell-value,
.app-root.compact-root .compact-data-cell--status.status-fait .compact-cell-label {
  color: #ffffff;
  font-weight: 800;
}

@media (max-width: 699px) {

  .app-root.page-prod.compact-root.compact-phone .app-main {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 64px)));
    max-height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 64px)));
    overflow: hidden;
  }

  .app-root.page-prod.compact-root.compact-phone .compact-main {
    flex: 1 1;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
  }

  .app-root.page-prod.compact-root.compact-phone .compact-main > .compact-section {
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    min-height: 0;
  }

  .app-root.page-prod.compact-root.compact-phone .compact-main > .compact-section:last-child {
    flex: 0 1 auto;
    max-height: 100%;
  }

  .app-root.page-prod.compact-root.compact-phone .compact-main > .compact-section .compact-section-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
  }

  .compact-root .app-main,
  .compact-main,
  .compact-users-strip,
  .compact-section,
  .compact-data-row,
  .compact-detail-modal {
    width: 100%;
    max-width: 100%;
  }

  .compact-root .app-main {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 12px;
    padding-left: max(10px, calc(var(--sp-safe-inline) + 8px));
    padding-right: max(10px, calc(var(--sp-safe-inline) + 8px));
  }

  .app-root.compact-phone .app-main {
    overflow-x: hidden;
    overflow-y: auto;
    min-height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 64px)));
  }

  .page-prod.compact-root .app-main {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .compact-header {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 12px;
    padding-left: max(10px, calc(var(--sp-safe-inline) + 8px));
    padding-right: max(10px, calc(var(--sp-safe-inline) + 8px));
  }

  .compact-header-row-top {
    min-height: 75px;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .app-root.compact-phone .compact-header-row-top {
    grid-template-columns: minmax(0, 1fr) var(--sp-compact-search-w) var(--sp-compact-logout-w);
    align-items: center;
  }

  .app-root.compact-phone .compact-header-search-wrap {
    width: clamp(120px, 34vw, 220px);
  }

  .compact-header-row-top .compact-logout {
    grid-column: auto;
    min-height: 36px;
  }

  .compact-header-row-top .compact-hamburger {
    min-height: 36px;
    height: 39px;
  }

  .compact-logout,
  .compact-hamburger,
  .compact-menu-item,
  .compact-close-btn,
  .compact-save-btn,
  .compact-detail-input {
    min-height: 52px;
  }

  .compact-hamburger {
    width: 104px;
    height: 56px;
    flex: 0 0 auto;
  }

  .compact-menu-item {
    min-height: 120px;
    padding: 16px;
  }

  .compact-menu {
    right: 8px;
    min-width: min(360px, calc(100vw - 16px));
  }

  .compact-detail-backdrop {
    padding: 8px;
  }

  .compact-detail-modal {
    padding: 12px;
    max-height: calc(100dvh - 16px);
  }

  .compact-detail-title {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    font-size: clamp(18px, 5vw, 24px);
  }

  .compact-detail-label {
    font-size: clamp(14px, 3.8vw, 16px);
  }

  .compact-detail-edit-wrap {
    grid-template-columns: 1fr;
  }
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header {
  overflow: visible;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  margin-top: 0;
  z-index: 121;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-menu--global {
  position: fixed;
  top: calc(var(--sp-compact-header-offset, 0px) + 6px);
  left: 10vw;
  right: 10vw;
  min-width: 0;
  width: auto;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 18px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header:has(.compact-header-line-picker__menu)::before {
  content: "";
  position: fixed;
  inset: var(--sp-compact-header-offset, 0px) 0 0 0;
  background: rgba(7, 12, 18, 0.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 120;
  pointer-events: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header-line-picker:has(.compact-header-line-picker__menu) {
  z-index: 121;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header-line-picker__menu {
  position: fixed;
  top: calc(var(--sp-compact-header-offset, 0px) + 6px);
  left: auto;
  right: 10vw;
  justify-items: stretch;
  min-width: min(80vw, 260px);
  max-width: calc(100vw - 20px);
  width: max-content;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 18px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  gap: 6px;
  background: #000000;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.36);
  z-index: 121;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header-line-picker__menu::-webkit-scrollbar {
  display: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-header-line-picker__option {
  text-align: left;
  white-space: nowrap;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-editor.compact-menu {
  position: fixed;
  top: 0;
  left: 10px;
  right: 10px;
  bottom: auto;
  z-index: 1500;
  min-width: 0;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 54px) - 18px);
  overflow: auto;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-editor__menu {
  display: grid;
  grid-gap: 6px;
  gap: 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-edit-zones {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-phone-edit-zone {
  position: absolute;
  box-sizing: border-box;
  border: 1px solid rgba(255, 106, 0, 0.22);
  background: rgba(17, 24, 39, 0.03);
  padding: 0;
  pointer-events: auto;
  cursor: pointer;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-list {
  gap: 2px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-group {
  gap: 1px;
  padding: 3px 6px;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item {
  min-height: 0;
  padding: 0;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-mobile-panel .quote-phone-editor__line-item strong {
  font-size: 0.66rem;
  line-height: 1;
}

.app-root.compact-phone[data-responsive-layout="compact"] .quote-card__content .no-print {
  display: none !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-search-popover {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: 8px !important;
  transform: translateX(-50%) !important;
  width: calc((100vw - 16px) * 0.7) !important;
  max-width: calc((100vw - 16px) * 0.7) !important;
  min-width: 0 !important;
  box-sizing: border-box;
  padding: calc(10px * 0.7 * 0.8 * 0.8) !important;
  border-radius: calc(12px * 0.7) !important;
  overflow: hidden !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-search-input--popover {
  min-height: calc(88px * 0.7 * 0.8 * 0.8) !important;
  font-size: calc(96px * 0.7 * 0.5) !important;
  padding-top: calc(10px * 0.7 * 0.8 * 0.8) !important;
  padding-bottom: calc(10px * 0.7 * 0.8 * 0.8) !important;
  padding-left: calc(7px * 0.7) !important;
  padding-right: calc(7px * 0.7) !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-search-popover .compact-search-input {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-menu-item {
  min-height: calc(120px * 0.7 * 0.7) !important;
  padding-top: calc(16px * 0.7 * 0.7) !important;
  padding-bottom: calc(16px * 0.7 * 0.7) !important;
  padding-left: calc(12px * 0.7) !important;
  padding-right: calc(12px * 0.7) !important;
  font-size: 120% !important;
}

/* Smartphone compact: menu hamburger (Production/Historique/...) x2 */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-menu-item {
  font-size: 120% !important;
}

/* Smartphone: popup detail (double-clic affaire) textes x1.6 */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-title,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-label,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-value,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-input,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-close-btn,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-save-btn,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-error {
  font-size: 96% !important;
}

/* Smartphone: titre detail (Nom + Affaire) en gras */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-title {
  font-weight: 800 !important;
}

/* Smartphone: popup detail full-screen pour eviter le chevauchement */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-backdrop {
  padding: 12px !important;
  padding-left: max(10px, calc(var(--sp-safe-inline) + 8px)) !important;
  padding-right: max(10px, calc(var(--sp-safe-inline) + 8px)) !important;
  overflow-x: hidden !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-modal {
  width: 100% !important;
  max-width: none !important;
  max-height: calc(100dvh - 24px) !important;
  border-radius: 10px !important;
  padding: calc(6px * 0.6) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* Smartphone: meme hauteur entre valeurs enregistrees et champs editables */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-value,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-input:not(.compact-detail-textarea) {
  min-height: 44px !important;
  height: 44px !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-edit-wrap {
  grid-template-columns: 1fr !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-item,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-edit-wrap,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-input,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-value {
  min-width: 0 !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-detail-input {
  width: 100% !important;
}

/* Smartphone compact only: keep strip full-width and avoid right-shifted inner content */
.app-root.compact-phone[data-responsive-layout="compact"] .compact-users-strip,
.app-root.compact-phone[data-responsive-layout="compact"] .compact-header-users {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-phone-secondary {
  white-space: normal !important;
  flex-wrap: wrap;
  width: 100%;
}

.app-root.compact-phone[data-responsive-layout="compact"] .compact-phone-secondary-left {
  min-width: 0;
  flex-wrap: wrap;
}

@media (min-width: 700px) and (max-width: 1399px) {

  .compact-root .app-main {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: clamp(10px, 1.8vmin, 18px);
  }

  .compact-header {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: clamp(10px, 1.6vmin, 16px) clamp(12px, 1.9vmin, 18px);
  }

  .compact-header-row-top {
    grid-template-columns: minmax(0, 1fr) minmax(180px, 34vw) auto;
    align-items: center;
  }

  .compact-header-row-top .compact-logout {
    grid-column: auto;
    width: auto;
    min-width: 180px;
    min-height: clamp(34px, 4.76vmin, 63px);
  }

  /* Tablette: meme hauteur visuelle que le bouton Recherche */
  .app-root.compact-tablet[data-responsive-layout="large"] .compact-header-row-top .compact-logout {
    min-height: 42px;
    height: 42px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .compact-header-row-top .compact-hamburger {
    min-height: clamp(34px, 4.76vmin, 63px);
    height: clamp(34px, 4.76vmin, 63px);
  }

  .compact-menu-item {
    font-size: clamp(48px, 6vmin, 80px) !important;
  }

  .compact-menu {
    gap: clamp(6px, 0.9vmin, 10px);
    padding: clamp(6px, 0.9vmin, 10px);
  }

  .compact-menu-item {
    min-height: clamp(96px, 12vmin, 160px);
    padding: clamp(16px, 2.2vmin, 24px);
  }

  .compact-logout,
  .compact-hamburger,
  .compact-close-btn,
  .compact-save-btn,
  .compact-detail-input {
    min-height: clamp(48px, 6.8vmin, 90px);
  }

  .compact-logout,
  .compact-close-btn,
  .compact-save-btn,
  .compact-detail-input {
    font-size: clamp(16px, 2.3vmin, 23px);
    padding: clamp(10px, 1.4vmin, 14px);
  }

  .compact-hamburger {
    height: clamp(48px, 6.8vmin, 90px);
    width: clamp(88px, 10.4vmin, 124px);
    gap: clamp(4px, 0.6vmin, 6px);
  }

  .compact-hamburger span {
    width: clamp(16px, 2.3vmin, 24px);
    height: clamp(2px, 0.35vmin, 3px);
  }

  .compact-marker-row {
    font-size: clamp(16px, 2.4vmin, 24px);
    padding: clamp(10px, 1.4vmin, 14px);
  }

  .compact-marker-row {
    min-height: clamp(48px, 6.8vmin, 90px);
  }

  .compact-detail-modal {
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(10px, 1.4vmin, 14px);
  }

  .compact-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(8px, 1.2vmin, 12px);
  }

  .compact-detail-title {
    flex-direction: row;
    align-items: center;
    font-size: clamp(20px, 2.9vmin, 34px);
    gap: clamp(8px, 1.2vmin, 12px);
    margin-bottom: clamp(8px, 1.2vmin, 12px);
  }

  .compact-close-btn,
  .compact-save-btn {
    width: auto;
    min-width: clamp(88px, 11vmin, 128px);
  }

  .compact-detail-edit-wrap {
    grid-template-columns: 1fr auto;
    gap: clamp(6px, 0.9vmin, 10px);
  }

  .compact-detail-item {
    gap: clamp(5px, 0.8vmin, 8px);
    padding: clamp(6px, 0.9vmin, 10px);
  }

  .compact-detail-label {
    font-size: clamp(13px, 1.8vmin, 19px);
  }

  .compact-detail-value {
    font-size: clamp(16px, 2.3vmin, 23px);
    min-height: clamp(42px, 5.8vmin, 82px);
  }

  .compact-detail-textarea {
    min-height: clamp(100px, 14vmin, 190px);
  }

  .compact-detail-error {
    font-size: clamp(14px, 2vmin, 20px);
    margin-top: clamp(6px, 0.9vmin, 10px);
  }
}

/* Header compact: neutralise legacy phone/tablet overrides so relative sizes remain authoritative */
.app-root.compact-root .compact-header .compact-page-name {
  line-height: 1.3 !important;
}

.app-root.compact-root .compact-header .compact-header-row-top {
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) var(--sp-compact-search-w) !important;
  align-items: center !important;
}

.app-root.compact-root .compact-header .compact-header-row-top.compact-header-row-top--with-debug {
  grid-template-columns: minmax(0, 1fr) calc(var(--sp-compact-logout-w) * 0.5) var(--sp-compact-search-w) !important;
}

.app-root.compact-root .compact-header .compact-header-search-wrap {
  width: var(--sp-compact-search-w) !important;
  max-width: var(--sp-compact-search-w) !important;
  min-height: 0 !important;
  height: var(--sp-compact-search-h) !important;
  max-height: var(--sp-compact-search-h) !important;
}

.app-root.compact-root .compact-header .compact-search-fake {
  min-height: 0 !important;
  height: var(--sp-compact-search-h) !important;
  max-height: var(--sp-compact-search-h) !important;
  font-size: calc(var(--sp-compact-search-h) * 0.48) !important;
  line-height: 1 !important;
}

.app-root.compact-root .compact-header .compact-debug-overlay-toggle {
  width: calc(var(--sp-compact-logout-w) * 0.5) !important;
  max-width: calc(var(--sp-compact-logout-w) * 0.5) !important;
  min-height: 0 !important;
  height: calc(var(--sp-compact-logout-h) * 0.5) !important;
  max-height: calc(var(--sp-compact-logout-h) * 0.5) !important;
  justify-self: center;
  align-self: center;
  padding: 0 4% !important;
  border: 0.18dvh solid rgba(255, 255, 255, 0.44);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.92);
  font-size: calc(var(--sp-compact-logout-h) * 0.17) !important;
  line-height: 1 !important;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.app-root.compact-root .compact-header .compact-debug-overlay-toggle.is-active {
  border-color: var(--sp-color-accent-orange);
  background: rgba(255, 106, 0, 0.18);
  color: #ffffff;
}

.app-root.compact-root .compact-header .compact-header-row-top .compact-logout,
.app-root.compact-root .compact-header .compact-logout {
  width: var(--sp-compact-logout-w) !important;
  max-width: var(--sp-compact-logout-w) !important;
  min-height: 0 !important;
  height: var(--sp-compact-logout-h) !important;
  max-height: var(--sp-compact-logout-h) !important;
  font-size: calc(var(--sp-compact-logout-h) * 0.42) !important;
  line-height: 1 !important;
  padding: 0 8% !important;
}

.app-root.compact-root .compact-header .compact-header-row-top .compact-hamburger,
.app-root.compact-root .compact-header .compact-hamburger {
  width: var(--sp-compact-hamburger-w) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: var(--sp-compact-hamburger-h) !important;
  max-height: var(--sp-compact-hamburger-h) !important;
  gap: 10% !important;
  padding: 0 12% !important;
}

.app-root.compact-root .compact-header .compact-hamburger span {
  width: 75% !important;
  height: 8% !important;
}

/* Tablette physique: reduit globalement les tailles de 15% */
@media (min-device-width: 700px) and (max-device-width: 1399px) {
  .app-root.compact-root[data-responsive-layout="large"] .compact-header,
  .app-root.compact-root[data-responsive-layout="large"] .compact-main,
  .app-root.compact-root[data-responsive-layout="large"] .compact-detail-backdrop {
    transform: scale(0.85);
    transform-origin: top left;
    width: calc(100% / 0.85);
  }

  /* Tablette: popup detail +15% de largeur */
  .app-root.compact-tablet[data-responsive-layout="large"] .compact-detail-modal {
    width: min(93vw, 1260px) !important;
    max-width: min(93vw, 1260px) !important;
  }

  .app-root.compact-tablet[data-responsive-layout="large"] .compact-detail-edit-wrap {
    grid-template-columns: 1fr !important;
  }

  .app-root.compact-tablet[data-responsive-layout="large"] .compact-detail-edit-wrap .compact-save-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Lignes TOTAL/séparateurs de jour en vue compacte */
.app-root.compact-root .compact-marker-row--day-total,
.app-root.compact-root .compact-marker-row--day-separator {
  min-height: 3dvh !important;
  height: 3dvh !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.app-root.compact-root .compact-marker-row--day-separator {
  background: #000000 !important;
  color: #ffffff !important;
  border-bottom: calc(var(--sp-aggrid-accent-h)) solid var(--sp-color-accent-orange) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: var(--sp-aggrid-stack-gap) !important;
}

.app-root.compact-root .compact-marker-row--tc {
  background: #000000 !important;
  color: #ffffff !important;
  border-bottom: calc(var(--sp-aggrid-accent-h)) solid var(--sp-color-accent-orange) !important;
  font-weight: 900 !important;
  text-align: center !important;
  justify-content: center !important;
}

.app-root.compact-root .compact-marker-row--day-total {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-aggrid-stack-gap);
}

/* Detail (double-clic): reduction globale x0.5 */
.app-root.compact-root .compact-detail-backdrop {
  inset: var(--sp-compact-header-offset, 0px) 0 0 0 !important;
  padding: 4px !important;
}

.app-root.compact-root .compact-detail-modal {
  padding: 6px !important;
  border-radius: 6px !important;
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 8px) !important;
  width: min(81vw, 1095px) !important;
  max-width: min(81vw, 1095px) !important;
}

.app-root.compact-root .compact-detail-title {
  font-size: 2.25em !important;
  gap: 5px !important;
  margin-bottom: 6px !important;
}

.app-root.compact-root .compact-detail-grid {
  gap: 6px !important;
  grid-template-columns: 1fr !important;
}

.app-root.compact-root .compact-detail-item {
  display: grid !important;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  grid-gap: 6px !important;
  gap: 6px !important;
  padding: 4px !important;
}

.app-root.compact-root .compact-detail-label {
  font-size: 1.5em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.app-root.compact-root .compact-detail-value {
  font-size: 1.5em !important;
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
}

.app-root.compact-root .compact-detail-edit-wrap {
  gap: 6px !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

.app-root.compact-root .compact-detail-input,
.app-root.compact-root .compact-close-btn,
.app-root.compact-root .compact-save-btn {
  font-size: 1.5em !important;
  min-height: 36px !important;
  padding: 6px !important;
  border-radius: 6px !important;
}

.app-root.compact-root .compact-detail-edit-wrap .compact-save-btn {
  width: auto !important;
  min-width: 84px !important;
}

.app-root.compact-root .compact-detail-textarea {
  min-height: 60px !important;
}

.app-root.compact-root .compact-detail-error {
  font-size: 1.5em !important;
  margin-top: 5px !important;
}

/* Page admin en vue compacte */
.app-root.compact-root .admin-page {
  gap: 0.45rem;
  padding: 0.35rem 0.3rem 0.5rem;
  overflow: auto;
}

.app-root.compact-root .app-main--admin .admin-page--embedded-tab {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  padding: 0;
  overflow: hidden;
}

.app-root.compact-root .admin-page > .sp-title-1,
.app-root.compact-root .admin-page > .admin-title {
  padding: 0.45rem 0.5rem;
  font-size: 1.05rem;
  letter-spacing: 0.18rem;
  border-bottom-width: 2px;
}

.app-root.compact-phone .extranet-page .extranet-header {
  display: none;
}

.app-root.compact-phone .extranet-page .extranet-shell {
  padding: 0.35rem;
  gap: 0.35rem;
}

.app-root.compact-phone .extranet-page .extranet-sidebar {
  min-height: 0;
  padding: 0;
  gap: 0;
  border-radius: 0;
  background: transparent;
}

.app-root.compact-phone .extranet-page .extranet-sidebar.is-menu-open {
  padding: 0.55rem;
  gap: 0.35rem;
  border-radius: 8px;
  background: #0f0f0f;
}

.app-root.compact-phone .extranet-page .extranet-brand,
.app-root.compact-phone .extranet-page .extranet-sub {
  display: none;
}

.app-root.compact-phone .extranet-page .extranet-nav-menu__row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  grid-gap: 0.28rem;
  gap: 0.28rem;
  width: 100%;
}

.app-root.compact-phone .extranet-page .extranet-nav-menu__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  width: 100%;
  min-width: 0;
  padding: 0.2rem 0.32rem;
  box-sizing: border-box;
  border: 1px solid var(--sp-color-accent-orange);
  border-radius: 5px;
  background: #0a0a0a;
  color: #ffffff;
  font-size: 0.72rem !important;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-root.compact-phone .extranet-page .extranet-nav-menu__trigger {
  letter-spacing: 0.04em;
}

.app-root.compact-phone .extranet-shell--compact-settings .extranet-nav-menu__trigger {
  height: auto !important;
  min-height: 52px !important;
  max-height: none !important;
  padding: 0.3rem 0.8rem;
  border-radius: 6px;
  font-size: 0.8rem !important;
  letter-spacing: 0;
}

.app-root.compact-phone .extranet-page .extranet-nav-menu__panel {
  display: none;
  gap: 0.25rem;
  margin-top: 0;
}

.app-root.compact-phone .extranet-page .extranet-nav-menu__panel.is-open {
  display: flex;
}

.app-root.compact-phone .extranet-page .extranet-nav__item,
.app-root.compact-phone .extranet-page .extranet-submenu__item,
.app-root.compact-phone .extranet-page .extranet-nav__button-preview button,
.app-root.compact-phone .extranet-page .extranet-nav__toggle {
  min-height: 40px !important;
  padding: 0.28rem 0.76rem;
  border-radius: 5px;
  font-size: 1.24rem !important;
  line-height: 1.1;
}

.app-root.compact-phone .extranet-page .extranet-nav__toggle {
  width: 48px;
  height: 26px;
  padding: 2px;
}

.app-root.compact-phone .extranet-page .extranet-nav__toggle span {
  width: 18px;
  height: 18px;
}

.app-root.compact-phone .extranet-page .extranet-nav__toggle.is-on span {
  transform: translateX(22px);
}

.app-root.compact-phone .extranet-page .extranet-nav__button-mode {
  gap: 0.25rem;
  padding-top: 0.3rem;
}

.app-root.compact-phone .extranet-page .extranet-nav__button-mode-head,
.app-root.compact-phone .extranet-page .extranet-nav__status {
  font-size: 0.58rem;
}

.app-root.compact-phone .extranet-page .extranet-nav__spacer {
  min-height: 0.25rem;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-icon-button,
.app-root.compact-root .projects-content .quote-project-list .quote-icon-button,
.app-root.compact-phone .projects-content .extranet-page .quote-project-list-heading .quote-icon-button {
  width: 33px !important;
  min-width: 33px !important;
  max-width: 33px !important;
  height: 33px !important;
  min-height: 33px !important;
  max-height: 33px !important;
  padding: 0 !important;
  gap: 0;
  border-radius: 6px;
}

.quote-business-alerts-slot--actions {
  display: inline-flex;
  align-items: center;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-business-alerts-popover,
.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-business-alerts-compact {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  max-height: 26px !important;
  padding: 0 !important;
  line-height: 1;
  box-sizing: border-box;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-business-alerts-slot--summary {
  display: none;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-business-alerts-slot--actions {
  display: inline-flex;
  align-items: center;
}

.quote-business-alerts-modal--compact {
  position: fixed;
  z-index: 1400;
  inset: var(--sp-compact-header-offset, 0px) 0 0;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(0, 0, 0, 0.45);
}

.quote-business-alerts-modal--compact .quote-business-alerts-modal__panel {
  width: min(100%, 340px);
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 24px);
  overflow: auto;
}

.quote-business-alerts-modal--compact .btn-secondary {
  min-height: 36px;
  justify-content: center;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 8px;
  gap: 8px;
  flex-wrap: nowrap;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-icon-button svg,
.app-root.compact-phone .projects-content .extranet-page .quote-project-list-heading .quote-icon-button svg,
.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-business-alerts-compact svg {
  width: 13px;
  height: 13px;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list .quote-icon-button > span,
.app-root.compact-phone .projects-content .extranet-page .quote-project-list-heading .quote-icon-button > span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 640px) {
  .projects-content .extranet-page .quote-project-list-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    grid-gap: 8px;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .projects-content .extranet-page .quote-project-list-heading__new {
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 6px;
    font-size: 0 !important;
  }

  .projects-content .extranet-page .quote-project-list-heading__new svg {
    width: 13px;
    height: 13px;
  }

  .projects-content .extranet-page .quote-project-list-heading__new-label {
    display: none !important;
  }
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-list-title {
  font-size: 1.33rem;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-row__sequence-actions {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  margin-top: 0;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-row__sequence {
  flex: 1 1 auto;
  min-width: 0;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-row__quick-actions,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__actions {
  flex: 0 0 auto;
  gap: 4px;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__actions {
  align-items: center;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__head,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__meta,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__materials,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__single-line {
  font-size: 0.53rem;
  line-height: 1.2;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__summary {
  display: block;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__head,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__meta {
  display: none;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--sp-ui-text);
  white-space: nowrap;
  overflow: hidden;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line span:first-of-type {
  flex: 1 1 auto;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line span:last-of-type,
.app-root.compact-phone .projects-content .extranet-page .quote-project-document__compact-line strong {
  flex: 0 0 auto;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-document__materials,
.app-root.compact-phone .projects-content .extranet-page .quote-signed-lock-message {
  display: none;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__summary {
  display: block;
  min-width: 0;
  padding-right: 0;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__head,
.app-root.compact-root .projects-content .extranet-page .quote-project-document__meta {
  display: none;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__compact-line {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  color: var(--sp-ui-text);
  white-space: nowrap;
  overflow: hidden;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__compact-line span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__compact-line span:first-of-type {
  flex: 1 1 auto;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__compact-line span:last-of-type,
.app-root.compact-root .projects-content .extranet-page .quote-project-document__compact-line strong {
  flex: 0 0 auto;
}

.app-root.compact-root .projects-content .extranet-page .quote-project-document__materials,
.app-root.compact-root .projects-content .extranet-page .quote-signed-lock-message {
  display: none;
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts {
  display: none;
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-compact {
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d92d20;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-compact svg {
  display: block;
  flex: 0 0 auto;
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-modal {
  position: fixed;
  z-index: 140;
  inset: var(--sp-compact-header-offset, 0px) 0 0;
  display: grid;
  place-items: center;
  padding: 12px;
  background: rgba(0, 0, 0, 0.45);
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-modal__panel {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
  width: min(100%, 340px);
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 24px);
  padding: 14px;
  overflow: auto;
  border-radius: 8px;
  background: #ffffff;
  color: #171717;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-modal__title {
  font-weight: 800;
}

.app-root.compact-root .projects-content .extranet-page .quote-business-alerts-modal ul {
  margin: 0;
  padding-left: 18px;
  font-size: 0.86rem;
}

.app-root.compact-phone .projects-content .extranet-page .quote-status-badge {
  font-size: 0.47rem;
  padding: 1px 4px;
}

.app-root.compact-phone .projects-content .extranet-page .quote-project-filters {
  display: none;
}

.app-root.compact-phone .extranet-page .quote-wrapper {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.app-root.compact-phone .extranet-page .quote-page {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.app-root.compact-root .admin-tabs {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 6;
  gap: 0.35rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 0.1rem 0 0.35rem;
  background: linear-gradient(to bottom, #efefef 82%, rgba(239, 239, 239, 0));
  scrollbar-width: none;
}

.app-root.compact-root .admin-tabs::-webkit-scrollbar {
  display: none;
}

.app-root.compact-root .admin-tab {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 0.32rem 0.58rem;
  font-size: 0.72rem;
  letter-spacing: 0.03rem;
}

.app-root.compact-root .admin-card {
  padding: 0.45rem;
  border-radius: 12px;
  box-shadow: inset 0 0 0 4px #000000, 0 8px 14px rgba(0, 0, 0, 0.2);
}

.app-root.compact-root .admin-card-header {
  margin-bottom: 0.45rem;
  padding-bottom: 0.25rem;
  font-size: 0.84rem;
}

.app-root.compact-root .admin-ui-grid,
.app-root.compact-root .admin-feature-grid,
.app-root.compact-root .admin-planning-dual-grid--lines,
.app-root.compact-root .admin-history-entry__grid,
.app-root.compact-root .admin-archive-match-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.app-root.compact-root .admin-form-grid,
.app-root.compact-root .admin-user-inline-grid,
.app-root.compact-root .admin-user-inline-grid--city {
  grid-template-columns: minmax(0, 1fr);
}

.app-root.compact-root .admin-general-shortcut,
.app-root.compact-root .admin-modal-btn,
.app-root.compact-root .admin-add-btn,
.app-root.compact-root .admin-edit-btn:not(.sp-btn--compact),
.app-root.compact-root .admin-suspend-btn:not(.sp-btn--compact),
.app-root.compact-root .admin-revoke-btn,
.app-root.compact-root .admin-select,
.app-root.compact-root .admin-input {
  min-height: 34px;
  font-size: 0.88rem;
}

.app-root.compact-root .admin-general-shortcut {
  gap: 0.35rem;
  padding: 0.45rem 0.5rem;
}

.app-root.compact-root .admin-form-actions,
.app-root.compact-root .admin-history-toolbar,
.app-root.compact-root .admin-history-modal-header,
.app-root.compact-root .admin-archive-match-card__header,
.app-root.compact-root .admin-modal-actions {
  gap: 0.45rem;
}

.app-root.compact-root .admin-history-toolbar,
.app-root.compact-root .admin-history-modal-header,
.app-root.compact-root .admin-modal-actions {
  flex-direction: column;
  align-items: stretch;
}

.app-root.compact-root .admin-table-shell,
.app-root.compact-root .admin-planning-table-shell,
.app-root.compact-root .admin-table-shell--users-grouped,
.app-root.compact-root .admin-table-shell--prod-lists {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

.app-root.compact-root .admin-table,
.app-root.compact-root .admin-table-users--grouped,
.app-root.compact-root .admin-planning-table {
  min-width: 720px;
}

.app-root.compact-root .admin-table th,
.app-root.compact-root .admin-table td {
  padding: 0.38rem 0.42rem;
  font-size: 0.78rem;
}

.app-root.compact-root .admin-user-stack__title {
  font-size: 1rem;
}

.app-root.compact-root .admin-user-static-value,
.app-root.compact-root .admin-user-role-pill,
.app-root.compact-root .admin-user-capability-pill,
.app-root.compact-root .admin-hint {
  font-size: 0.82rem;
}

.app-root.compact-root .admin-modal {
  width: min(100vw - 1rem, 640px);
  max-width: min(100vw - 1rem, 640px);
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 0.75rem);
  overflow: auto;
  padding: 0.7rem;
}

.app-root.compact-root .admin-modal--history {
  width: min(100vw - 1rem, 920px);
  max-width: min(100vw - 1rem, 920px);
}

.app-root.compact-root .admin-history-modal-body {
  max-height: none;
}

.project-workflow-settings-page .settings-page-header {
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.project-workflow-settings-page .settings-page-title {
  margin-bottom: 0.15rem;
}

.project-workflow-settings-page .settings-form-section {
  padding: 0;
  border: 0;
  background: transparent;
}

.project-workflow-settings-page .settings-form-section__header {
  margin-bottom: 0.55rem;
}

.project-workflow-settings-page .settings-form-section__header h3 {
  margin: 0 0 0.12rem;
  font-size: 0.98rem;
}

.project-workflow-settings-page .settings-form-section__header p {
  margin: 0;
  color: var(--sp-ui-text-muted, #aab7c7);
  font-size: 1.2rem;
}

.project-workflow-settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(368px, 1fr));
  grid-gap: 12px;
  gap: 12px;
}

.project-workflow-settings-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--sp-ui-border, #3a4a5d);
  border-radius: 8px;
  background: var(--sp-ui-surface, #1f2a36);
  color: var(--sp-ui-text, #e6edf7);
}

.project-workflow-settings-card__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  grid-gap: 12px;
  gap: 12px;
  margin-bottom: 12px;
}

.project-workflow-settings-card h4 {
  margin: 0 0 3px;
  color: var(--sp-ui-text, #e6edf7);
  font-size: 1.35rem;
  line-height: 1.15;
}

.project-workflow-settings-card p {
  margin: 0;
  color: var(--sp-ui-text-muted, #aab7c7);
  font-size: 1.08rem;
  line-height: 1.25;
}

.project-workflow-settings-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: var(--sp-ui-text, #e6edf7);
  font-size: 1.08rem;
  font-weight: 700;
}

.project-workflow-settings-steps {
  display: grid;
  grid-gap: 8px;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-workflow-settings-steps li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-gap: 3px 12px;
  gap: 3px 12px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 7px;
  background: var(--sp-ui-surface-soft, #273443);
  color: var(--sp-ui-text, #e6edf7);
}

.project-workflow-settings-steps li span {
  min-width: 0;
  overflow: hidden;
  color: var(--sp-ui-text, #e6edf7);
  font-size: 1.17rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-workflow-settings-steps li small {
  grid-column: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--sp-ui-text-muted, #aab7c7);
  font-size: 1.02rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-workflow-settings-badges {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.project-workflow-settings-badges em {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 122, 26, 0.16);
  color: var(--sp-color-accent, #ff7a1a);
  font-size: 0.93rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
}

.app-root.compact-root .project-workflow-settings-page {
  padding: 0.4rem;
}

.app-root.compact-root .project-workflow-settings-page .settings-page-header {
  margin-bottom: 0.4rem;
}

.app-root.compact-root .project-workflow-settings-page .admin-hint {
  font-size: 0.72rem;
  line-height: 1.25;
}

.app-root.compact-root .project-workflow-settings-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

.app-root.compact-root .project-workflow-settings-card {
  padding: 8px;
}

.app-root.compact-root .project-workflow-settings-steps li {
  padding: 5px 6px;
}

/* Final desktop override for History search day separators:
   keep date + total on one line and prevent compact marker base styles from leaking in. */
.app-root:not(.compact-root) .history-search-desktop .history-search-desktop__separator.compact-marker-row.compact-marker-row--day-separator {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 0.22rem 0.5rem !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  font-size: 1.02rem !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}

.app-root:not(.compact-root) .history-search-desktop .history-search-desktop__separator.compact-marker-row.compact-marker-row--day-separator > span {
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

.app-root:not(.compact-root) .history-search-desktop .history-search-desktop__separator.compact-marker-row.compact-marker-row--day-separator > span:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-root:not(.compact-root) .history-search-desktop .history-search-desktop__separator.compact-marker-row.compact-marker-row--day-separator > span:last-child {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

.app-root.compact-root .quote-new-project-modal-backdrop {
  align-items: start;
  justify-items: center;
  padding: calc(var(--sp-compact-header-offset, 0px) + 12px) 12px 12px;
  overflow: auto;
}

.app-root.compact-root .quote-new-project-modal {
  width: min(100%, 340px);
  max-width: calc(100dvw - 24px);
  max-height: calc(100dvh - var(--sp-compact-header-offset, 0px) - 24px);
  padding: 14px;
  gap: 12px;
  box-sizing: border-box;
  overflow: auto;
}

.app-root.compact-root .quote-new-project-modal .admin-input,
.app-root.compact-root .quote-new-project-modal .admin-add-btn,
.app-root.compact-root .quote-new-project-modal .admin-suspend-btn {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.app-root.compact-root .extranet-shell--compact-settings.admin-card {
  padding: 8px;
  border-radius: 8px;
  box-shadow: none;
}

.app-root.compact-root .extranet-shell--compact-settings .admin-subtabs {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 6px;
  gap: 6px;
  max-height: 40dvh;
  overflow: auto;
}

.app-root.compact-root .extranet-shell--compact-settings .admin-subtabs .admin-tab {
  width: 100%;
  min-height: 38px;
  justify-content: flex-start;
  white-space: normal;
  text-align: left;
}

.app-root.compact-root .extranet-shell--compact-settings .extranet-card {
  box-shadow: none;
}

/* Common popup backdrop surface. Geometry stays owned by each modal. */
.app-blur-popup-backdrop,
.admin-modal-backdrop,
.sp-modal-backdrop,
.extranet-modal-backdrop,
.sp-unsaved-backdrop,
.quote-differential-dialog-overlay {
  background: rgba(7, 12, 18, 0.32);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Compact modal geometry: keep the app header clear. */
.app-root.compact-root .app-blur-popup-backdrop,
.app-root.compact-root .admin-modal-backdrop,
.app-root.compact-root .sp-modal-backdrop,
.app-root.compact-root .extranet-modal-backdrop,
.app-root.compact-root .sp-unsaved-backdrop,
.app-root.compact-root .quote-differential-dialog-overlay {
  top: var(--sp-header-h, 46px);
  right: 0;
  bottom: 0;
  left: 0;
}

.app-root.compact-root .quote-new-project-modal-backdrop {
  top: var(--sp-compact-header-offset, var(--sp-header-h, 46px));
  height: auto;
  max-height: none;
  min-height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 46px)));
  align-items: center;
  justify-items: center;
  padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px));
  overflow: auto;
}

.app-root.compact-root .quote-new-project-modal.app-blur-popup {
  --sp-ui-surface: #171717;
  --sp-ui-surface-soft: #0f0f0f;
  --sp-ui-input-bg: #101010;
  --sp-ui-input-border: #4a4a4a;
  --sp-ui-text: #f2f2f2;
  --sp-ui-text-muted: #b8b8b8;
  --sp-line-input-border: rgba(255, 255, 255, 0.28);
  --sp-line-input-border-focus: #ffffff;
  width: min(100%, 340px);
  max-width: calc(100dvw - 24px);
  max-height: calc(100dvh - var(--sp-compact-header-offset, var(--sp-header-h, 46px)) - max(24px, env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px) + 24px));
  min-width: 0;
  min-height: 0;
  overflow: auto;
  border: 1px solid #4a4a4a;
  border-radius: 14px;
  background: #171717;
  color: #f2f2f2;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.36);
  box-sizing: border-box;
  padding: 14px;
  gap: 12px;
}

.app-root.compact-root .quote-new-project-modal.app-blur-popup .extranet-modal__title,
.app-root.compact-root .quote-new-project-modal.app-blur-popup .extranet-modal__field,
.app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__trigger,
.app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__item {
  color: inherit;
}

  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__trigger,
  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__list,
  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__item {
  border-color: color-mix(in srgb, #f2f2f2 16%, transparent);
}

  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__trigger-label,
  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__chevron,
  .app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__item small {
  color: color-mix(in srgb, #f2f2f2 68%, transparent);
}

.app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__item:hover,
.app-root.compact-root .quote-new-project-modal.app-blur-popup .sp-searchable-picker__item.active {
  background: color-mix(in srgb, var(--sp-color-accent-orange) 12%, transparent);
  color: #f2f2f2;
}

/* Search fields: the magnifier belongs inside the control, not beside it. */
:root {
  --sp-search-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23aab7c7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}

input[type="search"],
.search-input,
.compact-search-input,
.op-search-input,
.stock-list-panel__search-input,
.sup-search-input[type="search"],
.stock-popup__search,
.sp-searchable-picker__search,
.planning-tech-search-input,
.stonepilot-filemanager :is(.wx-search-input),
.stonepilot-filemanager [class*="wx-search-input"],
input[placeholder*="Recherche"],
input[placeholder*="Rechercher"],
input[placeholder*="recherche"],
input[placeholder*="rechercher"],
input[placeholder*="Filtrer"],
input[placeholder*="filtrer"] {
  background-image: var(--sp-search-icon) !important;
  background-repeat: no-repeat !important;
  background-position: 10px center !important;
  background-size: 15px 15px !important;
  padding-left: 32px !important;
}

.compact-search-fake {
  background-image: var(--sp-search-icon) !important;
  background-repeat: no-repeat !important;
  background-position: 8px center !important;
  background-size: 13px 13px !important;
  padding-left: 28px !important;
  text-align: left;
}

.compact-search-input--popover {
  background-position: 16px center !important;
  background-size: 20px 20px !important;
  padding-left: 48px !important;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./node_modules/ag-grid-community/styles/ag-grid.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
.ag-filter-panel-buttons {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;
  flex-wrap: wrap;
  gap: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);
}

.ag-filter-panel-buttons-button {
  line-height: 1.5;
}

.ag-filter-panel .ag-standard-button.ag-filter-panel-buttons-apply-button {
  color: var(--ag-filter-panel-apply-button-color);
  background-color: var(--ag-filter-panel-apply-button-background-color);
}

.ag-filter-panel > *:where(:last-child) {
  padding-bottom: var(--ag-widget-container-vertical-padding);
}

.ag-row.ag-row-pinned-source {
  color: var(--ag-pinned-source-row-text-color);
  background-color: var(--ag-pinned-source-row-background-color);
  font-weight: var(--ag-pinned-source-row-font-weight);
}

.ag-row.ag-row-pinned {
  color: var(--ag-pinned-row-text-color);
  background-color: var(--ag-pinned-row-background-color);
  font-weight: var(--ag-pinned-row-font-weight);
}

.ag-floating-top-viewport {
  border-bottom: var(--ag-pinned-row-border);
}

.ag-floating-bottom-viewport {
  border-top: var(--ag-pinned-row-border);
}

.ag-measurement-container {
  --ag-legacy-styles-loaded: "true";
}

.ag-icon {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  position: relative;
}
.ag-icon::before {
  content: "";
  font-family: inherit;
}
.ag-icon::after {
  background: transparent var(--ag-icon-image, none) center/contain no-repeat;
  display: var(--ag-icon-image-display);
  opacity: var(--ag-icon-image-opacity, 0.9);
  position: absolute;
  inset: 0;
  content: "";
}

.ag-icon-aggregation {
  font-family: var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color));
}

.ag-icon-aggregation::before {
  content: var(--ag-icon-font-code-aggregation, "\f101");
  display: var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display));
}

.ag-icon-aggregation::after {
  background-image: var(--ag-icon-image-aggregation, var(--ag-icon-image));
  display: var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-arrows {
  font-family: var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-arrows, var(--ag-icon-font-color));
}

.ag-icon-arrows::before {
  content: var(--ag-icon-font-code-arrows, "\f102");
  display: var(--ag-icon-font-display-arrows, var(--ag-icon-font-display));
}

.ag-icon-arrows::after {
  background-image: var(--ag-icon-image-arrows, var(--ag-icon-image));
  display: var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-asc {
  font-family: var(--ag-icon-font-family-asc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-asc, var(--ag-icon-font-color));
}

.ag-icon-asc::before {
  content: var(--ag-icon-font-code-asc, "\f103");
  display: var(--ag-icon-font-display-asc, var(--ag-icon-font-display));
}

.ag-icon-asc::after {
  background-image: var(--ag-icon-image-asc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-asc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cancel {
  font-family: var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cancel, var(--ag-icon-font-color));
}

.ag-icon-cancel::before {
  content: var(--ag-icon-font-code-cancel, "\f104");
  display: var(--ag-icon-font-display-cancel, var(--ag-icon-font-display));
}

.ag-icon-cancel::after {
  background-image: var(--ag-icon-image-cancel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chart {
  font-family: var(--ag-icon-font-family-chart, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chart, var(--ag-icon-font-color));
}

.ag-icon-chart::before {
  content: var(--ag-icon-font-code-chart, "\f105");
  display: var(--ag-icon-font-display-chart, var(--ag-icon-font-display));
}

.ag-icon-chart::after {
  background-image: var(--ag-icon-image-chart, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chart, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-checked {
  font-family: var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-checked::before {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-checked::after {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-indeterminate {
  font-family: var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-checkbox-indeterminate::before {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-checkbox-indeterminate::after {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-checkbox-unchecked {
  font-family: var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color));
}

.ag-icon-checkbox-unchecked::before {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
}

.ag-icon-checkbox-unchecked::after {
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-color-picker {
  font-family: var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color));
}

.ag-icon-color-picker::before {
  content: var(--ag-icon-font-code-color-picker, "\f109");
  display: var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display));
}

.ag-icon-color-picker::after {
  background-image: var(--ag-icon-image-color-picker, var(--ag-icon-image));
  display: var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-columns {
  font-family: var(--ag-icon-font-family-columns, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-columns, var(--ag-icon-font-color));
}

.ag-icon-columns::before {
  content: var(--ag-icon-font-code-columns, "\f10a");
  display: var(--ag-icon-font-display-columns, var(--ag-icon-font-display));
}

.ag-icon-columns::after {
  background-image: var(--ag-icon-image-columns, var(--ag-icon-image));
  display: var(--ag-icon-image-display-columns, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-contracted {
  font-family: var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-contracted, var(--ag-icon-font-color));
}

.ag-icon-contracted::before {
  content: var(--ag-icon-font-code-contracted, "\f10b");
  display: var(--ag-icon-font-display-contracted, var(--ag-icon-font-display));
}

.ag-icon-contracted::after {
  background-image: var(--ag-icon-image-contracted, var(--ag-icon-image));
  display: var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-copy {
  font-family: var(--ag-icon-font-family-copy, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-copy, var(--ag-icon-font-color));
}

.ag-icon-copy::before {
  content: var(--ag-icon-font-code-copy, "\f10c");
  display: var(--ag-icon-font-display-copy, var(--ag-icon-font-display));
}

.ag-icon-copy::after {
  background-image: var(--ag-icon-image-copy, var(--ag-icon-image));
  display: var(--ag-icon-image-display-copy, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cross {
  font-family: var(--ag-icon-font-family-cross, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cross, var(--ag-icon-font-color));
}

.ag-icon-cross::before {
  content: var(--ag-icon-font-code-cross, "\f10d");
  display: var(--ag-icon-font-display-cross, var(--ag-icon-font-display));
}

.ag-icon-cross::after {
  background-image: var(--ag-icon-image-cross, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cross, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-csv {
  font-family: var(--ag-icon-font-family-csv, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-csv, var(--ag-icon-font-color));
}

.ag-icon-csv::before {
  content: var(--ag-icon-font-code-csv, "\f10e");
  display: var(--ag-icon-font-display-csv, var(--ag-icon-font-display));
}

.ag-icon-csv::after {
  background-image: var(--ag-icon-image-csv, var(--ag-icon-image));
  display: var(--ag-icon-image-display-csv, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-cut {
  font-family: var(--ag-icon-font-family-cut, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-cut, var(--ag-icon-font-color));
}

.ag-icon-cut::before {
  content: var(--ag-icon-font-code-cut, "\f10f");
  display: var(--ag-icon-font-display-cut, var(--ag-icon-font-display));
}

.ag-icon-cut::after {
  background-image: var(--ag-icon-image-cut, var(--ag-icon-image));
  display: var(--ag-icon-image-display-cut, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-desc {
  font-family: var(--ag-icon-font-family-desc, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-desc, var(--ag-icon-font-color));
}

.ag-icon-desc::before {
  content: var(--ag-icon-font-code-desc, "\f110");
  display: var(--ag-icon-font-display-desc, var(--ag-icon-font-display));
}

.ag-icon-desc::after {
  background-image: var(--ag-icon-image-desc, var(--ag-icon-image));
  display: var(--ag-icon-image-display-desc, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-excel {
  font-family: var(--ag-icon-font-family-excel, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-excel, var(--ag-icon-font-color));
}

.ag-icon-excel::before {
  content: var(--ag-icon-font-code-excel, "\f111");
  display: var(--ag-icon-font-display-excel, var(--ag-icon-font-display));
}

.ag-icon-excel::after {
  background-image: var(--ag-icon-image-excel, var(--ag-icon-image));
  display: var(--ag-icon-image-display-excel, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-expanded {
  font-family: var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-expanded, var(--ag-icon-font-color));
}

.ag-icon-expanded::before {
  content: var(--ag-icon-font-code-expanded, "\f112");
  display: var(--ag-icon-font-display-expanded, var(--ag-icon-font-display));
}

.ag-icon-expanded::after {
  background-image: var(--ag-icon-image-expanded, var(--ag-icon-image));
  display: var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye-slash {
  font-family: var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color));
}

.ag-icon-eye-slash::before {
  content: var(--ag-icon-font-code-eye-slash, "\f113");
  display: var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display));
}

.ag-icon-eye-slash::after {
  background-image: var(--ag-icon-image-eye-slash, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-eye {
  font-family: var(--ag-icon-font-family-eye, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-eye, var(--ag-icon-font-color));
}

.ag-icon-eye::before {
  content: var(--ag-icon-font-code-eye, "\f114");
  display: var(--ag-icon-font-display-eye, var(--ag-icon-font-display));
}

.ag-icon-eye::after {
  background-image: var(--ag-icon-image-eye, var(--ag-icon-image));
  display: var(--ag-icon-image-display-eye, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-filter {
  font-family: var(--ag-icon-font-family-filter, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-filter, var(--ag-icon-font-color));
}

.ag-icon-filter::before {
  content: var(--ag-icon-font-code-filter, "\f115");
  display: var(--ag-icon-font-display-filter, var(--ag-icon-font-display));
}

.ag-icon-filter::after {
  background-image: var(--ag-icon-image-filter, var(--ag-icon-image));
  display: var(--ag-icon-image-display-filter, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-first {
  font-family: var(--ag-icon-font-family-first, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-first, var(--ag-icon-font-color));
}

.ag-icon-first::before {
  content: var(--ag-icon-font-code-first, "\f116");
  display: var(--ag-icon-font-display-first, var(--ag-icon-font-display));
}

.ag-icon-first::after {
  background-image: var(--ag-icon-image-first, var(--ag-icon-image));
  display: var(--ag-icon-image-display-first, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-grip {
  font-family: var(--ag-icon-font-family-grip, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-grip, var(--ag-icon-font-color));
}

.ag-icon-grip::before {
  content: var(--ag-icon-font-code-grip, "\f117");
  display: var(--ag-icon-font-display-grip, var(--ag-icon-font-display));
}

.ag-icon-grip::after {
  background-image: var(--ag-icon-image-grip, var(--ag-icon-image));
  display: var(--ag-icon-image-display-grip, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-group {
  font-family: var(--ag-icon-font-family-group, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-group, var(--ag-icon-font-color));
}

.ag-icon-group::before {
  content: var(--ag-icon-font-code-group, "\f118");
  display: var(--ag-icon-font-display-group, var(--ag-icon-font-display));
}

.ag-icon-group::after {
  background-image: var(--ag-icon-image-group, var(--ag-icon-image));
  display: var(--ag-icon-image-display-group, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-last {
  font-family: var(--ag-icon-font-family-last, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-last, var(--ag-icon-font-color));
}

.ag-icon-last::before {
  content: var(--ag-icon-font-code-last, "\f119");
  display: var(--ag-icon-font-display-last, var(--ag-icon-font-display));
}

.ag-icon-last::after {
  background-image: var(--ag-icon-image-last, var(--ag-icon-image));
  display: var(--ag-icon-image-display-last, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-left {
  font-family: var(--ag-icon-font-family-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-left, var(--ag-icon-font-color));
}

.ag-icon-left::before {
  content: var(--ag-icon-font-code-left, "\f11a");
  display: var(--ag-icon-font-display-left, var(--ag-icon-font-display));
}

.ag-icon-left::after {
  background-image: var(--ag-icon-image-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-linked {
  font-family: var(--ag-icon-font-family-linked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-linked, var(--ag-icon-font-color));
}

.ag-icon-linked::before {
  content: var(--ag-icon-font-code-linked, "\f11b");
  display: var(--ag-icon-font-display-linked, var(--ag-icon-font-display));
}

.ag-icon-linked::after {
  background-image: var(--ag-icon-image-linked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-linked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-loading {
  font-family: var(--ag-icon-font-family-loading, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-loading, var(--ag-icon-font-color));
}

.ag-icon-loading::before {
  content: var(--ag-icon-font-code-loading, "\f11c");
  display: var(--ag-icon-font-display-loading, var(--ag-icon-font-display));
}

.ag-icon-loading::after {
  background-image: var(--ag-icon-image-loading, var(--ag-icon-image));
  display: var(--ag-icon-image-display-loading, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-maximize {
  font-family: var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-maximize, var(--ag-icon-font-color));
}

.ag-icon-maximize::before {
  content: var(--ag-icon-font-code-maximize, "\f11d");
  display: var(--ag-icon-font-display-maximize, var(--ag-icon-font-display));
}

.ag-icon-maximize::after {
  background-image: var(--ag-icon-image-maximize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu {
  font-family: var(--ag-icon-font-family-menu, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu, var(--ag-icon-font-color));
}

.ag-icon-menu::before {
  content: var(--ag-icon-font-code-menu, "\f11e");
  display: var(--ag-icon-font-display-menu, var(--ag-icon-font-display));
}

.ag-icon-menu::after {
  background-image: var(--ag-icon-image-menu, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minimize {
  font-family: var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minimize, var(--ag-icon-font-color));
}

.ag-icon-minimize::before {
  content: var(--ag-icon-font-code-minimize, "\f11f");
  display: var(--ag-icon-font-display-minimize, var(--ag-icon-font-display));
}

.ag-icon-minimize::after {
  background-image: var(--ag-icon-image-minimize, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-next {
  font-family: var(--ag-icon-font-family-next, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-next, var(--ag-icon-font-color));
}

.ag-icon-next::before {
  content: var(--ag-icon-font-code-next, "\f120");
  display: var(--ag-icon-font-display-next, var(--ag-icon-font-display));
}

.ag-icon-next::after {
  background-image: var(--ag-icon-image-next, var(--ag-icon-image));
  display: var(--ag-icon-image-display-next, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-none {
  font-family: var(--ag-icon-font-family-none, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-none, var(--ag-icon-font-color));
}

.ag-icon-none::before {
  content: var(--ag-icon-font-code-none, "\f121");
  display: var(--ag-icon-font-display-none, var(--ag-icon-font-display));
}

.ag-icon-none::after {
  background-image: var(--ag-icon-image-none, var(--ag-icon-image));
  display: var(--ag-icon-image-display-none, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-not-allowed {
  font-family: var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color));
}

.ag-icon-not-allowed::before {
  content: var(--ag-icon-font-code-not-allowed, "\f122");
  display: var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display));
}

.ag-icon-not-allowed::after {
  background-image: var(--ag-icon-image-not-allowed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-paste {
  font-family: var(--ag-icon-font-family-paste, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-paste, var(--ag-icon-font-color));
}

.ag-icon-paste::before {
  content: var(--ag-icon-font-code-paste, "\f123");
  display: var(--ag-icon-font-display-paste, var(--ag-icon-font-display));
}

.ag-icon-paste::after {
  background-image: var(--ag-icon-image-paste, var(--ag-icon-image));
  display: var(--ag-icon-image-display-paste, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pin {
  font-family: var(--ag-icon-font-family-pin, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pin, var(--ag-icon-font-color));
}

.ag-icon-pin::before {
  content: var(--ag-icon-font-code-pin, "\f124");
  display: var(--ag-icon-font-display-pin, var(--ag-icon-font-display));
}

.ag-icon-pin::after {
  background-image: var(--ag-icon-image-pin, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pin, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pivot {
  font-family: var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pivot, var(--ag-icon-font-color));
}

.ag-icon-pivot::before {
  content: var(--ag-icon-font-code-pivot, "\f125");
  display: var(--ag-icon-font-display-pivot, var(--ag-icon-font-display));
}

.ag-icon-pivot::after {
  background-image: var(--ag-icon-image-pivot, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-previous {
  font-family: var(--ag-icon-font-family-previous, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-previous, var(--ag-icon-font-color));
}

.ag-icon-previous::before {
  content: var(--ag-icon-font-code-previous, "\f126");
  display: var(--ag-icon-font-display-previous, var(--ag-icon-font-display));
}

.ag-icon-previous::after {
  background-image: var(--ag-icon-image-previous, var(--ag-icon-image));
  display: var(--ag-icon-image-display-previous, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-off {
  font-family: var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color));
}

.ag-icon-radio-button-off::before {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
}

.ag-icon-radio-button-off::after {
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-radio-button-on {
  font-family: var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color));
}

.ag-icon-radio-button-on::before {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
}

.ag-icon-radio-button-on::after {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-right {
  font-family: var(--ag-icon-font-family-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-right, var(--ag-icon-font-color));
}

.ag-icon-right::before {
  content: var(--ag-icon-font-code-right, "\f129");
  display: var(--ag-icon-font-display-right, var(--ag-icon-font-display));
}

.ag-icon-right::after {
  background-image: var(--ag-icon-image-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-save {
  font-family: var(--ag-icon-font-family-save, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-save, var(--ag-icon-font-color));
}

.ag-icon-save::before {
  content: var(--ag-icon-font-code-save, "\f12a");
  display: var(--ag-icon-font-display-save, var(--ag-icon-font-display));
}

.ag-icon-save::after {
  background-image: var(--ag-icon-image-save, var(--ag-icon-image));
  display: var(--ag-icon-image-display-save, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-down {
  font-family: var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-down, var(--ag-icon-font-color));
}

.ag-icon-small-down::before {
  content: var(--ag-icon-font-code-small-down, "\f12b");
  display: var(--ag-icon-font-display-small-down, var(--ag-icon-font-display));
}

.ag-icon-small-down::after {
  background-image: var(--ag-icon-image-small-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-left {
  font-family: var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-left, var(--ag-icon-font-color));
}

.ag-icon-small-left::before {
  content: var(--ag-icon-font-code-small-left, "\f12c");
  display: var(--ag-icon-font-display-small-left, var(--ag-icon-font-display));
}

.ag-icon-small-left::after {
  background-image: var(--ag-icon-image-small-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-right {
  font-family: var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-right, var(--ag-icon-font-color));
}

.ag-icon-small-right::before {
  content: var(--ag-icon-font-code-small-right, "\f12d");
  display: var(--ag-icon-font-display-small-right, var(--ag-icon-font-display));
}

.ag-icon-small-right::after {
  background-image: var(--ag-icon-image-small-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-small-up {
  font-family: var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-small-up, var(--ag-icon-font-color));
}

.ag-icon-small-up::before {
  content: var(--ag-icon-font-code-small-up, "\f12e");
  display: var(--ag-icon-font-display-small-up, var(--ag-icon-font-display));
}

.ag-icon-small-up::after {
  background-image: var(--ag-icon-image-small-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tick {
  font-family: var(--ag-icon-font-family-tick, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tick, var(--ag-icon-font-color));
}

.ag-icon-tick::before {
  content: var(--ag-icon-font-code-tick, "\f12f");
  display: var(--ag-icon-font-display-tick, var(--ag-icon-font-display));
}

.ag-icon-tick::after {
  background-image: var(--ag-icon-image-tick, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tick, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-closed {
  font-family: var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color));
}

.ag-icon-tree-closed::before {
  content: var(--ag-icon-font-code-tree-closed, "\f130");
  display: var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display));
}

.ag-icon-tree-closed::after {
  background-image: var(--ag-icon-image-tree-closed, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-indeterminate {
  font-family: var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color));
}

.ag-icon-tree-indeterminate::before {
  content: var(--ag-icon-font-code-tree-indeterminate, "\f131");
  display: var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display));
}

.ag-icon-tree-indeterminate::after {
  background-image: var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-tree-open {
  font-family: var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color));
}

.ag-icon-tree-open::before {
  content: var(--ag-icon-font-code-tree-open, "\f132");
  display: var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display));
}

.ag-icon-tree-open::after {
  background-image: var(--ag-icon-image-tree-open, var(--ag-icon-image));
  display: var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-unlinked {
  font-family: var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color));
}

.ag-icon-unlinked::before {
  content: var(--ag-icon-font-code-unlinked, "\f133");
  display: var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display));
}

.ag-icon-unlinked::after {
  background-image: var(--ag-icon-image-unlinked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-up {
  font-family: var(--ag-icon-font-family-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-up, var(--ag-icon-font-color));
}

.ag-icon-up::before {
  content: var(--ag-icon-font-code-up, "\f134");
  display: var(--ag-icon-font-display-up, var(--ag-icon-font-display));
}

.ag-icon-up::after {
  background-image: var(--ag-icon-image-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-down {
  font-family: var(--ag-icon-font-family-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-down, var(--ag-icon-font-color));
}

.ag-icon-down::before {
  content: var(--ag-icon-font-code-down, "\f135");
  display: var(--ag-icon-font-display-down, var(--ag-icon-font-display));
}

.ag-icon-down::after {
  background-image: var(--ag-icon-image-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-plus {
  font-family: var(--ag-icon-font-family-plus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-plus, var(--ag-icon-font-color));
}

.ag-icon-plus::before {
  content: var(--ag-icon-font-code-plus, "\f136");
  display: var(--ag-icon-font-display-plus, var(--ag-icon-font-display));
}

.ag-icon-plus::after {
  background-image: var(--ag-icon-image-plus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-plus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-minus {
  font-family: var(--ag-icon-font-family-minus, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-minus, var(--ag-icon-font-color));
}

.ag-icon-minus::before {
  content: var(--ag-icon-font-code-minus, "\f137");
  display: var(--ag-icon-font-display-minus, var(--ag-icon-font-display));
}

.ag-icon-minus::after {
  background-image: var(--ag-icon-image-minus, var(--ag-icon-image));
  display: var(--ag-icon-image-display-minus, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-menu-alt {
  font-family: var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color));
}

.ag-icon-menu-alt::before {
  content: var(--ag-icon-font-code-menu-alt, "\f138");
  display: var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display));
}

.ag-icon-menu-alt::after {
  background-image: var(--ag-icon-image-menu-alt, var(--ag-icon-image));
  display: var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-settings {
  font-family: var(--ag-icon-font-family-settings, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-settings, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-settings, var(--ag-icon-font-color));
}

.ag-icon-settings::before {
  content: var(--ag-icon-font-code-settings, "\f139");
  display: var(--ag-icon-font-display-settings, var(--ag-icon-font-display));
}

.ag-icon-settings::after {
  background-image: var(--ag-icon-image-settings, var(--ag-icon-image));
  display: var(--ag-icon-image-display-settings, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-settings, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-column-arrow {
  font-family: var(--ag-icon-font-family-column-arrow, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-column-arrow, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-column-arrow, var(--ag-icon-font-color));
}

.ag-icon-column-arrow::before {
  content: var(--ag-icon-font-code-column-arrow, "\f13a");
  display: var(--ag-icon-font-display-column-arrow, var(--ag-icon-font-display));
}

.ag-icon-column-arrow::after {
  background-image: var(--ag-icon-image-column-arrow, var(--ag-icon-image));
  display: var(--ag-icon-image-display-column-arrow, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-column-arrow, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-un-pin {
  font-family: var(--ag-icon-font-family-un-pin, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-un-pin, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-un-pin, var(--ag-icon-font-color));
}

.ag-icon-un-pin::before {
  content: var(--ag-icon-font-code-un-pin, "\f13b");
  display: var(--ag-icon-font-display-un-pin, var(--ag-icon-font-display));
}

.ag-icon-un-pin::after {
  background-image: var(--ag-icon-image-un-pin, var(--ag-icon-image));
  display: var(--ag-icon-image-display-un-pin, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-un-pin, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pinned-bottom {
  font-family: var(--ag-icon-font-family-pinned-bottom, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pinned-bottom, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pinned-bottom, var(--ag-icon-font-color));
}

.ag-icon-pinned-bottom::before {
  content: var(--ag-icon-font-code-pinned-bottom, "\f13e");
  display: var(--ag-icon-font-display-pinned-bottom, var(--ag-icon-font-display));
}

.ag-icon-pinned-bottom::after {
  background-image: var(--ag-icon-image-pinned-bottom, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pinned-bottom, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pinned-bottom, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-pinned-top {
  font-family: var(--ag-icon-font-family-pinned-top, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-pinned-top, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-pinned-top, var(--ag-icon-font-color));
}

.ag-icon-pinned-top::before {
  content: var(--ag-icon-font-code-pinned-top, "\f13f");
  display: var(--ag-icon-font-display-pinned-top, var(--ag-icon-font-display));
}

.ag-icon-pinned-top::after {
  background-image: var(--ag-icon-image-pinned-top, var(--ag-icon-image));
  display: var(--ag-icon-image-display-pinned-top, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-pinned-top, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chevron-up {
  font-family: var(--ag-icon-font-family-chevron-up, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chevron-up, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chevron-up, var(--ag-icon-font-color));
}

.ag-icon-chevron-up::before {
  content: var(--ag-icon-font-code-chevron-up, "\f140");
  display: var(--ag-icon-font-display-chevron-up, var(--ag-icon-font-display));
}

.ag-icon-chevron-up::after {
  background-image: var(--ag-icon-image-chevron-up, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chevron-up, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chevron-up, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chevron-down {
  font-family: var(--ag-icon-font-family-chevron-down, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chevron-down, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chevron-down, var(--ag-icon-font-color));
}

.ag-icon-chevron-down::before {
  content: var(--ag-icon-font-code-chevron-down, "\f141");
  display: var(--ag-icon-font-display-chevron-down, var(--ag-icon-font-display));
}

.ag-icon-chevron-down::after {
  background-image: var(--ag-icon-image-chevron-down, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chevron-down, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chevron-down, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chevron-left {
  font-family: var(--ag-icon-font-family-chevron-left, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chevron-left, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chevron-left, var(--ag-icon-font-color));
}

.ag-icon-chevron-left::before {
  content: var(--ag-icon-font-code-chevron-left, "\f142");
  display: var(--ag-icon-font-display-chevron-left, var(--ag-icon-font-display));
}

.ag-icon-chevron-left::after {
  background-image: var(--ag-icon-image-chevron-left, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chevron-left, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chevron-left, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-chevron-right {
  font-family: var(--ag-icon-font-family-chevron-right, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-chevron-right, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-chevron-right, var(--ag-icon-font-color));
}

.ag-icon-chevron-right::before {
  content: var(--ag-icon-font-code-chevron-right, "\f143");
  display: var(--ag-icon-font-display-chevron-right, var(--ag-icon-font-display));
}

.ag-icon-chevron-right::after {
  background-image: var(--ag-icon-image-chevron-right, var(--ag-icon-image));
  display: var(--ag-icon-image-display-chevron-right, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-chevron-right, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-filter-add {
  font-family: var(--ag-icon-font-family-filter-add, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-filter-add, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-filter-add, var(--ag-icon-font-color));
}

.ag-icon-filter-add::before {
  content: var(--ag-icon-font-code-filter-add, "\f144");
  display: var(--ag-icon-font-display-filter-add, var(--ag-icon-font-display));
}

.ag-icon-filter-add::after {
  background-image: var(--ag-icon-image-filter-add, var(--ag-icon-image));
  display: var(--ag-icon-image-display-filter-add, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-filter-add, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-edit {
  font-family: var(--ag-icon-font-family-edit, var(--ag-icon-font-family));
  font-weight: var(--ag-icon-font-weight-edit, var(--ag-icon-font-weight));
  color: var(--ag-icon-font-color-edit, var(--ag-icon-font-color));
}

.ag-icon-edit::before {
  content: var(--ag-icon-font-code-edit, "\f145");
  display: var(--ag-icon-font-display-edit, var(--ag-icon-font-display));
}

.ag-icon-edit::after {
  background-image: var(--ag-icon-image-edit, var(--ag-icon-image));
  display: var(--ag-icon-image-display-edit, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-edit, var(--ag-icon-image-opacity, 0.9));
}

.ag-icon-row-drag::before {
  content: var(--ag-icon-font-code-grip);
}

.ag-left-arrow::before {
  content: var(--ag-icon-font-code-left);
}

.ag-right-arrow::before {
  content: var(--ag-icon-font-code-right);
}

[class*=ag-theme-] {
  --ag-foreground-color: #000;
  --ag-data-color: var(--ag-foreground-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-header-foreground-color: var(--ag-secondary-foreground-color);
  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);
  --ag-background-color: #fff;
  --ag-header-background-color: transparent;
  --ag-tooltip-background-color: transparent;
  --ag-tooltip-error-background-color: color-mix(
      in srgb,
      var(--ag-background-color),
      var(--ag-invalid-color) 10%
  );
  --ag-tooltip-error-text-color: var(--ag-invalid-color);
  --ag-tooltip-error-border-color: color-mix(in srgb, var(--ag-background-color), var(--ag-invalid-color) 25%);
  --ag-subheader-background-color: transparent;
  --ag-subheader-toolbar-background-color: transparent;
  --ag-control-panel-background-color: transparent;
  --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);
  --ag-selected-row-background-color: #bbb;
  --ag-data-background-color: var(--ag-background-color);
  --ag-odd-row-background-color: var(--ag-data-background-color);
  --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);
  --ag-menu-background-color: var(--ag-background-color);
  --ag-menu-border-color: var(--ag-border-color);
  --ag-panel-background-color: var(--ag-background-color);
  --ag-panel-border-color: var(--ag-border-color);
  --ag-row-hover-color: transparent;
  --ag-column-hover-color: transparent;
  --ag-range-selection-border-color: var(--ag-foreground-color);
  --ag-range-selection-border-style: solid;
  --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);
  --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);
  --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);
  --ag-range-header-highlight-color: color-mix(
      in srgb,
      var(--ag-header-background-color),
      var(--ag-foreground-color) 8%
  );
  --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-width: 0;
  --ag-selected-tab-underline-transition-speed: 0s;
  --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);
  --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);
  --ag-header-cell-hover-background-color: transparent;
  --ag-header-cell-moving-background-color: var(--ag-background-color);
  --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);
  --ag-value-change-delta-up-color: #43a047;
  --ag-value-change-delta-down-color: #e53935;
  --ag-row-loading-skeleton-effect-color: rgba(66, 66, 66, 0.2);
  --ag-chip-background-color: transparent;
  --ag-chip-border-color: var(--ag-chip-background-color);
  --ag-borders: solid 1px;
  --ag-border-color: rgba(0, 0, 0, 0.25);
  --ag-borders-critical: var(--ag-borders);
  --ag-borders-secondary: var(--ag-borders);
  --ag-secondary-border-color: var(--ag-border-color);
  --ag-row-border-style: solid;
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-row-border-width: 1px;
  --ag-cell-horizontal-border: solid transparent;
  --ag-borders-input: var(--ag-borders-secondary);
  --ag-input-border-color: var(--ag-secondary-border-color);
  --ag-borders-input-invalid: solid 2px;
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-full-row-invalid-background-color: color-mix(
      in srgb,
      var(--ag-background-color),
      var(--ag-invalid-color) 25%
  );
  --ag-borders-side-button: var(--ag-borders);
  --ag-border-radius: 0px;
  --ag-wrapper-border-radius: var(--ag-border-radius);
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-header-column-separator-display: none;
  --ag-header-column-separator-height: 100%;
  --ag-header-column-separator-width: 1px;
  --ag-header-column-separator-color: var(--ag-secondary-border-color);
  --ag-header-column-resize-handle-display: none;
  --ag-header-column-resize-handle-height: 50%;
  --ag-header-column-resize-handle-width: 1px;
  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
  --ag-invalid-color: red;
  --ag-input-disabled-border-color: var(--ag-input-border-color);
  --ag-input-disabled-background-color: transparent;
  --ag-checkbox-background-color: transparent;
  --ag-checkbox-border-radius: var(--ag-border-radius);
  --ag-checkbox-checked-color: var(--ag-foreground-color);
  --ag-checkbox-unchecked-color: var(--ag-foreground-color);
  --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-switch-background-color: var(--ag-background-color);
  --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);
  --ag-toggle-button-border-width: 1px;
  --ag-toggle-button-height: var(--ag-icon-size);
  --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);
  --ag-input-focus-box-shadow: none;
  --ag-input-error-focus-box-shadow: none;
  --ag-input-focus-border-color: none;
  --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);
  --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);
  --ag-grid-size: 4px;
  --ag-icon-size: 12px;
  --ag-icon-font-weight: normal;
  --ag-icon-font-color: var(--ag-foreground-color);
  --ag-icon-image-display: block;
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: var(--ag-grid-size);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);
  --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);
  --ag-header-height: var(--ag-row-height);
  --ag-pagination-panel-height: var(--ag-header-height);
  --ag-list-item-height: calc(var(--ag-grid-size) * 5);
  --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));
  --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));
  --ag-row-numbers-selected-color: #bbb;
  --ag-filter-tool-panel-group-indent: 16px;
  --ag-tab-min-width: 220px;
  --ag-chart-menu-panel-width: var(--ag-tab-min-width);
  --ag-menu-min-width: 181px;
  --ag-side-bar-panel-width: 200px;
  --ag-font-family: "Helvetica Neue", sans-serif;
  --ag-font-size: 14px;
  --ag-card-radius: var(--ag-border-radius);
  --ag-card-shadow: none;
  --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
  --ag-find-match-color: var(--ag-foreground-color);
  --ag-find-active-match-color: var(--ag-foreground-color);
  --ag-find-match-background-color: #ffff00;
  --ag-find-active-match-background-color: #ffa500;
  --ag-cell-batch-edit-background-color: rgb(220 181 139 / 16%);
  --ag-cell-batch-edit-text-color: #422f00;
  --ag-row-batch-edit-background-color: var(--ag-cell-batch-edit-background-color);
  --ag-row-batch-edit-text-color: var(--ag-cell-batch-edit-text-color);
  --ag-filter-panel-apply-button-color: var(--ag-foreground-color);
  --ag-filter-panel-apply-button-background-color: var(--ag-background-color);
  --ag-filter-panel-card-subtle-color: var(--ag-foreground-color);
  --ag-filter-panel-card-subtle-hover-color: var(--ag-foreground-color);
}

.ag-root-wrapper,
.ag-dnd-ghost {
  background-color: var(--ag-background-color);
}

.ag-sticky-top,
.ag-sticky-bottom {
  background-color: var(--ag-data-background-color);
}

.ag-sticky-bottom {
  border-top: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-root-wrapper,
.ag-popup {
  --ag-indentation-level: 0;
}

[class*=ag-theme-] {
  -webkit-font-smoothing: antialiased;
  font-family: var(--ag-font-family);
  font-size: var(--ag-font-size);
  line-height: normal;
  color: var(--ag-foreground-color);
}

ag-grid,
ag-grid-angular,
ag-grid-ng2,
ag-grid-polymer,
ag-grid-aurelia {
  display: block;
}

.ag-aria-description-container {
  z-index: 9999;
  border: 0px;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  padding: 0px;
  white-space: nowrap;
}

.ag-hidden {
  display: none !important;
}

.ag-invisible {
  visibility: hidden !important;
}

.ag-drag-handle {
  cursor: -webkit-grab;
  cursor: grab;
}

.ag-column-drop-wrapper {
  display: flex;
}

.ag-column-drop-horizontal-half-width {
  display: inline-block;
  width: 50% !important;
}

.ag-unselectable {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-selectable {
  -moz-user-select: text;
  -webkit-user-select: text;
  user-select: text;
}

.ag-tab {
  position: relative;
}

.ag-tab-guard {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
}

.ag-virtual-list-viewport .ag-tab-guard {
  position: -webkit-sticky;
  position: sticky;
}

.ag-tab-guard-top {
  top: 1px;
}

.ag-tab-guard-bottom {
  bottom: 1px;
}

.ag-select-agg-func-popup {
  position: absolute;
}

.ag-input-wrapper,
.ag-picker-field-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  line-height: normal;
  position: relative;
}

.ag-shake-left-to-right {
  animation-direction: alternate;
  animation-duration: 0.2s;
  animation-iteration-count: infinite;
  animation-name: ag-shake-left-to-right;
}

@keyframes ag-shake-left-to-right {
  from {
    padding-left: 6px;
    padding-right: 2px;
  }
  to {
    padding-left: 2px;
    padding-right: 6px;
  }
}
.ag-root-wrapper {
  cursor: default;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  white-space: normal;
}
.ag-root-wrapper.ag-layout-normal {
  height: 100%;
}

.ag-watermark {
  position: absolute;
  bottom: 20px;
  right: 25px;
  opacity: 0.7;
  transition: opacity 1s ease-out 3s;
  color: #9b9b9b;
}
.ag-watermark::before {
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: 170px 40px;
  display: block;
  height: 40px;
  width: 170px;
}

.ag-watermark-text {
  opacity: 0.5;
  font-weight: bold;
  font-family: Impact, sans-serif;
  font-size: 19px;
  padding-left: 0.7rem;
}

.ag-root-wrapper-body {
  display: flex;
  flex-direction: row;
}
.ag-root-wrapper-body.ag-layout-normal {
  flex: 1 1 auto;
  height: 0;
  min-height: 0;
}

.ag-root {
  position: relative;
  display: flex;
  flex-direction: column;
}
.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {
  overflow: hidden;
  flex: 1 1 auto;
  width: 0;
}
.ag-root.ag-layout-normal {
  height: 100%;
}

.ag-header-viewport,
.ag-floating-top-viewport,
.ag-body-viewport,
.ag-center-cols-viewport,
.ag-floating-bottom-viewport,
.ag-body-horizontal-scroll-viewport,
.ag-body-vertical-scroll-viewport,
.ag-virtual-list-viewport,
.ag-sticky-top-viewport,
.ag-sticky-bottom-viewport {
  position: relative;
  height: 100%;
  min-width: 0px;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-body-viewport,
.ag-center-cols-viewport,
.ag-header-viewport,
.ag-floating-top-viewport,
.ag-floating-bottom-viewport,
.ag-sticky-top-viewport,
.ag-sticky-bottom-viewport {
  overflow-x: auto;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.ag-body-viewport::-webkit-scrollbar,
.ag-center-cols-viewport::-webkit-scrollbar,
.ag-header-viewport::-webkit-scrollbar,
.ag-floating-top-viewport::-webkit-scrollbar,
.ag-floating-bottom-viewport::-webkit-scrollbar,
.ag-sticky-top-viewport::-webkit-scrollbar,
.ag-sticky-bottom-viewport::-webkit-scrollbar {
  display: none !important;
}

.ag-body-viewport {
  display: flex;
  overflow-x: hidden;
}
.ag-body-viewport.ag-layout-normal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ag-viewport {
  position: relative;
}

.ag-spanning-container {
  position: absolute;
  top: 0;
  z-index: 1;
}

.ag-sticky-top-container,
.ag-sticky-bottom-container,
.ag-floating-top-container,
.ag-floating-bottom-container {
  min-height: 1px;
}

.ag-sticky-top,
.ag-sticky-bottom {
  z-index: 1;
}

.ag-center-cols-viewport {
  min-height: 100%;
  width: 100%;
}

.ag-body-horizontal-scroll-viewport {
  overflow-x: scroll;
}

.ag-body-vertical-scroll-viewport {
  overflow-y: scroll;
}

.ag-virtual-list-viewport {
  overflow: auto;
  width: 100%;
}

.ag-header-container,
.ag-floating-top-container,
.ag-body-container,
.ag-pinned-right-cols-container,
.ag-center-cols-container,
.ag-pinned-left-cols-container,
.ag-floating-bottom-container,
.ag-body-horizontal-scroll-container,
.ag-body-vertical-scroll-container,
.ag-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-virtual-list-container,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  position: relative;
}

.ag-header-container,
.ag-floating-top-container,
.ag-pinned-left-floating-top,
.ag-pinned-right-floating-top,
.ag-floating-bottom-container,
.ag-pinned-left-floating-bottom,
.ag-pinned-right-floating-bottom,
.ag-sticky-top-container,
.ag-sticky-bottom-container {
  height: 100%;
  white-space: nowrap;
}

.ag-center-cols-container {
  display: block;
}

.ag-pinned-right-cols-container {
  display: block;
}

.ag-body-horizontal-scroll-container {
  height: 100%;
}

.ag-body-vertical-scroll-container {
  width: 100%;
}

.ag-full-width-container,
.ag-floating-top-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  position: absolute;
  top: 0px;
  pointer-events: none;
}
.ag-ltr .ag-full-width-container,
.ag-ltr .ag-floating-top-full-width-container,
.ag-ltr .ag-floating-bottom-full-width-container,
.ag-ltr .ag-sticky-top-full-width-container,
.ag-ltr .ag-sticky-bottom-full-width-container {
  left: 0;
}
.ag-rtl .ag-full-width-container,
.ag-rtl .ag-floating-top-full-width-container,
.ag-rtl .ag-floating-bottom-full-width-container,
.ag-rtl .ag-sticky-top-full-width-container,
.ag-rtl .ag-sticky-bottom-full-width-container {
  right: 0;
}

.ag-full-width-container {
  width: 100%;
}

.ag-floating-bottom-full-width-container,
.ag-floating-top-full-width-container {
  display: inline-block;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.ag-virtual-list-container {
  overflow: hidden;
}

.ag-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row !important;
  min-height: 0;
}

.ag-body-horizontal-scroll,
.ag-body-vertical-scroll {
  min-height: 0;
  min-width: 0;
  display: flex;
  position: relative;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible,
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  position: absolute;
  bottom: 0;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {
  opacity: 0;
  transition: opacity 400ms;
  visibility: hidden;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {
  visibility: visible;
  opacity: 1;
}

.ag-body-horizontal-scroll {
  width: 100%;
}
.ag-body-horizontal-scroll.ag-scrollbar-invisible {
  left: 0;
  right: 0;
}

.ag-body-vertical-scroll {
  height: 100%;
}
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  top: 0;
  z-index: 10;
}
.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {
  right: 0;
}
.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {
  left: 0;
}

.ag-force-vertical-scroll {
  overflow-y: scroll !important;
}

.ag-horizontal-left-spacer,
.ag-horizontal-right-spacer {
  height: 100%;
  min-width: 0;
  overflow-x: scroll;
}
.ag-horizontal-left-spacer.ag-scroller-corner,
.ag-horizontal-right-spacer.ag-scroller-corner {
  overflow-x: hidden;
}

.ag-header,
.ag-pinned-left-header,
.ag-pinned-right-header {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.ag-header-cell-sortable .ag-header-cell-label {
  cursor: pointer;
}

.ag-header {
  display: flex;
  width: 100%;
  white-space: nowrap;
}

.ag-pinned-left-header {
  height: 100%;
}

.ag-pinned-right-header {
  height: 100%;
}

.ag-header-row {
  position: absolute;
}

.ag-header-row:not(.ag-header-row-column-group) {
  overflow: hidden;
}

.ag-header.ag-header-allow-overflow .ag-header-row {
  overflow: visible;
}

.ag-header-cell {
  display: inline-flex;
  align-items: center;
  position: absolute;
  height: 100%;
  overflow: hidden;
}

.ag-header-cell.ag-header-active .ag-header-cell-menu-button,
.ag-header-cell-filter-button {
  opacity: 1;
}

.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
  transition: opacity 0.2s;
  opacity: 0;
}

.ag-header-group-cell-label,
.ag-header-cell-label {
  display: flex;
  flex: 1 1 auto;
  align-self: stretch;
  align-items: center;
  overflow: hidden;
}

.ag-header-cell-label {
  text-overflow: ellipsis;
}

.ag-header-group-cell-label.ag-sticky-label {
  position: -webkit-sticky;
  position: sticky;
  flex: none;
  max-width: 100%;
  overflow: visible;
}

.ag-header-group-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-header-cell-text {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.ag-header-group-cell .ag-header-cell-comp-wrapper {
  display: flex;
}

.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {
  height: 100%;
  display: flex;
  align-items: center;
}

.ag-header-cell-comp-wrapper {
  width: 100%;
}

.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {
  white-space: normal;
}

.ag-header-cell-comp-wrapper-limited-height > div {
  overflow: hidden;
}

.ag-right-aligned-header .ag-header-cell-label {
  flex-direction: row-reverse;
}

.ag-header-cell-resize {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 8px;
  top: 0;
  cursor: ew-resize;
}
.ag-ltr .ag-header-cell-resize {
  right: -3px;
}
.ag-rtl .ag-header-cell-resize {
  left: -3px;
}

.ag-pinned-left-header .ag-header-cell-resize {
  right: -3px;
}

.ag-pinned-right-header .ag-header-cell-resize {
  left: -3px;
}

.ag-header-select-all {
  display: flex;
}

.ag-header-cell-menu-button,
.ag-header-cell-filter-button,
.ag-side-button-button,
.ag-panel-title-bar-button,
.ag-floating-filter-button-button {
  cursor: pointer;
}

.ag-column-moving .ag-cell {
  transition: left 0.2s;
}
.ag-column-moving .ag-header-cell {
  transition: left 0.2s;
}
.ag-column-moving .ag-spanned-cell-wrapper {
  transition: left 0.2s;
}
.ag-column-moving .ag-header-group-cell {
  transition: left 0.2s, width 0.2s;
}

.ag-column-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-column-select {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 3 1;
}

.ag-column-select-header {
  position: relative;
  display: flex;
  flex: none;
}

.ag-column-select-header-icon {
  position: relative;
}

.ag-column-select-header-filter-wrapper {
  flex: 1 1 auto;
}

.ag-column-select-header-filter {
  width: 100%;
}

.ag-column-select-list {
  flex: 1 1;
  overflow: hidden;
}

.ag-column-drop {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: auto;
  width: 100%;
}

.ag-column-drop-list {
  display: flex;
  align-items: center;
}

.ag-column-drop-cell {
  position: relative;
  display: flex;
  align-items: center;
}

.ag-column-drop-cell-text {
  overflow: hidden;
  flex: 1 1 auto;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-drop-vertical {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  flex: 1 1;
}

.ag-column-drop-vertical-title-bar {
  display: flex;
  align-items: center;
  flex: none;
}

.ag-column-drop-vertical-list {
  position: relative;
  align-items: stretch;
  flex-grow: 1;
  flex-direction: column;
  overflow-x: auto;
}
.ag-column-drop-vertical-list > * {
  flex: none;
}

.ag-column-drop-empty .ag-column-drop-vertical-list {
  overflow: hidden;
}

.ag-column-drop-vertical-empty-message {
  display: block;
}

.ag-column-drop.ag-column-drop-horizontal {
  white-space: nowrap;
  overflow: hidden;
}

.ag-column-drop-cell-button {
  cursor: pointer;
}

.ag-filter-toolpanel {
  flex: 1 1;
  min-width: 0;
}

.ag-filter-toolpanel-header {
  position: relative;
}

.ag-filter-toolpanel-header,
.ag-filter-toolpanel-search {
  display: flex;
  align-items: center;
}
.ag-filter-toolpanel-header > *,
.ag-filter-toolpanel-search > * {
  display: flex;
  align-items: center;
}

.ag-filter-apply-panel {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
}

.ag-row-animation .ag-row {
  transition: transform 0.4s, top 0.4s, opacity 0.2s;
}

.ag-row-animation .ag-row.ag-after-created {
  transition: transform 0.4s, top 0.4s, height 0.4s, opacity 0.2s;
}

.ag-row-animation.ag-prevent-animation .ag-row,
.ag-row-animation.ag-prevent-animation .ag-row.ag-after-created {
  transition: none !important;
}

.ag-row-no-animation .ag-row {
  transition: none;
}

.ag-row {
  white-space: nowrap;
  width: 100%;
}

.ag-row-loading {
  display: flex;
  align-items: center;
}

.ag-row-position-absolute {
  position: absolute;
}

.ag-row-position-relative {
  position: relative;
}

.ag-full-width-row {
  overflow: hidden;
  pointer-events: all;
}

.ag-row-inline-editing {
  z-index: 1;
}

.ag-row-dragging {
  z-index: 2;
}

.ag-stub-cell {
  display: flex;
  align-items: center;
}

.ag-cell {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  height: 100%;
}

.ag-cell-value {
  flex: 1 1 auto;
}

.ag-cell-value:not(.ag-allow-overflow),
.ag-group-value {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-cell-wrapper {
  display: flex;
  align-items: center;
}
.ag-cell-wrapper.ag-row-group {
  align-items: flex-start;
}

.ag-cell-wrap-text {
  white-space: normal;
  word-break: break-word;
}

.ag-cell-wrap-text:not(.ag-cell-auto-height) .ag-cell-wrapper {
  align-items: normal;
  height: 100%;
}
.ag-cell-wrap-text:not(.ag-cell-auto-height) .ag-cell-wrapper .ag-cell-value {
  height: 100%;
}

.ag-sparkline-wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  line-height: initial;
}

.ag-full-width-row .ag-cell-wrapper.ag-row-group {
  height: 100%;
  align-items: center;
}

.ag-cell-inline-editing {
  z-index: 1;
}
.ag-cell-inline-editing .ag-cell-wrapper,
.ag-cell-inline-editing .ag-cell-edit-wrapper,
.ag-cell-inline-editing .ag-cell-editor,
.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,
.ag-cell-inline-editing .ag-cell-editor.ag-cell-editor.ag-cell-editor input {
  height: 100%;
  min-height: 100%;
  width: 100%;
  line-height: normal;
}

.ag-row.ag-row-editing-invalid .ag-cell-inline-editing {
  opacity: 0.8;
}

.ag-cell .ag-icon {
  display: inline-block;
  vertical-align: middle;
}

.ag-set-filter-item {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-set-filter-item-checkbox {
  display: flex;
  width: 100%;
  height: 100%;
}

.ag-set-filter-group-icons {
  display: block;
}
.ag-set-filter-group-icons > * {
  cursor: pointer;
}

.ag-filter-body-wrapper {
  display: flex;
  flex-direction: column;
}

.ag-filter-filter {
  flex: 1 1;
}

.ag-filter-condition {
  display: flex;
  justify-content: center;
}

.ag-floating-filter-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  height: 100%;
}

.ag-floating-filter-full-body {
  display: flex;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  align-items: center;
  overflow: hidden;
}

.ag-floating-filter-full-body > div {
  flex: 1 1 auto;
}

.ag-floating-filter-input {
  align-items: center;
  display: flex;
  width: 100%;
}
.ag-floating-filter-input > * {
  flex: 1 1 auto;
}

.ag-floating-filter-button {
  display: flex;
  flex: none;
}

.ag-date-floating-filter-wrapper {
  display: flex;
}

.ag-set-floating-filter-input input[disabled] {
  pointer-events: none;
}

.ag-dnd-ghost {
  display: inline-flex;
  align-items: center;
  cursor: move;
  white-space: nowrap;
}

.ag-overlay {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

.ag-overlay-panel {
  display: flex;
  height: 100%;
  width: 100%;
}

.ag-overlay-wrapper {
  display: flex;
  flex: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ag-overlay-loading-wrapper {
  pointer-events: all;
}

.ag-popup-child {
  z-index: 5;
  top: 0;
}

.ag-popup-editor {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-large-text-input {
  display: block;
}

.ag-virtual-list-item {
  position: absolute;
  width: 100%;
}

.ag-floating-top,
.ag-floating-bottom {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: flex;
}

.ag-pinned-left-floating-top,
.ag-pinned-right-floating-top,
.ag-pinned-left-floating-bottom,
.ag-pinned-right-floating-bottom {
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-sticky-top,
.ag-sticky-bottom {
  position: absolute;
  display: flex;
  width: 100%;
  overflow: hidden;
  height: 0px;
}

.ag-sticky-bottom {
  box-sizing: content-box !important;
}

.ag-pinned-left-sticky-top,
.ag-pinned-right-sticky-top {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.ag-sticky-top-full-width-container,
.ag-sticky-bottom-full-width-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-dialog,
.ag-panel {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.ag-panel-title-bar {
  display: flex;
  flex: none;
  align-items: center;
  cursor: default;
}

.ag-panel-title-bar-title {
  flex: 1 1 auto;
}

.ag-panel-title-bar-buttons {
  display: flex;
}

.ag-panel-title-bar-button {
  cursor: pointer;
}

.ag-panel-content-wrapper {
  display: flex;
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
}

.ag-dialog {
  position: absolute;
}

.ag-resizer {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.ag-resizer.ag-resizer-topLeft {
  top: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-top {
  top: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-topRight {
  top: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-right {
  top: 5px;
  right: 0;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}
.ag-resizer.ag-resizer-bottomRight {
  bottom: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}
.ag-resizer.ag-resizer-bottom {
  bottom: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}
.ag-resizer.ag-resizer-bottomLeft {
  bottom: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}
.ag-resizer.ag-resizer-left {
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}

.ag-tooltip {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip-custom {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip:not(.ag-tooltip-interactive),
.ag-tooltip-custom:not(.ag-tooltip-interactive) {
  pointer-events: none;
}

.ag-value-slide-out {
  margin-right: 5px;
  opacity: 1;
  transition: opacity 3s, margin-right 3s;
  transition-timing-function: linear;
}

.ag-value-slide-out-end {
  margin-right: 10px;
  opacity: 0;
}

.ag-opacity-zero {
  opacity: 0 !important;
}

.ag-menu {
  max-height: 100%;
  overflow-y: auto;
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-menu-column-select-wrapper {
  height: 265px;
  overflow: auto;
}
.ag-menu-column-select-wrapper .ag-column-select {
  height: 100%;
}

.ag-dialog .ag-panel-content-wrapper .ag-column-select {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ag-menu-list {
  display: table;
  width: 100%;
}

.ag-menu-option,
.ag-menu-separator {
  display: table-row;
}

.ag-menu-option-part,
.ag-menu-separator-part {
  display: table-cell;
  vertical-align: middle;
}

.ag-menu-option-text {
  white-space: nowrap;
}

.ag-menu-option-custom {
  display: contents;
}

.ag-compact-menu-option {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

.ag-compact-menu-option-text {
  white-space: nowrap;
  flex: 1 1 auto;
}

.ag-context-menu-loading-icon {
  position: absolute;
  pointer-events: none;
}

.ag-pill-container {
  display: flex;
  gap: 0.25rem;
  flex-wrap: nowrap;
}

.ag-pill {
  display: flex;
  white-space: nowrap;
  padding: 0 0.25rem;
  align-items: center;
}

.ag-pill .ag-pill-button {
  border: none;
  padding: 0;
}

.ag-rich-select {
  cursor: default;
  outline: none;
  height: 100%;
}

.ag-rich-select-value {
  display: flex;
  align-items: center;
  height: 100%;
}
.ag-rich-select-value .ag-picker-field-display {
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {
  opacity: 0.5;
}

.ag-rich-select-list {
  position: relative;
}
.ag-rich-select-list .ag-loading-text {
  min-height: 2rem;
}

.ag-rich-select-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  height: 100%;
}

.ag-rich-select-field-input {
  flex: 1 1 auto;
}
.ag-rich-select-field-input .ag-input-field-input {
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  text-overflow: ellipsis;
}
.ag-rich-select-field-input .ag-input-field-input::placeholder {
  opacity: 0.8;
}

.ag-autocomplete {
  align-items: center;
  display: flex;
}
.ag-autocomplete > * {
  flex: 1 1 auto;
}

.ag-autocomplete-list-popup {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-autocomplete-list {
  position: relative;
}

.ag-autocomplete-virtual-list-item {
  display: flex;
}

.ag-autocomplete-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  overflow: hidden;
}

.ag-autocomplete-row-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-paging-panel {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.ag-paging-page-summary-panel {
  display: flex;
  align-items: center;
}

.ag-paging-button {
  position: relative;
}

.ag-disabled .ag-paging-page-summary-panel {
  pointer-events: none;
}

.ag-tool-panel-wrapper {
  display: flex;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-column-select-column,
.ag-column-select-column-group,
.ag-select-agg-func-item {
  position: relative;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}
.ag-column-select-column > *,
.ag-column-select-column-group > *,
.ag-select-agg-func-item > * {
  flex: none;
}

.ag-select-agg-func-item,
.ag-column-select-column-label {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-select-checkbox {
  display: flex;
}

.ag-tool-panel-horizontal-resize {
  cursor: ew-resize;
  height: 100%;
  position: absolute;
  top: 0;
  width: 5px;
  z-index: 1;
}

.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  right: -3px;
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  left: -3px;
}

.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  left: -3px;
}
.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  right: -3px;
}

.ag-details-row {
  width: 100%;
}

.ag-details-row-fixed-height {
  height: 100%;
}

.ag-details-grid {
  width: 100%;
}

.ag-details-grid-fixed-height {
  height: 100%;
}

.ag-header-group-cell {
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
  contain: paint;
}

.ag-header-group-cell-no-group.ag-header-span-height {
  display: none;
}

.ag-cell-label-container {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  height: 100%;
  width: 100%;
}

.ag-header-group-cell-label,
.ag-cell-label-container {
  padding: 5px 0px;
}

.ag-right-aligned-header .ag-cell-label-container {
  flex-direction: row;
}
.ag-right-aligned-header .ag-header-cell-text {
  text-align: end;
}

.ag-side-bar {
  display: flex;
  flex-direction: row-reverse;
}

.ag-side-bar-left {
  order: -1;
  flex-direction: row;
}

.ag-side-button-button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
}

.ag-side-button-label {
  writing-mode: vertical-lr;
}

.ag-status-bar {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}

.ag-status-panel,
.ag-status-panel.ag-status-panel-aggregations .ag-status-name-value {
  display: inline-flex;
}

.ag-status-name-value {
  white-space: nowrap;
}

.ag-status-bar-left {
  display: inline-flex;
}

.ag-status-bar-center {
  display: inline-flex;
}

.ag-status-bar-right {
  display: inline-flex;
}

.ag-row-number-cell {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ag-ltr .ag-row-number-cell {
  text-align: right;
}
.ag-rtl .ag-row-number-cell {
  text-align: left;
}

.ag-row-numbers-resizer {
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 4px;
  width: 100%;
  cursor: ns-resize;
}

.ag-floating-bottom .ag-row-numbers-resizer {
  bottom: unset;
  top: -2px;
}

.ag-icon {
  display: block;
  speak: none;
}

.ag-group {
  position: relative;
  width: 100%;
}

.ag-group-title-bar {
  display: flex;
  align-items: center;
}

.ag-group-title {
  display: inline;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ag-group-title-bar .ag-group-title {
  cursor: default;
}

.ag-group-toolbar {
  display: flex;
  align-items: center;
}

.ag-group-container {
  display: flex;
}

.ag-disabled .ag-group-container {
  pointer-events: none;
}

.ag-group-container-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}

.ag-group-container-vertical {
  flex-direction: column;
}

.ag-column-group-icons {
  display: block;
}
.ag-column-group-icons > * {
  cursor: pointer;
}

.ag-group-item-alignment-stretch .ag-group-item {
  align-items: stretch;
}

.ag-group-item-alignment-start .ag-group-item {
  align-items: flex-start;
}

.ag-group-item-alignment-end .ag-group-item {
  align-items: flex-end;
}

.ag-toggle-button-icon {
  transition: right 0.3s;
  position: absolute;
  top: -1px;
}

.ag-input-field,
.ag-select {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.ag-input-field-input {
  flex: 1 1 auto;
}

.ag-floating-filter-input .ag-input-field-input[type=date],
.ag-floating-filter-input .ag-input-field-input[type=datetime-local] {
  width: 1px;
}

.ag-range-field {
  display: flex;
  align-items: center;
}

.ag-angle-select {
  display: flex;
  align-items: center;
}

.ag-angle-select-wrapper {
  display: flex;
}

.ag-angle-select-parent-circle {
  display: block;
  position: relative;
}

.ag-angle-select-child-circle {
  position: absolute;
}

.ag-slider-wrapper {
  display: flex;
}
.ag-slider-wrapper .ag-input-field {
  flex: 1 1 auto;
}

.ag-picker-field-display {
  flex: 1 1 auto;
}

.ag-picker-field {
  display: flex;
  align-items: center;
}

.ag-picker-field-icon {
  display: flex;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ag-picker-field-wrapper {
  overflow: hidden;
}

.ag-label-align-right .ag-label {
  order: 1;
}
.ag-label-align-right > * {
  flex: none;
}

.ag-label-align-top {
  flex-direction: column;
  align-items: flex-start;
}
.ag-label-align-top > * {
  align-self: stretch;
}

.ag-label-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1;
}

.ag-color-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.ag-spectrum-color {
  flex: 1 1 auto;
  position: relative;
  overflow: visible;
  cursor: default;
}

.ag-spectrum-fill {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-spectrum-val {
  cursor: pointer;
}

.ag-spectrum-dragger {
  position: absolute;
  pointer-events: none;
  cursor: pointer;
}

.ag-spectrum-hue,
.ag-spectrum-alpha {
  cursor: default;
}

.ag-spectrum-hue-background {
  background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
  width: 100%;
  height: 100%;
}

.ag-spectrum-alpha {
  --ag-spectrum-alpha-background-checked: url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%224%22 height=%224%22><rect x=%220%22 y=%220%22 width=%224%22 height=%224%22 fill=%22%23fff%22/><path d=%22M0 0H2V4H4V2H0Z%22 fill=%22%23b2b2b2%22/></svg>");
}

.ag-spectrum-alpha-background {
  background: linear-gradient(to right, var(--ag-internal-spectrum-alpha-color-from), var(--ag-internal-spectrum-alpha-color-to)), var(--ag-spectrum-alpha-background-checked) top left/4px 4px;
  width: 100%;
  height: 100%;
}

.ag-spectrum-tool {
  cursor: pointer;
  position: relative;
}

.ag-spectrum-slider {
  position: absolute;
  pointer-events: none;
}

.ag-spectrum-alpha .ag-spectrum-slider {
  background: linear-gradient(to bottom, var(--ag-internal-spectrum-alpha-color), var(--ag-internal-spectrum-alpha-color)) white;
}

.ag-recent-colors {
  display: flex;
}

.ag-recent-color {
  cursor: pointer;
}

.ag-pill-select {
  display: flex;
  flex-direction: column;
}
.ag-pill-select .ag-column-drop {
  flex: unset;
}

.ag-ltr {
  direction: ltr;
}
.ag-ltr .ag-body,
.ag-ltr .ag-floating-top,
.ag-ltr .ag-floating-bottom,
.ag-ltr .ag-header,
.ag-ltr .ag-sticky-top,
.ag-ltr .ag-sticky-bottom,
.ag-ltr .ag-body-viewport,
.ag-ltr .ag-body-horizontal-scroll {
  flex-direction: row;
}

.ag-rtl {
  direction: rtl;
}
.ag-rtl .ag-body,
.ag-rtl .ag-floating-top,
.ag-rtl .ag-floating-bottom,
.ag-rtl .ag-header,
.ag-rtl .ag-sticky-top,
.ag-rtl .ag-sticky-bottom,
.ag-rtl .ag-body-viewport,
.ag-rtl .ag-body-horizontal-scroll {
  flex-direction: row-reverse;
}
.ag-rtl .ag-icon-contracted,
.ag-rtl .ag-icon-expanded,
.ag-rtl .ag-icon-tree-closed {
  display: block;
  transform: rotate(180deg);
}

.ag-body .ag-body-viewport {
  -webkit-overflow-scrolling: touch;
}

.ag-measurement-container {
  width: 0;
  overflow: hidden;
  visibility: hidden;
}
.ag-measurement-container div {
  position: absolute;
}

.ag-layout-print.ag-body {
  display: block;
  height: unset;
}
.ag-layout-print.ag-root-wrapper {
  display: inline-block;
}
.ag-layout-print .ag-body-vertical-scroll {
  display: none;
}
.ag-layout-print .ag-body-horizontal-scroll {
  display: none;
}
.ag-layout-print.ag-force-vertical-scroll {
  overflow-y: visible !important;
}

@media print {
  .ag-root-wrapper.ag-layout-print {
    display: table;
  }
  .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,
  .ag-root-wrapper.ag-layout-print .ag-root,
  .ag-root-wrapper.ag-layout-print .ag-body-viewport,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-container,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,
  .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,
  .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {
    height: auto !important;
    overflow: hidden !important;
    display: block !important;
  }
  .ag-root-wrapper.ag-layout-print .ag-row,
  .ag-root-wrapper.ag-layout-print .ag-cell {
    page-break-inside: avoid;
    break-inside: avoid;
  }
}
[class^=ag-],
[class^=ag-]:focus,
[class^=ag-]:after,
[class^=ag-]:before {
  box-sizing: border-box;
  outline: none;
}

[class^=ag-]::-ms-clear {
  display: none;
}

.ag-checkbox .ag-input-wrapper,
.ag-radio-button .ag-input-wrapper {
  overflow: visible;
}

.ag-range-field .ag-input-wrapper {
  height: 100%;
}

.ag-toggle-button {
  flex: none;
  width: unset;
  min-width: unset;
}

.ag-button {
  border-radius: 0px;
  color: var(--ag-foreground-color);
}

.ag-button:hover {
  background-color: transparent;
}

.ag-ltr .ag-label-align-right .ag-label {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-label-align-right .ag-label {
  margin-right: var(--ag-grid-size);
}

input[class^=ag-] {
  margin: 0;
  background-color: var(--ag-background-color);
}

textarea[class^=ag-],
select[class^=ag-] {
  background-color: var(--ag-background-color);
}

input[class^=ag-]:not([type]),
input[class^=ag-][type=text],
input[class^=ag-][type=number],
input[class^=ag-][type=tel],
input[class^=ag-][type=date],
input[class^=ag-][type=datetime-local],
textarea[class^=ag-] {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  font-family: inherit;
  border: var(--ag-borders-input) var(--ag-input-border-color);
}
input[class^=ag-]:not([type]):disabled,
input[class^=ag-][type=text]:disabled,
input[class^=ag-][type=number]:disabled,
input[class^=ag-][type=tel]:disabled,
input[class^=ag-][type=date]:disabled,
input[class^=ag-][type=datetime-local]:disabled,
textarea[class^=ag-]:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
input[class^=ag-]:not([type]):focus,
input[class^=ag-][type=text]:focus,
input[class^=ag-][type=number]:focus,
input[class^=ag-][type=tel]:focus,
input[class^=ag-][type=date]:focus,
input[class^=ag-][type=datetime-local]:focus,
textarea[class^=ag-]:focus {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}
input[class^=ag-]:not([type]):focus.invalid, input[class^=ag-]:not([type]):focus:invalid,
input[class^=ag-][type=text]:focus.invalid,
input[class^=ag-][type=text]:focus:invalid,
input[class^=ag-][type=number]:focus.invalid,
input[class^=ag-][type=number]:focus:invalid,
input[class^=ag-][type=tel]:focus.invalid,
input[class^=ag-][type=tel]:focus:invalid,
input[class^=ag-][type=date]:focus.invalid,
input[class^=ag-][type=date]:focus:invalid,
input[class^=ag-][type=datetime-local]:focus.invalid,
input[class^=ag-][type=datetime-local]:focus:invalid,
textarea[class^=ag-]:focus.invalid,
textarea[class^=ag-]:focus:invalid {
  box-shadow: var(--ag-input-error-focus-box-shadow);
  border-color: var(--ag-invalid-color);
}
input[class^=ag-]:not([type]):invalid,
input[class^=ag-][type=text]:invalid,
input[class^=ag-][type=number]:invalid,
input[class^=ag-][type=tel]:invalid,
input[class^=ag-][type=date]:invalid,
input[class^=ag-][type=datetime-local]:invalid,
textarea[class^=ag-]:invalid {
  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);
}

input[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {
  -moz-appearance: textfield;
}
input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[class^=ag-][type=range] {
  padding: 0;
}

input[class^=ag-][type=button]:focus,
button[class^=ag-]:focus {
  box-shadow: var(--ag-input-focus-box-shadow);
}
input[class^=ag-][type=button]:focus:invalid, input[class^=ag-][type=button]:focus.invalid,
button[class^=ag-]:focus:invalid,
button[class^=ag-]:focus.invalid {
  box-shadow: var(--ag-input-error-focus-box-shadow);
}

.ag-drag-handle {
  color: var(--ag-secondary-foreground-color);
}

.ag-list-item,
.ag-virtual-list-item {
  height: var(--ag-list-item-height);
}

.ag-virtual-list-item:focus-visible {
  outline: none;
}
.ag-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-select-list {
  background-color: var(--ag-background-color);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-list-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-list-item.ag-active-item {
  background-color: var(--ag-row-hover-color);
}

.ag-select-list-item {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
}
.ag-ltr .ag-select-list-item {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select-list-item {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-select-list-item span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ag-row-drag,
.ag-selection-checkbox,
.ag-group-expanded,
.ag-group-contracted {
  color: var(--ag-secondary-foreground-color);
}
.ag-ltr .ag-row-drag,
.ag-ltr .ag-selection-checkbox,
.ag-ltr .ag-group-expanded,
.ag-ltr .ag-group-contracted {
  margin-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-row-drag,
.ag-rtl .ag-selection-checkbox,
.ag-rtl .ag-group-expanded,
.ag-rtl .ag-group-contracted {
  margin-left: var(--ag-cell-widget-spacing);
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  --ag-internal-calculated-line-height: var(
      --ag-line-height,
      calc(var(--ag-row-height) - var(--ag-row-border-width))
  );
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);
  height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  display: flex;
  align-items: center;
  flex: none;
}

.ag-group-expanded,
.ag-group-contracted {
  cursor: pointer;
}

.ag-group-title-bar-icon {
  cursor: pointer;
  flex: none;
  color: var(--ag-secondary-foreground-color);
}

.ag-ltr .ag-group-child-count {
  margin-left: 2px;
}
.ag-rtl .ag-group-child-count {
  margin-right: 2px;
}

.ag-group-title-bar {
  background-color: var(--ag-subheader-background-color);
  padding: var(--ag-grid-size);
}

.ag-group-toolbar {
  padding: var(--ag-grid-size);
  background-color: var(--ag-subheader-toolbar-background-color);
}

.ag-disabled-group-title-bar,
.ag-disabled-group-container {
  opacity: 0.5;
}

.group-item {
  margin: calc(var(--ag-grid-size) * 0.5) 0;
}

.ag-label {
  white-space: nowrap;
}
.ag-ltr .ag-label {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-label {
  margin-left: var(--ag-grid-size);
}

.ag-label-align-top .ag-label {
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-angle-select[disabled] {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}
.ag-angle-select[disabled] .ag-angle-select-field {
  opacity: 0.4;
}

.ag-ltr .ag-slider-field,
.ag-ltr .ag-angle-select-field {
  margin-right: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-slider-field,
.ag-rtl .ag-angle-select-field {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-angle-select-parent-circle {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: solid 1px;
  border-color: var(--ag-border-color);
  background-color: var(--ag-background-color);
}

.ag-angle-select-child-circle {
  top: 4px;
  left: 12px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  margin-top: -4px;
  border-radius: 3px;
  background-color: var(--ag-secondary-foreground-color);
}

.ag-picker-field-wrapper {
  border: var(--ag-borders);
  border-color: var(--ag-border-color);
  border-radius: 5px;
  background-color: var(--ag-background-color);
}
.ag-picker-field-wrapper:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}
.ag-picker-field-wrapper.ag-picker-has-focus.invalid, .ag-picker-field-wrapper:focus-within.invalid {
  box-shadow: var(--ag-input-error-focus-box-shadow);
}
.ag-picker-field-wrapper.invalid {
  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);
}

.ag-picker-field-button {
  background-color: var(--ag-background-color);
  color: var(--ag-secondary-foreground-color);
}

.ag-dialog.ag-color-dialog {
  border-radius: 5px;
}

.ag-color-picker .ag-picker-field-wrapper {
  padding-left: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
}
.ag-color-picker .ag-picker-field-display {
  display: flex;
  flex-direction: row;
  align-items: center;
  min-height: var(--ag-list-item-height);
}

.ag-ltr .ag-color-picker-color,
.ag-ltr .ag-color-picker-value {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-color-picker-color,
.ag-rtl .ag-color-picker-value {
  margin-left: var(--ag-grid-size);
}

.ag-color-panel {
  padding: var(--ag-grid-size);
}

.ag-spectrum-color {
  background-color: rgb(255, 0, 0);
  border-radius: 2px;
}

.ag-spectrum-tools {
  padding: 10px;
}

.ag-spectrum-sat {
  background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));
}

.ag-spectrum-val {
  background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));
}

.ag-spectrum-dragger {
  border-radius: 12px;
  height: 12px;
  width: 12px;
  border: 2px solid white;
  background: black;
  box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);
}

.ag-spectrum-hue-background {
  border-radius: 2px;
}

.ag-spectrum-alpha-background {
  border-radius: 2px;
}

.ag-spectrum-tool {
  margin-bottom: 10px;
  height: 11px;
  border-radius: 2px;
}

.ag-spectrum-slider {
  margin-top: -12px;
  width: 13px;
  height: 13px;
  border-radius: 13px;
  border: 2px solid white;
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

.ag-recent-colors {
  margin-top: 10px;
}

.ag-recent-color {
  margin: 0 3px;
}
.ag-recent-color:first-child {
  margin-left: 0;
}
.ag-recent-color:last-child {
  margin-right: 0;
}

.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),
.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),
.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-ltr .ag-color-input input[class^=ag-][type=text].ag-input-field-input {
  padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-rtl .ag-color-input input[class^=ag-][type=text].ag-input-field-input {
  padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-color-input .ag-color-input-color {
  position: absolute;
}
.ag-ltr .ag-color-input .ag-color-input-color {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-color-input .ag-color-input-color {
  margin-right: var(--ag-grid-size);
}

.ag-color-picker-color,
.ag-color-input-color {
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-radius: 2px;
}

.ag-dnd-ghost {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  overflow: hidden;
  text-overflow: ellipsis;
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
  line-height: var(--ag-header-height);
  margin: 0;
  padding: 0 calc(var(--ag-grid-size) * 2);
  transform: translateY(calc(var(--ag-grid-size) * 2));
}

.ag-dnd-ghost-not-allowed {
  border-color: color-mix(in srgb, var(--ag-background-color), var(--ag-invalid-color) 50%);
}

.ag-dnd-ghost-icon {
  margin-right: var(--ag-grid-size);
  color: var(--ag-foreground-color);
}

.ag-popup-child:not(.ag-tooltip-custom) {
  box-shadow: var(--ag-popup-shadow);
}

.ag-select .ag-picker-field-wrapper {
  min-height: var(--ag-list-item-height);
  cursor: default;
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-select .ag-picker-field-wrapper {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-select .ag-picker-field-wrapper {
  padding-left: var(--ag-grid-size);
}
.ag-select.ag-disabled .ag-picker-field-wrapper:focus {
  box-shadow: none;
}
.ag-select:not(.ag-cell-editor, .ag-label-align-top) {
  min-height: var(--ag-list-item-height);
}
.ag-select .ag-picker-field-display {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ag-select .ag-picker-field-icon {
  display: flex;
  align-items: center;
}
.ag-select.ag-disabled {
  opacity: 0.5;
}

.ag-rich-select-value,
.ag-rich-select-list {
  background-color: var(--ag-background-color);
}

.ag-rich-select-list {
  width: 100%;
  height: auto;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}
.ag-rich-select-list .ag-loading-text {
  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);
}

.ag-rich-select-value {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  padding-top: 0;
  padding-bottom: 0;
}
.ag-ltr .ag-rich-select-value {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-value {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-ltr .ag-rich-select-value {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-rich-select-value {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-rich-select-field-input {
  left: calc(var(--ag-cell-horizontal-padding));
}
.ag-rtl .ag-rich-select-field-input {
  right: calc(var(--ag-cell-horizontal-padding));
}

.ag-popup-editor .ag-rich-select-value {
  height: var(--ag-row-height);
  min-width: 200px;
}

.ag-rich-select-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-rich-select-virtual-list-item:focus-visible::after {
  content: none;
}

.ag-ltr .ag-rich-select-row {
  padding-left: calc(var(--ag-cell-horizontal-padding) / 2);
}
.ag-rtl .ag-rich-select-row {
  padding-right: calc(var(--ag-cell-horizontal-padding) / 2);
}

.ag-rich-select-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-rich-select-row:hover,
.ag-rich-select-row-highlighted {
  background-image: linear-gradient(var(--ag-row-hover-color), var(--ag-row-hover-color));
}

.ag-rich-select-row-text-highlight {
  font-weight: bold;
}

.ag-autocomplete {
  width: 100%;
}

.ag-autocomplete-list {
  width: 100%;
  min-width: 200px;
  height: calc(var(--ag-row-height) * 6.5);
}

.ag-autocomplete-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-autocomplete-virtual-list-item:focus-visible::after {
  content: none;
}
.ag-autocomplete-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-autocomplete-row-label {
  margin: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-autocomplete-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-pill {
  border: 1px solid var(--ag-chip-border-color);
  border-radius: var(--ag-border-radius);
  background-color: var(--ag-chip-background-color);
}

.ag-ltr .ag-pill .ag-pill-button {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-pill .ag-pill-button {
  margin-right: var(--ag-grid-size);
}

.ag-pill:focus-visible {
  border-color: var(--ag-input-focus-border-color);
}

.ag-pill .ag-pill-button:hover {
  cursor: pointer;
}

.ag-dragging-range-handle .ag-dialog,
.ag-dragging-fill-handle .ag-dialog {
  opacity: 0.7;
  pointer-events: none;
}

.ag-dialog {
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
  box-shadow: var(--ag-popup-shadow);
}

.ag-panel {
  background-color: var(--ag-panel-background-color);
  border-color: var(--ag-panel-border-color);
}

.ag-panel-title-bar {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
  padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-panel-title-bar-button {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-panel-title-bar-button {
  margin-right: var(--ag-grid-size);
}

.ag-tooltip {
  background-color: var(--ag-tooltip-background-color);
  color: var(--ag-foreground-color);
  padding: var(--ag-grid-size);
  border: var(--ag-borders) var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  white-space: normal;
}
.ag-tooltip.ag-cell-editor-tooltip {
  background-color: var(--ag-tooltip-error-background-color);
  color: var(--ag-tooltip-error-text-color);
  border: var(--ag-borders) var(--ag-tooltip-error-border-color);
  font-weight: 500;
}

.ag-tooltip.ag-tooltip-animate,
.ag-tooltip-custom.ag-tooltip-animate {
  transition: opacity 1s;
}
.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,
.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {
  opacity: 0;
}

.ag-ltr .ag-column-select-column,
.ag-ltr .ag-column-select-column-group {
  padding-left: calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size));
}
.ag-rtl .ag-column-select-column,
.ag-rtl .ag-column-select-column-group {
  padding-right: calc(var(--ag-indentation-level) * var(--ag-column-select-indent-size));
}

.ag-column-select-header-icon {
  cursor: pointer;
}

.ag-column-select-header-icon:focus-visible {
  outline: none;
}
.ag-column-select-header-icon:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-ltr .ag-column-group-icons:not(:last-child),
.ag-ltr .ag-column-select-header-icon:not(:last-child),
.ag-ltr .ag-column-select-header-checkbox:not(:last-child),
.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-ltr .ag-column-select-checkbox:not(:last-child),
.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-label:not(:last-child) {
  margin-right: var(--ag-widget-horizontal-spacing);
}
.ag-rtl .ag-column-group-icons:not(:last-child),
.ag-rtl .ag-column-select-header-icon:not(:last-child),
.ag-rtl .ag-column-select-header-checkbox:not(:last-child),
.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-rtl .ag-column-select-checkbox:not(:last-child),
.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-label:not(:last-child) {
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-column-select-virtual-list-item:focus-visible {
  outline: none;
}
.ag-column-select-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-column-group:not(:last-child),
.ag-column-select-column:not(:last-child) {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-column-select-column-readonly,
.ag-column-select-column-group-readonly {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}

.ag-ltr .ag-column-select-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-rtl .ag-column-select-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-column-select-virtual-list-viewport {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;
}

.ag-column-select-virtual-list-item {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}

.ag-checkbox-edit {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-pill-select .ag-column-drop {
  border-bottom: 0;
  min-height: unset;
}
.ag-pill-select .ag-column-drop-list {
  padding: 0;
}
.ag-pill-select .ag-select {
  padding-top: var(--ag-grid-size);
}
.ag-pill-select .ag-picker-field-wrapper {
  background-color: transparent;
  border: 0;
}
.ag-pill-select .ag-picker-field-display {
  cursor: pointer;
}

.ag-rtl {
  text-align: right;
}

.ag-root-wrapper {
  border-radius: var(--ag-wrapper-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-row > .ag-cell-wrapper.ag-row-group {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * var(--ag-indentation-level));
}

.ag-cell-wrapper.ag-row-group,
.ag-cell-wrapper.ag-row-group-leaf-indent,
.ag-cell-wrapper.ag-pivot-leaf-group {
  padding-left: calc(var(--ag-indentation-level) * var(--ag-row-group-indent-size));
}

.ag-cell-wrapper > .ag-group-checkbox-spacing {
  width: var(--ag-icon-size);
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-ltr .ag-row-group-leaf-indent {
  margin-left: var(--ag-row-group-indent-size);
}
.ag-rtl .ag-row-group-leaf-indent {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-row:not(.ag-row-level-0) .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-value-change-delta {
  padding-right: 2px;
}

.ag-value-change-delta-up {
  color: var(--ag-value-change-delta-up-color);
}

.ag-value-change-delta-down {
  color: var(--ag-value-change-delta-down-color);
}

.ag-value-change-value {
  background-color: transparent;
  border-radius: 1px;
  padding-left: 1px;
  padding-right: 1px;
  transition: background-color 1s;
}

.ag-value-change-value-highlight {
  background-color: var(--ag-value-change-value-highlight-background-color);
  transition: background-color 0.1s;
}

.ag-cell-data-changed {
  background-color: var(--ag-value-change-value-highlight-background-color) !important;
}

.ag-cell-data-changed-animation {
  background-color: transparent;
}

.ag-cell-highlight {
  background-color: var(--ag-range-selection-highlight-color) !important;
}

.ag-row,
.ag-spanned-row {
  color: var(--ag-data-color);
}

.ag-row {
  height: var(--ag-row-height);
  background-color: var(--ag-data-background-color);
  border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}
.ag-row.ag-row-editing-invalid {
  background-color: var(--ag-full-row-invalid-background-color);
}

.ag-spanned-cell-wrapper {
  background-color: var(--ag-data-background-color);
  position: absolute;
}

.ag-spanned-cell-wrapper > .ag-spanned-cell {
  display: block;
  position: relative;
}

.ag-row-highlight-above::after,
.ag-row-highlight-inside::after,
.ag-row-highlight-below::after {
  content: "";
  position: absolute;
  width: calc(100% - 1px);
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
  left: 1px;
  pointer-events: none;
}

.ag-row-highlight-above::after {
  top: 0;
}

.ag-row-highlight-below::after {
  bottom: 0;
}

.ag-row-highlight-indent::after {
  display: block;
  width: auto;
  left: calc(2 * (var(--ag-cell-widget-spacing) + var(--ag-icon-size)) + var(--ag-cell-horizontal-padding) + var(--ag-row-highlight-level) * var(--ag-row-group-indent-size));
  right: 1px;
}

.ag-row-highlight-inside::after {
  display: block;
  width: auto;
  height: auto;
  inset: 0;
  background-color: var(--ag-selected-row-background-color);
  border: 1px solid var(--ag-range-selection-border-color);
}

.ag-body,
.ag-floating-top,
.ag-floating-bottom {
  background-color: var(--ag-data-background-color);
}

.ag-row-odd {
  background-color: var(--ag-odd-row-background-color);
}

.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}
.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-row-selected::before {
  content: "";
  background-color: var(--ag-selected-row-background-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-row-hover:not(.ag-full-width-row)::before,
.ag-row-hover.ag-full-width-row.ag-row-group::before {
  content: "";
  background-color: var(--ag-row-hover-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ag-row.ag-full-width-row.ag-row-group > * {
  position: relative;
}

.ag-row-hover.ag-row-selected::before {
  background-color: var(--ag-row-hover-color);
  background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
}

.ag-column-hover {
  background-color: var(--ag-column-hover-color);
}

.ag-header-range-highlight {
  background-color: var(--ag-range-header-highlight-color);
}

.ag-ltr .ag-right-aligned-cell {
  text-align: right;
}
.ag-rtl .ag-right-aligned-cell {
  text-align: left;
}

.ag-ltr .ag-right-aligned-cell .ag-cell-value,
.ag-ltr .ag-right-aligned-cell .ag-group-value {
  margin-left: auto;
}
.ag-rtl .ag-right-aligned-cell .ag-cell-value,
.ag-rtl .ag-right-aligned-cell .ag-group-value {
  margin-right: auto;
}

.ag-ltr .ag-right-aligned-cell .ag-skeleton-effect {
  margin-left: auto;
}
.ag-rtl .ag-right-aligned-cell .ag-skeleton-effect {
  margin-right: auto;
}

.ag-cell,
.ag-full-width-row .ag-cell-wrapper.ag-row-group {
  --ag-internal-calculated-line-height: var(
      --ag-line-height,
      calc(var(--ag-row-height) - var(--ag-row-border-width))
  );
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width) - 2px);
  border: 1px solid transparent;
  line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px + var(--ag-row-group-indent-size) * var(--ag-indentation-level));
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
  -webkit-font-smoothing: subpixel-antialiased;
}

.ag-row > .ag-cell-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
}

.ag-row-dragging {
  cursor: move;
  opacity: 0.5;
}

.ag-cell-inline-editing {
  border: 1px solid var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: 0;
  background-color: var(--ag-control-panel-background-color);
}

.ag-popup-editor .ag-large-text,
.ag-autocomplete-list-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-control-panel-background-color);
  padding: 0;
}

.ag-large-text-input {
  height: auto;
  padding: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-large-text-input textarea {
  resize: none;
}

.ag-details-row {
  padding: calc(var(--ag-grid-size) * 5);
  background-color: var(--ag-data-background-color);
}

.ag-layout-auto-height .ag-center-cols-viewport,
.ag-layout-auto-height .ag-center-cols-container,
.ag-layout-print .ag-center-cols-viewport,
.ag-layout-print .ag-center-cols-container {
  min-height: 50px;
}

.ag-overlay-loading-wrapper {
  background-color: var(--ag-modal-overlay-background-color);
}

.ag-overlay-loading-center {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
}

.ag-skeleton-container {
  width: 100%;
  height: 100%;
  align-content: center;
}

.ag-skeleton-effect {
  background-color: var(--ag-row-loading-skeleton-effect-color);
  width: 100%;
  height: 1em;
  border-radius: 0.25rem;
  animation: ag-skeleton-loading 1.5s ease-in-out 0.5s infinite;
}

@keyframes ag-skeleton-loading {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.ag-loading {
  display: flex;
  height: 100%;
  align-items: center;
}
.ag-ltr .ag-loading {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-loading {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-loading-icon {
  padding-right: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-loading-icon {
  padding-left: var(--ag-cell-widget-spacing);
}

.ag-icon-loading {
  animation-name: spin;
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.ag-floating-top:not(.ag-invisible) {
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-floating-bottom:not(.ag-invisible) {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-find-cell {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-find-match {
  color: var(--ag-find-match-color);
  background-color: var(--ag-find-match-background-color);
}

.ag-find-active-match {
  color: var(--ag-find-active-match-color);
  background-color: var(--ag-find-active-match-background-color);
}

.ag-ltr .ag-cell {
  border-right: var(--ag-cell-horizontal-border);
}
.ag-rtl .ag-cell {
  border-left: var(--ag-cell-horizontal-border);
}
.ag-ltr .ag-cell {
  border-right-width: 1px;
}
.ag-rtl .ag-cell {
  border-left-width: 1px;
}

.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell-range-selected:not(.ag-cell-focus),
.ag-cell-range-selected.ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,
.ag-cell-range-selected.ag-cell-range-chart.ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {
  background-color: var(--ag-range-selection-chart-background-color) !important;
}
.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,
.ag-cell-range-selected.ag-cell-range-chart.ag-cell-range-chart.ag-cell-range-chart-category,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {
  background-color: var(--ag-range-selection-chart-category-background-color) !important;
}

.ag-cell-range-selected-1:not(.ag-cell-focus),
.ag-cell-range-selected-1.ag-cell-range-chart,
.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}

.ag-cell-range-selected-2:not(.ag-cell-focus),
.ag-cell-range-selected-2.ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {
  background-color: var(--ag-range-selection-background-color-2);
}

.ag-cell-range-selected-3:not(.ag-cell-focus),
.ag-cell-range-selected-3.ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {
  background-color: var(--ag-range-selection-background-color-3);
}

.ag-cell-range-selected-4:not(.ag-cell-focus),
.ag-cell-range-selected-4.ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {
  background-color: var(--ag-range-selection-background-color-4);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {
  border-top-color: var(--ag-range-selection-border-color);
  border-top-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {
  border-right-color: var(--ag-range-selection-border-color);
  border-right-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {
  border-bottom-color: var(--ag-range-selection-border-color);
  border-bottom-style: var(--ag-range-selection-border-style);
}
.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {
  border-left-color: var(--ag-range-selection-border-color);
  border-left-style: var(--ag-range-selection-border-style);
}

.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-ltr .ag-cell-range-single-cell,
.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,
.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-rtl .ag-cell-range-single-cell,
.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {
  border: 1px solid;
  border-color: var(--ag-range-selection-border-color);
  border-style: var(--ag-range-selection-border-style);
  outline: initial;
}

.ag-cell.ag-selection-fill-top,
.ag-cell.ag-selection-fill-top.ag-cell-range-selected {
  border-top: 1px dashed;
  border-top-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-right,
.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-right,
.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-cell.ag-selection-fill-bottom,
.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {
  border-bottom: 1px dashed;
  border-bottom-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-left,
.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}
.ag-rtl .ag-cell.ag-selection-fill-left,
.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-fill-handle,
.ag-range-handle {
  position: absolute;
  width: 6px;
  height: 6px;
  bottom: -1px;
  background-color: var(--ag-range-selection-border-color);
}
.ag-ltr .ag-fill-handle,
.ag-ltr .ag-range-handle {
  right: -1px;
}
.ag-rtl .ag-fill-handle,
.ag-rtl .ag-range-handle {
  left: -1px;
}

.ag-fill-handle {
  cursor: crosshair;
}

.ag-range-handle {
  cursor: nwse-resize;
}

.ag-cell-inline-editing {
  border-color: var(--ag-input-focus-border-color) !important;
}
.ag-cell-inline-editing.ag-cell-editing-error {
  border-color: var(--ag-invalid-color) !important;
}

.ag-menu {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-menu-background-color);
  border-color: var(--ag-menu-border-color);
  padding: 0;
}

.ag-menu.ag-tabs {
  min-width: var(--ag-tab-min-width);
}

.ag-menu-list {
  cursor: default;
  padding: var(--ag-grid-size) 0;
}

.ag-menu-separator {
  height: calc(var(--ag-grid-size) * 2 + 1px);
}

.ag-menu-separator-part::after {
  content: "";
  display: block;
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-menu-option {
  position: relative;
}

.ag-menu-option:focus-visible {
  outline: none;
}
.ag-menu-option:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-menu-option-active,
.ag-compact-menu-option-active {
  background-color: var(--ag-row-hover-color);
}

.ag-menu-option-part,
.ag-compact-menu-option-part {
  line-height: var(--ag-icon-size);
  padding: calc(var(--ag-grid-size) + 2px) 0;
}

.ag-menu-option-disabled,
.ag-compact-menu-option-disabled {
  opacity: 0.5;
}

.ag-menu-option-icon,
.ag-compact-menu-option-icon {
  width: var(--ag-icon-size);
}
.ag-ltr .ag-menu-option-icon,
.ag-ltr .ag-compact-menu-option-icon {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-menu-option-icon,
.ag-rtl .ag-compact-menu-option-icon {
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-menu-option-text,
.ag-compact-menu-option-text {
  padding-left: calc(var(--ag-grid-size) * 2);
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-menu-option-shortcut,
.ag-ltr .ag-compact-menu-option-shortcut {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-shortcut,
.ag-rtl .ag-compact-menu-option-shortcut {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-menu-option-popup-pointer,
.ag-ltr .ag-compact-menu-option-popup-pointer {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-menu-option-popup-pointer,
.ag-rtl .ag-compact-menu-option-popup-pointer {
  padding-left: var(--ag-grid-size);
}

.ag-tabs-header {
  display: flex;
}

.ag-tabs-header-wrapper {
  display: flex;
}
.ag-tabs-header-wrapper .ag-tabs-header {
  flex: 1 1;
}

.ag-tabs-close-button-wrapper {
  border: 0;
  border-right: var(--ag-borders) var(--ag-border-color);
  padding: var(--ag-grid-size);
}

.ag-tabs-close-button {
  border: 0;
  background-color: unset;
  cursor: pointer;
  padding: 0;
}

.ag-tab {
  border-bottom: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ag-tab:focus-visible {
  outline: none;
}
.ag-tab:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-tab-selected {
  border-bottom-color: var(--ag-selected-tab-underline-color);
}

.ag-menu-header {
  color: var(--ag-secondary-foreground-color);
}

.ag-filter-separator {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-filter-select .ag-picker-field-wrapper {
  width: 0;
}

.ag-filter-condition-operator {
  height: 17px;
}

.ag-ltr .ag-filter-condition-operator-or {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-condition-operator-or {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-set-filter-select-all {
  padding-top: var(--ag-widget-container-vertical-padding);
}

.ag-set-filter-list,
.ag-filter-no-matches {
  height: calc(var(--ag-list-item-height) * 6);
}

.ag-set-filter-tree-list {
  height: calc(var(--ag-list-item-height) * 10);
}

.ag-set-filter-filter {
  margin-top: var(--ag-widget-container-vertical-padding);
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-to {
  margin-top: var(--ag-widget-vertical-spacing);
}

.ag-mini-filter {
  margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-set-filter {
  --ag-indentation-level: 0;
}

.ag-ltr .ag-set-filter-item {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));
}
.ag-rtl .ag-set-filter-item {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}
.ag-rtl .ag-set-filter-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding));
}

.ag-ltr .ag-set-filter-group-icons {
  margin-right: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-set-filter-group-icons {
  margin-left: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-menu .ag-set-filter-list {
  min-width: 200px;
}

.ag-filter-virtual-list-item:focus-visible {
  outline: none;
}
.ag-filter-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-apply-panel {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-filter-apply-panel-button {
  line-height: 1.5;
}
.ag-ltr .ag-filter-apply-panel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-filter-apply-panel-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-simple-filter-body-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
  overflow-y: auto;
  min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));
}
.ag-simple-filter-body-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}
.ag-simple-filter-body-wrapper .ag-resizer-wrapper {
  margin: 0;
}

.ag-menu:not(.ag-tabs) .ag-filter .ag-filter-body-wrapper,
.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {
  min-width: calc(var(--ag-menu-min-width) - 2px);
}

.ag-filter-no-matches {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-multi-filter-menu-item {
  margin: var(--ag-grid-size) 0;
}

.ag-multi-filter-group-title-bar {
  padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);
  background-color: transparent;
}

.ag-group-filter-field-select-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-group-filter-field-select-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-multi-filter-group-title-bar:focus-visible {
  outline: none;
}
.ag-multi-filter-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-side-bar {
  position: relative;
}

.ag-tool-panel-wrapper {
  width: var(--ag-side-bar-panel-width);
  background-color: var(--ag-control-panel-background-color);
}

.ag-tool-panel-external {
  display: flex;
  flex-direction: row;
}

:where(.ag-tool-panel-external) .ag-tool-panel-wrapper {
  flex-grow: 1;
}

.ag-side-buttons {
  padding-top: calc(var(--ag-grid-size) * 4);
  width: calc(var(--ag-icon-size) + 4px);
  position: relative;
  overflow: hidden;
}

button.ag-side-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  background: transparent;
  padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;
  width: 100%;
  margin: 0;
  min-height: calc(var(--ag-grid-size) * 18);
  background-position-y: center;
  background-position-x: center;
  background-repeat: no-repeat;
  border: none;
  border-top: var(--ag-borders-side-button) var(--ag-border-color);
  border-bottom: var(--ag-borders-side-button) var(--ag-border-color);
}
button.ag-side-button-button:focus {
  box-shadow: none;
}

.ag-side-button-button:focus-visible {
  outline: none;
}
.ag-side-button-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-selected button.ag-side-button-button {
  background-color: var(--ag-side-button-selected-background-color);
}

.ag-side-button-icon-wrapper {
  margin-bottom: 3px;
}

.ag-ltr .ag-side-bar-left,
.ag-rtl .ag-side-bar-right {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-side-bar-left .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-side-button-button {
  border-right: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-right var(--ag-selected-tab-underline-transition-speed);
}
.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-right-color: var(--ag-selected-tab-underline-color);
}

.ag-rtl .ag-side-bar-left,
.ag-ltr .ag-side-bar-right {
  border-left: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-side-bar-left .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-side-button-button {
  border-left: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-left var(--ag-selected-tab-underline-transition-speed);
}
.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-left-color: var(--ag-selected-tab-underline-color);
}

.ag-filter-toolpanel-header {
  height: calc(var(--ag-grid-size) * 6);
}

.ag-filter-toolpanel-header,
.ag-filter-toolpanel-search {
  padding: 0 var(--ag-grid-size);
}

.ag-filter-toolpanel-header:focus-visible {
  outline: none;
}
.ag-filter-toolpanel-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-toolpanel-group:not(.ag-has-filter) > .ag-group-title-bar .ag-filter-toolpanel-group-instance-header-icon {
  display: none;
}

.ag-filter-toolpanel-group-level-0-header {
  height: calc(var(--ag-grid-size) * 8);
}

.ag-filter-toolpanel-group-item {
  margin-top: calc(var(--ag-grid-size) * 0.5);
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-filter-toolpanel-search {
  height: var(--ag-header-height);
}

.ag-filter-toolpanel-search-input {
  flex-grow: 1;
  height: calc(var(--ag-grid-size) * 4);
}
.ag-ltr .ag-filter-toolpanel-search-input {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-search-input {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-0 {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-ltr .ag-filter-toolpanel-expand,
.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-expand,
.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size));
}
.ag-rtl .ag-filter-toolpanel-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * var(--ag-indentation-level, 0) + var(--ag-grid-size));
}

.ag-filter-toolpanel-instance-filter {
  border-bottom: var(--ag-borders) var(--ag-border-color);
  border-top: var(--ag-borders) var(--ag-border-color);
  margin-top: var(--ag-grid-size);
}

.ag-ltr .ag-filter-toolpanel-group-instance-header-icon,
.ag-ltr .ag-filter-toolpanel-instance-header-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-filter-toolpanel-group-instance-header-icon,
.ag-rtl .ag-filter-toolpanel-instance-header-icon {
  margin-right: var(--ag-grid-size);
}

.ag-set-filter-group-icons {
  color: var(--ag-secondary-foreground-color);
}

.ag-filter-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.ag-filter-panel .ag-simple-filter-body-wrapper {
  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) 0;
}
.ag-filter-panel .ag-mini-filter {
  margin-top: var(--ag-widget-vertical-spacing);
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}
.ag-filter-panel .ag-standard-button {
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
}
.ag-filter-panel .ag-simple-filter-body-wrapper > *:last-child,
.ag-filter-panel .ag-set-filter-body-wrapper {
  margin-bottom: var(--ag-widget-container-vertical-padding);
}

.ag-filter-panel-container {
  flex: 1 1;
  overflow: auto;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0;
}

.ag-filter-panel-container > *:not(:last-child) {
  margin-bottom: var(--ag-widget-container-vertical-padding);
}

.ag-filter-card {
  border: 1px solid var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  background-color: var(--ag-background-color);
}
.ag-ltr .ag-filter-card .ag-set-filter-item {
  padding-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));
  padding-right: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-filter-card .ag-set-filter-item {
  padding-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-indentation-level) * var(--ag-set-filter-indent-size));
  padding-left: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-card-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-top: var(--ag-widget-vertical-spacing);
}
.ag-ltr .ag-filter-card-header > *:not(:last-child) {
  padding-right: var(--ag-grid-size);
}
.ag-rtl .ag-filter-card-header > *:not(:last-child) {
  padding-left: var(--ag-grid-size);
}

.ag-filter-card-heading {
  flex: 1 1;
  overflow: hidden;
  padding-top: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-ltr .ag-filter-card-heading {
  padding-left: var(--ag-widget-horizontal-spacing);
}
.ag-rtl .ag-filter-card-heading {
  padding-right: var(--ag-widget-horizontal-spacing);
}

.ag-filter-card-expand {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.ag-filter-card-title {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-filter-card-expand-icon {
  display: flex;
  flex: 1 1;
  justify-content: end;
}

.ag-filter-card-editing-icon {
  margin: 0 var(--ag-grid-size);
}

.ag-filter-card-summary,
.ag-filter-card-expand-icon .ag-icon,
.ag-filter-card-delete-icon .ag-icon,
.ag-filter-card-editing-icon .ag-icon {
  color: var(--ag-filter-panel-card-subtle-color);
}

.ag-filter-card-expand-icon .ag-icon,
.ag-filter-card-delete-icon .ag-icon {
  transition: color 0.25s ease-in-out;
}

.ag-filter-card-expand-icon:hover .ag-icon,
.ag-filter-card-delete-icon:hover .ag-icon {
  color: var(--ag-filter-panel-card-subtle-hover-color);
}

.ag-filter-card-heading:hover .ag-filter-card-expand-icon .ag-icon {
  color: var(--ag-filter-panel-card-subtle-hover-color);
}

.ag-filter-card-expand,
.ag-filter-card-delete {
  border-radius: var(--ag-button-border-radius);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.ag-filter-panel .ag-standard-button {
  cursor: pointer;
}

.ag-filter-card-summary,
.ag-filter-type-select {
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-ltr .ag-filter-card-delete {
  margin-right: var(--ag-widget-horizontal-spacing);
}
.ag-rtl .ag-filter-card-delete {
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-filter-card-summary {
  margin-bottom: var(--ag-widget-container-vertical-padding);
}

.ag-filter-type-select {
  padding-top: var(--ag-widget-vertical-spacing);
}

.ag-filter-card-add {
  padding: 0;
  border: 0;
}

.ag-filter-add-button {
  display: flex;
  flex-direction: row;
  width: 100%;
  align-items: center;
  line-height: 1.5;
}

.ag-ltr .ag-filter-add-button-label {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-filter-add-button-label {
  margin-right: var(--ag-grid-size);
}

.ag-filter-add-select {
  border: 0;
}
.ag-ltr .ag-filter-add-select .ag-text-field-input {
  padding-left: calc(var(--ag-grid-size) * 1.5 + 12px) !important;
}
.ag-rtl .ag-filter-add-select .ag-text-field-input {
  padding-right: calc(var(--ag-grid-size) * 1.5 + 12px) !important;
}
.ag-filter-add-select .ag-rich-select-value {
  padding: calc((1.5 * var(--ag-font-size) + 4 * var(--ag-grid-size) - var(--ag-input-height)) / 2) var(--ag-grid-size);
  border: 0;
}

.ag-pivot-mode-panel {
  min-height: var(--ag-header-height);
  height: var(--ag-header-height);
  display: flex;
}

.ag-pivot-mode-select {
  display: flex;
  align-items: center;
}
.ag-ltr .ag-pivot-mode-select {
  margin-left: var(--ag-widget-container-horizontal-padding);
}
.ag-rtl .ag-pivot-mode-select {
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-column-select-header:focus-visible {
  outline: none;
}
.ag-column-select-header:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-header {
  height: var(--ag-header-height);
  align-items: center;
  padding: 0 var(--ag-widget-container-horizontal-padding);
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-panel-column-select {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-group-icons,
.ag-column-select-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-column-select-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
}
.ag-column-select-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-column-select-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-header,
.ag-advanced-filter-header {
  background-color: var(--ag-header-background-color);
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-row {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
}

.ag-pinned-right-header {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-pinned-left-header {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,
.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,
.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}

.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,
.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-right: var(--ag-grid-size);
}
.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,
.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon {
  margin-left: var(--ag-grid-size);
}

.ag-header-cell,
.ag-header-group-cell {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}
.ag-header-cell.ag-header-cell-moving,
.ag-header-group-cell.ag-header-cell-moving {
  background-color: var(--ag-header-cell-moving-background-color);
}

.ag-ltr .ag-header-group-cell-label.ag-sticky-label {
  left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-group-cell-label.ag-sticky-label {
  right: var(--ag-cell-horizontal-padding);
}

.ag-header-cell:focus-visible {
  outline: none;
}
.ag-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-group-cell:focus-visible {
  outline: none;
}
.ag-header-group-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-header-cell:focus-visible {
  outline: none;
}
.ag-advanced-filter-header-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-header-expand-icon {
  cursor: pointer;
}
.ag-ltr .ag-header-expand-icon {
  margin-left: 4px;
}
.ag-rtl .ag-header-expand-icon {
  margin-right: 4px;
}

.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total, .ag-header-parent-hidden),
.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-group-cell:first-of-type.ag-column-resizing,
.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {
  background-color: var(--ag-header-cell-hover-background-color);
}

.ag-header-cell::before,
.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-separator-display);
  width: var(--ag-header-column-separator-width);
  height: var(--ag-header-column-separator-height);
  top: calc(50% - var(--ag-header-column-separator-height) * 0.5);
  background-color: var(--ag-header-column-separator-color);
}
.ag-ltr .ag-header-cell::before,
.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  right: 0;
}
.ag-rtl .ag-header-cell::before,
.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group)::before {
  left: 0;
}

.ag-header-highlight-before::after,
.ag-header-highlight-after::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 1px;
}

.ag-header-highlight-before::after {
  left: 0px;
}

.ag-header-highlight-after::after {
  right: 0px;
}

.ag-pinned-left-header .ag-header-highlight-after::after {
  right: 1px;
}

.ag-header-cell-resize {
  display: flex;
  align-items: center;
}

.ag-header-cell-resize::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-resize-handle-display);
  width: var(--ag-header-column-resize-handle-width);
  height: var(--ag-header-column-resize-handle-height);
  top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);
  background-color: var(--ag-header-column-resize-handle-color);
}
.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {
  height: calc(100% - var(--ag-grid-size) * 4);
  top: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}
.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {
  right: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-left-header .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-right-header .ag-header-cell-resize::after {
  left: 50%;
}

.ag-ltr .ag-header-select-all {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-header-select-all {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-floating-filter-button {
  margin-left: var(--ag-cell-widget-spacing);
}
.ag-rtl .ag-floating-filter-button {
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-floating-filter-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  height: var(--ag-icon-size);
  padding: 0;
  width: var(--ag-icon-size);
}

.ag-filter-loading {
  background-color: var(--ag-control-panel-background-color);
  height: 100%;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  position: absolute;
  width: 100%;
  z-index: 1;
  align-items: unset;
}

.ag-paging-panel {
  border-top: 1px solid;
  border-top-color: var(--ag-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-pagination-panel-height);
}
.ag-paging-panel > * {
  margin: 0 var(--ag-cell-horizontal-padding);
}
.ag-paging-panel > .ag-paging-page-size .ag-wrapper {
  min-width: calc(var(--ag-grid-size) * 10);
}

.ag-paging-button {
  cursor: pointer;
}

.ag-paging-button.ag-disabled {
  cursor: default;
  color: var(--ag-disabled-foreground-color);
}

.ag-paging-button:focus-visible {
  outline: none;
}
.ag-paging-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-paging-button,
.ag-paging-description {
  margin: 0 var(--ag-grid-size);
}

.ag-status-bar {
  border-top: var(--ag-borders) var(--ag-border-color);
  color: var(--ag-disabled-foreground-color);
  padding-right: calc(var(--ag-grid-size) * 4);
  padding-left: calc(var(--ag-grid-size) * 4);
  line-height: 1.5;
}

.ag-status-name-value-value {
  color: var(--ag-foreground-color);
}

.ag-status-bar-center {
  text-align: center;
}

.ag-status-name-value {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
  padding-top: calc(var(--ag-grid-size) * 2);
  padding-bottom: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell {
  background: var(--ag-chip-background-color);
  border-radius: calc(var(--ag-grid-size) * 4);
  height: calc(var(--ag-grid-size) * 4);
  padding: 0 calc(var(--ag-grid-size) * 0.5);
  border: 1px solid var(--ag-chip-border-color);
}

.ag-column-drop-cell:focus-visible {
  outline: none;
}
.ag-column-drop-cell:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 2px;
  left: 2px;
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-drop-cell-text {
  margin: 0 var(--ag-grid-size);
}

.ag-column-drop-cell-button {
  min-width: calc(var(--ag-grid-size) * 4);
  margin: 0 calc(var(--ag-grid-size) * 0.5);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-cell-drag-handle {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell-ghost {
  opacity: 0.5;
}

.ag-column-drop-horizontal {
  background-color: var(--ag-header-background-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-ltr .ag-column-drop-horizontal {
  padding-left: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-right: var(--ag-borders) var(--ag-border-color);
}
.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-column-drop-horizontal-cell-separator {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-horizontal-empty-message {
  color: var(--ag-disabled-foreground-color);
}

.ag-ltr .ag-column-drop-horizontal-icon {
  margin-right: var(--ag-cell-horizontal-padding);
}
.ag-rtl .ag-column-drop-horizontal-icon {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-column-drop-vertical-list {
  padding-bottom: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
  padding-left: var(--ag-grid-size);
}

.ag-column-drop-vertical-cell {
  margin-top: var(--ag-grid-size);
}

.ag-column-drop-vertical {
  min-height: 50px;
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-column-drop-vertical.ag-last-column-drop {
  border-bottom: none;
}

.ag-column-drop-vertical-icon {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
}

.ag-column-drop-vertical-empty-message {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  color: var(--ag-disabled-foreground-color);
  margin-top: var(--ag-grid-size);
}

.ag-select-agg-func-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background: var(--ag-background-color);
  height: calc(var(--ag-grid-size) * 5 * 3.5);
  padding: 0;
}

.ag-select-agg-func-virtual-list-item {
  cursor: default;
}
.ag-ltr .ag-select-agg-func-virtual-list-item {
  padding-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-select-agg-func-virtual-list-item {
  padding-right: calc(var(--ag-grid-size) * 2);
}
.ag-select-agg-func-virtual-list-item:hover {
  background-color: var(--ag-selected-row-background-color);
}

.ag-select-agg-func-virtual-list-item:focus-visible {
  outline: none;
}
.ag-select-agg-func-virtual-list-item:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-sort-indicator-container {
  display: flex;
}

.ag-ltr .ag-sort-indicator-icon {
  padding-left: var(--ag-grid-size);
}
.ag-rtl .ag-sort-indicator-icon {
  padding-right: var(--ag-grid-size);
}

.ag-chart {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
}

.ag-chart-components-wrapper {
  position: relative;
  display: flex;
  flex: 1 1 auto;
}

.ag-chart-canvas-wrapper {
  position: relative;
  flex: 1 1 auto;
}

.ag-chart-menu {
  position: absolute;
  top: 16px;
  display: flex;
  flex-direction: column;
}
.ag-ltr .ag-chart-menu {
  right: 20px;
}
.ag-rtl .ag-chart-menu {
  left: 20px;
}

.ag-chart-docked-container {
  position: relative;
  min-width: var(--ag-chart-menu-panel-width);
}

.ag-chart-menu-hidden ~ .ag-chart-docked-container {
  display: none;
}

.ag-chart-tabbed-menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ag-chart-tabbed-menu-header {
  flex: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
}

.ag-chart-tabbed-menu-body {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  overflow: hidden;
}

.ag-chart-tab {
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
}

.ag-chart-settings {
  overflow-x: hidden;
}

.ag-chart-settings-wrapper {
  position: relative;
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.ag-chart-settings-nav-bar {
  display: flex;
  align-items: center;
  width: 100%;
  height: 30px;
  padding: 0 10px;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-chart-settings-card-selector {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex: 1 1 auto;
  height: 100%;
  padding: 0 10px;
}

.ag-chart-settings-card-item {
  cursor: pointer;
  width: 10px;
  height: 10px;
  background-color: #000;
  position: relative;
}
.ag-chart-settings-card-item.ag-not-selected {
  opacity: 0.2;
}
.ag-chart-settings-card-item::before {
  content: " ";
  display: block;
  position: absolute;
  background-color: transparent;
  left: 50%;
  top: 50%;
  margin-left: -10px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
}

.ag-chart-settings-prev,
.ag-chart-settings-next {
  position: relative;
  flex: none;
}
.ag-chart-settings-prev:focus-within,
.ag-chart-settings-next:focus-within {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-radius: 1px;
}

.ag-chart-settings-prev-button,
.ag-chart-settings-next-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.ag-chart-settings-mini-charts-container {
  position: relative;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
}

.ag-chart-settings-mini-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
}
.ag-chart-settings-mini-wrapper.ag-animating {
  transition: left 0.3s;
  transition-timing-function: ease-in-out;
}

.ag-chart-mini-thumbnail {
  cursor: pointer;
}

.ag-chart-mini-thumbnail-canvas {
  display: block;
}

.ag-chart-data-wrapper,
.ag-chart-format-wrapper,
.ag-chart-advanced-settings-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  padding-bottom: 16px;
}

.ag-chart-data-wrapper,
.ag-chart-advanced-settings-wrapper {
  height: 100%;
  overflow-y: auto;
}

.ag-chart-advanced-settings {
  background-color: var(--ag-control-panel-background-color);
}

.ag-chart-advanced-settings-wrapper,
.ag-chart-advanced-settings {
  width: 100%;
}

.ag-chart-advanced-settings-wrapper {
  padding-bottom: 0;
}

.ag-chart-data-section,
.ag-chart-format-section,
.ag-chart-advanced-settings-section {
  display: flex;
  margin: 0;
}

.ag-chart-advanced-settings-section {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}
.ag-chart-advanced-settings-section:not(:last-child) {
  border-bottom: 1px solid var(--ag-secondary-border-color);
}

.ag-chart-empty-text {
  display: flex;
  top: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: var(--ag-background-color);
}

.ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  display: flex;
  flex-direction: row;
  top: 8px;
  gap: 20px;
  width: auto;
}
.ag-ltr .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: right;
}
.ag-rtl .ag-chart .ag-chart-menu-wrapper .ag-chart-menu {
  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: left;
}

.ag-charts-font-size-color {
  display: flex;
  align-self: stretch;
  justify-content: space-between;
}

.ag-charts-data-group-item {
  position: relative;
}

.ag-charts-data-group-item:not(:last-child) {
  margin-bottom: var(--ag-grid-size);
}

.ag-chart-menu {
  border-radius: var(--ag-card-radius);
  background: var(--ag-background-color);
}

.ag-chart-menu-icon {
  opacity: 0.5;
  margin: 2px 0;
  cursor: pointer;
  border-radius: var(--ag-card-radius);
  color: var(--ag-secondary-foreground-color);
}
.ag-chart-menu-icon:hover {
  opacity: 1;
}

.ag-chart-menu-toolbar-button {
  border: 0;
  background-color: unset;
  padding: 0 2px;
  border-radius: 1px;
}

.ag-chart-mini-thumbnail {
  border: 1px solid var(--ag-secondary-border-color);
  border-radius: 5px;
  padding: 1px;
}
.ag-chart-mini-thumbnail.ag-selected {
  border-color: var(--ag-minichart-selected-chart-color);
  border-width: 2px;
  padding: unset;
}
.ag-chart-mini-thumbnail:focus-visible {
  outline: none;
  border-color: var(--ag-minichart-selected-chart-color);
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-chart-settings-card-item {
  background: var(--ag-foreground-color);
  width: 8px;
  height: 8px;
  border-radius: 4px;
}
.ag-chart-settings-card-item.ag-selected {
  background-color: var(--ag-minichart-selected-page-color);
}

.ag-chart-data-column-drag-handle {
  margin-left: var(--ag-grid-size);
}

.ag-charts-settings-group-title-bar,
.ag-charts-data-group-title-bar,
.ag-charts-format-top-level-group-title-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  position: relative;
}

.ag-charts-advanced-settings-top-level-group-title-bar {
  position: relative;
  background-color: unset;
}

.ag-charts-data-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-data-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-format-top-level-group-title-bar:focus-visible {
  outline: none;
}
.ag-charts-format-top-level-group-title-bar:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-charts-data-group-title-bar .ag-charts-data-group-title,
.ag-charts-format-top-level-group-title-bar .ag-charts-format-top-level-group-title {
  cursor: pointer;
}

.ag-charts-data-group-container {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);
}
.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group):not(.ag-pill-select):not(.ag-select) {
  height: var(--ag-list-item-height);
}
.ag-charts-data-group-container .ag-charts-data-group-item.ag-picker-field {
  margin-top: var(--ag-grid-size);
}
.ag-charts-data-group-container .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
}
.ag-charts-data-group-container .ag-item-highlight-top::after {
  top: 0;
}
.ag-charts-data-group-container .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-charts-format-top-level-group-container,
.ag-charts-advanced-settings-top-level-group-container {
  padding: var(--ag-grid-size);
}
.ag-ltr .ag-charts-format-top-level-group-container,
.ag-ltr .ag-charts-advanced-settings-top-level-group-container {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-charts-format-top-level-group-container,
.ag-rtl .ag-charts-advanced-settings-top-level-group-container {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-charts-format-top-level-group-item,
.ag-charts-advanced-settings-top-level-group-item {
  margin: var(--ag-grid-size) 0;
}

.ag-charts-format-sub-level-group-container {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}
.ag-charts-format-sub-level-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-format-sub-level-no-header-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-format-sub-level-group-container .ag-charts-format-sub-level-group-item.ag-font-panel-no-header {
  margin: 0;
}

.ag-charts-settings-group-container {
  padding: var(--ag-grid-size);
  grid-row-gap: 8px;
  row-gap: 8px;
  display: grid;
  grid-template-columns: 60px 1fr 60px 1fr 60px;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1) {
  grid-column: 1;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2) {
  grid-column: 3;
}
.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3) {
  grid-column: 5;
}

.ag-chart-menu-panel {
  background-color: var(--ag-control-panel-background-color);
}
.ag-ltr .ag-chart-menu-panel {
  border-left: solid 1px var(--ag-border-color);
}
.ag-rtl .ag-chart-menu-panel {
  border-right: solid 1px var(--ag-border-color);
}

.ag-date-time-list-page-title-bar {
  display: flex;
}

.ag-date-time-list-page-title {
  flex-grow: 1;
  text-align: center;
}

.ag-date-time-list-page-column-labels-row,
.ag-date-time-list-page-entries-row {
  display: flex;
}

.ag-date-time-list-page-column-label,
.ag-date-time-list-page-entry {
  flex-basis: 0;
  flex-grow: 1;
}

.ag-date-time-list-page-entry {
  cursor: pointer;
  text-align: center;
}

.ag-date-time-list-page-column-label {
  text-align: center;
}

.ag-advanced-filter-header {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-advanced-filter {
  display: flex;
  align-items: center;
  width: 100%;
}

.ag-advanced-filter-buttons {
  display: contents;
}

.ag-advanced-filter-builder-button {
  display: flex;
  align-items: center;
  border: 0;
  background-color: unset;
  color: var(--ag-foreground-color);
  font-size: var(--ag-font-size);
  font-weight: 600;
  line-height: normal;
  white-space: nowrap;
}
.ag-ltr .ag-advanced-filter-builder-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}
.ag-rtl .ag-advanced-filter-builder-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}
.ag-advanced-filter-builder-button:hover:not(:disabled) {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-button:not(:disabled) {
  cursor: pointer;
}

.ag-advanced-filter-builder-button-label {
  margin-left: var(--ag-grid-size);
}

.ag-advanced-filter-builder {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  background-color: var(--ag-control-panel-background-color);
  display: flex;
  flex-direction: column;
}

.ag-advanced-filter-builder-list {
  flex: 1 1;
  overflow: auto;
}
.ag-advanced-filter-builder-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
}
.ag-advanced-filter-builder-list .ag-item-highlight-top::after {
  top: 0;
}
.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-advanced-filter-builder-button-panel {
  display: flex;
  justify-content: flex-end;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,
.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-item-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  padding-left: calc(var(--ag-icon-size) / 2);
  padding-right: var(--ag-icon-size);
}

.ag-virtual-list-viewport .ag-advanced-filter-builder-item-wrapper .ag-tab-guard {
  position: absolute;
}

.ag-advanced-filter-builder-item-tree-lines > * {
  width: var(--ag-advanced-filter-builder-indent-size);
}

.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {
  width: var(--ag-icon-size);
}
.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {
  top: 50%;
  height: 50%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal,
.ag-advanced-filter-builder-item-tree-line-vertical,
.ag-advanced-filter-builder-item-tree-line-vertical-top,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}
.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,
.ag-advanced-filter-builder-item-tree-line-vertical::before,
.ag-advanced-filter-builder-item-tree-line-vertical::after,
.ag-advanced-filter-builder-item-tree-line-vertical-top::before,
.ag-advanced-filter-builder-item-tree-line-vertical-top::after,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {
  content: "";
  position: absolute;
  height: 100%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal::after {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-bottom: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical::before {
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-top::before {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {
  height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);
  width: calc(var(--ag-icon-size) / 2);
  top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-condition {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-advanced-filter-builder-item,
.ag-advanced-filter-builder-item-condition,
.ag-advanced-filter-builder-pill-wrapper,
.ag-advanced-filter-builder-pill,
.ag-advanced-filter-builder-item-buttons,
.ag-advanced-filter-builder-item-tree-lines {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-advanced-filter-builder-pill-wrapper {
  margin: 0px var(--ag-grid-size);
}

.ag-advanced-filter-builder-pill {
  position: relative;
  border-radius: var(--ag-border-radius);
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  min-height: calc(100% - var(--ag-grid-size) * 3);
  min-width: calc(var(--ag-grid-size) * 2);
}
.ag-advanced-filter-builder-pill .ag-picker-field-display {
  margin-right: var(--ag-grid-size);
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {
  font-family: monospace;
  font-weight: 700;
}
.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {
  color: var(--ag-disabled-foreground-color);
}

.ag-advanced-filter-builder-pill:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-pill:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-item-button:focus-visible {
  outline: none;
}
.ag-advanced-filter-builder-item-button:focus-visible::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-pill-display {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.ag-advanced-filter-builder-join-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-join-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-column-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-column-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-option-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-option-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-value-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-value-pill-color);
  cursor: text;
  max-width: 140px;
}
.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {
  display: block;
}

.ag-advanced-filter-builder-item-buttons > * {
  margin: 0 calc(var(--ag-grid-size) * 0.5);
}

.ag-advanced-filter-builder-item-button {
  position: relative;
  cursor: pointer;
  color: var(--ag-secondary-foreground-color);
  opacity: 50%;
}

.ag-advanced-filter-builder-item-button-disabled {
  color: var(--ag-disabled-foreground-color);
  cursor: default;
}

.ag-advanced-filter-builder-virtual-list-container {
  top: var(--ag-grid-size);
}

.ag-advanced-filter-builder-virtual-list-item {
  display: flex;
  cursor: default;
  height: var(--ag-list-item-height);
}
.ag-advanced-filter-builder-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}
.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {
  opacity: 100%;
}

.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,
.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {
  opacity: 100%;
}

.ag-advanced-filter-builder-invalid {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-invalid-color);
  cursor: default;
}

.ag-row-number-cell {
  background-color: var(--ag-header-background-color);
  color: var(--ag-header-foreground-color);
  font-size: var(--ag-font-size);
  font-family: var(--ag-font-family);
}

.ag-row-number-header.ag-row-number-selection-enabled {
  cursor: cell;
}

.ag-row-number-range-highlight {
  background-color: var(--ag-range-header-highlight-color);
}

.ag-row-number-range-selected {
  background-color: var(--ag-row-numbers-selected-color);
}

.ag-ltr .ag-row-number-header,
.ag-ltr .ag-cell.ag-row-number-cell:not(.ag-cell-last-left-pinned) {
  border-right: var(--ag-pinned-column-border);
}
.ag-ltr .ag-cell.ag-row-number-cell.ag-row-number-selection-enabled {
  cursor: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjU7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNTc4NCwwLDAsMS44NjQyOSwtNC40MTM0OSwtNy4yMTIxMikiPgogICAgICAgIDxwYXRoIGQ9Ik0zLjQ0NSw4LjkxMUwzLjQ0NSw3LjQwOUw5Ljc1LDcuNDA5TDkuNzUsNi4wMTRMMTIuMjg1LDguMTZMOS43NSwxMC4zMDZMOS43NSw4LjkxMUwzLjQ0NSw4LjkxMVoiIHN0eWxlPSJzdHJva2U6d2hpdGU7c3Ryb2tlLXdpZHRoOjAuNDFweDsiLz4KICAgIDwvZz4KPC9zdmc+Cg=="), auto;
}

.ag-rtl .ag-row-number-header,
.ag-rtl .ag-cell.ag-row-number-cell:not(.ag-cell-first-right-pinned) {
  border-left: var(--ag-pinned-column-border);
}
.ag-rtl .ag-cell.ag-row-number-cell.ag-row-number-selection-enabled {
  cursor: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjU7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNTc4NCwwLDAsMS44NjQyOSwtNC40MTM0OSwtNy4yMTIxMikiPgogICAgICAgIDxwYXRoIGQ9Ik01Ljk3OSw4LjkxMUw1Ljk3OSwxMC4zMDZMMy40NDUsOC4xNkw1Ljk3OSw2LjAxNEw1Ljk3OSw3LjQwOUwxMi4yODUsNy40MDlMMTIuMjg1LDguOTExTDUuOTc5LDguOTExWiIgc3R5bGU9InN0cm9rZTp3aGl0ZTtzdHJva2Utd2lkdGg6MC40MXB4OyIvPgogICAgPC9nPgo8L3N2Zz4K"), auto;
}

.ag-cell-batch-edit {
  background-color: var(--ag-cell-batch-edit-background-color);
  color: var(--ag-cell-batch-edit-text-color);
}

.ag-cell.ag-cell-inline-editing {
  background-color: var(--ag-background-color);
  background-image: linear-gradient(0deg, var(--ag-input-background-color), var(--ag-input-background-color));
}

.ag-row-batch-edit {
  background-color: var(--ag-row-batch-edit-background-color);
  color: var(--ag-row-batch-edit-text-color);
}

.ag-input-field-input {
  width: 100%;
  min-width: 0;
}

.ag-checkbox-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
}
.ag-checkbox-input-wrapper input,
.ag-checkbox-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-cell-editing-error .ag-checkbox-input-wrapper:focus-within, .ag-cell-editing-error .ag-checkbox-input-wrapper:active {
  box-shadow: var(--ag-input-error-focus-box-shadow);
}
.ag-checkbox-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-checkbox-input-wrapper::after {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  font-family: inherit;
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper.ag-indeterminate::after {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  color: var(--ag-checkbox-indeterminate-color);
  display: var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-checkbox-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, 0.9));
}
.ag-checkbox-input-wrapper.ag-indeterminate::before {
  background-image: var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));
  display: var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, 0.9));
}

.ag-toggle-button-input-wrapper {
  box-sizing: border-box;
  width: var(--ag-toggle-button-width);
  min-width: var(--ag-toggle-button-width);
  max-width: var(--ag-toggle-button-width);
  height: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-off-background-color);
  border-radius: calc(var(--ag-toggle-button-height) * 0.5);
  position: relative;
  flex: none;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-off-border-color);
}
.ag-toggle-button-input-wrapper input {
  opacity: 0;
  height: 100%;
  width: 100%;
}
.ag-toggle-button-input-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-toggle-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-toggle-button-input-wrapper.ag-checked {
  background-color: var(--ag-toggle-button-on-background-color);
  border-color: var(--ag-toggle-button-on-border-color);
}
.ag-toggle-button-input-wrapper::before {
  content: " ";
  position: absolute;
  top: calc(0px - var(--ag-toggle-button-border-width));
  left: calc(0px - var(--ag-toggle-button-border-width));
  display: block;
  box-sizing: border-box;
  height: var(--ag-toggle-button-height);
  width: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-switch-background-color);
  border-radius: 100%;
  transition: left 100ms;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-switch-border-color);
}
.ag-toggle-button-input-wrapper.ag-checked::before {
  left: calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));
  border-color: var(--ag-toggle-button-on-border-color);
}

.ag-radio-button-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-weight: var(--ag-icon-font-weight);
  color: var(--ag-icon-font-color);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
  border-radius: var(--ag-icon-size);
}
.ag-radio-button-input-wrapper input,
.ag-radio-button-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}
.ag-cell-editing-error .ag-radio-button-input-wrapper:focus-within, .ag-cell-editing-error .ag-radio-button-input-wrapper:active {
  box-shadow: var(--ag-input-error-focus-box-shadow);
}
.ag-radio-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}
.ag-radio-button-input-wrapper::after {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  color: var(--ag-checkbox-unchecked-color);
  display: var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  color: var(--ag-checkbox-checked-color);
  display: var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.ag-radio-button-input-wrapper::before {
  content: "";
  background: transparent center/contain no-repeat;
  position: absolute;
  inset: 0;
  background-image: var(--ag-icon-image-radio-button-off, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, 0.9));
}
.ag-radio-button-input-wrapper.ag-checked::before {
  background-image: var(--ag-icon-image-radio-button-on, var(--ag-icon-image));
  display: var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));
  opacity: var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, 0.9));
}

input[class^=ag-][type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  background: none;
  overflow: visible;
}
input[class^=ag-][type=range]::-webkit-slider-runnable-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-moz-range-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}
input[class^=ag-][type=range]::-ms-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
  color: transparent;
  width: calc(100% - 2px);
}
input[class^=ag-][type=range]::-webkit-slider-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
  transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));
}
input[class^=ag-][type=range]::-ms-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]::-moz-ag-range-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}
input[class^=ag-][type=range]:focus {
  outline: none;
}
input[class^=ag-][type=range]:focus::-webkit-slider-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-ms-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}
input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-moz-ag-range-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:active::-ms-track {
  background-color: var(--ag-input-focus-border-color);
}
input[class^=ag-][type=range]:disabled {
  opacity: 0.5;
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./node_modules/ag-grid-community/styles/ag-theme-quartz.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
@font-face {
  font-family: "agGridQuartz";
  src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABzUAAsAAAAAPOAAAByEAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHItKBmAAjRIKzji/FAE2AiQDgmgLgTYABCAFhEYHhkYbvTNlQcDGAWDa/P0RReWoMyLZ4CzM/v9DcmNM9ACsi0AQwTQhDWHL4NqMdePeGClltMJGrLTuMvf8hbUCjZYozi+/kt8hj73YmUgga6cpdoxOuYO8dP+JaQTbuXjYIUloijx8vx/t3LdmbeMm1WYimFqntB1CpTGESKb9v9x638HCmehXAXZhkTPkJKLWVCkzKeo0RepMAmB4nLN/JYiH8oK0DK0ECl4meIXiOjFsG3ixicJS2AlT5sDuM2hnmsLNrLkDtn/0tuRkRicGfIEzqNhGN7sHIogaoiV8KfFjv01VM1x7MmtY5JQxt8fzlz7RJCQzoQA+CMplEG9Ju+zm+60UbqsDRJGVXMT8cnVBYr4Rb52fmdZnWkcWTl+zgpyIVAWW/0bA/+ksW8MR64IwB13o9VhT12lGYxh9yfZY9r6V53T7vCzDe9FqWUfkrQLMtX0OWMc6dgAroKLkPimaFG26qwN1dV2Kog08/O83K1QqoXA6IQTx+y5i6ScgyszSvHZRa2VxBDXYYv2oxMa+YTDdVKU9HmFKusZ9G8ZmDb1rXbWbhZIiAgLGf38QARSbuMSMvhs2hC6ZT28gB7m/Z4Cv0XHJP70PnjMD6rEoeD7lvMNOSM3GJ/8ix7M4Tt3+k+vLrc5HfXVefbA8KkZc/MSHYBJMJCBkCorBk9LKCpWGFRo9U47J4LLNbY40RCJzijXr0TRFCMwS3qU5G0Fu7CXF5uH+toR7fppUG0cmmiI4ARW7LlFxXivYksYg0NL7j/FYcAgoE2aK4izoMMM1NI0ykcCOBihcm7plTEhwKV2+cROYxPoJwmnXiH8At86g0KbQNeHN7V3hwKghRKabBbu4p+pVEEsCY8So2twPwRaICrS8R4bxQlrOmR75os/PGgGW4dIo7t7ly4FZ7J5U7/qHGrANYsCT3DbHIc8SAlm6RiJNByJYp/aiGkzf/P711/9AUUU301AE5dDQPM0+xA8FUqbwzfOfUyxiu3eP2IBhO61nXj1m4kUG2ERP6VIQ1g1XS6MoewUooVYlS070VUxylBU2a/C00Mrs3CZKxSOc+iIbj1H4+f5cgpAIdK8OM53xDWranJsd3VMtaxC+NWk7Mg5M58QighvRChpNAFNOxUpoQyuvhbGbRTPEJ6djV6Eo3WxsSpRHPmhEkK2j0JDdBZ1nYKKFyE+mdcgHXc4wt/uSCdFMkYdgQa6dvYWVT+8uo3/CB2Gs240siP1NlHSEplScfAmWZ05ffocHZcwbO6bTCvlRuxgOt4gBMXnveeWLE8EeQAeGZTPQHcMzLad8eZIBZ+MHKf5ZMtumqaERCKwxf7AuIPagipQ1dWwRL8ujZOCqqG60LyzDFaZksPEMpIqAVLLqEiLsMIHU160zmKzaH84GSr/jpzyQHnSH8Ont549/OiKBhMtxfwSLZ8gj+KslIzZgO1e2O9/IW1cCeUAO0Hw4yKXO3j3RHOwHeQNfDtCJKOdpg/cz9Nw7P7KejFRpcd9LH7LIpp8b3Jsh9OAt6Tj2RyBiTt/MYbPhlWUzRntbCieUILY11cLKlguDhfjx3Dy8fPxqLvs02OOFwuAIJAqNwd4wvnMCokgi+/qoNDoDxmSxOVweXyAUiSVSGUSuUKrUGq1ObzCazJCuQeS7v46X/J8/tKCbeCNOZZjNWlRxQJom9lpdrLaQrlAKyD3sVHeBlie0BByhIeAEWgBOohngFFoGTqNR4AzaBM6iYeAcmgPOo3HgIpoHLqFZ4DJaAa6gSeAqmgCuoTXgBhoBbqJp4BYaA26jVeAO2gDuoingHloE7qN14MHFWyAjijcFNDCBDdiBB3AAT+AELmDnHxAAISAMRIAoEAPiQAJIAikgDWSALJAD8kABKAIloAxU5JdbFf6qAXWgATSBlvyyakMvHaAL9IA+MACGwAgYAxNgCsyAObAAlvJ1s4LBrIENsAV2wB44AWfgAlyl6XXKtjR9TtmO0T2Af1WG2B7wcMGxn6WvK76su6n01BObpCnecokRuvzppfATTK4o9xQUhTGGBB0Km9wtsNskCAY5EKVWd11xLrG761Tjau4De0upxEsM/+MFkHouzsR0hBDQqy+dpXf9HeCuK2LCoAPQeSsLG/3wd9gyf3d74JyigsAPQGDX4pmnX2J5lLwnqR3xrgUiRKRoyo0h1C5iUwsWpBYu4Ph0NrtIyNQKrv5AepDfSm8Gt4JJc7WsLlh/lmVrwb1zdLvCcMSnQA8HNM0eMSF/mKNR+PwuwOKy2yAdO2q5uoV52WjyiVRfw9bbzcH9naCgmKVK2OCKh7iaQ1a56BWcr4hIWu4eB1PcQaPg+KVKdCQSVavPg0Idm6qrkMMXP39cv6TVFHwS0ikls4C8r1rY+6zLCEp581Sd+FQuv/17UXjmLpGcWGrNaRRgjwJR/Sat9+39OVpqRO/FQhwrq8JrkkTLcdlqVbWq4P//JQrkDe+gHP3t25VFa711SJwQA9GiaRSuYWzB5J+pE8Z9SUtsWyBmMNv0BdOExmdG/+Az0QpEN2eHkk0YrtLTmx/iZeYHfGv0mPGF+GN1ufWhdDd50v5SF3wvL4rXKf4wGd2QlyAXO+EUap05GLaI6+svHAxRO2RRxOJNV2SWJpxZy3tnjXD6D/LXLNrsrm+KR0YNOUlwHAUH0MNRZi75Y5pKOPU7mIP/nJFf252K4VEYmqE2jQKgsDUcCenTKVBj+Ixuk5hBVTcbCJolTbWQjkKdUSTs2zzz52627/epRTVN038wJKzbhwNay4dkQI6APoV/n7rDhYzjCivJnvkT6Pan4M9fFNG8cN5AVZTyF8zqPuJF3VKr4mn8N9XhP7wex3/0SUC/fT+nFASHYU6chXzjyuLqcke2Odq62znKkFVmxslAwxAt0Q14XOQba2HG8XkJnLNtYiqwjS+uLq63shaNbNN0HDPdpJELi5XeqAN1ShVSEkwHyjFp0eECy6OeqZ4JKb6+oymaLdG2zRDBhJQU5DxwbFmimk0hmzg6HoPjZBJNyChJ4qi7Ucnb/X4Tf749juL06r/VZIV4n6YOVVNH4Ng5S2CNMiUqBF1jtdQ7cON/JVLebnCDcpGX2wB3hC1aqCKwZGcULZfmzmn71LO1ssL2JGgUcVlcr3I6BBiBhPQOnKCYTsErlsV3bJEOotNEiTcTheMDTjp6yOjr3mCdW2Ye+feZKsAri0FzuKYim41eYx81B8NBgfhY1AT/pN7uV+2WYICPIrmQObCXOJ9+GImboSlI8mJ620MRoLH65yszjyRHbSK8Y0IPi+9a6FhL/eSLf2kJ1XrP/1E3XusMD3Zmv/uTUatchOWonYf+Xlpo7x89hybJOBzDExqOIhjHJEmQ9Hb6V/3kkobR/vZ060tTkCqu0/Yj/y53OweHM01148//ocRES06hkJlb8aEH5uBAuYtyYbaMPegzerpqJbgqd0WPVc1n1Q44NfUqbcJDWjkTxREFTn36acY5IuUhPEOGx9u1X/FKjxIAILQ7XGMhwpngvMvodHJz6vmdetMnxvnTrmjMjrJHJT0oNMAMPFhvKoMhElV0Puxr5LfJXtQzMQIADhadDIlzFoxiyYkX8dBYF+weH84khDjAnZpBScaTOyrM3ZzVneqONTe44hkKjV5fk/TbGk3lBu8SpGhvFtxscQNc8yQRbNkkP5DQ5mh6mYRwMS9O2i71OsUYBh0oCnfyzFW1lMIVEJlrgDmGn2BFpwc4TPz2vF0k17ESjHh4dDIVk1hp7fkBLt5Dy3Wf5TfPGa0Ke1In0RKqyCCzt9BVsS41zlOrKUNoHf++CPjCadkzOtlJixXzk+q9Mss660Ts2RDmmHGYsqN2dORkd30AZEAzh825qlot4aBrNovlYKTOaayDD3OOeOr3nRRk1eifHsthTqP57B62R9H0wJ/VpB8Q9Hxqb/NVyvvbrqiOzHzpoZR3OD49sFGoY49ppU0xl7gj7xXN/jWaqG+Vjsk5caKVgTU7jQtCq/Ad16N2KckFmIm9ULZEhsbkfzIbUFZSMthAy42LFaeJepaO8ny5D++uOlS3GbXkSr2gypo1dlybHRlej8BpTXdFuLrdRbmGTmnyycFznW3n7RAFYypxvIbCakKWk2cX5aTZxDfSBqJquQ1hpSQo3zdnLumUdepC3qUSxxaPEqOlhANUOJa/UAbOo+EtYR7LFxvnrK8NlFeLHZZ6CsVIza6UfKfAQQ7pLEZBP0OkC9MhbKCFQanTOVpVABTq+mW8G3bdsC21zXmmYqv5JeGRiR7Uq1sB9mZfW6TL9BW/roJy5Hjxa01e1VTFMX/zMBqFp3pAGvpq4yquChANEJSAwA6HHc47rmTz8B/yH/oX/506z7gnqYteyYBbZEi8DF7x7QXQGnmx9O0i9e4LcXo4TVuueyYN212eYnW92RRzUHhlemqXcdEoWEuuDlgaYx2k3UZtLCoJ4TTZVDn+WkoxNceYic3NQH6uaaLgakubffzbRsXMVuyxJY3L4jO7tachTVd+m72bPUzB6X0jsIPCngJFzKyVD7GK0vwbbbGcZs2clLf0a8ZXQA32BIXE1DB5v69RpBgCWLilefhDOLAw7uvqwENmbR3HrAK1UUsxug7dxKpoH87puGnoL5m6EHPezLyPv1ZiSVvJJJy7UdK0+2mOAq6c7ZU9uK5Mg2MUk1cV20YWleOzsMG/pHBfFCSzuNJmGpLYZqgVamFWxS3rTvfO+twrsiApJLFNGAmnbSovcVpfRbyKbOECz+xLjJBZt44yOSCkdSzwnzJRC+l161J8VO3t7IKy7iEA/oSy7aoTqQrkOzwCLF13fgG7rTFaic4YFFJDmgocKPBYEcDgjLMzZTIooR/cv4GQuBq7caAFaZkAwZPDtMaPj+v1z4Rq4bCL4+Pd5fjMdkK/5s3tOHZXTujHgYe8BqqxA5gaP3CbmQT0oEr2wHPmCdTiGjhb0GoW2Ox6vUcWpigmuSDnW9XhoinlFSkoEoLUiZNlZWhKUEgQmlpRloZuXgiusoGzxSkPxBybf8SotqmhVVG/Z9PybZ70R7FOw1ogsGY5nshgXZfWPdoHePIQ9q4D33ZPdPWY1xL4Q+murWcvgBwnZ0Hl5uffTn77fHNlW75f7u3M9GELNK2F0o7MzIFA58Du7CxyDBsjzboTgQcyMzvGXADKu0TjalxXU0PThJ3MTirDhqzp0GlWaQmDMykp++9XXNw2RpehNtExuZaWoY6Lr9y8qZ6jtlvvsdtrt8ecryucQHLXZ4XofPx5kQJsSWI7FXyd02t1+XnnweeXrdBcNwUwl69kT3Hj+X2+vFhR1MeP550TBeTGVPJ/i0WbDx1efHhvM5qL8mf27qs9rTDF33eoztYLkitQRsjMzAAHnbHfhNKvHYwQWNzCYVjPrhXU4FqIiPqCeoL6REjPy4/x1cpJmP6yMwO2YtuusIGnHW8nh9fF43btZ/dyg3H6vMDcsT9pXIMzjo5OjhSuxenTSo4MTuIUflXV6YHAvLGJshJl9ebYsyy8DA/GS/F5u5Okgjg/4vKisVnFemLuLbF7yqru+QmNunj001uHs+W7hF7n26G9k+sf320ytvzquiLeJ7NsxDJqzRfnOYXZjbbsCgVng+3hM7YczkxE0GbJw7qNmNWR6ztit7yzZudCm3NbLp53mL2H+GEGjnBtZznhcNQmdJ536nO76zwbi2L5zy8cv7trfyr8GxHpo3UWAaftJlapDpYmzqGPnaoHbAeqnYLvi80tj9prXnvniz11UkrKSOlHqfOiClbyy7iKTMtVR7Zs9fWj1doO8/lzLCublyQLybRJd9Y6pVtnhsiSeNlG8i3rQ1EWgzR/v3TNJU9KqpPSUubrpgqF8XHmGAx4iv2hGiex52OP6aVqIcXzYvA9J8p65ZOjVD0ek9yXOXavoDlp1Y7KJKf0ETbxqTeiMKbw1gn5v81HgqzZKWlrcpoPVibAI+aYeZyzoiSvZe7AE4sRmY098OEZCTGMkd1l5ez2RpXGnCQYIXCXx4OaZSEp3pLYCIl3WlVfb90WV8m9H7LH4354VWwzlfgp1bvQqc5rIm6915jzz5TpsysDTEfn8NKrjpRRIafIUSZzLOIUetBLt4TMlizJm5X5V7R6JW6p6+2t2nhBNCKJTfFeFlITGAjkGwUrZ5Xp+TPDJa5zQWEq/lvilE1ETVeGJLpDeTKdjeFTKxoHqw1bfZJL9kocYx03SfYB7i1J9tkqQwqCpXrLOzI/eUAyJ3tOD2TIV55N71jqpcEFSLSrByPZjEt9FJjm75+2WLLTiy93eESCYQoZ1Ukg9S9Iwo8e9lL6CMn+Vz5yXpCmoLmEXVg/cGmC+kH+B5cJ0/a29qkZvZ4y2Z9BS7moamz39Psu4P2NByPVkY4Zj8tsTVWYvg9qm+Z5QXmqHxDdEtM447WEOxUaw+ml0UgDe9EcdIkXUZ6v0EsQWdk0TmVneYKyoEaogfwBy5XpbaSFble5M5oJbXDXC5iHGLdKWFkmpyWDHuRmRJOJtAQ8uQslHMygfX0nEz0TJ411+5AF1IRBB0mchDow3sg1jpOHyeOmXRJcy/iEgCxejMwzZ5Eq0dJsfkDGTjc4c6fzxGHivGlugrzqYAn+2fxoqWfuwoXL5Hj+oYgPX1gW0jCX0wCP1zYKQf9h9jQ04HF26yonKJxRKnUm6gydexhc+MADcqVS0rPY5f3BtaawDj7k70vrEZw8cFgoh1JJC9Umxx4Kf9k+AheVyu3NQruaCCBC1F1rqSYnrdSc/EKgWZPEZiEJZ5GlQ6MKB0kCUyS+TDJMNGEmJ0HlX1DrcUpjQqf4a3iM31kBl+CFrJqAiPOHGJyZmCCEpogIyrVVBoMOD2JPBd0R6p3t25uPrgJOrccs8Mzewb/x448kk6ey4WlaqDFhjqaq2tvszQynkoLYfOLAT50C6Iq5wMlZKg1bIClclB6Q6u+fGpBOSnYm1X9OTX7WZec3hZeELV8eVhLxcctbvvK0wIeIx+4PoCT81SeipAk4Ig+8rD24/HO+A5fX9xx/mjMlj+Ea2CAai07bPaH4+nbcQEWT8K2gKTcwFv1Adt4nkM2NiZ3ixAbkEnyzg8+in515gpFQkJdHGasz6H/10zhTnyzR3sguKyfycgVQC2xvbbWf4qbyz4pYCpfdHvuserYlCtAqQSKmxuIhiY0vrgpNEmzrsdq37L1LPJrc6IIq3GJREdTCu4IqkMTf1mvJfcu17N2dyAdVgrtQg/nYxbop7HqQmjDCkHMEI4E1TBkgWXzfojs7F73P5w+dPfG886IGAm+wdns+wDTw0SPl5x8dOsEj9RmP7upa9u7h4FPXeNzVQTUEruKJNWbXSiX5ycvhtvkF89HSZf0ZUcuTtsH6gvpim+6MMIl35BartPQ/OeC2pOWRGadLVlhPBctybXYXlqqw7Mp4gR/PpnDRvp2l+fbdS7sz7IjCxVth+ob4lPgNrvXHj9e7tgdv3ZTFopK1j5gK3XSuOMtnuaJZv6mPSqZa0fiB6MDA+XfdZQWejdsJDzBrUChN6DwOxGAAbnI1poHjg4O0UC2kZmZ9ELrZWSK/wK6xkRgcHIck9HovnbowAZK4FoKXB2xTOQF41xsTXOLFWt7D2FxiZobYPx04QmMimWKXEOBlSqV15olRSkg9fGABs4T0WgMDDE6BXP1Yt5H/xRHpYAMm9ERM3wL6rjIxZ7FBbKG3FjUNdtnfMY3Y9tdUqxrbPAvKu5VffjAhl1KfnZYWIIqW4AHX23WBMb2KM7+7PuzTiE4cQQJ3Ol+8QAw8eV6Buz13B1pbz+GzOqMxI6mD2dyu5IARMqzfsaooNF8szg8tehJa7Ey+eOaeFH+GiiNFMlqkti0XFPLz2try+IWCO5L92tva+HmCwjsZ7hf+mAZWVrkeo6pKL3GokYmKBixCVuHcgEqcbqh4etEDaktdHm0YG39foKSGScbjEQb2TOGlaZtU8HnGuBvYHYvES1PBbn5fJA7JzQ0RS1emvzftZ28v/aYfVqZJxbnBIbnfyIUwrmf+f65Mk6RAaemkZBp/rfeiBwWGOP5eY5ww5zGvKLOC/+ko4wMZP4IxfP8Vl5pBR90yWFOq+++Qc5TXY+cwzmMvf+d1bpXPdgxZ28dZe9lod4CnD0/b2Nvk72ha1PhVvo2XTSWYOoZaOOoc5D500jf3dMkrxfc4XJ0f7HX0Lc9+Jn7LZQpTO59oos/njcL04VEBLqgCifzdLse/mKz5c9NzcbSRG//J5opFbfbIuAh1PA6UBPoJRkSYFlTuvtDbkNLEpiW1cCnlCJ3yBgdzCLMc23pTZhwAQVMAuqjPpfDiRTROk58R2bOXV9bTOAia3JU6P4POdf3cF8hX4mcLDLbshw5P8ny7Vn4r+0Rf8Fj+n90iaGGvZo5f62uXyS0bWR38DtbGVSO3MFrVwFiThhaMNByXhUm31/hg4Gm6UllYoGz4kSOPsI6QJySEnrc+H0o0NICN/6znbeqxK7JGOiVvUwGnBCFRURvJH6lNGrB5EK+zRI10nqUexFV6gKibrUZSAKg/XYW8X0g1yM17hCELs/I6BvT7uHSahyUHEP+8vhRJrka/Sp2ITLcNpXhktaQ1+nTPx8jFQGvFEU/26b/IAZ5pkdSOPNRlQO883diAvInT0OeHSxCjg49QF2IbxLNyruUtIRMp3kgsPIyOAX0IlxWIxIMawymvLJA8wJv/U6JYMuSp6qgIujvNe7ga9Z4wqHWjbemRn2Sm2/5H8NHBT3V74xI08j/mVogBAIosXny/6YT1RPxpg3r08bfx1QBQv8LNVIb/PIv9jZ8U/wvZ3eF/CuavvwEkLU4A88AWgJhBF0QB6wV3VWMBAtB2hIA7Qd+YL3ochHN6GTXgB33UQQAcspmhy8DeF4iDSoAAl7EFcIEM2LRADAiBX4yNp/czBKZ/jziQAj8xHkx/j3xgxTL+3fygxSoKuF8fxbsv2Yjev2Kdg5HHjYIf8xMleabi5fCcdnxHJBSj6IrTrUht/apaFZVwU7wzxRGFwEUU/kCrh7NqfHt6qsKAB8tNx9RH8e5LNoFT718xFjk8bRHEFmWZP/GNJfBLYypeDs+Q4SMQ9MpG0Zmn28FMbWy+6sasip1XuCnesRJIFkLGEcRs+wNtKA7nGnZ8e9pMVcGKg8US/5+YazP/y2RsM5ik0TkYnEwWF5ubhxfFcIKkaIbleEGUZEXVdMO0bMf1/CCM4iTN8qKs6qbt+mGc5kUQJUxkhaqabkxn88XStGxntd5sb4z/r1Nyv64Fa6OeaWhE+JJ6JtmhNWQxDOzZiK7bjfbzxNfy3IXu8WE/nhwqSuPJKG7T8pmgJs4tB5Yy+rvZMvoUc0NpaplUjFV0fcvxNrDCKfVsans2a99hsgO8kk6Om0eDvaGb4A3LFEw69y7FYeUDweTAfpK0X4uPg1o4x35uUsuJlQ6DJ8pBR4GN81SPG3P1jb9jv0HKY05pogUx4YxYSxMCX8AHsXIGe5hIg+hb1rVEPw2Xp6zKVHJVrR78aCC+Pms/mRanqcFQLR1f6EqY0GZAKaONvzGPTNuizkwFsbSBE2AbbixHmDwO54g0ziQI69ayY8hpUCi3Om4GZhqjNFG1gbk0b1soFWgOM0mc02L3doSuPLEqN9NEUTlOO4e30oDVOc6vhO9ETOLUAiixNm3zL7c0zvXReQUDNQggKHhgILhAAgsBzvAJJ7hC+QgayBDhBi1UcO8A);
  font-weight: normal;
  font-style: normal;
}
.ag-theme-quartz,
.ag-theme-quartz-dark,
.ag-theme-quartz-auto-dark {
  --ag-active-color: #2196f3;
  --ag-background-color: #fff;
  --ag-foreground-color: #181d1f;
  --ag-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 15%);
  --ag-secondary-border-color: var(--ag-border-color);
  --ag-header-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 2%);
  --ag-tooltip-background-color: var(--ag-header-background-color);
  --ag-control-panel-background-color: var(--ag-header-background-color);
  --ag-subheader-background-color: transparent;
  --ag-invalid-color: #e02525;
  --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 30%);
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
  --ag-icon-font-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 90%);
  --ag-find-match-color: var(--ag-foreground-color);
  --ag-find-match-background-color: #ffff00;
  --ag-find-active-match-color: var(--ag-foreground-color);
  --ag-find-active-match-background-color: #ffa500;
  --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);
  --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);
  --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);
  --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);
  --ag-selected-row-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 8%);
  --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);
  --ag-column-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);
  --ag-input-focus-border-color: var(--ag-active-color);
  --ag-range-selection-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);
  --ag-input-focus-box-shadow: 0 0 0 3px color-mix(in srgb, transparent, var(--ag-input-focus-border-color) 47%);
  --ag-input-error-focus-box-shadow: 0 0 0 3px
      color-mix(in srgb, var(--ag-background-color), var(--ag-invalid-color) 50%);
  --ag-range-selection-background-color-2: color-mix(in srgb, transparent, var(--ag-active-color) 36%);
  --ag-range-selection-background-color-3: color-mix(in srgb, transparent, var(--ag-active-color) 49%);
  --ag-range-selection-background-color-4: color-mix(in srgb, transparent, var(--ag-active-color) 59%);
  --ag-row-numbers-selected-color: color-mix(in srgb, transparent, var(--ag-active-color) 50%);
  --ag-checkbox-background-color: var(--ag-background-color);
  --ag-checkbox-checked-color: var(--ag-active-color);
  --ag-range-selection-border-color: var(--ag-active-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-input-border-color: var(--ag-border-color);
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-disabled-foreground-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 50%);
  --ag-chip-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 7%);
  --ag-chip-border-color: color-mix(in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 13%);
  --ag-input-disabled-border-color: var(--ag-border-color);
  --ag-input-disabled-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 6%);
  --ag-modal-overlay-background-color: color-mix(in srgb, transparent, var(--ag-background-color) 66%);
  --ag-chart-menu-label-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 80%);
  --ag-chart-menu-pill-select-button-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);
  --ag-filter-panel-card-subtle-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 70%);
  --ag-borders: solid 1px;
  --ag-border-radius: 4px;
  --ag-wrapper-border-radius: 8px;
  --ag-borders-side-button: none;
  --ag-side-button-selected-background-color: transparent;
  --ag-header-column-resize-handle-display: block;
  --ag-header-column-resize-handle-width: 2px;
  --ag-header-column-resize-handle-height: 30%;
  --ag-grid-size: 8px;
  --ag-icon-size: 16px;
  --ag-header-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 4.25);
  --ag-row-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 3.5);
  --ag-list-item-height: calc(
      var(--ag-icon-size) + var(--ag-widget-vertical-spacing)
  );
  --ag-column-select-indent-size: var(--ag-icon-size);
  --ag-set-filter-indent-size: var(--ag-icon-size);
  --ag-filter-tool-panel-group-indent: var(--ag-grid-size);
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 2);
  --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1);
  --ag-toggle-button-height: 18px;
  --ag-toggle-button-width: 28px;
  --ag-toggle-button-border-width: 2px;
  --ag-font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
      Cantarell, "Helvetica Neue", sans-serif;
  --ag-font-size: 14px;
  --ag-icon-font-family: agGridQuartz;
  --ag-tab-min-width: 290px;
  --ag-chart-menu-panel-width: 260px;
  --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);
  --ag-popup-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.15);
  --ag-side-bar-panel-width: 250px;
  --ag-filter-panel-apply-button-color: var(--ag-background-color);
  --ag-filter-panel-apply-button-background-color: var(--ag-active-color);
}

.ag-theme-quartz-dark {
  --ag-background-color: color-mix(in srgb, #fff, #182230 97%);
  --ag-foreground-color: #fff;
  --ag-border-color: rgba(255, 255, 255, 0.16);
  --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
  --ag-header-background-color: color-mix(in srgb, #fff, #182230 93%);
  --ag-tooltip-background-color: color-mix(in srgb, #fff, #182230 96%);
  --ag-control-panel-background-color: color-mix(in srgb, #fff, #182230 93%);
  --ag-input-disabled-background-color: #68686e12;
  --ag-card-shadow: 0 1px 20px 1px black;
  --ag-input-border-color: var(--ag-border-color);
  --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);
  --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);
  --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);
  --ag-selected-row-background-color: var(--ag-row-hover-color);
  --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
  --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
  --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
  --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
  --ag-advanced-filter-join-pill-color: #7a3a37;
  --ag-advanced-filter-column-pill-color: #355f2d;
  --ag-advanced-filter-option-pill-color: #5a3168;
  --ag-advanced-filter-value-pill-color: #374c86;
  --ag-find-match-color: var(--ag-background-color);
  --ag-find-active-match-color: var(--ag-background-color);
  --ag-filter-panel-apply-button-color: var(--ag-foreground-color);
  --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);
  --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
  --ag-cell-batch-edit-text-color: #f3d0b3;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  .ag-theme-quartz-auto-dark {
    --ag-background-color: color-mix(in srgb, #fff, #182230 97%);
    --ag-foreground-color: #fff;
    --ag-border-color: rgba(255, 255, 255, 0.16);
    --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-header-background-color: color-mix(in srgb, #fff, #182230 93%);
    --ag-tooltip-background-color: color-mix(in srgb, #fff, #182230 96%);
    --ag-control-panel-background-color: color-mix(in srgb, #fff, #182230 93%);
    --ag-input-disabled-background-color: #68686e12;
    --ag-card-shadow: 0 1px 20px 1px black;
    --ag-input-border-color: var(--ag-border-color);
    --ag-input-disabled-border-color: rgba(255, 255, 255, 0.07);
    --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);
    --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);
    --ag-selected-row-background-color: var(--ag-row-hover-color);
    --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
    --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
    --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-advanced-filter-join-pill-color: #7a3a37;
    --ag-advanced-filter-column-pill-color: #355f2d;
    --ag-advanced-filter-option-pill-color: #5a3168;
    --ag-advanced-filter-value-pill-color: #374c86;
    --ag-find-match-color: var(--ag-background-color);
    --ag-find-active-match-color: var(--ag-background-color);
    --ag-filter-panel-apply-button-color: var(--ag-foreground-color);
    --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);
    --ag-row-loading-skeleton-effect-color: rgba(202, 203, 204, 0.4);
    --ag-cell-batch-edit-text-color: #f3d0b3;
    color-scheme: dark;
  }
}
.ag-theme-quartz .ag-filter-toolpanel-header,
.ag-theme-quartz .ag-filter-toolpanel-search,
.ag-theme-quartz .ag-status-bar,
.ag-theme-quartz .ag-header-row,
.ag-theme-quartz .ag-row-number-cell,
.ag-theme-quartz .ag-panel-title-bar-title,
.ag-theme-quartz .ag-multi-filter-group-title-bar,
.ag-theme-quartz .ag-filter-card-title,
.ag-theme-quartz-dark .ag-filter-toolpanel-header,
.ag-theme-quartz-dark .ag-filter-toolpanel-search,
.ag-theme-quartz-dark .ag-status-bar,
.ag-theme-quartz-dark .ag-header-row,
.ag-theme-quartz-dark .ag-row-number-cell,
.ag-theme-quartz-dark .ag-panel-title-bar-title,
.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,
.ag-theme-quartz-dark .ag-filter-card-title,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search,
.ag-theme-quartz-auto-dark .ag-status-bar,
.ag-theme-quartz-auto-dark .ag-header-row,
.ag-theme-quartz-auto-dark .ag-row-number-cell,
.ag-theme-quartz-auto-dark .ag-panel-title-bar-title,
.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar,
.ag-theme-quartz-auto-dark .ag-filter-card-title {
  font-weight: 500;
  color: var(--ag-header-foreground-color);
}
.ag-theme-quartz input[class^=ag-]:not([type]),
.ag-theme-quartz input[class^=ag-][type=text],
.ag-theme-quartz input[class^=ag-][type=number],
.ag-theme-quartz input[class^=ag-][type=tel],
.ag-theme-quartz input[class^=ag-][type=date],
.ag-theme-quartz input[class^=ag-][type=datetime-local],
.ag-theme-quartz textarea[class^=ag-],
.ag-theme-quartz-dark input[class^=ag-]:not([type]),
.ag-theme-quartz-dark input[class^=ag-][type=text],
.ag-theme-quartz-dark input[class^=ag-][type=number],
.ag-theme-quartz-dark input[class^=ag-][type=tel],
.ag-theme-quartz-dark input[class^=ag-][type=date],
.ag-theme-quartz-dark input[class^=ag-][type=datetime-local],
.ag-theme-quartz-dark textarea[class^=ag-],
.ag-theme-quartz-auto-dark input[class^=ag-]:not([type]),
.ag-theme-quartz-auto-dark input[class^=ag-][type=text],
.ag-theme-quartz-auto-dark input[class^=ag-][type=number],
.ag-theme-quartz-auto-dark input[class^=ag-][type=tel],
.ag-theme-quartz-auto-dark input[class^=ag-][type=date],
.ag-theme-quartz-auto-dark input[class^=ag-][type=datetime-local],
.ag-theme-quartz-auto-dark textarea[class^=ag-] {
  min-height: calc(var(--ag-grid-size) * 4);
  border-radius: var(--ag-border-radius);
}
.ag-theme-quartz .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-ltr textarea[class^=ag-], .ag-theme-quartz-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-ltr textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-ltr textarea[class^=ag-] {
  padding-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-rtl textarea[class^=ag-], .ag-theme-quartz-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-dark .ag-rtl textarea[class^=ag-], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz-auto-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz-auto-dark .ag-rtl textarea[class^=ag-] {
  padding-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-picker-field-wrapper,
.ag-theme-quartz-dark .ag-picker-field-wrapper,
.ag-theme-quartz-auto-dark .ag-picker-field-wrapper {
  min-height: calc(var(--ag-grid-size) * 4);
}
.ag-theme-quartz .ag-tab,
.ag-theme-quartz-dark .ag-tab,
.ag-theme-quartz-auto-dark .ag-tab {
  padding: var(--ag-grid-size);
  border-left: var(--ag-borders) transparent;
  border-right: var(--ag-borders) transparent;
  flex: 1 1 auto;
}
.ag-theme-quartz .ag-tab-selected,
.ag-theme-quartz-dark .ag-tab-selected,
.ag-theme-quartz-auto-dark .ag-tab-selected {
  background-color: var(--ag-background-color);
}
.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:first-of-type) {
  border-left-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:first-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:first-of-type) {
  border-right-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-ltr .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-ltr .ag-tab-selected:not(:last-of-type) {
  border-right-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-dark .ag-rtl .ag-tab-selected:not(:last-of-type), .ag-theme-quartz-auto-dark .ag-rtl .ag-tab-selected:not(:last-of-type) {
  border-left-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-tab:not(.ag-tab-selected),
.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected),
.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected) {
  opacity: 0.7;
}
.ag-theme-quartz .ag-tab:not(.ag-tab-selected):hover,
.ag-theme-quartz-dark .ag-tab:not(.ag-tab-selected):hover,
.ag-theme-quartz-auto-dark .ag-tab:not(.ag-tab-selected):hover {
  opacity: 1;
}
.ag-theme-quartz .ag-menu,
.ag-theme-quartz-dark .ag-menu,
.ag-theme-quartz-auto-dark .ag-menu {
  color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);
}
.ag-theme-quartz .ag-panel-content-wrapper .ag-column-select,
.ag-theme-quartz-dark .ag-panel-content-wrapper .ag-column-select,
.ag-theme-quartz-auto-dark .ag-panel-content-wrapper .ag-column-select {
  background-color: var(--ag-control-panel-background-color);
  color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);
}
.ag-theme-quartz .ag-menu-header,
.ag-theme-quartz-dark .ag-menu-header,
.ag-theme-quartz-auto-dark .ag-menu-header {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-quartz .ag-menu-option,
.ag-theme-quartz-dark .ag-menu-option,
.ag-theme-quartz-auto-dark .ag-menu-option {
  font-weight: 500;
  cursor: pointer;
}
.ag-theme-quartz .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-popup-pointer .ag-icon {
  text-align: right;
}

.ag-theme-quartz .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-popup-pointer .ag-icon {
  text-align: left;
}

.ag-theme-quartz .ag-tabs-header,
.ag-theme-quartz-dark .ag-tabs-header,
.ag-theme-quartz-auto-dark .ag-tabs-header {
  border-bottom: var(--ag-borders) var(--ag-border-color);
  display: flex;
  background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);
}
.ag-theme-quartz .ag-side-bar,
.ag-theme-quartz-dark .ag-side-bar,
.ag-theme-quartz-auto-dark .ag-side-bar {
  background-color: var(--ag-control-panel-background-color);
  min-width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}
.ag-theme-quartz .ag-side-buttons,
.ag-theme-quartz-dark .ag-side-buttons,
.ag-theme-quartz-auto-dark .ag-side-buttons {
  padding: 0;
  align-self: stretch;
  width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
  background: var(--ag-control-panel-background-color);
}
.ag-theme-quartz .ag-side-button,
.ag-theme-quartz-dark .ag-side-button,
.ag-theme-quartz-auto-dark .ag-side-button {
  border-top: var(--ag-borders) transparent;
  border-bottom: var(--ag-borders) transparent;
}
@media (-webkit-max-device-pixel-ratio: 1.5), (max-resolution: 1.5x) {
  .ag-theme-quartz .ag-side-button-label,
  .ag-theme-quartz-dark .ag-side-button-label,
  .ag-theme-quartz-auto-dark .ag-side-button-label {
    font-family: "Segoe UI", var(--ag-font-family);
    transform: rotate(0.05deg);
  }
}
.ag-theme-quartz .ag-side-button.ag-selected,
.ag-theme-quartz-dark .ag-side-button.ag-selected,
.ag-theme-quartz-auto-dark .ag-side-button.ag-selected {
  border-bottom-color: var(--ag-border-color);
  background-color: var(--ag-background-color);
}
.ag-theme-quartz .ag-side-button.ag-selected:not(:first-of-type),
.ag-theme-quartz-dark .ag-side-button.ag-selected:not(:first-of-type),
.ag-theme-quartz-auto-dark .ag-side-button.ag-selected:not(:first-of-type) {
  border-top-color: var(--ag-border-color);
}
.ag-theme-quartz .ag-column-panel-column-select,
.ag-theme-quartz-dark .ag-column-panel-column-select,
.ag-theme-quartz-auto-dark .ag-column-panel-column-select {
  border-top: none;
  border-bottom: 1px solid var(--ag-secondary-border-color);
}
.ag-theme-quartz .ag-filter-toolpanel-search,
.ag-theme-quartz-dark .ag-filter-toolpanel-search,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search {
  height: initial;
  margin-top: var(--ag-widget-container-vertical-padding);
}
.ag-theme-quartz .ag-filter-toolpanel-search-input,
.ag-theme-quartz-dark .ag-filter-toolpanel-search-input,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search-input {
  margin: 0;
}
.ag-theme-quartz .ag-filter-apply-panel,
.ag-theme-quartz-dark .ag-filter-apply-panel,
.ag-theme-quartz-auto-dark .ag-filter-apply-panel {
  border: none;
  padding-top: var(--ag-widget-vertical-spacing);
}
.ag-theme-quartz .ag-chart-tabbed-menu-body,
.ag-theme-quartz-dark .ag-chart-tabbed-menu-body,
.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body {
  position: relative;
}
.ag-theme-quartz .ag-chart-tabbed-menu-body::after,
.ag-theme-quartz-dark .ag-chart-tabbed-menu-body::after,
.ag-theme-quartz-auto-dark .ag-chart-tabbed-menu-body::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  height: 16px;
  background: linear-gradient(var(--ag-control-panel-background-color), transparent);
}
.ag-theme-quartz .ag-charts-settings-group-title-bar,
.ag-theme-quartz .ag-charts-data-group-title-bar,
.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-settings-group-container,
.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,
.ag-theme-quartz-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-settings-group-container,
.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {
  border-top: none;
  font-weight: 500;
}
.ag-theme-quartz .ag-chart-mini-thumbnail,
.ag-theme-quartz-dark .ag-chart-mini-thumbnail,
.ag-theme-quartz-auto-dark .ag-chart-mini-thumbnail {
  background-color: var(--ag-background-color);
  margin-top: 0;
  margin-bottom: 0;
}
.ag-theme-quartz .ag-chart-settings-nav-bar,
.ag-theme-quartz-dark .ag-chart-settings-nav-bar,
.ag-theme-quartz-auto-dark .ag-chart-settings-nav-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {
  background: none;
  font-weight: 500;
}
.ag-theme-quartz .ag-chart-data-section .ag-label:not(.ag-group-title-bar),
.ag-theme-quartz .ag-chart-format-section .ag-label:not(.ag-group-title-bar),
.ag-theme-quartz-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),
.ag-theme-quartz-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar),
.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label:not(.ag-group-title-bar),
.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label:not(.ag-group-title-bar) {
  color: var(--ag-chart-menu-label-color);
}
.ag-theme-quartz .ag-chart-data-section .ag-label-align-top .ag-label,
.ag-theme-quartz .ag-chart-format-section .ag-label-align-top .ag-label,
.ag-theme-quartz-dark .ag-chart-data-section .ag-label-align-top .ag-label,
.ag-theme-quartz-dark .ag-chart-format-section .ag-label-align-top .ag-label,
.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-label-align-top .ag-label,
.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-label-align-top .ag-label {
  margin-top: calc(var(--ag-widget-vertical-spacing) * 0.5);
  margin-bottom: var(--ag-widget-vertical-spacing);
}
.ag-theme-quartz .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,
.ag-theme-quartz .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,
.ag-theme-quartz-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,
.ag-theme-quartz-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label,
.ag-theme-quartz-auto-dark .ag-chart-data-section .ag-slider.ag-label-align-top .ag-label,
.ag-theme-quartz-auto-dark .ag-chart-format-section .ag-slider.ag-label-align-top .ag-label {
  margin-bottom: 0;
}
.ag-theme-quartz .ag-chart-data-section label,
.ag-theme-quartz .ag-chart-format-section label,
.ag-theme-quartz-dark .ag-chart-data-section label,
.ag-theme-quartz-dark .ag-chart-format-section label,
.ag-theme-quartz-auto-dark .ag-chart-data-section label,
.ag-theme-quartz-auto-dark .ag-chart-format-section label {
  display: inline-block;
}
.ag-theme-quartz .ag-chart-format-wrapper,
.ag-theme-quartz .ag-chart-data-wrapper,
.ag-theme-quartz .ag-charts-format-top-level-group,
.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz .ag-charts-format-top-level-group-item,
.ag-theme-quartz .ag-charts-format-sub-level-group,
.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz .ag-charts-format-sub-level-group-container,
.ag-theme-quartz .ag-charts-format-sub-level-group-item:last-child,
.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,
.ag-theme-quartz .ag-charts-data-group-title-bar,
.ag-theme-quartz .ag-charts-data-group-container,
.ag-theme-quartz .ag-charts-settings-group-title-bar,
.ag-theme-quartz .ag-charts-settings-group-container,
.ag-theme-quartz-dark .ag-chart-format-wrapper,
.ag-theme-quartz-dark .ag-chart-data-wrapper,
.ag-theme-quartz-dark .ag-charts-format-top-level-group,
.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz-dark .ag-charts-format-top-level-group-item,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-item:last-child,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,
.ag-theme-quartz-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-dark .ag-charts-data-group-container,
.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,
.ag-theme-quartz-dark .ag-charts-settings-group-container,
.ag-theme-quartz-auto-dark .ag-chart-format-wrapper,
.ag-theme-quartz-auto-dark .ag-chart-data-wrapper,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-item,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-item:last-child,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > *,
.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-data-group-container,
.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-settings-group-container {
  padding: 0;
  margin: 0;
}
.ag-theme-quartz .ag-charts-format-top-level-group,
.ag-theme-quartz .ag-charts-data-group,
.ag-theme-quartz-dark .ag-charts-format-top-level-group,
.ag-theme-quartz-dark .ag-charts-data-group,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group,
.ag-theme-quartz-auto-dark .ag-charts-data-group {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-data-group-title-bar,
.ag-theme-quartz .ag-charts-settings-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-dark .ag-charts-settings-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-data-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-settings-group-title-bar {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}
.ag-theme-quartz .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz .ag-charts-data-group .ag-charts-data-group-container,
.ag-theme-quartz .ag-charts-settings-group .ag-charts-settings-group-container,
.ag-theme-quartz-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz-dark .ag-charts-data-group .ag-charts-data-group-container,
.ag-theme-quartz-dark .ag-charts-settings-group .ag-charts-settings-group-container,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group .ag-charts-format-top-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-data-group .ag-charts-data-group-container,
.ag-theme-quartz-auto-dark .ag-charts-settings-group .ag-charts-settings-group-container {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}
.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-title-bar {
  padding: var(--ag-widget-vertical-spacing) 0;
}
.ag-theme-quartz .ag-charts-format-sub-level-group-container,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container {
  padding-top: var(--ag-widget-vertical-spacing);
  padding-bottom: var(--ag-widget-container-vertical-padding);
}
.ag-theme-quartz .ag-charts-format-top-level-group-container > *,
.ag-theme-quartz .ag-charts-format-sub-level-group-container > *,
.ag-theme-quartz-dark .ag-charts-format-top-level-group-container > *,
.ag-theme-quartz-dark .ag-charts-format-sub-level-group-container > *,
.ag-theme-quartz-auto-dark .ag-charts-format-top-level-group-container > *,
.ag-theme-quartz-auto-dark .ag-charts-format-sub-level-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}
.ag-theme-quartz .ag-charts-data-group-item,
.ag-theme-quartz-dark .ag-charts-data-group-item,
.ag-theme-quartz-auto-dark .ag-charts-data-group-item {
  padding-bottom: var(--ag-widget-container-vertical-padding);
}
.ag-theme-quartz .ag-chart-settings-mini-wrapper,
.ag-theme-quartz-dark .ag-chart-settings-mini-wrapper,
.ag-theme-quartz-auto-dark .ag-chart-settings-mini-wrapper {
  padding-bottom: var(--ag-widget-container-vertical-padding);
}
.ag-theme-quartz .ag-chart-advanced-settings-section,
.ag-theme-quartz-dark .ag-chart-advanced-settings-section,
.ag-theme-quartz-auto-dark .ag-chart-advanced-settings-section {
  padding-top: var(--ag-widget-container-vertical-padding);
  padding-bottom: var(--ag-widget-container-vertical-padding);
}
.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,
.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-title-bar,
.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group .ag-charts-advanced-settings-top-level-group-container {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}
.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-container,
.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-container,
.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-container {
  margin: 0;
}
.ag-theme-quartz .ag-charts-advanced-settings-top-level-group-item,
.ag-theme-quartz-dark .ag-charts-advanced-settings-top-level-group-item,
.ag-theme-quartz-auto-dark .ag-charts-advanced-settings-top-level-group-item {
  margin-top: calc(var(--ag-widget-vertical-spacing) * 2);
  margin-bottom: 0;
}
.ag-theme-quartz .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-ltr .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-dark .ag-rtl .ag-group-title-bar-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-spectrum-color,
.ag-theme-quartz .ag-spectrum-fill,
.ag-theme-quartz-dark .ag-spectrum-color,
.ag-theme-quartz-dark .ag-spectrum-fill,
.ag-theme-quartz-auto-dark .ag-spectrum-color,
.ag-theme-quartz-auto-dark .ag-spectrum-fill {
  border-radius: var(--ag-border-radius);
}
.ag-theme-quartz .ag-spectrum-dragger,
.ag-theme-quartz-dark .ag-spectrum-dragger,
.ag-theme-quartz-auto-dark .ag-spectrum-dragger {
  border-radius: 18px;
  height: 18px;
  width: 18px;
  border: 3px solid white;
}
.ag-theme-quartz .ag-spectrum-tools,
.ag-theme-quartz-dark .ag-spectrum-tools,
.ag-theme-quartz-auto-dark .ag-spectrum-tools {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.ag-theme-quartz .ag-spectrum-tool,
.ag-theme-quartz-dark .ag-spectrum-tool,
.ag-theme-quartz-auto-dark .ag-spectrum-tool {
  height: 12px;
}
.ag-theme-quartz .ag-spectrum-hue-background,
.ag-theme-quartz .ag-spectrum-alpha-background,
.ag-theme-quartz-dark .ag-spectrum-hue-background,
.ag-theme-quartz-dark .ag-spectrum-alpha-background,
.ag-theme-quartz-auto-dark .ag-spectrum-hue-background,
.ag-theme-quartz-auto-dark .ag-spectrum-alpha-background {
  border-radius: 12px;
}
.ag-theme-quartz .ag-spectrum-slider,
.ag-theme-quartz-dark .ag-spectrum-slider,
.ag-theme-quartz-auto-dark .ag-spectrum-slider {
  margin-top: -15px;
  width: 18px;
  height: 18px;
  border-radius: 18px;
  border: 3px solid rgb(248, 248, 248);
}
.ag-theme-quartz .ag-recent-colors,
.ag-theme-quartz-dark .ag-recent-colors,
.ag-theme-quartz-auto-dark .ag-recent-colors {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
  margin-bottom: 2px;
}
.ag-theme-quartz .ag-color-input-color,
.ag-theme-quartz .ag-color-picker-color,
.ag-theme-quartz .ag-recent-color,
.ag-theme-quartz-dark .ag-color-input-color,
.ag-theme-quartz-dark .ag-color-picker-color,
.ag-theme-quartz-dark .ag-recent-color,
.ag-theme-quartz-auto-dark .ag-color-input-color,
.ag-theme-quartz-auto-dark .ag-color-picker-color,
.ag-theme-quartz-auto-dark .ag-recent-color {
  border-radius: 4px;
}
.ag-theme-quartz .ag-recent-color,
.ag-theme-quartz-dark .ag-recent-color,
.ag-theme-quartz-auto-dark .ag-recent-color {
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-quartz.ag-dnd-ghost,
.ag-theme-quartz-dark.ag-dnd-ghost,
.ag-theme-quartz-auto-dark.ag-dnd-ghost {
  font-weight: 500;
}
.ag-theme-quartz .ag-standard-button,
.ag-theme-quartz-dark .ag-standard-button,
.ag-theme-quartz-auto-dark .ag-standard-button {
  font-family: inherit;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border-radius: var(--ag-border-radius);
  border: solid 1px var(--ag-input-border-color);
  background-color: var(--ag-background-color);
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  cursor: pointer;
}
.ag-theme-quartz .ag-standard-button:hover,
.ag-theme-quartz-dark .ag-standard-button:hover,
.ag-theme-quartz-auto-dark .ag-standard-button:hover {
  background-color: var(--ag-row-hover-color);
}
.ag-theme-quartz .ag-standard-button:active,
.ag-theme-quartz-dark .ag-standard-button:active,
.ag-theme-quartz-auto-dark .ag-standard-button:active {
  border-color: var(--ag-active-color);
}
.ag-theme-quartz .ag-standard-button:disabled,
.ag-theme-quartz-dark .ag-standard-button:disabled,
.ag-theme-quartz-auto-dark .ag-standard-button:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-theme-quartz .ag-column-drop-cell,
.ag-theme-quartz-dark .ag-column-drop-cell,
.ag-theme-quartz-auto-dark .ag-column-drop-cell {
  border-radius: calc(var(--ag-grid-size) * 3);
  height: calc(var(--ag-grid-size) * 3);
  padding: 0 var(--ag-grid-size);
}
.ag-theme-quartz .ag-column-drop-cell-button,
.ag-theme-quartz-dark .ag-column-drop-cell-button,
.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {
  min-width: 0;
  margin: 0;
}
.ag-theme-quartz .ag-column-drop-cell-drag-handle,
.ag-theme-quartz-dark .ag-column-drop-cell-drag-handle,
.ag-theme-quartz-auto-dark .ag-column-drop-cell-drag-handle {
  margin-left: 0;
}
.ag-theme-quartz .ag-column-drop-vertical,
.ag-theme-quartz-dark .ag-column-drop-vertical,
.ag-theme-quartz-auto-dark .ag-column-drop-vertical {
  min-height: 75px;
}
.ag-theme-quartz .ag-column-drop-vertical-title-bar,
.ag-theme-quartz-dark .ag-column-drop-vertical-title-bar,
.ag-theme-quartz-auto-dark .ag-column-drop-vertical-title-bar {
  padding: var(--ag-widget-container-vertical-padding) calc(var(--ag-grid-size) * 2) 0;
}
.ag-theme-quartz .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-ltr .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-drop-vertical-icon {
  margin-left: 0;
  margin-right: var(--ag-widget-horizontal-spacing);
}

.ag-theme-quartz .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-dark .ag-rtl .ag-column-drop-vertical-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-drop-vertical-icon {
  margin-right: 0;
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-theme-quartz .ag-column-drop-vertical-empty-message,
.ag-theme-quartz-dark .ag-column-drop-vertical-empty-message,
.ag-theme-quartz-auto-dark .ag-column-drop-vertical-empty-message {
  display: flex;
  align-items: center;
  justify-content: center;
  border: dashed 1px;
  border-color: var(--ag-border-color);
  margin: calc(var(--ag-grid-size) * 1.5) calc(var(--ag-grid-size) * 2);
  padding: calc(var(--ag-grid-size) * 2);
}
.ag-theme-quartz .ag-column-drop-empty-message,
.ag-theme-quartz-dark .ag-column-drop-empty-message,
.ag-theme-quartz-auto-dark .ag-column-drop-empty-message {
  color: var(--ag-foreground-color);
}
.ag-theme-quartz .ag-pill-select .ag-column-drop,
.ag-theme-quartz-dark .ag-pill-select .ag-column-drop,
.ag-theme-quartz-auto-dark .ag-pill-select .ag-column-drop {
  min-height: unset;
}
.ag-theme-quartz .ag-pill-select .ag-picker-field-display,
.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-display,
.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-display {
  font-weight: 500;
  color: var(--ag-chart-menu-pill-select-button-color);
}
.ag-theme-quartz .ag-pill-select .ag-picker-field-icon .ag-icon,
.ag-theme-quartz-dark .ag-pill-select .ag-picker-field-icon .ag-icon,
.ag-theme-quartz-auto-dark .ag-pill-select .ag-picker-field-icon .ag-icon {
  color: var(--ag-chart-menu-pill-select-button-color);
}
.ag-theme-quartz .ag-status-bar,
.ag-theme-quartz-dark .ag-status-bar,
.ag-theme-quartz-auto-dark .ag-status-bar {
  font-weight: normal;
}
.ag-theme-quartz .ag-status-name-value,
.ag-theme-quartz-dark .ag-status-name-value,
.ag-theme-quartz-auto-dark .ag-status-name-value {
  padding: var(--ag-widget-container-vertical-padding) 0;
}
.ag-theme-quartz .ag-status-name-value-value,
.ag-theme-quartz .ag-paging-number,
.ag-theme-quartz .ag-paging-row-summary-panel-number,
.ag-theme-quartz-dark .ag-status-name-value-value,
.ag-theme-quartz-dark .ag-paging-number,
.ag-theme-quartz-dark .ag-paging-row-summary-panel-number,
.ag-theme-quartz-auto-dark .ag-status-name-value-value,
.ag-theme-quartz-auto-dark .ag-paging-number,
.ag-theme-quartz-auto-dark .ag-paging-row-summary-panel-number {
  font-weight: 500;
}
.ag-theme-quartz .ag-column-drop-cell-button,
.ag-theme-quartz-dark .ag-column-drop-cell-button,
.ag-theme-quartz-auto-dark .ag-column-drop-cell-button {
  opacity: 0.75;
}
.ag-theme-quartz .ag-column-drop-cell-button:hover,
.ag-theme-quartz-dark .ag-column-drop-cell-button:hover,
.ag-theme-quartz-auto-dark .ag-column-drop-cell-button:hover {
  opacity: 1;
}
.ag-theme-quartz .ag-header-cell-menu-button,
.ag-theme-quartz .ag-header-cell-filter-button,
.ag-theme-quartz .ag-panel-title-bar-button,
.ag-theme-quartz .ag-header-expand-icon,
.ag-theme-quartz .ag-column-group-icons,
.ag-theme-quartz .ag-set-filter-group-icons,
.ag-theme-quartz .ag-group-expanded .ag-icon,
.ag-theme-quartz .ag-group-contracted .ag-icon,
.ag-theme-quartz .ag-chart-settings-prev,
.ag-theme-quartz .ag-chart-settings-next,
.ag-theme-quartz .ag-group-title-bar-icon,
.ag-theme-quartz .ag-column-select-header-icon,
.ag-theme-quartz .ag-floating-filter-button-button,
.ag-theme-quartz .ag-filter-toolpanel-expand,
.ag-theme-quartz .ag-panel-title-bar-button-icon,
.ag-theme-quartz .ag-chart-menu-icon,
.ag-theme-quartz-dark .ag-header-cell-menu-button,
.ag-theme-quartz-dark .ag-header-cell-filter-button,
.ag-theme-quartz-dark .ag-panel-title-bar-button,
.ag-theme-quartz-dark .ag-header-expand-icon,
.ag-theme-quartz-dark .ag-column-group-icons,
.ag-theme-quartz-dark .ag-set-filter-group-icons,
.ag-theme-quartz-dark .ag-group-expanded .ag-icon,
.ag-theme-quartz-dark .ag-group-contracted .ag-icon,
.ag-theme-quartz-dark .ag-chart-settings-prev,
.ag-theme-quartz-dark .ag-chart-settings-next,
.ag-theme-quartz-dark .ag-group-title-bar-icon,
.ag-theme-quartz-dark .ag-column-select-header-icon,
.ag-theme-quartz-dark .ag-floating-filter-button-button,
.ag-theme-quartz-dark .ag-filter-toolpanel-expand,
.ag-theme-quartz-dark .ag-panel-title-bar-button-icon,
.ag-theme-quartz-dark .ag-chart-menu-icon,
.ag-theme-quartz-auto-dark .ag-header-cell-menu-button,
.ag-theme-quartz-auto-dark .ag-header-cell-filter-button,
.ag-theme-quartz-auto-dark .ag-panel-title-bar-button,
.ag-theme-quartz-auto-dark .ag-header-expand-icon,
.ag-theme-quartz-auto-dark .ag-column-group-icons,
.ag-theme-quartz-auto-dark .ag-set-filter-group-icons,
.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon,
.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon,
.ag-theme-quartz-auto-dark .ag-chart-settings-prev,
.ag-theme-quartz-auto-dark .ag-chart-settings-next,
.ag-theme-quartz-auto-dark .ag-group-title-bar-icon,
.ag-theme-quartz-auto-dark .ag-column-select-header-icon,
.ag-theme-quartz-auto-dark .ag-floating-filter-button-button,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand,
.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon,
.ag-theme-quartz-auto-dark .ag-chart-menu-icon {
  --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
}
.ag-theme-quartz .ag-header-cell-menu-button:hover,
.ag-theme-quartz .ag-header-cell-filter-button:hover,
.ag-theme-quartz .ag-panel-title-bar-button:hover,
.ag-theme-quartz .ag-header-expand-icon:hover,
.ag-theme-quartz .ag-column-group-icons:hover,
.ag-theme-quartz .ag-set-filter-group-icons:hover,
.ag-theme-quartz .ag-group-expanded .ag-icon:hover,
.ag-theme-quartz .ag-group-contracted .ag-icon:hover,
.ag-theme-quartz .ag-chart-settings-prev:hover,
.ag-theme-quartz .ag-chart-settings-next:hover,
.ag-theme-quartz .ag-group-title-bar-icon:hover,
.ag-theme-quartz .ag-column-select-header-icon:hover,
.ag-theme-quartz .ag-floating-filter-button-button:hover,
.ag-theme-quartz .ag-filter-toolpanel-expand:hover,
.ag-theme-quartz .ag-panel-title-bar-button-icon:hover,
.ag-theme-quartz .ag-chart-menu-icon:hover,
.ag-theme-quartz-dark .ag-header-cell-menu-button:hover,
.ag-theme-quartz-dark .ag-header-cell-filter-button:hover,
.ag-theme-quartz-dark .ag-panel-title-bar-button:hover,
.ag-theme-quartz-dark .ag-header-expand-icon:hover,
.ag-theme-quartz-dark .ag-column-group-icons:hover,
.ag-theme-quartz-dark .ag-set-filter-group-icons:hover,
.ag-theme-quartz-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-quartz-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-quartz-dark .ag-chart-settings-prev:hover,
.ag-theme-quartz-dark .ag-chart-settings-next:hover,
.ag-theme-quartz-dark .ag-group-title-bar-icon:hover,
.ag-theme-quartz-dark .ag-column-select-header-icon:hover,
.ag-theme-quartz-dark .ag-floating-filter-button-button:hover,
.ag-theme-quartz-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-quartz-dark .ag-panel-title-bar-button-icon:hover,
.ag-theme-quartz-dark .ag-chart-menu-icon:hover,
.ag-theme-quartz-auto-dark .ag-header-cell-menu-button:hover,
.ag-theme-quartz-auto-dark .ag-header-cell-filter-button:hover,
.ag-theme-quartz-auto-dark .ag-panel-title-bar-button:hover,
.ag-theme-quartz-auto-dark .ag-header-expand-icon:hover,
.ag-theme-quartz-auto-dark .ag-column-group-icons:hover,
.ag-theme-quartz-auto-dark .ag-set-filter-group-icons:hover,
.ag-theme-quartz-auto-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-quartz-auto-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-quartz-auto-dark .ag-chart-settings-prev:hover,
.ag-theme-quartz-auto-dark .ag-chart-settings-next:hover,
.ag-theme-quartz-auto-dark .ag-group-title-bar-icon:hover,
.ag-theme-quartz-auto-dark .ag-column-select-header-icon:hover,
.ag-theme-quartz-auto-dark .ag-floating-filter-button-button:hover,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-quartz-auto-dark .ag-panel-title-bar-button-icon:hover,
.ag-theme-quartz-auto-dark .ag-chart-menu-icon:hover {
  border-radius: 1px;
  background-color: var(--ag-quartz-icon-hover-color);
  box-shadow: 0 0 0 4px var(--ag-quartz-icon-hover-color);
}
.ag-theme-quartz .ag-filter-active,
.ag-theme-quartz-dark .ag-filter-active,
.ag-theme-quartz-auto-dark .ag-filter-active {
  --ag-quartz-icon-active-color: color-mix(in srgb, transparent, var(--ag-active-color) 14%);
  --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 28%);
  position: relative;
  border-radius: 1px;
  background-color: var(--ag-quartz-icon-active-color);
  box-shadow: 0 0 0 4px var(--ag-quartz-icon-active-color);
}
.ag-theme-quartz .ag-filter-active::after,
.ag-theme-quartz-dark .ag-filter-active::after,
.ag-theme-quartz-auto-dark .ag-filter-active::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: -1px;
  right: -1px;
  border-radius: 50%;
  background-color: var(--ag-active-color);
}
.ag-theme-quartz .ag-filter-active .ag-icon-filter,
.ag-theme-quartz-dark .ag-filter-active .ag-icon-filter,
.ag-theme-quartz-auto-dark .ag-filter-active .ag-icon-filter {
  -webkit-clip-path: path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");
          clip-path: path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");
}
.ag-theme-quartz .ag-chart-menu,
.ag-theme-quartz-dark .ag-chart-menu,
.ag-theme-quartz-auto-dark .ag-chart-menu {
  --ag-icon-size: 20px;
  background-color: color-mix(in srgb, transparent, var(--ag-background-color) 30%);
  padding: 4px 2px;
}
.ag-theme-quartz .ag-chart-menu-icon,
.ag-theme-quartz-dark .ag-chart-menu-icon,
.ag-theme-quartz-auto-dark .ag-chart-menu-icon {
  opacity: 0.8;
}
.ag-theme-quartz .ag-drag-handle,
.ag-theme-quartz-dark .ag-drag-handle,
.ag-theme-quartz-auto-dark .ag-drag-handle {
  color: var(--ag-icon-font-color);
}
.ag-theme-quartz .ag-menu-option-icon,
.ag-theme-quartz .ag-compact-menu-option-icon,
.ag-theme-quartz-dark .ag-menu-option-icon,
.ag-theme-quartz-dark .ag-compact-menu-option-icon,
.ag-theme-quartz-auto-dark .ag-menu-option-icon,
.ag-theme-quartz-auto-dark .ag-compact-menu-option-icon {
  width: var(--ag-icon-size);
  cursor: pointer;
}
.ag-theme-quartz .ag-ltr .ag-menu-option-icon, .ag-theme-quartz .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-dark .ag-ltr .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-ltr .ag-compact-menu-option-icon {
  padding-left: calc(var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-rtl .ag-menu-option-icon, .ag-theme-quartz .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-dark .ag-rtl .ag-compact-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-menu-option-icon, .ag-theme-quartz-auto-dark .ag-rtl .ag-compact-menu-option-icon {
  padding-right: calc(var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-chart-settings-card-item.ag-not-selected:hover,
.ag-theme-quartz-dark .ag-chart-settings-card-item.ag-not-selected:hover,
.ag-theme-quartz-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover {
  opacity: 0.35;
}
.ag-theme-quartz .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-ltr .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-ltr .ag-panel-title-bar-button {
  margin-left: calc(var(--ag-grid-size) * 2);
  margin-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-dark .ag-rtl .ag-panel-title-bar-button, .ag-theme-quartz-auto-dark .ag-rtl .ag-panel-title-bar-button {
  margin-right: calc(var(--ag-grid-size) * 2);
  margin-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-multi-filter-group-title-bar,
.ag-theme-quartz-dark .ag-multi-filter-group-title-bar,
.ag-theme-quartz-auto-dark .ag-multi-filter-group-title-bar {
  padding: calc(var(--ag-grid-size) * 1.5) var(--ag-grid-size);
}
.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-body {
  padding-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-body, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-body {
  padding-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-filter-toolpanel-instance-filter,
.ag-theme-quartz-dark .ag-filter-toolpanel-instance-filter,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-instance-filter {
  border: none;
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter {
  margin-left: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter {
  margin-right: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-quartz .ag-filter-toolpanel-group-level-0,
.ag-theme-quartz-dark .ag-filter-toolpanel-group-level-0,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-level-0 {
  border-top: none;
}
.ag-theme-quartz .ag-filter-toolpanel-header,
.ag-theme-quartz-dark .ag-filter-toolpanel-header,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-header {
  height: initial;
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}
.ag-theme-quartz .ag-filter-toolpanel-group-item,
.ag-theme-quartz-dark .ag-filter-toolpanel-group-item,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-group-item {
  margin: 0;
}
.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-viewport,
.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-container,
.ag-theme-quartz .ag-layout-print .ag-center-cols-viewport,
.ag-theme-quartz .ag-layout-print .ag-center-cols-container,
.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-viewport,
.ag-theme-quartz-dark .ag-layout-auto-height .ag-center-cols-container,
.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-viewport,
.ag-theme-quartz-dark .ag-layout-print .ag-center-cols-container,
.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,
.ag-theme-quartz-auto-dark .ag-layout-auto-height .ag-center-cols-container,
.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-viewport,
.ag-theme-quartz-auto-dark .ag-layout-print .ag-center-cols-container {
  min-height: 150px;
}
.ag-theme-quartz .ag-date-time-list-page-entry-is-current,
.ag-theme-quartz-dark .ag-date-time-list-page-entry-is-current,
.ag-theme-quartz-auto-dark .ag-date-time-list-page-entry-is-current {
  background-color: var(--ag-active-color);
}
.ag-theme-quartz .ag-advanced-filter-builder-button,
.ag-theme-quartz-dark .ag-advanced-filter-builder-button,
.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-button {
  padding: var(--ag-grid-size);
  font-weight: 600;
}
.ag-theme-quartz .ag-advanced-filter-builder-item-button-disabled .ag-icon,
.ag-theme-quartz .ag-disabled .ag-icon,
.ag-theme-quartz .ag-column-select-column-group-readonly .ag-icon,
.ag-theme-quartz [disabled] .ag-icon,
.ag-theme-quartz-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,
.ag-theme-quartz-dark .ag-disabled .ag-icon,
.ag-theme-quartz-dark .ag-column-select-column-group-readonly .ag-icon,
.ag-theme-quartz-dark [disabled] .ag-icon,
.ag-theme-quartz-auto-dark .ag-advanced-filter-builder-item-button-disabled .ag-icon,
.ag-theme-quartz-auto-dark .ag-disabled .ag-icon,
.ag-theme-quartz-auto-dark .ag-column-select-column-group-readonly .ag-icon,
.ag-theme-quartz-auto-dark [disabled] .ag-icon {
  opacity: 0.6;
}
.ag-theme-quartz .ag-icon-grip,
.ag-theme-quartz-dark .ag-icon-grip,
.ag-theme-quartz-auto-dark .ag-icon-grip {
  opacity: 0.7;
}
.ag-theme-quartz .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-quartz .ag-column-select-column-readonly .ag-icon-grip,
.ag-theme-quartz-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-quartz-dark .ag-column-select-column-readonly .ag-icon-grip,
.ag-theme-quartz-auto-dark .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-quartz-auto-dark .ag-column-select-column-readonly .ag-icon-grip {
  opacity: 0.35;
}
.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,
.ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper::before,
.ag-theme-quartz .ag-mini-filter .ag-input-wrapper::before,
.ag-theme-quartz .ag-filter-filter .ag-input-wrapper::before,
.ag-theme-quartz .ag-filter-add-select .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-filter-add-select .ag-input-wrapper::before,
.ag-theme-quartz-auto-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,
.ag-theme-quartz-auto-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,
.ag-theme-quartz-auto-dark .ag-mini-filter .ag-input-wrapper::before,
.ag-theme-quartz-auto-dark .ag-filter-filter .ag-input-wrapper::before,
.ag-theme-quartz-auto-dark .ag-filter-add-select .ag-input-wrapper::before {
  position: absolute;
  display: block;
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==");
  background-position: 50% 50%;
  background-size: contain;
  opacity: 40%;
  content: "";
  filter: var(--ag-icon-filter);
}
.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-add-select .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-ltr .ag-filter-add-select .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select .ag-input-wrapper::before {
  margin-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-add-select .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-dark .ag-rtl .ag-filter-add-select .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter .ag-input-wrapper::before, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select .ag-input-wrapper::before {
  margin-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz .ag-ltr .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz .ag-ltr .ag-filter-add-select input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz-dark .ag-ltr .ag-filter-add-select input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-ltr .ag-filter-add-select input.ag-number-field-input {
  padding-left: 26px;
}

.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz .ag-rtl .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz .ag-rtl .ag-filter-add-select input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz-dark .ag-rtl .ag-filter-add-select input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-header-filter-wrapper input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-toolpanel-search input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-mini-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-filter input.ag-number-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select input.ag-text-field-input, .ag-theme-quartz-auto-dark .ag-rtl .ag-filter-add-select input.ag-number-field-input {
  padding-right: 26px;
}

.ag-theme-quartz .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-ltr .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-ltr .ag-column-select-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-dark .ag-rtl .ag-column-select-add-group-indent, .ag-theme-quartz-auto-dark .ag-rtl .ag-column-select-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-text-field-input[disabled],
.ag-theme-quartz .ag-menu-option-disabled,
.ag-theme-quartz-dark .ag-text-field-input[disabled],
.ag-theme-quartz-dark .ag-menu-option-disabled,
.ag-theme-quartz-auto-dark .ag-text-field-input[disabled],
.ag-theme-quartz-auto-dark .ag-menu-option-disabled {
  cursor: not-allowed;
}
.ag-theme-quartz .ag-checkbox-input-wrapper.ag-checked.ag-disabled,
.ag-theme-quartz-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled,
.ag-theme-quartz-auto-dark .ag-checkbox-input-wrapper.ag-checked.ag-disabled {
  --ag-checkbox-checked-color: var(--ag-checkbox-unchecked-color);
}
.ag-theme-quartz .ag-checkbox-input,
.ag-theme-quartz .ag-toggle-button-input,
.ag-theme-quartz .ag-radio-button-input,
.ag-theme-quartz input[class^=ag-][type=range],
.ag-theme-quartz-dark .ag-checkbox-input,
.ag-theme-quartz-dark .ag-toggle-button-input,
.ag-theme-quartz-dark .ag-radio-button-input,
.ag-theme-quartz-dark input[class^=ag-][type=range],
.ag-theme-quartz-auto-dark .ag-checkbox-input,
.ag-theme-quartz-auto-dark .ag-toggle-button-input,
.ag-theme-quartz-auto-dark .ag-radio-button-input,
.ag-theme-quartz-auto-dark input[class^=ag-][type=range] {
  cursor: pointer;
}
.ag-theme-quartz .ag-details-row,
.ag-theme-quartz-dark .ag-details-row,
.ag-theme-quartz-auto-dark .ag-details-row {
  padding: calc(var(--ag-grid-size) * 3.75);
}
.ag-theme-quartz .ag-list-item-hovered::after,
.ag-theme-quartz-dark .ag-list-item-hovered::after,
.ag-theme-quartz-auto-dark .ag-list-item-hovered::after {
  background-color: var(--ag-active-color);
}
.ag-theme-quartz .ag-pill .ag-pill-button:hover,
.ag-theme-quartz-dark .ag-pill .ag-pill-button:hover,
.ag-theme-quartz-auto-dark .ag-pill .ag-pill-button:hover {
  color: var(--ag-active-color);
}
.ag-theme-quartz .ag-header-highlight-before::after,
.ag-theme-quartz .ag-header-highlight-after::after,
.ag-theme-quartz-dark .ag-header-highlight-before::after,
.ag-theme-quartz-dark .ag-header-highlight-after::after,
.ag-theme-quartz-auto-dark .ag-header-highlight-before::after,
.ag-theme-quartz-auto-dark .ag-header-highlight-after::after {
  background-color: var(--ag-active-color);
}

.ag-theme-quartz-dark .ag-column-select-header-filter-wrapper .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-filter-toolpanel-search .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-mini-filter .ag-input-wrapper::before,
.ag-theme-quartz-dark .ag-filter-filter .ag-input-wrapper::before {
  opacity: 66%;
  filter: invert(100%);
}
.ag-theme-quartz-dark .ag-chart-menu {
  background-color: color-mix(in srgb, rgba(24, 39, 50, 0.3), var(--ag-background-color) 30%);
}
.ag-theme-quartz-dark .ag-text-field-input::placeholder {
  color: var(--ag-data-color);
  opacity: 0.8;
}

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/stonepilot/styles/hr.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
.hr-dashboard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.hr-dashboard__action {
  padding: 0.55rem 0.85rem;
  border: 1px solid #000000;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.hr-dashboard__action:hover,
.hr-dashboard__action:focus-visible {
  background: #333333;
}

.hr-employee-profile,
.hr-leave-request,
.hr-teams-services {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.hr-employee-profile__head,
.hr-leave-request__head,
.hr-teams-services__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem;
}

.hr-employee-profile__head h2,
.hr-employee-profile__block h3,
.hr-leave-request__head h2,
.hr-leave-request__block h3,
.hr-teams-services__head h2,
.hr-teams-services__team h3,
.hr-teams-services__note h3 {
  margin: 0;
  line-height: 1.15;
}

.hr-employee-profile__head h2,
.hr-leave-request__head h2,
.hr-teams-services__head h2 {
  margin-top: 0.55rem;
  font-size: 1.35rem;
}

.hr-employee-profile__head p,
.hr-leave-request__head p,
.hr-teams-services__head p,
.hr-teams-services__note p {
  margin: 0.45rem 0 0;
  color: #444444;
  line-height: 1.45;
}

.hr-employee-profile__meta,
.hr-leave-request__status,
.hr-teams-services__services {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
  min-width: 220px;
  padding: 0.8rem;
  border: 1px solid #000000;
  border-radius: 8px;
  background: #f0f0f0;
}

.hr-employee-profile__meta span,
.hr-leave-request__status span,
.hr-teams-services__services span {
  color: #555555;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hr-leave-request__status .is-active {
  color: #111111;
}

.hr-employee-profile__grid,
.hr-leave-request__grid,
.hr-teams-services__grid,
.hr-teams-services__aside-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.hr-employee-profile__block,
.hr-leave-request__block,
.hr-teams-services__team,
.hr-teams-services__note {
  padding: 1rem;
}

.hr-employee-profile__block dl,
.hr-leave-request__block dl,
.hr-teams-services__team dl {
  display: grid;
  grid-template-columns: minmax(90px, 0.7fr) minmax(0, 1fr);
  grid-gap: 0.45rem 0.75rem;
  gap: 0.45rem 0.75rem;
  margin: 0.8rem 0 0;
}

.hr-employee-profile__block dt,
.hr-leave-request__block dt,
.hr-teams-services__team dt {
  color: #555555;
  font-size: 0.8rem;
  font-weight: 800;
}

.hr-employee-profile__block dd,
.hr-leave-request__block dd,
.hr-teams-services__team dd {
  margin: 0;
  color: #222222;
  font-size: 0.9rem;
  font-weight: 700;
}

.hr-teams-services__team-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.hr-teams-services__capacity {
  padding: 0.25rem 0.45rem;
  border: 1px solid #000000;
  border-radius: 999px;
  color: #111111;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.hr-teams-services__capacity--ok {
  background: #dff5e8;
}

.hr-teams-services__capacity--attention {
  background: #fff1c2;
}

.hr-teams-services__capacity--sature {
  background: #ffd8d8;
}

.hr-teams-services__skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

.hr-teams-services__skills span {
  padding: 0.45rem 0.6rem;
  border: 1px solid #000000;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-size: 0.82rem;
  font-weight: 800;
}

.hr-leave-request__manager-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.9rem;
}

.hr-leave-request__manager-actions button {
  padding: 0.5rem 0.7rem;
  border: 1px solid #000000;
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 800;
  cursor: default;
}

.hr-absence-ui {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.hr-absence-ui__head,
.hr-absence-ui__form,
.hr-absence-ui__request,
.hr-absence-ui__capacity {
  padding: 1rem;
}

.hr-absence-ui__capacity {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  grid-gap: 0.75rem;
  gap: 0.75rem;
  border-color: #111111;
}

.hr-absence-ui__capacity.is-low {
  background: #fff1c2;
}

.hr-absence-ui__capacity div,
.hr-absence-ui__status {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
}

.hr-absence-ui__capacity span,
.hr-absence-ui__form span,
.hr-absence-ui__request span {
  color: #555555;
  font-size: 0.8rem;
  font-weight: 800;
}

.hr-absence-ui__capacity strong {
  color: #111111;
  font-size: 1.25rem;
}

.hr-absence-ui__capacity p,
.hr-absence-ui__request p {
  margin: 0;
  color: #111111;
  font-weight: 800;
}

.hr-absence-ui__form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  grid-gap: 0.8rem;
  gap: 0.8rem;
}

.hr-absence-ui__form label {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.hr-absence-ui__form input,
.hr-absence-ui__form select,
.hr-absence-ui__form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #111111;
  border-radius: 8px;
  padding: 0.55rem;
  font: inherit;
}

.hr-absence-ui__comment {
  grid-column: 1 / -1;
}

.hr-absence-ui__list {
  display: grid;
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.hr-absence-ui__request {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.hr-absence-ui__request > div:first-child {
  display: grid;
  grid-gap: 0.35rem;
  gap: 0.35rem;
}

.hr-absence-ui__status {
  min-width: 130px;
  justify-items: end;
}

.hr-absence-ui__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.hr-absence-ui__actions button {
  padding: 0.45rem 0.65rem;
  border: 1px solid #111111;
  border-radius: 8px;
  background: #ffffff;
  color: #111111;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

@media (max-width: 720px) {
  .hr-employee-profile__head,
  .hr-leave-request__head,
  .hr-teams-services__head {
    display: grid;
  }

  .hr-employee-profile__meta,
  .hr-leave-request__status,
  .hr-teams-services__services {
    min-width: 0;
  }
}

