@charset "UTF-8";:root{--color-accent-50: #F6F1EB;--color-accent-100: #F1E9DE;--color-accent-200: #E5D7C6;--color-accent-300: #D3BEA4;--color-accent-400: #BDAB8E;--color-accent-500: #AD9477;--color-accent-600: #9C8165;--color-accent-700: #876D52;--color-accent-800: #7B6047;--color-accent-900: #5F4934;--color-accent: var(--color-accent-500);--color-accent-hover: var(--color-accent-600);--color-accent-active: var(--color-accent-700);--color-accent-pressed: var(--color-accent-800);--color-accent-soft: var(--color-accent-100);--color-accent-soft-bd: var(--color-accent-200);--color-accent-strong: var(--color-accent-800);--color-bg-page: #F8F6F2;--color-bg-canvas: #F5F2ED;--color-bg-sunken: #F3EEE8;--color-bg-surface: #FFFFFF;--color-bg-surface-2: #FAF8F5;--color-bg-raised: #FFFFFF;--color-bg-hover: #F7F3EE;--color-bg-active: #EFE7DB;--color-bg-selected: #F4EEE6;--color-bg-table-header: #F0EAE0;--color-border-subtle: #E9E2D9;--color-border: #DDD2C5;--color-border-strong: #C9BAA9;--swatch-ring: rgba(0, 0, 0, .22);--color-text-primary: #3A3A3C;--color-text-secondary: #686258;--color-text-tertiary: #9A8F83;--color-text-disabled: #B8AEA3;--color-text-on-accent: #FFFFFF;--color-text-link: #876D52;--color-text-on-scrim: #FFFFFF;--color-success: #7EAF69;--color-success-soft: #EDF6EA;--color-success-border: #CFE5C8;--color-success-strong: #4C7D3A;--color-warning: #D9A441;--color-warning-soft: #FFF6E7;--color-warning-border: #F0D8A4;--color-warning-strong: #A56B00;--color-error: #D46A6A;--color-error-soft: #FDEEEE;--color-error-border: #EFC9C9;--color-error-strong: #B84E4E;--color-info: #7FA7C2;--color-info-soft: #EDF4FA;--color-info-border: #C8DCEB;--color-info-strong: #4E7B98;--color-focus-ring: #CDB396;--color-focus-ring-alpha: rgba(173, 148, 119, .4);--shadow-card: 0 1px 2px rgba(54, 44, 28, .05);--shadow-elevated: 0 4px 14px rgba(54, 44, 28, .08);--shadow-modal: 0 18px 44px rgba(40, 32, 18, .16);--color-scrim: rgba(38, 34, 26, .45);--color-neutral-100: #F1ECE3;--color-neutral-200: #E3DCCF;--color-neutral-300: #D0C5B3;--color-neutral-400: #ABA191;--color-neutral-500: #847C72;--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-caption: 11px;--font-size-small: 12px;--font-size-body: 13px;--font-size-lg: 15px;--font-size-h2: 16px;--font-size-h1: 18px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.2;--line-height-normal: 1.45;--letter-spacing-eyebrow: .06em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--transition-fast: .12s ease;--transition-base: .18s ease;--color-status-success: var(--color-success);--color-status-error: var(--color-error)}[data-theme=dark]{--color-accent-50: #1C1712;--color-accent-100: #2A231C;--color-accent-200: #463A2E;--color-accent-300: #645243;--color-accent-400: #8B735C;--color-accent-500: #AD9477;--color-accent-600: #C4AE95;--color-accent-700: #D8C8BB;--color-accent-800: #E9DFD4;--color-accent-900: #F7F2EC;--color-accent: var(--color-accent-500);--color-accent-hover: var(--color-accent-600);--color-accent-active: var(--color-accent-700);--color-accent-pressed: var(--color-accent-400);--color-accent-soft: var(--color-accent-100);--color-accent-soft-bd: var(--color-accent-200);--color-accent-strong: var(--color-accent-700);--color-bg-page: #0F0F10;--color-bg-canvas: #141516;--color-bg-sunken: #141516;--color-bg-surface: #1B1C1E;--color-bg-surface-2: #232427;--color-bg-raised: #232427;--color-bg-hover: #313338;--color-bg-active: #2B2D30;--color-bg-selected: #342D27;--color-bg-table-header: #0A0A0B;--color-border-subtle: #303236;--color-border: #3A3D42;--color-border-strong: #4A4E55;--swatch-ring: rgba(255, 255, 255, .28);--color-text-primary: #F4EFE9;--color-text-secondary: #D0C5B7;--color-text-tertiary: #A89E92;--color-text-disabled: #6E6760;--color-text-on-accent: #1B1C1E;--color-text-link: #C4AE95;--color-success: #4F9E6E;--color-success-soft: #142319;--color-success-border: #245034;--color-success-strong: #BCE3C9;--color-warning: #D3A64C;--color-warning-soft: #2C2418;--color-warning-border: #8A6C2B;--color-warning-strong: #F4D89A;--color-error: #D87268;--color-error-soft: #2A1818;--color-error-border: #9E4F4B;--color-error-strong: #F0B9B5;--color-info: #6A9FC3;--color-info-soft: #18242E;--color-info-border: #45647E;--color-info-strong: #B9D4EA;--color-focus-ring: #C4AE95;--color-focus-ring-alpha: rgba(196, 174, 149, .45);--color-neutral-100: #232427;--color-neutral-200: #2B2D30;--color-neutral-300: #463A2E;--color-neutral-400: #8B735C;--color-neutral-500: #A89E92;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4);--shadow-elevated: 0 6px 18px rgba(0, 0, 0, .45);--shadow-modal: 0 20px 48px rgba(0, 0, 0, .6);--color-scrim: rgba(0, 0, 0, .62)}:root{font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-bg-page)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}body{margin:0}#root canvas~div{z-index:10!important}#root canvas~div div{z-index:10!important}@keyframes masko-spin{to{transform:rotate(360deg)}}.masko-spinner{width:24px;height:24px;border:2.5px solid var(--color-accent-soft, #ecd9c4);border-top-color:var(--color-accent, #e0833a);border-radius:50%;animation:masko-spin .7s linear infinite}.wall__label{background:var(--color-scrim);color:var(--color-text-on-scrim);padding:4px 10px;border-radius:4px;font-size:14px;font-weight:700;white-space:nowrap;pointer-events:none}[data-theme=dark] .wall__label{background:#ffffffeb;color:#2f2923}.model-glb__measurement-label{color:var(--color-text-primary);font-size:11px;white-space:nowrap;pointer-events:none}.model-glb__measurement-label--bold{font-weight:700}.model-glb__interactive-label{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:var(--shadow-elevated)}.model-glb__name-label{color:var(--color-text-primary);font-size:10px;white-space:nowrap;pointer-events:none;letter-spacing:.02em}.model-glb__size-label{background:var(--color-info);color:var(--color-text-on-accent);padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;font-weight:700}.variant-resize-arrow{width:36px;height:36px;border-radius:50%;border:2px solid var(--color-info);background:var(--color-bg-raised);color:var(--color-info);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-elevated);transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;pointer-events:all}.variant-resize-arrow:hover{background:var(--color-info);color:var(--color-text-on-accent)}.ant-popover-content{max-width:320px}.ant-popover-content button:not(.ant-btn){background-color:transparent;border:1px solid var(--color-border);margin:0;cursor:pointer}.user-menu{position:relative;margin-left:auto;display:flex;align-items:center}.user-menu__trigger{width:30px;height:30px;border-radius:50%;border:none;background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background var(--transition-fast)}.user-menu__trigger:hover{background:var(--color-accent-hover)}.user-menu__avatar{font-size:15px;font-weight:700;line-height:1}.user-menu__dropdown{position:fixed;top:46px;right:8px;z-index:1001;width:260px;background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);padding:8px 0;animation:userMenuFadeIn .15s ease}.user-menu__account{display:flex;align-items:center;gap:10px;padding:12px 16px}.user-menu__account-icon{font-size:36px;color:var(--color-text-tertiary);flex-shrink:0}.user-menu__account-info{display:flex;flex-direction:column;min-width:0}.user-menu__account-name{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__account-email{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__status{display:flex;align-items:center;gap:6px;padding:4px 16px 8px;font-size:12px;color:var(--color-text-secondary)}.user-menu__status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.user-menu__divider{height:1px;background:var(--color-border-subtle);margin:4px 0}.user-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 16px;border:none;background:none;font-size:13px;color:var(--color-text-primary);cursor:pointer;text-align:left}.user-menu__item svg{font-size:17px;color:var(--color-text-tertiary)}.user-menu__item:hover{background:var(--color-bg-hover)}.user-menu__item--danger{color:var(--color-error)}.user-menu__item--danger svg{color:var(--color-error)}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:transparent;border-radius:var(--radius-sm, 8px);cursor:pointer;color:var(--color-text-primary, #3A3A3C);transition:background var(--transition-fast, .15s)}.theme-toggle svg{font-size:18px;color:inherit;display:block}.theme-toggle:hover{background:var(--color-bg-hover, #F7F3EE)}.top-bar-wrapper{z-index:2;position:absolute;top:0;left:0;display:flex;align-items:center;height:40px;padding:0 var(--space-2);background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);width:100%;box-shadow:var(--shadow-card)}.top-bar-wrapper .tob-bar-item{border:none;background-color:transparent;padding:0;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.top-bar-wrapper .tob-bar-item svg{color:var(--color-text-primary);font-size:16px}.top-bar-wrapper .tob-bar-item:hover{background-color:var(--color-bg-hover)}.top-bar-wrapper .tob-bar-item.active{background-color:var(--color-accent-soft)}.top-bar-wrapper .tob-bar-item.active svg{color:var(--color-text-primary)}.top-bar-wrapper .top-bar-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-1)}.top-bar-wrapper .top-bar-right .user-menu{margin-left:0}.top-bar-wrapper .header-dropdowns{display:flex;align-items:center;margin-left:var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--color-border-subtle);gap:2px}.top-bar-wrapper .header-dropdowns .tob-bar-item--menu{width:auto;padding:0 4px}.top-bar-wrapper .header-dropdowns .tob-bar-item--menu svg:last-child{font-size:18px;margin-left:-2px;opacity:.7}.top-bar-wrapper .opacity-slider-group{display:flex;align-items:center;margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--color-border-subtle);gap:var(--space-2)}.top-bar-wrapper .opacity-slider-group label{color:var(--color-text-secondary);font-size:var(--font-size-caption);white-space:nowrap}.top-bar-wrapper .opacity-slider-group input[type=range]{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-border-subtle);border-radius:2px;cursor:pointer}.top-bar-wrapper .opacity-slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-accent);border-radius:50%;cursor:pointer}.top-bar-wrapper .opacity-slider-group input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--color-accent);border-radius:50%;cursor:pointer;border:none}.top-bar-wrapper .opacity-slider-group span{color:var(--color-text-secondary);font-size:var(--font-size-caption);min-width:32px}.camera-snapshot-popover{display:flex;flex-direction:column;max-width:240px}.camera-snapshot-popover__text{color:var(--color-text-secondary);font-size:var(--font-size-small);line-height:1.5}.camera-snapshot-popover__btn{margin-top:var(--space-3);align-self:flex-start;background:var(--color-accent);color:var(--color-text-on-accent, #fff);border:none;border-radius:var(--radius-pill);padding:7px 18px;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.camera-snapshot-popover__btn:hover{background:var(--color-accent-hover)}.header-menu{display:flex;flex-direction:column;min-width:210px;gap:2px}.header-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;border:none;background:transparent;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-primary);font-size:var(--font-size-small);text-align:left;transition:background var(--transition-fast)}.header-menu__item:hover{background:var(--color-bg-hover)}.header-menu__item.is-active{background:var(--color-accent-soft)}.header-menu__item svg{font-size:16px;color:var(--color-text-primary)}.header-menu__icon{display:inline-flex}.header-menu__label{display:inline-flex;align-items:center;gap:var(--space-2);flex:1}.header-menu__badge{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-pill);padding:1px 7px}.header-menu__check{color:var(--color-accent)}.ultra-readiness{display:inline-flex;align-items:center;gap:5px}.ultra-readiness__track{width:42px;height:5px;background:var(--color-border-subtle);border-radius:3px;overflow:hidden}.ultra-readiness__fill{display:block;height:100%;border-radius:3px}.ultra-readiness__pct{font-size:10px;color:var(--color-text-secondary);min-width:30px;text-align:right}.ultra-readiness--good .ultra-readiness__fill{background:#2ecc71}.ultra-readiness--ok .ultra-readiness__fill{background:#f1c40f}.ultra-readiness--poor .ultra-readiness__fill{background:#e74c3c}.model-actions-toolbar{position:absolute;top:48px;left:50%;transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:2px;padding:4px 10px;background:var(--color-bg-canvas);border-radius:8px;box-shadow:var(--shadow-elevated);-webkit-user-select:none;user-select:none}.mat-handle{display:flex;align-items:center;padding:0 4px;cursor:grab;color:var(--color-text-tertiary);transition:color .15s}.mat-handle:active{cursor:grabbing}.mat-handle:hover{color:var(--color-text-secondary)}.mat-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--color-text-secondary);font-size:14px;transition:background .15s,color .15s}.mat-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.mat-btn--active{background:var(--color-info-soft);color:var(--color-info-strong)}.mat-btn--active:hover:not(:disabled){background:var(--color-info-soft)}.mat-btn--disabled,.mat-btn:disabled{opacity:.3;cursor:not-allowed}.mat-btn--danger{color:var(--color-error)}.mat-btn--danger:hover:not(:disabled){background:var(--color-error-soft);color:var(--color-error-strong)}.mat-divider{width:1px;height:16px;background:var(--color-border);margin:0 4px;flex-shrink:0}.project-structure{position:fixed;top:56px;right:var(--space-4);z-index:10;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);-webkit-user-select:none;user-select:none;overflow:hidden;color:var(--color-text-primary)}.project-structure__resize-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:ew-resize;border-radius:var(--radius-md) 0 0 var(--radius-md)}.project-structure__resize-handle:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-9px);width:3px;height:3px;border-radius:50%;background:var(--color-border-strong);box-shadow:0 6px 0 var(--color-border-strong),0 12px 0 var(--color-border-strong),0 18px 0 var(--color-border-strong)}.project-structure__resize-handle:hover,.project-structure__resize-handle:active{background:var(--color-bg-hover)}.project-structure__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);cursor:pointer;color:var(--color-text-primary);transition:background var(--transition-fast);border-bottom:1px solid var(--color-border-subtle)}.project-structure__header:hover{background:var(--color-bg-hover)}.project-structure__icon{font-size:18px;flex-shrink:0;color:var(--color-text-secondary)}.project-structure__title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);flex:1;letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-primary)}.project-structure__count{font-size:var(--font-size-caption);color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:var(--radius-pill);padding:1px 8px;line-height:18px;font-weight:var(--font-weight-medium)}.project-structure__chevron{font-size:18px;color:var(--color-text-secondary);flex-shrink:0}.project-structure__list{height:0;overflow:hidden;transition:height .2s ease}.project-structure__list-inner{padding:var(--space-2);display:flex;flex-direction:column;gap:2px;max-height:520px;overflow-y:auto;scrollbar-gutter:stable}.project-structure__list-inner::-webkit-scrollbar{width:4px}.project-structure__list-inner::-webkit-scrollbar-track{background:transparent}.project-structure__list-inner::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}.project-structure__empty{font-size:var(--font-size-body);color:var(--color-text-secondary);text-align:center;padding:var(--space-3) 0}.project-structure__item{display:flex;align-items:flex-start;width:100%;padding:var(--space-2) var(--space-3);gap:var(--space-3);border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast)}.project-structure__item:hover{background:var(--color-bg-hover)}.project-structure__item--active{background:var(--color-bg-selected);border-color:var(--color-accent)}.project-structure__item--active .project-structure__item-name{color:var(--color-text-primary)}.project-structure__item--active:hover{background:var(--color-accent-soft)}.project-structure__thumb{width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--color-bg-page);border:1px solid var(--color-border-subtle);overflow:hidden;display:flex;align-items:center;justify-content:center}.project-structure__thumb img{width:100%;height:100%;object-fit:contain}.project-structure__thumb .ant-spin{font-size:14px}.project-structure__item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding-top:2px}.project-structure__item-name{font-size:var(--font-size-body);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:var(--line-height-tight);font-weight:var(--font-weight-medium)}.project-structure__item-count{flex-shrink:0;align-self:center;min-width:22px;height:22px;border-radius:var(--radius-pill);background:var(--color-bg-hover);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;padding:0 8px}.project-structure__item-meta{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-structure__segs{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-1)}.project-structure__seg{font-size:var(--font-size-caption);color:var(--color-text-secondary);background:var(--color-bg-page);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:1px 6px;white-space:nowrap}.project-structure__group-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3) var(--space-1)}.project-structure__subgroup-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-5);letter-spacing:.02em}.project-structure__group-label--sub{font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-4);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow)}.project-structure__item--sub{padding-left:var(--space-4);cursor:default}.project-structure__item--sub .project-structure__item-name{font-size:var(--font-size-caption)}.project-structure__item--sub:is(button){cursor:pointer}.project-structure__materials{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-1)}.project-structure__material-tag{display:flex;align-items:center;gap:4px;background:var(--color-bg-page);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:2px 6px 2px 4px}.project-structure__material-tag--top .project-structure__material-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-border-strong);flex-shrink:0}.project-structure__material-swatch{width:10px;height:10px;border-radius:2px;border:1px solid var(--color-border-subtle);flex-shrink:0}.project-structure__material-name{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.masko-toast.ant-notification-notice{width:440px;padding:20px 22px;border-radius:20px;border:1px solid transparent;box-shadow:var(--shadow-elevated);background-repeat:no-repeat;background-position:right -10px bottom -6px;background-size:auto 92%;overflow:hidden}.masko-toast.ant-notification-notice .ant-notification-notice-message{margin:0}.masko-toast.ant-notification-notice .ant-notification-notice-close{top:16px;inset-inline-end:16px;color:var(--color-text-tertiary)}.masko-toast__head{display:flex;align-items:center;gap:16px;padding-right:120px}.masko-toast__icon{flex:0 0 auto;line-height:0}.masko-toast__icon img{width:52px;height:52px;display:block}.masko-toast__desc{margin-top:8px;margin-inline-start:68px;padding-right:120px;max-width:300px;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.masko-toast__desc--inline{margin:0;padding-right:0}.masko-toast__title{font-size:19px;font-weight:600;letter-spacing:.2px}.masko-toast__rule{width:32px;height:2px;border-radius:2px;margin-top:8px;opacity:.55}.masko-toast--success{border-color:var(--color-success-border);background-color:var(--color-success-soft);background-image:linear-gradient(to left,transparent 35%,var(--color-success-soft) 78%),url(/notifications/furniture-success.png)}.masko-toast--success .masko-toast__title{color:var(--color-success-strong)}.masko-toast--success .masko-toast__rule{background:var(--color-success)}.masko-toast--info{border-color:var(--color-info-border);background-color:var(--color-info-soft);background-image:linear-gradient(to left,transparent 35%,var(--color-info-soft) 78%),url(/notifications/furniture-info.png)}.masko-toast--info .masko-toast__title{color:var(--color-info-strong)}.masko-toast--info .masko-toast__rule{background:var(--color-info)}.masko-toast--warning{border-color:var(--color-warning-border);background-color:var(--color-warning-soft);background-image:linear-gradient(to left,transparent 35%,var(--color-warning-soft) 78%),url(/notifications/furniture-warning.png)}.masko-toast--warning .masko-toast__title{color:var(--color-warning-strong)}.masko-toast--warning .masko-toast__rule{background:var(--color-warning)}.masko-toast--error{border-color:var(--color-error-border);background-color:var(--color-error-soft);background-image:linear-gradient(to left,transparent 35%,var(--color-error-soft) 78%),url(/notifications/furniture-error.png)}.masko-toast--error .masko-toast__title{color:var(--color-error-strong)}.masko-toast--error .masko-toast__rule{background:var(--color-error)}.masko-toast--error.ant-notification-notice{width:auto;min-width:440px;max-width:640px}.masko-toast--error .masko-toast__desc{max-width:520px}.masko-toast--loading{width:320px;border-color:var(--color-border-subtle);background-color:var(--color-bg-surface);background-image:none}.masko-toast--loading .ant-notification-notice-message,.masko-toast--loading .ant-notification-notice-description{padding-right:0}.masko-toast__title-wrap{display:inline-flex;flex-direction:column}.masko-toast__spinner{width:22px;height:22px;display:inline-block;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:masko-toast-spin .8s linear infinite}@keyframes masko-toast-spin{to{transform:rotate(360deg)}}.fps-stats{position:fixed;right:12px;bottom:12px;z-index:10000;padding:8px 14px;background:#000000b8;color:#79e07a;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.02em;border-radius:8px;white-space:pre;text-align:left;pointer-events:none;-webkit-user-select:none;user-select:none}.room-configurator-wrapper{width:100%;height:100%}.room-configurator-wrapper.dragging-door{cursor:crosshair!important}.room-configurator-wrapper.dragging-door canvas{cursor:crosshair!important}.eyebrow{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;line-height:var(--line-height-tight)}.eyebrow--nowrap{white-space:nowrap}.menu-block-wrapper{background:var(--color-bg-surface);padding:var(--space-4) var(--space-3);min-width:402px;height:100%;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color var(--transition-base)}.menu-block-wrapper:hover{scrollbar-color:var(--color-border-strong) transparent}.menu-block-wrapper::-webkit-scrollbar{width:6px}.menu-block-wrapper::-webkit-scrollbar-track{background:transparent}.menu-block-wrapper::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-pill);transition:background var(--transition-base)}.menu-block-wrapper:hover::-webkit-scrollbar-thumb{background:var(--color-border-strong)}.menu-block-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.menu-block-wrapper .menu-block-title-wrapper{display:flex;align-items:center;gap:var(--space-3);margin-block:var(--space-4) var(--space-2);padding:var(--space-1) var(--space-2);width:100%;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:inherit;transition:background var(--transition-fast)}.menu-block-wrapper .menu-block-title-wrapper:first-child{margin-top:0}.menu-block-wrapper .menu-block-title-wrapper:hover{background:var(--color-bg-hover)}.menu-block-wrapper .menu-block-title-wrapper .title-line{display:block;height:1px;flex:1;border:none;background:var(--color-border-subtle)}.menu-block-wrapper .menu-block-title-wrapper .chevron{font-size:16px;color:var(--color-text-secondary);flex-shrink:0;transition:transform var(--transition-base)}.menu-block-wrapper .menu-block-title-wrapper.is-collapsed .chevron{transform:rotate(-90deg)}.menu-block-wrapper .menu-block-items{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--transition-base)}.menu-block-wrapper .menu-block-items.is-collapsed{grid-template-rows:0fr}.menu-block-wrapper .menu-block-items-inner{overflow:hidden;min-height:0}.menu-block-wrapper .menu-block-button{background-color:transparent;border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);cursor:pointer;color:var(--color-text-primary);display:flex;align-items:center;width:100%;transition:background var(--transition-fast)}.menu-block-wrapper .menu-block-button:hover{background-color:var(--color-bg-hover)}.menu-block-wrapper .menu-block-button:hover .icon>svg{opacity:1;color:var(--color-text-primary)}.menu-block-wrapper .menu-block-button .icon{display:flex;justify-content:center;align-items:center;min-width:28px;margin-right:var(--space-3)}.menu-block-wrapper .menu-block-button .icon>svg{font-size:20px;color:var(--color-text-primary);opacity:.85}.menu-block-wrapper .menu-block-button .text-wrapper{width:100%;text-align:left}.menu-block-wrapper .menu-block-button .text-wrapper .title{text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.menu-block-wrapper .menu-block-button .text-wrapper .title:not(:has(+.description)){margin:0}.menu-block-wrapper .menu-block-button .text-wrapper .description{font-size:var(--font-size-caption);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.new-project-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--color-scrim, rgba(31, 28, 24, .45))}.new-project-modal{background:var(--color-bg-surface, #ffffff);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-card, 0 18px 48px rgba(60, 50, 40, .18));padding:28px;width:420px;max-width:calc(100vw - 32px)}.new-project-modal__title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text-primary, #2b2b2b)}.new-project-modal__text{margin:0 0 24px;font-size:14px;line-height:1.5;color:var(--color-text-secondary, #6f6660)}.new-project-modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.new-project-modal__btn{padding:9px 18px;border-radius:var(--radius-pill, 999px);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.new-project-modal__btn--primary{background:var(--color-accent, #e0833a);color:var(--color-text-on-accent, #ffffff)}.new-project-modal__btn--primary:hover{background:var(--color-accent-hover, #c96f2a)}.new-project-modal__btn--secondary{background:var(--color-bg-hover, #f0ece6);color:var(--color-text-primary, #2b2b2b)}.new-project-modal__btn--secondary:hover{background:var(--color-bg-selected, #e8ddd0)}.new-project-modal__btn--ghost{background:transparent;color:var(--color-text-secondary, #6f6660);border-color:var(--color-border, #d9d2c8)}.new-project-modal__btn--ghost:hover{border-color:var(--color-text-secondary, #6f6660)}.menu-item-list{display:flex;flex-direction:column;width:100%;gap:var(--space-1)}.menu-item-list__entry{border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);text-align:left;padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--font-size-body);color:var(--color-text-primary);border-radius:var(--radius-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.menu-item-list__entry:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.menu-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);width:100%}.menu-item{border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);display:flex;flex-direction:column;align-items:stretch;border-radius:var(--radius-md);cursor:pointer;width:100%;padding:0;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.menu-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.menu-item:hover .menu-image-wrapper img{transform:scale(1.03)}.menu-item .menu-image-wrapper{position:relative;width:100%;aspect-ratio:4/3;background:var(--color-bg-page);overflow:hidden;flex-shrink:0}.menu-item .menu-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.menu-item .menu-image-wrapper .menu-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-accent-200),var(--color-accent-400))}.menu-item .menu-item-edit{position:absolute;top:var(--space-2);right:var(--space-2);width:26px;height:26px;border-radius:var(--radius-pill);border:none;background:var(--color-bg-surface);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;padding:0;box-shadow:var(--shadow-card);transition:background var(--transition-fast)}.menu-item .menu-item-edit:hover{background:var(--color-accent-soft)}.menu-item .menu-item-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-align:left;color:var(--color-text-primary);line-height:var(--line-height-tight);word-break:break-word;padding:var(--space-2) var(--space-3)}.menu-sections{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-3) var(--space-5)}.menu-sections__empty{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-small);text-align:center}.menu-sections__heading{margin:var(--space-2) 0 0;font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em}.menu-search{position:relative;display:flex;align-items:center}.menu-search__icon{position:absolute;left:var(--space-4);color:var(--color-text-secondary);font-size:18px;pointer-events:none}.menu-search__input{width:100%;padding:12px var(--space-4) 12px calc(var(--space-4) + 24px);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.menu-search__input::placeholder{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.menu-search__input:hover{background:var(--color-bg-hover)}.menu-search__input:focus{background:var(--color-bg-surface);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring-alpha)}.menu-search__input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.menu-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.menu-tag{padding:7px var(--space-4);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.menu-tag:hover{background:var(--color-accent-soft);color:var(--color-text-primary)}.menu-tag.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--font-weight-semibold)}.menu-section{display:flex;flex-direction:column;gap:var(--space-3)}.title-wrapper{display:flex;flex-direction:column;flex-shrink:0;padding:var(--space-4) var(--space-3);gap:var(--space-3)}.title-wrapper__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.title-wrapper__name-group{display:flex;align-items:center;gap:var(--space-1);min-width:0}.title-wrapper__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.title-wrapper .canvas-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:1}.title-wrapper .back__label{font-weight:var(--font-weight-semibold)}.title-wrapper .edit-collection{display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;cursor:pointer;padding:var(--space-1);font-size:16px;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.title-wrapper .edit-collection:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.title-wrapper .back{display:inline-flex;align-items:center;gap:var(--space-2);background-color:transparent;border:none;cursor:pointer;width:fit-content;padding:0;color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.title-wrapper .back svg{font-size:18px;color:var(--color-text-secondary);transition:color var(--transition-fast),transform var(--transition-fast)}.title-wrapper .back:hover{color:var(--color-accent-hover)}.title-wrapper .back:hover svg{color:var(--color-accent);transform:translate(-2px)}.title-wrapper .back--main{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow)}.title-wrapper .back--main svg{font-size:16px}.title-wrapper .base-title{display:flex;justify-content:space-between}.title-wrapper .base-title h2{color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-h1);margin:0;-webkit-user-select:none;user-select:none}.title-wrapper .base-title .filter-used{display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;font-size:22px;cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast)}.title-wrapper .base-title .filter-used:hover{color:var(--color-text-primary)}.title-wrapper .base-title .filter-used svg{color:inherit}.functional-menu-wrapper{height:100%;width:100%;display:flex}.functional-menu-wrapper .icons-menu-wrapper{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(0deg,var(--color-bg-canvas),var(--color-bg-surface-2));z-index:1001;max-width:58px}.functional-menu-wrapper .icons-menu-wrapper button{background-color:transparent;border:none;width:58px;height:58px;display:flex;align-items:center;justify-content:center;cursor:pointer}.functional-menu-wrapper .icons-menu-wrapper button:hover svg{color:var(--color-text-primary);opacity:1}.functional-menu-wrapper .icons-menu-wrapper button.active{background-color:var(--color-bg-active)}.functional-menu-wrapper .icons-menu-wrapper button.active svg{color:var(--color-text-primary);opacity:1}.functional-menu-wrapper .icons-menu-wrapper button svg{color:var(--color-text-secondary);font-size:28px;opacity:.7}.functional-menu-wrapper .functional-menu-container{width:100%;height:100vh;display:flex;flex-direction:column}.functional-menu-wrapper .functional-menu-container .menu-sections-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;min-height:0;padding:0 20px}.menu-item-section{margin-block:24px}.menu-item-section:first-child,.menu-item-section:last-child{margin-top:0}.menu-item-section .menu-item-title{margin:0 0 12px;padding-bottom:4px;color:var(--color-text-primary);font-size:12px;text-transform:uppercase;border-bottom:1px solid;border-image:linear-gradient(to right,var(--color-border),transparent 100%) 1}.menu-item-label{color:var(--color-text-primary);font-size:12px;flex:1;text-transform:uppercase}.dimensions-wrapper{display:flex;flex-direction:column;gap:8px}.dimensions-wrapper .dimension-row{display:flex;justify-content:space-between;align-items:center}.dimensions-wrapper .dimension-input{width:120px}.base-texture-picker-wrapper{background-color:transparent;border:1px solid var(--color-border);width:100%;display:flex;align-items:center;padding:4px;cursor:pointer}.base-texture-picker-wrapper img{width:80px;height:80px;margin-right:12px;border-radius:4px}.switch-wrapper{display:flex;justify-content:space-between;margin-block:12px}.room-lighting{display:flex;flex-direction:column;gap:16px;padding:16px}.room-lighting__control{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.room-lighting__control:last-child{margin-bottom:0}.room-lighting__label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.doors__item{cursor:grab;display:inline-block;padding:12px;border-radius:8px;background:var(--color-bg-surface-2);border:2px solid transparent;transition:all .2s ease;-webkit-user-select:none;user-select:none}.doors__item:hover{background:var(--color-bg-hover);border-color:var(--color-border);transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.doors__item:active{cursor:grabbing;transform:translateY(0);box-shadow:var(--shadow-elevated)}.doors__item-image{width:80px;height:80px;object-fit:contain;pointer-events:none;display:block}.windows{padding:20px}.windows__header{margin-bottom:20px}.windows__header h3{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.windows__header p{font-size:13px;color:var(--color-text-secondary);margin:0}.windows__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.windows__item{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-bg-surface);cursor:pointer;transition:all .2s ease}.windows__item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-elevated);transform:translateY(-2px);background:var(--color-bg-hover)}.windows__item:active{transform:translateY(0)}.windows__item-icon{font-size:48px;line-height:1}.windows__item-name{font-size:14px;font-weight:500;color:var(--color-text-primary);text-align:center}.windows__item-size{font-size:12px;color:var(--color-text-tertiary);text-align:center}.kitchen-models__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-small)}.kitchen-models__empty p{margin:var(--space-1) 0}.kitchen-models__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.kitchen-models__skeleton{width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-bg-hover) 0%,var(--color-border-subtle) 50%,var(--color-bg-hover) 100%);background-size:200% 100%;animation:kitchen-models-shimmer 1.2s ease-in-out infinite}.kitchen-models__item{width:100%;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:0;cursor:grab;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.kitchen-models__item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-elevated)}.kitchen-models__item:active{cursor:grabbing}.kitchen-models__item-thumb{width:100%;aspect-ratio:4/3;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden}.kitchen-models__item-thumb img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.kitchen-models__item-name{display:block;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);padding:var(--space-2) var(--space-3);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes kitchen-models-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-header{margin-bottom:20px}.gallery-header h3{margin:0;font-size:var(--font-size-body, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #2b2b2b);letter-spacing:.01em}.gallery-header .gallery-header-actions{display:flex;gap:8px;margin-top:8px}.gallery-header .gallery-header-actions button{padding:4px 10px;font-size:12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);cursor:pointer;display:flex;align-items:center;gap:4px}.gallery-header .gallery-header-actions button:hover{border-color:var(--color-accent);color:var(--color-accent)}.gallery-header .gallery-header-actions .clear-all-btn{color:var(--color-error);border-color:var(--color-error)}.gallery-header .gallery-header-actions .clear-all-btn:hover{background:var(--color-error-soft)}.gallery-grid .screenshot-card{position:relative;margin-bottom:12px;border:1px solid var(--color-border-strong);padding:4px}.gallery-grid .screenshot-card img{width:100%;cursor:pointer}.gallery-grid .screenshot-card button{background-color:transparent;border:none;padding:0;cursor:pointer}.gallery-grid .screenshot-card button svg{color:var(--color-text-on-accent);font-size:20px}.gallery-grid .screenshot-card:hover .screenshot-actions-wrapper{display:flex}.gallery-grid .screenshot-card .screenshot-actions-wrapper{display:none;justify-content:space-between;align-items:center;position:absolute;top:0;left:0;width:100%;background-color:var(--color-scrim);padding:4px}.gallery-grid .screenshot-card .screenshot-actions-wrapper .view-name{color:var(--color-text-on-accent);font-size:12px}.gallery-grid .screenshot-card .screenshot-actions-wrapper .screenshot-actions button{margin-right:10px}.gallery-grid .screenshot-card .screenshot-actions-wrapper .screenshot-actions button:last-child{margin-right:unset}.screenshot-lightbox{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-scrim);z-index:10000;display:flex;align-items:center;justify-content:center}.screenshot-lightbox__content{background:var(--color-bg-surface);border-radius:8px;width:90vw;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.screenshot-lightbox__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle)}.screenshot-lightbox__header h3{margin:0}.screenshot-lightbox__header-actions{display:flex;gap:8px;align-items:center}.screenshot-lightbox__header-actions button{padding:6px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);cursor:pointer;display:flex;align-items:center;gap:4px;font-size:13px}.screenshot-lightbox__header-actions button:hover{border-color:var(--color-accent);color:var(--color-accent)}.screenshot-lightbox__header-actions .close-btn{border:none;padding:6px}.screenshot-lightbox__header-actions .close-btn svg{font-size:20px}.screenshot-lightbox__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px;overflow-y:auto;scrollbar-gutter:stable}.screenshot-lightbox__item{border:1px solid var(--color-border-subtle);border-radius:6px;overflow:hidden}.screenshot-lightbox__item img{width:100%;display:block}.screenshot-lightbox__item-actions{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-bg-sunken)}.screenshot-lightbox__item-actions span{font-size:13px;color:var(--color-text-secondary)}.screenshot-lightbox__item-actions button{background:none;border:none;cursor:pointer;padding:4px}.screenshot-lightbox__item-actions button svg{font-size:18px;color:var(--color-text-secondary)}.screenshot-lightbox__item-actions button svg:hover{color:var(--color-accent)}.empty-state{grid-column:1/-1;padding:28px 16px;text-align:center;font-size:var(--font-size-small, 13px);line-height:1.5;color:var(--color-text-tertiary, #9a8f85)}.my-projects{max-height:calc(100vh - 60px);overflow-y:auto;scrollbar-gutter:stable}.my-projects::-webkit-scrollbar{width:3px}.my-projects::-webkit-scrollbar-track{background:transparent}.my-projects::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.my-projects::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.my-projects{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.my-projects--loading{display:flex;justify-content:center;padding:40px 0}.my-projects__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:4px}.my-projects__card{margin-bottom:8px}.my-projects__card .ant-card-body{padding:12px}.my-projects__card--active{border-color:var(--color-info);background:var(--color-info-soft)}.my-projects__card--selected{border-color:var(--color-error);background:var(--color-error-soft)}.my-projects__checkbox{flex-shrink:0}.my-projects__card-content{display:flex;gap:12px;align-items:center}.my-projects__thumbnail{width:64px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.my-projects__no-thumbnail{width:64px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-sunken);border-radius:4px;color:var(--color-text-tertiary);font-size:20px;flex-shrink:0}.my-projects__info{flex:1;min-width:0}.my-projects__name{font-weight:500;font-size:14px;margin-bottom:4px;display:flex;align-items:center}.my-projects__meta{display:flex;gap:12px;margin-bottom:4px;font-size:12px}.project-documents{padding:12px;display:flex;flex-direction:column;gap:12px}.project-documents__card{border:1px solid var(--color-border, #e5e5e5);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--color-bg-container, #fff)}.project-documents__title{font-weight:600;font-size:14px}.project-documents__hint{font-size:12px;color:var(--color-text-tertiary, #8c8c8c);line-height:1.4}.project-documents__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--color-border, #d9d9d9);background:var(--color-bg-container, #fff);color:inherit;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.project-documents__btn svg{font-size:16px;flex:none}.project-documents__btn:hover:not(:disabled){border-color:var(--color-primary, #b1763d);color:var(--color-primary, #b1763d)}.project-documents__btn:disabled{opacity:.55;cursor:default}.project-documents__btn--primary{background:var(--color-primary, #b1763d);border-color:var(--color-primary, #b1763d);color:#fff}.project-documents__btn--primary:hover:not(:disabled){background:var(--color-primary-hover, #9c6531);color:#fff}.project-documents__btn-trail{margin-left:auto;opacity:.7}.image-carousel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--color-scrim);display:flex;align-items:center;justify-content:center}.image-carousel__close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;transition:background .15s}.image-carousel__close:hover{background:#ffffff4d}.image-carousel__toolbar{position:absolute;top:20px;left:20px;display:flex;gap:8px;z-index:1}.image-carousel__toolbar-btn{padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:transparent;color:#fff;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;transition:border-color .15s}.image-carousel__toolbar-btn:hover{border-color:#fff}.image-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:1}.image-carousel__arrow:hover{background:#ffffff4d}.image-carousel__arrow--left{left:24px}.image-carousel__arrow--right{right:24px}.image-carousel__img-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:60px 100px}.image-carousel__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.image-carousel__counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:13px}.model-info{display:flex;flex-direction:column;gap:var(--space-3);font-family:var(--font-family);color:var(--color-text-primary)}.model-info__card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4)}.model-info__top{display:flex;gap:var(--space-3);align-items:flex-start}.model-info__meta{flex:1;min-width:0}.model-info__eyebrow{font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.model-info__name{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);margin:3px 0 2px;word-break:break-word}.model-info__sku{font-size:var(--font-size-small);color:var(--color-text-secondary)}.model-info__thumb{width:82px;height:82px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-bg-hover);position:relative;overflow:hidden}.model-info__thumb img{width:100%;height:100%;object-fit:contain;display:block}.model-info__play-icon{position:absolute;top:var(--space-1);right:var(--space-1);width:26px;height:26px;border-radius:var(--radius-pill);border:none;background:var(--color-scrim);color:var(--color-text-on-scrim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--transition-fast)}.model-info__play-icon:hover{background:var(--color-accent)}.model-info__chips{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.model-info__chip{flex:1;background:var(--color-bg-page);border:1px solid var(--color-accent-soft);border-radius:var(--radius-md);padding:var(--space-2) var(--space-1);text-align:center;min-width:0}.model-info__chip-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.model-info__chip-unit{font-size:9px;color:var(--color-accent-hover);margin-left:1px}.model-info__chip-key{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:1px}.model-info__block{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3) var(--space-4)}.model-info__block-label{font-size:var(--font-size-small);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-3)}.model-info__seg{display:flex;flex-wrap:wrap;gap:5px}.model-info__seg-opt{padding:6px 13px;border-radius:var(--radius-pill);font-size:var(--font-size-small);color:var(--color-text-secondary);background:var(--color-bg-selected);border:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.model-info__seg-opt:hover{background:var(--color-accent-soft)}.model-info__seg-opt--active{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-card)}.model-info__seg-opt--active:hover{background:var(--color-accent-hover)}.model-info__anim{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-bg-selected);color:var(--color-accent-hover);border:1px solid var(--color-accent-soft);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;width:100%;transition:background var(--transition-fast)}.model-info__anim:hover{background:var(--color-accent-soft)}.model-info__anim-play{width:20px;height:20px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-text-on-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.model-info__equip{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-2);transition:background var(--transition-fast),border-color var(--transition-fast)}.model-info__equip--active{border-color:var(--color-accent);background:var(--color-bg-selected)}.model-info__equip--clickable{cursor:pointer}.model-info__equip-thumb{width:62px;height:50px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-bg-page);object-fit:contain}.model-info__equip-thumb>div{width:100%;height:100%}.model-info__equip-info{flex:1;min-width:0}.model-info__equip-tag{font-size:var(--font-size-caption);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent-hover);font-weight:var(--font-weight-semibold)}.model-info__equip-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-info__equip-sku{font-size:var(--font-size-small);color:var(--color-text-secondary)}.model-info__equip-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.model-info__equip-pick{width:88px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);border:1.5px solid transparent;border-radius:var(--radius-md);padding:var(--space-1);background:var(--color-bg-page)}.model-info__equip-pick img,.model-info__equip-pick>div{width:76px;height:76px;object-fit:contain}.model-info__equip-pick span{font-size:var(--font-size-caption);text-align:center;color:var(--color-text-secondary);word-break:break-word}.model-info__equip-pick--active{border-color:var(--color-accent);background:var(--color-bg-selected)}.model-info__sections{display:flex;flex-direction:column;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.model-info__sections .model-info__equip{margin-bottom:var(--space-2)}.model-info__equipment{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.model-info__equipment:empty{display:none}.model-info__drawer-trigger{display:flex;align-items:center;gap:var(--space-3);background:none;padding:0 var(--space-4);height:50px;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-bottom:1px solid var(--color-border-subtle);width:100%;transition:background var(--transition-fast)}.model-info__drawer-trigger:hover{background:var(--color-bg-hover)}.model-info__drawer-trigger:last-child{border-bottom:none}.model-info__drawer-trigger-label{flex:1;text-align:left;letter-spacing:0;text-transform:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.model-info__drawer-trigger-icon{font-size:var(--font-size-small);color:var(--color-accent-hover);display:flex;align-items:center;justify-content:center}.model-info__sec-preview{font-size:var(--font-size-small);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.model-info__sec-swatch{width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);flex-shrink:0}.model-info__section-placeholder{min-height:40px}.model-info__choice-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.model-info__choice-row .label{flex:1;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.model-info__seg-btn{width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.model-info__seg-btn--active{border-color:var(--color-accent);background:var(--color-bg-selected);color:var(--color-accent-hover)}.model-info__handles{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2)}.model-info__handle-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--color-bg-page);border-radius:var(--radius-md);border:1.5px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}.model-info__handle-item--clickable{cursor:pointer}.model-info__handle-item--clickable:hover{background:var(--color-bg-hover)}.model-info__handle-item--active{background:var(--color-bg-selected);border-color:var(--color-accent)}.model-info__handle-img{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:var(--radius-sm)}.model-info__handle-info{display:flex;flex-direction:column;gap:2px;min-width:0}.model-info__handle-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-info__handle-sku{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.model-info__colors{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-2)}.model-info__material{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);border:1.5px solid transparent}.model-info__material--clickable{cursor:pointer}.model-info__material--clickable:hover{background:var(--color-bg-hover)}.model-info__material--selected{border-color:var(--color-accent);background:var(--color-bg-selected)}.model-info__color-swatch{display:inline-block;width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);flex-shrink:0}.model-info__material-name{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:var(--font-weight-medium);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-info__material-sku{font-size:var(--font-size-caption);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.model-pos{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0 var(--space-3)}.model-pos__bound{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-eyebrow);color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:2px}.model-pos__axis-labels{display:flex;justify-content:space-between;font-size:var(--font-size-caption);color:var(--color-text-secondary);padding:0 2px}.model-pos__inputs{display:flex;gap:var(--space-2)}.model-pos__input{display:flex;align-items:center;gap:var(--space-1);flex:1;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:2px 6px;background:var(--color-bg-surface)}.model-pos__input:focus-within{border-color:var(--color-accent)}.model-pos__input input{flex:1;border:none;outline:none;font-size:var(--font-size-body);color:var(--color-text-primary);width:0;min-width:0;background:transparent}.model-pos__input input::-webkit-inner-spin-button,.model-pos__input input::-webkit-outer-spin-button{-webkit-appearance:none}.model-pos__input input{-moz-appearance:textfield}.model-pos__input--rot{flex:0 0 auto;width:90px}.model-pos__arrow{font-size:var(--font-size-small);color:var(--color-text-secondary);flex-shrink:0;-webkit-user-select:none;user-select:none}.model-pos__rot-label{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin-top:2px}.model-pos__rot-row{display:flex;align-items:center;gap:var(--space-2)}.model-pos__presets{display:flex;gap:var(--space-1)}.model-pos__mirror{margin-top:var(--space-2);width:100%;height:32px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--font-size-body, 13px);transition:background .15s,border-color .15s}.model-pos__mirror:hover{background:var(--color-bg-sunken);border-color:var(--color-accent)}.model-pos__mirror-icon{font-size:16px;line-height:1}.model-pos__preset{width:28px;height:28px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.model-pos__preset--active{background:var(--color-text-primary);border-color:var(--color-text-primary)}.model-pos__preset--active .model-pos__preset-icon{border-color:var(--color-bg-surface)}.model-pos__preset-icon{display:block;width:10px;height:10px;border:2px solid var(--color-text-primary);border-radius:1px}.collapse{margin-bottom:0}.collapse.open .collapse-header .icon>svg{transform:rotate(90deg)}.collapse.open .collapse-header{border-bottom-color:transparent}.collapse:hover .collapse-header{background:var(--color-bg-hover)}.collapse .collapse-header{display:flex;align-items:center;gap:var(--space-3);background:none;padding:0 var(--space-4);height:50px;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle)}.collapse .collapse-header .title{flex:1;width:auto;text-align:left;letter-spacing:0;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);order:1}.collapse .collapse-header .icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;order:3;color:var(--color-accent-hover)}.collapse .collapse-header .icon svg{font-size:10px;transition:transform .2s ease-in-out}.collapse .collapse-header .collapse-badge{flex-shrink:0;order:2;min-width:16px;height:16px;padding:0 8px;border-radius:var(--radius-pill);background:var(--color-bg-selected);color:var(--color-accent-hover);font-size:var(--font-size-caption);font-weight:600;display:flex;align-items:center;justify-content:center;letter-spacing:0}.collapse .collapse-content{height:0;overflow:hidden;transition:height .2s ease-in-out}.collapse .collapse-content .collapse-content-inner{padding:var(--space-3) var(--space-4)}.ant-drawer.materials-drawer-root.ant-drawer-left .ant-drawer-content-wrapper{left:0}.ant-drawer.materials-drawer-root .ant-drawer-body{overflow:hidden;display:flex;flex-direction:column}.ant-drawer.materials-drawer-root .ant-tabs{flex:1;min-height:0}.ant-drawer.materials-drawer-root .ant-tabs-content,.ant-drawer.materials-drawer-root .ant-tabs-tabpane{height:100%}.swatch-catalog__preview-sw--glossy,.swatch-catalog__sw--glossy{background-image:linear-gradient(135deg,#fff9,#ffffff24 34%,#fff0 55%)}.swatch-catalog{display:flex;align-items:stretch;gap:14px;height:100%;min-height:0}.swatch-catalog__main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.swatch-catalog__controls{flex-shrink:0;display:flex;flex-direction:column;gap:10px}.swatch-catalog__finish{display:flex;gap:6px}.swatch-catalog__finish-btn{flex:1;padding:7px 10px;border:1.5px solid var(--color-border);border-radius:6px;background:var(--color-bg-sunken);color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.swatch-catalog__finish-btn--active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.swatch-catalog__search{width:100%;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;outline:none;box-sizing:border-box;background:var(--color-bg-sunken);color:var(--color-text-primary)}.swatch-catalog__search::placeholder{color:var(--color-text-secondary)}.swatch-catalog__search:focus{border-color:var(--color-accent)}.swatch-catalog__count{font-size:12px;color:var(--color-text-secondary)}.swatch-catalog__grid{flex:1;min-height:0;overflow-y:auto;align-content:start;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.swatch-catalog__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:6px;border:1.5px solid transparent;cursor:pointer}.swatch-catalog__item:hover{background:var(--color-bg-page)}.swatch-catalog__item--selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.swatch-catalog__sw{width:100%;aspect-ratio:1.5;border-radius:4px;border:1px solid var(--swatch-ring);object-fit:cover}.swatch-catalog__code{font-size:12px;font-weight:600;color:var(--color-text-primary)}.swatch-catalog__name{font-size:11px;color:var(--color-text-secondary);text-align:center;line-height:1.2}.swatch-catalog__empty{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:24px 0}.swatch-catalog__aside{width:170px;flex-shrink:0}.swatch-catalog__hint{display:flex;align-items:center;justify-content:center;text-align:center;min-height:170px;padding:24px 16px;border:1.5px dashed var(--color-border);border-radius:10px;font-size:13px;color:var(--color-text-secondary)}.swatch-catalog__preview{display:flex;flex-direction:column;align-items:center;gap:8px}.swatch-catalog__preview-sw{width:100%;aspect-ratio:1;border-radius:8px;border:1px solid var(--color-border-subtle);object-fit:cover}.swatch-catalog__preview-code{font-size:15px;font-weight:700;color:var(--color-text-primary)}.swatch-catalog__preview-name{font-size:12px;color:var(--color-text-secondary);text-align:center;line-height:1.25}.swatch-catalog__preview-finish{font-size:12px;color:var(--color-text-secondary)}.swatch-catalog__apply{width:100%;margin-top:4px;padding:9px 0;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.swatch-catalog__apply:hover{opacity:.85}.app-checkbox{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-body);color:var(--color-text-primary)}.app-checkbox input{position:absolute;opacity:0;width:0;height:0;margin:0}.app-checkbox__box{box-sizing:border-box;width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.app-checkbox__box:after{content:"";width:5px;height:9px;margin-top:-1px;border:solid var(--color-text-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform var(--transition-fast)}input:checked+.app-checkbox__box{background:var(--color-accent);border-color:var(--color-accent)}input:checked+.app-checkbox__box:after{transform:rotate(45deg) scale(1)}.app-checkbox:hover input:not(:disabled)+.app-checkbox__box{border-color:var(--color-accent)}input:focus-visible+.app-checkbox__box{box-shadow:0 0 0 3px var(--color-focus-ring-alpha)}.app-checkbox--disabled{opacity:.5;cursor:not-allowed}.model-section-drawer{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.model-section-drawer__toggle{grid-column:1/-1;padding:8px 0}.model-section-drawer__thickness-select{grid-column:1/-1;width:100%;padding:7px 12px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;outline:none;background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;box-sizing:border-box}.model-section-drawer__thickness-select option{background:var(--color-bg-surface);color:var(--color-text-primary)}.model-section-drawer__thickness-select:focus{border-color:var(--color-accent)}.model-section-drawer__search{grid-column:1/-1;width:100%;padding:7px 12px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;outline:none;margin-bottom:4px;box-sizing:border-box;background:var(--color-bg-sunken);color:var(--color-text-primary)}.model-section-drawer__search::placeholder{color:var(--color-text-secondary)}.model-section-drawer__search:focus{border-color:var(--color-accent)}.model-section-drawer__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;border:1.5px solid transparent;cursor:pointer}.model-section-drawer__item:hover{background:var(--color-bg-page)}.model-section-drawer__item--selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.model-section-drawer--handle-layout{display:flex;flex-direction:column;gap:8px}.model-section-drawer__handle-split{display:flex;gap:16px;align-items:flex-start}.model-section-drawer__handle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:40px;flex:1;min-width:0}.model-section-drawer__item--handle{flex-direction:column;align-items:center;padding:4px;gap:3px;position:relative}.model-section-drawer__item--handle .model-section-drawer__sku{text-align:center}.model-section-drawer__item--previewed{border-color:var(--color-accent-soft-bd);background:transparent}.model-section-drawer__preview-panel{width:200px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:10px;position:sticky;top:0}.model-section-drawer__preview-thumb{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--color-bg-page);border:1px solid var(--color-border-subtle)}.model-section-drawer__preview-sku{font-size:12px;color:var(--color-text-secondary);text-align:center}.model-section-drawer__apply-btn{width:100%;padding:8px 0;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:opacity .15s}.model-section-drawer__apply-btn:hover{opacity:.85}.model-section-drawer__handle-thumb{width:140px;height:140px;flex-shrink:0;border-radius:6px;overflow:hidden;background:transparent;box-shadow:var(--shadow-elevated)}.model-section-drawer__swatch{display:inline-block;width:28px;height:28px;border-radius:4px;border:1px solid var(--color-border-subtle);flex-shrink:0}.model-section-drawer__swatch-img{width:28px;height:28px;border-radius:4px;border:1px solid var(--color-border-subtle);flex-shrink:0;object-fit:cover}.model-section-drawer__name{font-size:14px;color:var(--color-text-primary);font-weight:500;flex:1}.model-section-drawer__sku{font-size:12px;color:var(--color-text-secondary);flex-shrink:0}.model-section-drawer__info-btn{position:absolute;top:4px;right:4px;color:var(--color-text-tertiary);font-size:13px;line-height:1;cursor:default;z-index:1}.model-section-drawer__info-btn:hover{color:var(--color-accent)}.model-section-drawer__info-popup{position:fixed;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-elevated);padding:8px 12px;font-size:12px;color:var(--color-text-primary);max-width:220px;pointer-events:auto}.model-section-drawer__empty{color:var(--color-text-tertiary);font-size:13px;text-align:center;padding:20px 0}.model-section-drawer--grouped{display:flex;flex-direction:column;gap:24px}.model-section-drawer--grouped .model-section-drawer__search{margin-bottom:0}.model-section-drawer__group{display:flex;flex-direction:column;gap:8px}.model-section-drawer__section-label{font-size:12px;font-weight:600;color:var(--color-text-tertiary);padding:4px 0;margin-top:8px}.model-section-drawer__radio-group{display:flex;gap:12px}.model-section-drawer__radio-label{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.model-section-drawer__group-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);padding-bottom:6px}.model-section-drawer__materials-btn{grid-column:1/-1;display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.model-section-drawer__materials-btn:hover{background:var(--color-bg-page)}.model-section-drawer__materials-btn--active{border-color:var(--color-accent);background:var(--color-accent-soft)}.model-section-drawer__materials-btn-sw{width:26px;height:26px;border-radius:4px;border:1px solid var(--color-border-subtle);object-fit:cover;flex-shrink:0}.model-section-drawer__materials-btn-name{flex:1;min-width:0;font-size:13px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-section-drawer__materials-btn-cta{font-size:12px;font-weight:600;color:var(--color-accent);flex-shrink:0}.model-section-drawer__seg-field{display:flex;flex-direction:column;gap:4px}.model-section-drawer__seg-label{font-size:12px;color:var(--color-text-secondary)}.model-section-drawer__seg{display:flex;gap:6px;flex-wrap:wrap}.model-section-drawer__seg-btn{flex:1;min-width:80px;padding:7px 10px;border:1.5px solid var(--color-border);border-radius:6px;background:var(--color-bg-sunken);color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.model-section-drawer__seg-btn--active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.model-section-drawer__seg-btn--disabled{opacity:.4;cursor:not-allowed}.model-section-drawer__group-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.model-section-drawer__overhang-inputs{display:flex;gap:12px}.model-section-drawer__overhang-field{display:flex;flex-direction:column;gap:4px;flex:1;font-size:13px;color:var(--color-text-primary)}.model-section-drawer__overhang-field input{width:100%;padding:7px 12px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;outline:none;box-sizing:border-box;background:var(--color-bg-sunken);color:var(--color-text-primary)}.model-section-drawer__overhang-field input::placeholder{color:var(--color-text-secondary)}.model-section-drawer__overhang-field input:focus{border-color:var(--color-accent)}.model-section-drawer--hardware{display:flex;flex-direction:column;gap:10px;padding:4px 2px}.model-section-drawer__hardware-row{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:8px;transition:border-color .12s ease,background .12s ease}.model-section-drawer__hardware-row:hover{border-color:var(--color-border);background:var(--color-bg-surface)}.model-section-drawer__hardware-row .model-section-drawer__toggle{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.model-section-drawer__hardware-row .model-section-drawer__toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.model-section-drawer__hardware-status{color:var(--color-text-secondary);font-size:13px;padding-left:26px;font-style:normal}.model-section-drawer__hardware-row .model-section-drawer__thickness-select{margin-left:26px;width:calc(100% - 26px);padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.model-section-drawer__hardware-row .model-section-drawer__thickness-select:hover{border-color:var(--color-accent)}.model-section-drawer__hardware-row .model-section-drawer__thickness-select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px var(--color-focus-ring-alpha)}.collection-edit-menu{display:flex;flex-direction:column;gap:12px}.collection-edit-menu__back{display:flex;align-items:center;gap:6px;border:none;background:none;cursor:pointer;font-size:12px;color:var(--color-text-link);padding:4px 0;text-transform:uppercase;letter-spacing:.04em}.collection-edit-menu__back:hover{opacity:.7}.collection-edit-menu__header{position:relative;height:200px;margin:0 -20px}.collection-edit-menu__media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.collection-edit-menu__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.collection-edit-menu__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}.collection-edit-menu__info-btn{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--color-bg-raised);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:default;z-index:2}.collection-edit-menu__name{font-size:16px;font-weight:700;color:var(--color-text-on-scrim);line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.8)}.collection-edit-menu__count{font-size:12px;color:var(--color-text-on-scrim);opacity:.9;text-shadow:0 1px 4px rgba(0,0,0,.8)}.collection-edit-menu__sections{display:flex;flex-direction:column;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.collection-edit-menu__drawer-trigger{display:flex;align-items:center;background:linear-gradient(to right,var(--color-accent-soft),transparent 100%);padding:4px;cursor:pointer;-webkit-user-select:none;user-select:none;height:24px;color:var(--color-text-link);border:none;width:100%;margin-bottom:10px}.collection-edit-menu__drawer-trigger:hover{background:linear-gradient(to right,var(--color-accent-soft-bd),transparent 100%)}.collection-edit-menu__drawer-trigger-label{flex:1;text-align:center;text-transform:uppercase;letter-spacing:.3px;font-size:10px}.collection-edit-menu__drawer-trigger-icon{font-size:10px;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.collection-edit-menu__section-placeholder{min-height:40px}.collection-info-popup{position:fixed;width:560px;background:var(--color-bg-raised);border-radius:8px;box-shadow:var(--shadow-elevated);z-index:9999;padding:16px;display:flex;flex-direction:column;gap:10px}.collection-info-popup__title{font-size:15px;font-weight:700;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);padding-bottom:8px}.collection-info-popup__description{font-size:12px;color:var(--color-text-secondary);line-height:1.5;margin:0}.collection-info-popup__row{display:flex;flex-direction:column;gap:4px}.collection-info-popup__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.collection-info-popup__value{display:flex;flex-direction:column;gap:4px}.collection-info-popup__text{font-size:12px;color:var(--color-text-primary)}.collection-info-popup__empty{font-size:12px;color:var(--color-text-disabled)}.collection-info-popup__tag{display:inline-block;font-size:11px;background:var(--color-bg-sunken);border-radius:4px;padding:2px 8px;color:var(--color-text-primary);margin-right:4px}.collection-info-popup__more-pictures{width:100%;padding:8px;border:1px dashed var(--color-border);border-radius:6px;background:none;cursor:pointer;font-size:12px;color:var(--color-text-primary);transition:border-color .15s,color .15s}.collection-info-popup__more-pictures:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.collection-info__swatches{display:flex;flex-direction:column;gap:4px}.collection-info__swatch-row{display:flex;align-items:center;gap:8px}.collection-info__swatch{width:16px;height:16px;border-radius:3px;border:1px solid var(--color-border-subtle);flex-shrink:0}.collection-info__swatch-name{font-size:12px;color:var(--color-text-primary)}.collection-info__ral{font-size:10px;background:var(--color-bg-sunken);border-radius:3px;padding:1px 6px;color:var(--color-text-secondary)}.collection-info__empty{font-size:12px;color:var(--color-text-disabled)}.collection-groups-panel{display:flex;flex-direction:column;height:100%;margin:0 -20px}.collection-groups-panel__header{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-4);padding:0 20px var(--space-4)}.collection-groups-panel__scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:var(--space-4);padding:0 20px 20px;scrollbar-width:thin;scrollbar-color:transparent transparent}.collection-groups-panel__scroll:hover{scrollbar-color:var(--color-border-strong) transparent}.collection-groups-panel__scroll::-webkit-scrollbar{width:6px}.collection-groups-panel__scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-pill)}.collection-groups-panel__scroll:hover::-webkit-scrollbar-thumb{background:var(--color-border-strong)}.collection-groups-panel__search{position:relative;display:flex;align-items:center}.collection-groups-panel__search-icon{position:absolute;left:var(--space-4);color:var(--color-text-secondary);font-size:18px;pointer-events:none}.collection-groups-panel__search-input{width:100%;padding:12px var(--space-4) 12px calc(var(--space-4) + 24px);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.collection-groups-panel__search-input::placeholder{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.collection-groups-panel__search-input:hover{background:var(--color-bg-hover)}.collection-groups-panel__search-input:focus{background:var(--color-bg-sunken);border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring-alpha)}.collection-groups-panel__search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.collection-groups-panel__tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.collection-groups-panel__content{display:flex;flex-direction:column}.appliance-chips{flex-shrink:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border-top:1px solid var(--color-border-subtle);box-shadow:var(--shadow-card)}.appliance-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:5px;padding:var(--space-2) 6px;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.appliance-chip svg{font-size:18px;color:var(--color-text-secondary);flex-shrink:0;transition:color var(--transition-fast)}.appliance-chip span{line-height:1.15}.appliance-chip:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.appliance-chip:hover svg{color:var(--color-text-primary)}.appliance-chip.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.appliance-chip.is-active svg{color:var(--color-text-on-accent)}.section-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;font-size:var(--font-size-caption);line-height:1.2;white-space:nowrap;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.section-tag:hover{background:var(--color-accent-soft);color:var(--color-text-primary)}.section-tag.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent);-webkit-text-stroke:.4px currentColor}.section-tag__count{display:inline-flex;align-items:center;justify-content:center;min-width:14px;height:14px;padding:0 4px;font-size:9px;font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-text-on-accent) 25%,transparent);color:inherit}.section-tag:not(.is-active) .section-tag__count{background:var(--color-bg-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle)}.door-config__title{margin:0 0 24px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.door-config__section{margin-bottom:24px}.door-config__section:last-of-type{margin-bottom:0}.door-config__label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.door-config__hint{display:block;margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.toggle-switch{position:relative;flex-shrink:0;display:inline-block;width:34px;height:20px;border-radius:999px;transition:background .2s}.toggle-switch__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-bg-surface);box-shadow:var(--shadow-card);transition:left .2s}.toggle-switch--on{background:var(--color-accent)}.toggle-switch--on .toggle-switch__knob{left:16px}.toggle-switch--off{background:var(--color-border-strong)}.toggle-switch--off .toggle-switch__knob{left:2px}.config-toggle{display:inline-flex;padding:0;border:none;background:transparent;cursor:pointer}.config-toggle:disabled{opacity:.55;cursor:not-allowed}.model-config-panel{width:100%;background:var(--color-bg-page);display:flex;flex-direction:column;height:100%;font-family:var(--font-family)}.model-config-panel__header{padding:var(--space-3) var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.model-config-panel__back-btn{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-h2);padding:0;height:auto}.model-config-panel__back-btn:hover{color:var(--color-accent-hover)!important}.model-config-panel__back-btn .anticon{font-size:14px;color:var(--color-accent-hover)}.model-config-panel__edit-btn{color:var(--color-accent-hover);padding:var(--space-1);height:auto;border-radius:var(--radius-sm)}.model-config-panel__edit-btn:hover{color:var(--color-accent-hover)!important;background:var(--color-bg-selected)!important}.model-config-panel__edit-btn .anticon{font-size:16px}.model-config-panel__content{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:var(--space-4)}.model-config-panel__empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--color-text-secondary)}.control-panel-wrapper{height:100%}.control-panel-wrapper .add-furniture-wrapper{margin-bottom:var(--space-5)}.control-panel-wrapper .add-furniture-wrapper .title{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow);font-weight:var(--font-weight-semibold)}.control-panel-wrapper .add-furniture-wrapper .furniture-types-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.control-panel-wrapper .add-furniture-wrapper .furniture-types-wrapper button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background-color:var(--color-bg-surface);cursor:pointer;text-transform:capitalize;color:var(--color-text-primary);font-size:var(--font-size-body);transition:background var(--transition-fast),border-color var(--transition-fast)}.control-panel-wrapper .add-furniture-wrapper .furniture-types-wrapper button:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-strong)}.control-panel-wrapper .total-furniture-wrapper{margin-bottom:var(--space-4)}.control-panel-wrapper .total-furniture-wrapper p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-small)}.control-panel-wrapper .selected-furniture-wrapper .title{margin:0 0 var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow);font-weight:var(--font-weight-semibold)}.control-panel-wrapper .selected-furniture-wrapper button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-status-error);border-radius:var(--radius-sm);background-color:var(--color-status-error);color:var(--color-bg-surface);cursor:pointer;width:100%;font-size:var(--font-size-body);transition:opacity var(--transition-fast)}.control-panel-wrapper .selected-furniture-wrapper button:hover{opacity:.9}.control-panel-wrapper .helper-text{margin-top:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-secondary)}.drawer-items-wrapper{display:flex}.ant-drawer.ant-drawer-left .ant-drawer-content-wrapper{left:58px;background-color:var(--color-bg-surface)}.ant-drawer.ant-drawer-left .ant-drawer-content-wrapper .ant-drawer-header-title .ant-drawer-close{order:2;margin-right:0}.hotkeys-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-5);z-index:100000}.hotkeys-modal{position:relative;width:100%;max-width:720px;max-height:86vh;overflow-y:auto;padding:var(--space-6);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);animation:hotkeysModalIn .28s ease-out}@keyframes hotkeysModalIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.hotkeys-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-pill);font-size:24px;line-height:1;cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.hotkeys-modal__close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.hotkeys-modal__close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.hotkeys-modal__header{margin-bottom:var(--space-6);padding-right:var(--space-6)}.hotkeys-modal__title{margin:0 0 var(--space-1);font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;color:var(--color-text-primary)}.hotkeys-modal__subtitle{margin:0;font-size:var(--font-size-body);color:var(--color-text-secondary)}.hotkeys-modal__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-7)}.hotkeys-modal__group-title{margin:0 0 var(--space-3);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-eyebrow);text-transform:uppercase;color:var(--color-accent-strong)}.hotkeys-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.hotkeys-modal__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-top:1px solid var(--color-border-subtle)}.hotkeys-modal__row:first-child{border-top:none}.hotkeys-modal__keys{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:104px}.hotkeys-modal__action{font-size:var(--font-size-body);line-height:var(--line-height-tight);color:var(--color-text-secondary)}.hk-join{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.hk-key{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:30px;height:30px;padding:0 9px;font-family:var(--font-family);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);line-height:1;color:var(--color-text-primary);background:linear-gradient(180deg,var(--color-bg-surface) 0%,var(--color-bg-sunken) 100%);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 2px 0 var(--color-border-strong),var(--shadow-card);vertical-align:middle;-webkit-user-select:none;user-select:none}.hk-key--icon{color:var(--color-text-secondary)}.hk-key--arrow{min-width:22px;height:22px;padding:0;font-size:13px}.hk-key--mouse-double{gap:2px;padding:0 7px}.hk-key__badge{font-size:9px;font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary)}.hk-dpad{display:inline-grid;grid-template-columns:repeat(3,auto);grid-template-rows:repeat(2,auto);gap:3px;vertical-align:middle}.hk-dpad__up{grid-column:2;grid-row:1}.hk-dpad__left{grid-column:1;grid-row:2}.hk-dpad__down{grid-column:2;grid-row:2}.hk-dpad__right{grid-column:3;grid-row:2}@media (max-width: 560px){.hotkeys-modal__groups{grid-template-columns:1fr;gap:var(--space-5)}}@media (prefers-reduced-motion: reduce){.hotkeys-modal{animation:none}}.ant-drawer.documentation-drawer-root.ant-drawer-left .ant-drawer-content-wrapper{left:0}.documentation-drawer-root .ant-drawer-body{background:var(--color-bg-surface)}.documentation-drawer{display:flex;flex-direction:column;gap:var(--space-2)}.documentation-drawer__item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.documentation-drawer__item:hover{border-color:var(--color-accent);background:var(--color-bg-hover);box-shadow:var(--shadow-card)}.documentation-drawer__item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.documentation-drawer__item-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;font-size:20px;border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-strong)}.documentation-drawer__item-text{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.documentation-drawer__item-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.documentation-drawer__item-hint{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.documentation-drawer__item-chevron{display:inline-flex;flex:0 0 auto;font-size:20px;color:var(--color-text-tertiary)}.password-input-wrapper{width:100%}.password-input-wrapper .password-input-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.password-input-wrapper .password-input-container{position:relative;width:100%;display:flex;align-items:center}.password-input-wrapper .password-input-container .password-input-field{width:100%;padding:12px 45px 12px 16px;font-size:var(--font-size-body);color:var(--color-text-primary);background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.password-input-wrapper .password-input-container .password-input-field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring-alpha)}.password-input-wrapper .password-input-container .password-input-field::placeholder{color:var(--color-text-secondary)}.password-input-wrapper .password-input-container .password-input-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color var(--transition-fast)}.password-input-wrapper .password-input-container .password-input-toggle:hover{color:var(--color-accent)}.password-input-wrapper .password-input-container .password-input-toggle:focus{outline:none;color:var(--color-accent)}.password-input-wrapper .password-input-container .password-input-toggle svg{width:20px;height:20px}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-scrim);display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-modal{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);width:90%;max-width:450px;padding:var(--space-6);box-shadow:var(--shadow-modal);position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.auth-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--color-text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);transition:background var(--transition-fast),color var(--transition-fast)}.auth-modal__close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.auth-modal__header{margin-bottom:var(--space-5)}.auth-modal__title{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1) 0;color:var(--color-text-primary);letter-spacing:-.01em}.auth-modal__subtitle{font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}.auth-modal__tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.auth-modal__tab{flex:1;padding:var(--space-3);border:none;background:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text-secondary);position:relative;transition:color var(--transition-fast)}.auth-modal__tab:hover,.auth-modal__tab.active{color:var(--color-text-primary)}.auth-modal__tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--color-accent);border-radius:var(--radius-pill)}.auth-modal__message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--font-size-body);border:1px solid}.auth-modal__message--error{background-color:var(--color-error-soft);color:var(--color-status-error);border-color:var(--color-error-border)}.auth-modal__message--success{background-color:var(--color-success-soft);color:var(--color-status-success);border-color:var(--color-success-border)}.auth-modal__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-modal__field{display:flex;flex-direction:column;gap:var(--space-1)}.auth-modal__field .password-input-wrapper .password-input-label{margin-bottom:0}.auth-modal__field .password-input-wrapper .password-input-container .password-input-field{padding:12px 45px 12px 16px}.auth-modal__label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.auth-modal__input{padding:12px 16px;background:var(--color-bg-sunken);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-body);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-modal__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring-alpha)}.auth-modal__input::placeholder{color:var(--color-text-secondary)}.auth-modal__checkbox-group{display:flex;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap}.auth-modal__checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:10px 16px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-surface);transition:border-color var(--transition-fast),background var(--transition-fast);flex:1;min-width:100px;justify-content:center}.auth-modal__checkbox-label input[type=radio]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-accent)}.auth-modal__checkbox-label span{font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.auth-modal__checkbox-label:hover{border-color:var(--color-border-strong);background:var(--color-bg-hover)}.auth-modal__checkbox-label input[type=radio]:checked+span{color:var(--color-text-primary)}.auth-modal__checkbox-label:has(input[type=radio]:checked){border-color:var(--color-accent);background:var(--color-bg-selected)}.auth-modal__submit{padding:14px;background-color:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--space-1);transition:background-color var(--transition-fast)}.auth-modal__submit:hover:not(:disabled){background-color:var(--color-accent-hover)}.auth-modal__submit:disabled{opacity:.5;cursor:not-allowed}.auth-modal__forgot-password{text-align:right;margin-top:calc(var(--space-1) * -1)}.auth-modal__forgot-link{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-small);cursor:pointer;padding:0;text-decoration:none;transition:color var(--transition-fast)}.auth-modal__forgot-link:hover{color:var(--color-accent-hover);text-decoration:underline}.auth-modal__back-to-login{text-align:center;margin-top:var(--space-1)}.auth-modal__back-link{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-small);cursor:pointer;padding:var(--space-2);text-decoration:none;transition:color var(--transition-fast)}.auth-modal__back-link:hover{color:var(--color-text-primary)}.notfound{--bg: #f8f1ec;--bg2: #fffaf7;--card: #fffdfa;--text: #1d2026;--muted: #5f5d5a;--line: rgba(153, 104, 76, .18);--accent: #b86634;--accent2: #d47a37;--radius: 26px;--shadow: 0 20px 60px rgba(84, 50, 30, .11);--side: clamp(20px, 5vw, 72px);position:relative;min-height:100vh;display:flex;flex-direction:column;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(70% 60% at 85% 18%,rgba(212,122,55,.1),transparent 60%),linear-gradient(180deg,#fffaf7,#f7eee8,#fffaf7);overflow:hidden}.notfound a{text-decoration:none;color:inherit}.notfound .notfound-header{display:flex;align-items:center;padding:26px var(--side) 0}.notfound .notfound-logo{display:inline-flex}.notfound .notfound-logo img{height:clamp(26px,3vw,34px);width:auto;display:block}.notfound .notfound-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,5vw,72px);max-width:1320px;width:100%;margin:0 auto;padding:clamp(32px,6vh,72px) var(--side)}.notfound .notfound-copy{max-width:600px}.notfound .notfound-code{display:flex;align-items:baseline;flex-wrap:wrap;gap:clamp(12px,2vw,26px);margin:0 0 8px;font-size:clamp(96px,16vw,188px);font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--text)}.notfound .notfound-code span{font-size:clamp(26px,4vw,46px);font-weight:700;letter-spacing:-.01em;color:var(--accent)}.notfound .notfound-heading{margin:0 0 18px;font-size:clamp(24px,3vw,38px);font-weight:800;letter-spacing:-.01em}.notfound .notfound-text{margin:0 0 40px;max-width:520px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--muted)}.notfound .notfound-actions{display:flex;flex-wrap:wrap;gap:18px}.notfound .notfound-btn{display:inline-flex;align-items:center;gap:14px;min-height:62px;padding:0 34px;border-radius:16px;font-size:clamp(16px,1.3vw,19px);font-weight:700;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.notfound .notfound-btn i{font-style:normal}.notfound .notfound-btn:hover{transform:translateY(-2px)}.notfound .notfound-btn--primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 14px 34px #b8673447}.notfound .notfound-btn--ghost{color:var(--text);background:#ffffffb3;border:1px solid var(--line);box-shadow:var(--shadow)}.notfound .notfound-btn--ghost i{color:var(--accent)}.notfound .notfound-visual{position:relative;display:grid;place-items:center;min-height:320px}.notfound .notfound-visual:before{content:"";position:absolute;inset:4% 6% auto auto;width:74%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;z-index:0}.notfound .notfound-window{position:relative;z-index:1;width:min(440px,100%);border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.notfound .notfound-window__bar{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fffaf6e6}.notfound .notfound-window__bar span{width:11px;height:11px;border-radius:50%;background:#e2d3c8}.notfound .notfound-window__bar span:first-child{background:var(--accent2);opacity:.85}.notfound .notfound-window__body{display:grid;place-items:center;padding:clamp(48px,9vw,96px) 24px;color:var(--accent);background:radial-gradient(60% 60% at 50% 45%,rgba(212,122,55,.1),transparent 70%)}.notfound .notfound-window__body svg{filter:drop-shadow(0 12px 24px rgba(184,103,52,.22))}.notfound .notfound-footer{padding:22px var(--side) 34px;text-align:center;font-size:15px;line-height:1.5;color:var(--muted)}.notfound .notfound-footer strong{color:var(--text);font-weight:700}@media (max-width: 880px){.notfound .notfound-main{grid-template-columns:1fr;text-align:left}.notfound .notfound-visual{order:-1;min-height:220px}.notfound .notfound-visual:before{display:none}}.price-summary-bar{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px}.price-summary-bar__save,.price-summary-bar__calc,.price-summary-bar__client{display:flex;align-items:center;gap:6px;padding:8px 16px;color:var(--color-text-on-accent);border:none;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.price-summary-bar__save svg,.price-summary-bar__calc svg,.price-summary-bar__client svg{font-size:16px}.price-summary-bar__save:hover:not(:disabled),.price-summary-bar__calc:hover:not(:disabled),.price-summary-bar__client:hover:not(:disabled){transform:translateY(-2px)}.price-summary-bar__save:active:not(:disabled),.price-summary-bar__calc:active:not(:disabled),.price-summary-bar__client:active:not(:disabled){transform:translateY(0)}.price-summary-bar__save:disabled,.price-summary-bar__calc:disabled,.price-summary-bar__client:disabled{opacity:.6;cursor:not-allowed}.price-summary-bar__save{background:#00000073;box-shadow:var(--shadow-card)}.price-summary-bar__save:hover:not(:disabled){background:#0009;box-shadow:var(--shadow-elevated)}.price-summary-bar__calc{background:linear-gradient(135deg,var(--color-accent-400) 0%,var(--color-accent-700) 100%);box-shadow:var(--shadow-card)}.price-summary-bar__calc:hover:not(:disabled){box-shadow:var(--shadow-elevated)}.price-summary-bar__client{background:#00000073;box-shadow:var(--shadow-card)}.price-summary-bar__client:hover:not(:disabled){background:#0009}.price-summary-bar__client--filled{background:var(--color-accent)}.price-summary-bar__client--filled:hover:not(:disabled){background:var(--color-accent-hover)}.contact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);z-index:2000;display:flex;align-items:center;justify-content:center}.contact-modal{background:var(--color-bg-surface);border-radius:12px;padding:32px 28px;width:360px;max-width:90vw;position:relative;box-shadow:var(--shadow-modal)}.contact-modal__close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:22px;color:var(--color-text-tertiary);cursor:pointer}.contact-modal__close:hover{color:var(--color-text-primary)}.contact-modal__title{font-size:18px;font-weight:700;margin:0 0 4px}.contact-modal__subtitle{font-size:13px;color:var(--color-text-secondary);margin:0 0 16px}.contact-modal__error{background:var(--color-error-soft);border:1px solid var(--color-error-border);color:var(--color-error);padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:12px}.contact-modal__field{margin-bottom:12px}.contact-modal__field label{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--color-text-primary)}.contact-modal__field input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:14px;outline:none;background:var(--color-bg-sunken);color:var(--color-text-primary)}.contact-modal__field input::placeholder{color:var(--color-text-secondary)}.contact-modal__field input:focus{border-color:var(--color-focus-ring)}.contact-modal__submit{width:100%;padding:10px;border:none;border-radius:6px;background:linear-gradient(135deg,var(--color-accent-400) 0%,var(--color-accent-700) 100%);color:var(--color-text-on-accent);font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.contact-modal__submit:hover:not(:disabled){opacity:.9}.contact-modal__submit:disabled{opacity:.6;cursor:not-allowed}.services-modal__list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;scrollbar-gutter:stable;margin-bottom:16px}.services-modal__item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:8px;cursor:pointer}.services-modal__item input[type=checkbox]{margin-top:3px;flex-shrink:0}.services-modal__item:hover{border-color:var(--color-border-strong)}.services-modal__info{display:flex;flex-direction:column;gap:2px;flex:1}.services-modal__name{font-weight:600}.services-modal__desc{font-size:12px;opacity:.7}.services-modal__price{font-weight:600;white-space:nowrap}.services-modal__total{display:flex;justify-content:space-between;font-weight:700;padding:12px 0;border-top:1px solid var(--color-border-subtle);margin-bottom:12px}@media (max-width: 768px){.price-summary-bar{top:10px}.price-summary-bar__save,.price-summary-bar__calc{font-size:12px;padding:6px 12px}.price-summary-bar__save svg,.price-summary-bar__calc svg{font-size:14px}}*{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;padding:0}#root{height:100%;display:flex}#root .side-panel{min-width:402px;width:402px;background-color:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);box-shadow:var(--shadow-card)}#root .main-panel{position:relative;width:100%}.ant-notification .ant-notification-notice-wrapper .ant-notification-notice{padding:8px 12px!important}.ant-notification .ant-notification-notice-wrapper .ant-notification-notice .ant-notification-notice-content .ant-notification-notice-message{font-weight:600}.ant-notification .ant-notification-notice-wrapper .ant-notification-notice .ant-notification-notice-content .ant-notification-notice-description img{width:100%}.last-project-popup{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);border-radius:var(--radius-md);font-size:14px;box-shadow:var(--shadow-elevated)}.last-project-popup__open{padding:4px 14px;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-text-on-accent);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.last-project-popup__open:hover{background:var(--color-accent-hover)}.last-project-popup__dismiss{padding:2px 6px;border:none;background:transparent;color:var(--color-text-secondary);font-size:16px;cursor:pointer}.last-project-popup__dismiss:hover{color:var(--color-text-primary)}html.landing-active,html.landing-active body{height:auto;min-height:100%;overflow:visible;scroll-behavior:smooth}html.landing-active #root{height:auto;min-height:100%;display:block}html.landing-active body{margin:0;background:radial-gradient(circle at 10% 0%,rgba(173,148,119,.16),transparent 32%),radial-gradient(circle at 95% 12%,rgba(173,148,119,.12),transparent 28%),linear-gradient(180deg,#f8f6f2,#f5f2ed 45%,#f8f6f2)}.landing{--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-caption: 11px;--font-size-small: 12px;--font-size-body: 13px;--font-size-lg: 15px;--font-size-h2: 16px;--font-size-h1: 18px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.45;--letter-spacing-eyebrow: .06em;--letter-spacing-menu: .07em;--letter-spacing-normal: 0}.landing{--bg: #F5F2ED;--bg2: #F8F6F2;--card: #FFFFFF;--surface-primary: #FFFFFF;--surface-secondary: #FAF8F5;--surface-tertiary: #F3EEE8;--surface-hover: #F7F3EE;--surface-selected: #F4EEE6;--text: #2F2923;--muted: #6E6258;--text-soft: #9A8F83;--line: rgba(221, 210, 197, .78);--line-strong: #C9BAA9;--accent: #AD9477;--accent2: #9C8165;--accent-dark: #876D52;--accent-strong: #7B6047;--dark: #2F2923;--radius: 28px;--shadow: 0 20px 60px rgba(95, 73, 52, .11);--max: 1440px;--side: clamp(18px, 4vw, 64px);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--text);position:relative}.landing:before{content:"";position:absolute;z-index:0;top:0;left:0;width:100%;height:1536px;pointer-events:none;background:linear-gradient(90deg,#faf8f5fa,#faf8f5f2 34%,#f5f2edad 48%,#f5f2ed2e 72%,#f5f2ed08),url(/assets/hero-kitchen-background-Bg3rwhGu.png) center top/cover no-repeat}.landing .header,.landing #home{position:relative;z-index:1}.landing *,.landing *:before,.landing *:after{box-sizing:border-box}.landing img{max-width:100%;display:block}.landing a{text-decoration:none;color:inherit}.landing .section{padding:clamp(48px,7vw,96px) var(--side)}.landing .container{max-width:var(--max);margin:auto}.landing .eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-eyebrow);font-size:clamp(var(--font-size-caption),.85vw,16px);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 16px}.landing h1,.landing h2,.landing h3,.landing p{margin-top:0}.landing h1{font-size:clamp(44px,6vw,96px);line-height:1.02;letter-spacing:var(--letter-spacing-normal);font-weight:var(--font-weight-semibold);margin-bottom:32px}.landing h2{font-size:clamp(36px,4.4vw,72px);line-height:1.08;letter-spacing:var(--letter-spacing-normal);font-weight:var(--font-weight-semibold);margin-bottom:24px}.landing h2 span,.landing h1 span{color:var(--accent)}.landing .lead{font-size:clamp(18px,1.7vw,26px);line-height:1.62;color:var(--text)}.landing .text{font-size:clamp(16px,1.2vw,20px);line-height:1.72;color:var(--muted)}.landing .header{position:sticky;top:0;z-index:50;padding:18px var(--side);background:#faf8f5c2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing .nav{max-width:var(--max);min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(22px,3vw,42px);border:1px solid var(--line);border-radius:999px;background:#ffffffad;box-shadow:0 14px 42px #5f493412}.landing .logo{font-size:clamp(24px,2.1vw,38px);letter-spacing:.18em;font-weight:500;white-space:nowrap}.landing .logo span{color:var(--accent);letter-spacing:.12em}.landing .nav-links{display:flex;gap:clamp(20px,3vw,56px);font-size:14px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-menu)}.landing .lang{font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--muted);white-space:nowrap}.landing .lang button{font:inherit;color:inherit;background:none;border:0;padding:0 2px;cursor:pointer}.landing .lang button[data-active=true]{color:var(--accent)}.landing .hero{padding-top:54px}.landing .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.15fr);align-items:center;gap:clamp(36px,5vw,80px)}.landing .tagline{font-size:20px;margin-bottom:80px}.landing .tagline span{border-bottom:2px solid var(--accent)}.landing .hero-copy{max-width:640px}.landing .btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:min(100%,520px);min-height:92px;padding:0 30px 0 44px;margin:34px 0 54px;border:1px solid rgba(173,148,119,.32);border-radius:18px;background:#ffffff94;box-shadow:var(--shadow);font-size:clamp(24px,2vw,34px);font-weight:var(--font-weight-semibold)}.landing .btn i{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));font-style:normal;font-size:32px}.landing .btn i svg{width:.92em;height:.92em;display:block}.landing .hero-bottom{font-size:24px;line-height:1.55}.landing .hero-visual{position:relative;padding:24px;background:transparent}.landing .hero-visual:before{content:"";position:absolute;inset:6% 0 auto auto;width:78%;aspect-ratio:1;border:1px solid rgba(173,148,119,.32);border-radius:50%;z-index:0}.landing .hero-visual img{position:relative;z-index:1;border-radius:26px;filter:drop-shadow(0 24px 48px rgba(95,73,52,.22))}.landing .header{padding:24px 32px 10px;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}.landing .nav{max-width:2040px;min-height:102px;padding:0 42px;border-radius:30px;background:#ffffffd1;box-shadow:0 16px 44px #5f493414}.landing .logo{width:420px;line-height:0}.landing .logo img{width:100%;height:auto}.landing .nav-links{gap:78px;font-size:15px;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-menu)}.landing .lang{font-size:15px;font-weight:var(--font-weight-semibold)}.landing #home{min-height:min(1400px,100svh - 136px);padding:18px 32px clamp(36px,8.9svh - 44px,74px)}.landing #home>.container{max-width:2040px}.landing #home .hero-grid{grid-template-columns:800px minmax(0,1fr);gap:48px;align-items:start}.landing #home .hero-copy{max-width:none;padding-top:10px}.landing #home .tagline{margin-bottom:clamp(28px,20svh - 152px,132px);padding-left:44px;font-size:clamp(20px,1.7svh + 6px,27px)}.landing #home h1{margin-bottom:clamp(24px,6.7svh - 36px,48px);font-size:clamp(52px,6.7svh - 4px,72px);font-weight:var(--font-weight-medium);line-height:1.04;letter-spacing:0;white-space:nowrap}.landing #home h1 span{display:block;width:max-content}.landing[lang=uk] #home .hero-title-accent,html[lang=uk] .landing #home .hero-title-accent{font-size:.783em;color:var(--text)}.landing #home .lead{max-width:760px;margin-bottom:clamp(24px,6.7svh - 36px,48px);font-size:clamp(20px,1.7svh + 6px,27px);line-height:1.55}.landing #home .text{max-width:760px;font-size:clamp(18px,1.1svh + 9px,24px);line-height:1.58}.landing #home .btn{width:740px;max-width:100%;min-height:clamp(88px,6.7svh + 32px,112px);margin:clamp(28px,6.7svh - 32px,58px) 0 clamp(36px,8.9svh - 44px,86px);padding-left:58px;font-size:clamp(30px,2.2svh + 10px,38px);font-weight:500}.landing #home .btn-label{display:inline-flex;align-items:center;gap:46px}.landing #home .btn-monitor{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border-radius:50%;background:#ffffff80;box-shadow:0 8px 24px #ad94771f}.landing #home .btn-monitor img{width:36px;height:36px}.landing #home .btn i{width:68px;height:68px;font-size:38px}.landing #home .hero-bottom{max-width:760px;padding-left:0;font-size:clamp(18px,1.1svh + 9px,24px);font-weight:400;letter-spacing:0;line-height:1.55}.landing #home .hero-bottom b{font-weight:700}.landing #home .hero-visual{position:absolute;right:128px;bottom:58px;width:min(610px,100vw - 968px);padding:0;z-index:2}.landing #home .hero-visual:before{display:none}.landing #home .hero-visual img{width:100%;max-width:none;height:auto;border-radius:0;filter:drop-shadow(0 24px 38px rgba(95,73,52,.12))}.landing .cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.landing .product-card,.landing .info-card,.landing .step-card,.landing .benefit-card{background:#ffffffbf;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 44px #5f493414}.landing .product-card{padding:24px;display:flex;flex-direction:column;min-height:520px}.landing .product-image{height:245px;border-radius:18px;overflow:hidden;display:grid;place-items:center;margin-bottom:26px;background:radial-gradient(circle at 50% 45%,rgba(173,148,119,.12),transparent 55%),#ffffff85}.landing .product-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(95,73,52,.12))}.landing .product-card h3{font-size:25px;line-height:1.15;margin-bottom:16px}.landing .product-card p{font-size:18px;line-height:1.55;color:var(--muted)}.landing .card-actions{margin-top:auto;display:flex;justify-content:flex-end}.landing .small-btn{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:44px;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-weight:var(--font-weight-semibold);background:var(--surface-secondary)}.landing .small-btn.disabled{color:var(--text-soft);border-color:var(--line-strong);background:var(--surface-tertiary)}.landing .badge{align-self:flex-start;margin-bottom:12px;padding:8px 14px;border-radius:999px;background:var(--surface-selected);color:var(--text);font-weight:700}.landing #products{padding-top:48px;padding-bottom:72px}.landing #products>.container{max-width:2040px}.landing #products h2.center{margin-bottom:34px;font-size:68px;line-height:1;letter-spacing:0;white-space:nowrap}.landing #products .cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}.landing #products .product-card{position:relative;min-height:650px;padding:28px 36px 24px;border-radius:24px}.landing #products .product-image{width:100%;height:320px;margin-bottom:20px;border-radius:14px;background:#ffffff7a}.landing #products .product-card:nth-child(-n+4) .product-image{background:var(--surface-primary, #FFFFFF)}.landing #products .product-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto;filter:contrast(1.025) saturate(1.015) drop-shadow(0 12px 22px rgba(95,73,52,.1))}.landing #products .product-card:nth-child(1) .product-image img{width:100%;height:300px;object-fit:cover;object-position:center}.landing #products .product-card:nth-child(2) .product-image img{width:auto;height:300px}.landing #products .product-card:nth-child(3) .product-image img{width:auto;height:300px}.landing #products .product-card:nth-child(4) .product-image img{width:auto;height:300px}.landing #products .product-card:nth-child(5) .product-image img,.landing #products .product-card:nth-child(6) .product-image img{width:100%;height:300px;object-fit:cover;object-position:center}.landing #products .product-card h3{min-height:34px;margin-bottom:14px;font-size:28px;line-height:1.18;letter-spacing:0}.landing #products .product-card p{margin-bottom:18px;font-size:21px;line-height:1.48}.landing #products .card-actions{min-height:50px;align-items:flex-end}.landing #products .small-btn{min-width:142px;min-height:50px;padding:0 20px;border-radius:12px;font-size:19px}.landing #products .badge{position:absolute;z-index:2;top:38px;left:36px;margin:0;padding:8px 16px;font-size:17px}.landing #why{padding-top:34px;padding-bottom:48px}.landing #why>.container{max-width:2040px}.landing #why .eyebrow{position:relative;margin:0 0 42px;font-size:42px;line-height:1;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-eyebrow)}.landing #why .eyebrow:after{content:"";position:absolute;left:0;bottom:-24px;width:122px;height:2px;background:var(--accent)}.landing .why-grid{display:grid;grid-template-columns:1080px minmax(0,1fr);gap:28px;min-height:650px;align-items:start}.landing #why .why-grid h2{max-width:1060px;margin-bottom:34px;font-size:98px;line-height:1.03;letter-spacing:0}.landing #why .why-grid .text{max-width:1030px;margin-bottom:28px;font-size:25px;line-height:1.48;color:var(--text)}.landing .why-visual{width:100%;height:690px;overflow:visible;background:transparent}.landing .why-visual img{width:100%;height:100%;max-width:none;object-fit:contain;object-position:right center;border-radius:0;filter:drop-shadow(0 16px 32px rgba(95,73,52,.08))}.landing .stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:18px}.landing .stat{position:relative;min-height:345px;padding:18px 32px 28px;text-align:center}.landing .stat:not(:last-child):after{content:"";position:absolute;top:116px;right:0;width:1px;height:72px;border-radius:999px;background:#ad947752}.landing #why .icon{width:112px;height:112px;margin:0 auto 8px;padding:24px;border-radius:50%;background:#ffffff85;box-shadow:0 8px 25px #5f49340f}.landing .icon img{width:100%;height:100%}.landing #why .num{font-size:64px;line-height:1;color:var(--accent);font-weight:500;margin-bottom:14px}.landing #why .stat h3{min-height:60px;font-size:27px;line-height:1.15;margin-bottom:14px}.landing #why .stat p{font-size:21px;line-height:1.4;color:var(--muted);margin-bottom:0}.landing .how-card{background:#ffffffe0;border:1px solid var(--line);border-radius:32px;padding:52px;box-shadow:0 12px 42px #5f49340f;display:grid;grid-template-columns:670px minmax(0,1fr);gap:72px}.landing #how .how-card{max-width:2040px;min-height:1240px}.landing #how .how-card>div:last-child{min-width:0;display:flex;flex-direction:column}.landing #how .how-card h2{margin:12px 0 24px;font-size:clamp(58px,4.5vw,88px);line-height:1.02;letter-spacing:0;font-weight:400}.landing #how .how-card>div:last-child>.text{max-width:830px;margin-bottom:34px;font-size:clamp(20px,1.25vw,25px);line-height:1.65;color:var(--muted)}.landing .how-image{width:100%;height:1160px;align-self:start;overflow:hidden;border-radius:24px}.landing .how-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:drop-shadow(0 18px 38px rgba(95,73,52,.18))}.landing .steps{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:0;flex:1;border:1px solid var(--line);border-radius:24px;overflow:hidden}.landing .step-card{box-shadow:none;border-radius:0;border-width:0 0 1px 1px;min-height:260px;padding:24px 32px;background:transparent;display:grid;grid-template-columns:122px minmax(0,1fr);gap:24px;align-items:start}.landing .step-card .icon{margin:0;width:112px;height:112px;padding:25px;border-radius:50%;background:var(--surface-tertiary);align-self:center}.landing .step-card>div:last-child{min-width:0;display:grid;grid-template-rows:56px 76px auto;align-content:start}.landing .step-card h3{font-size:28px;line-height:1.16;margin:0}.landing .step-card p{font-size:20px;line-height:1.55;color:var(--muted);margin-bottom:0}.landing .step-number{color:var(--accent);font-size:44px;line-height:1;font-weight:400;margin:0}.landing .benefit-hero{display:grid;grid-template-columns:640px minmax(0,1fr);gap:70px;align-items:center;margin:44px 0 0}.landing #about{padding-top:30px}.landing #about>.container{max-width:2040px}.landing .benefit-hero>div:first-child{position:relative;z-index:5}.landing #about .eyebrow{margin-bottom:18px;font-size:clamp(14px,1.1vw,18px);letter-spacing:var(--letter-spacing-eyebrow)}.landing #about>.container>h2{max-width:1900px;margin:0 auto;color:var(--text);font-size:clamp(52px,4.7vw,88px);line-height:1.02;letter-spacing:0;white-space:nowrap}.landing .brandline{color:var(--text);font-size:clamp(44px,3.2vw,64px);font-weight:var(--font-weight-semibold);line-height:1.12;margin:0 0 28px;white-space:nowrap}.landing .brandline span{font-weight:400;color:var(--accent)}.landing .benefit-hero .text{max-width:610px;color:var(--text);font-size:clamp(20px,1.25vw,25px);line-height:1.75}.landing .benefit-media{position:relative;min-height:600px;background:transparent}.landing .benefit-media img{position:absolute;display:block}.landing .benefit-media .benefit-photo{right:0;left:auto;top:0;z-index:2;width:84%;height:100%;border-radius:22px;object-fit:cover;opacity:1;filter:none;box-shadow:0 20px 48px #5f493421}.landing .benefit-media .benefit-tech{z-index:3;object-fit:contain;opacity:.9;filter:drop-shadow(0 16px 32px rgba(95,73,52,.06));pointer-events:none}.landing .benefit-media .benefit-tech--oven{left:-11%;top:-4%;width:255px}.landing .benefit-media .benefit-tech--sink{left:-8%;top:60%;width:330px}.landing .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.landing .feature-grid--two{grid-template-columns:1fr 1fr}.landing .benefit-card,.landing .info-card{padding:26px}.landing .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.landing .card-head .icon{margin:0;width:44px;height:44px}.landing .card-head .num{font-size:34px;margin:0}.landing .info-card h3,.landing .benefit-card h3{font-size:20px;line-height:1.25;margin-bottom:14px}.landing .info-card p,.landing .benefit-card p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:0}.landing #about .feature-grid{gap:24px;margin-top:24px;grid-auto-rows:250px}.landing #about .benefit-card{min-height:250px;height:100%;padding:32px;border-color:#ddd2c5c7;border-radius:18px;background:#ffffffa8;box-shadow:0 18px 44px #5f493414;display:grid;grid-template-columns:70px minmax(0,1fr) 72px;grid-template-rows:auto 1fr;column-gap:14px;align-items:start}.landing #about .benefit-card .card-head{display:contents}.landing #about .benefit-card .card-head .icon{grid-column:1;grid-row:1;width:62px;height:62px;padding:14px;border-radius:50%;background:var(--surface-tertiary)}.landing #about .benefit-card .card-head .num{grid-column:3;grid-row:1;justify-self:end;color:var(--accent);font-size:clamp(48px,3vw,64px);font-weight:var(--font-weight-bold);line-height:.95}.landing #about .benefit-card h3{grid-column:2;grid-row:1;color:var(--text);font-size:clamp(21px,1.2vw,26px);line-height:1.36;letter-spacing:0;margin:2px 0 0}.landing #about .benefit-card p{grid-column:2/4;grid-row:2;margin-top:14px;color:var(--muted);font-size:clamp(17px,.95vw,20px);line-height:1.58}.landing .capabilities-section{padding-top:clamp(70px,7vw,112px);padding-bottom:clamp(72px,7vw,118px)}.landing .capabilities-section>.container{max-width:2040px}.landing .capabilities-section .eyebrow{margin-bottom:18px;font-size:clamp(14px,1.1vw,18px);letter-spacing:var(--letter-spacing-eyebrow)}.landing .capabilities-title{max-width:1900px;margin:0 auto clamp(42px,4.5vw,72px);text-align:center;color:var(--text);font-size:clamp(46px,5.2vw,92px);line-height:1.02;letter-spacing:0}.landing .order-grid{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(620px,1.08fr);gap:clamp(34px,4vw,58px);align-items:start}.landing .order-copy{position:relative;display:flex;min-width:0;flex-direction:column}.landing .capabilities-laptop{position:absolute;top:23px;right:0;z-index:4;width:clamp(190px,13vw,250px);height:auto;filter:drop-shadow(0 16px 24px rgba(95,73,52,.14))}.landing .order-subtitle{max-width:620px;margin-bottom:18px;color:var(--accent);font-size:clamp(32px,3.1vw,52px);line-height:1.18;letter-spacing:0}.landing .order-subtitle span{color:var(--text)}.landing .order-copy>.text{max-width:560px;margin-bottom:26px;color:var(--muted);font-size:clamp(17px,1.2vw,21px);line-height:1.85}.landing .order-visual{position:relative;flex:0 0 auto;min-height:0;height:clamp(600px,31vw,670px);overflow:hidden;border:1px solid rgba(221,210,197,.9);border-radius:24px;background:var(--surface-secondary);box-shadow:0 18px 46px #5f49341a}.landing .order-visual img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.landing .capabilities-cards{margin-top:0;gap:24px;grid-auto-rows:clamp(260px,17vw,300px)}.landing .capabilities-cards .info-card{height:100%;min-height:0;overflow:hidden;padding:clamp(22px,1.55vw,27px);border-color:#ddd2c5c7;border-radius:24px;background:#ffffffa8;box-shadow:0 18px 44px #5f493414}.landing .capabilities-cards .card-head{margin-bottom:16px}.landing .capabilities-cards .card-head .icon{width:62px;height:62px;padding:14px;border-radius:50%;background:var(--surface-tertiary)}.landing .capabilities-cards .card-head .num{color:var(--accent);font-size:clamp(42px,2.9vw,54px);font-weight:var(--font-weight-bold);line-height:.92}.landing .capabilities-cards .info-card h3{max-width:320px;margin-bottom:16px;color:var(--text);font-size:clamp(17px,1.08vw,20px);line-height:1.42;letter-spacing:0}.landing .capabilities-cards .info-card p{color:var(--muted);font-size:clamp(14px,.82vw,16px);line-height:1.62}.landing #contacts>.container{max-width:2040px}.landing .contact-grid{display:grid;grid-template-columns:.8fr 1fr .72fr;gap:48px;align-items:center}.landing .contact-side{align-self:center;transform:translate(52px,-18px)}.landing .contact-share{display:inline-flex;align-items:center;gap:14px;margin:24px 0 0;color:var(--accent)}.landing .contact-share img{width:28px;height:28px;flex:0 0 auto}.landing .contact-form{padding:34px;border-radius:28px;background:#ffffffb8;border:1px solid var(--line);box-shadow:var(--shadow)}.landing .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.landing input,.landing textarea{width:100%;border:1px solid rgba(221,210,197,.96);border-radius:12px;background:var(--surface-secondary);min-height:62px;padding:0 18px;font:inherit;color:var(--text)}.landing textarea{height:210px;padding-top:18px;resize:vertical;margin:14px 0 20px}.landing .submit{width:100%;min-height:66px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font:inherit;font-size:20px;font-weight:700;cursor:pointer}.landing .submit:disabled{opacity:.6;cursor:default}.landing .form-status{margin-top:14px;font-size:16px}.landing .form-status--ok{color:#4c7d3a}.landing .form-status--err{color:#d46a6a}.landing .privacy{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;color:var(--text-soft);font-size:15px;text-align:center}.landing .privacy-icon{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center}.landing .privacy img{width:58px;height:58px;object-fit:contain}.landing .contacts-list{display:grid;gap:30px;align-self:center}.landing .contact-item{display:grid;grid-template-columns:84px 1fr;gap:22px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}.landing .contact-item .icon{width:74px;height:74px;margin:0;padding:0}.landing .contact-item .icon img{width:100%;height:100%}.landing .contact-item h3{font-size:18px;margin-bottom:8px}.landing .contact-item p{margin:0;font-size:18px}.landing .contact-decor{align-self:end;background:transparent}.landing .contact-decor img{border-radius:20px;filter:drop-shadow(0 16px 32px rgba(95,73,52,.12))}.landing .footer{position:relative;min-height:clamp(260px,25vw,470px);margin-top:clamp(20px,3vw,48px);padding:clamp(38px,4.2vw,78px) var(--side);overflow:hidden;display:flex;align-items:center;background:linear-gradient(90deg,#faf8f5fa,#f5f2edf2 45%,#faf8f5c7),var(--bg2)}.landing .footer-brand{position:relative;z-index:2;width:min(620px,48%);margin-left:max(0px,(100vw - 2040px) / 2 - var(--side))}.landing .footer-logo{width:clamp(230px,24vw,430px);height:auto;margin-bottom:clamp(18px,2vw,32px)}.landing .footer-brand p{max-width:620px;margin:0;color:var(--text);font-size:clamp(20px,1.8vw,30px);line-height:1.4;font-weight:500}.landing .footer-dresser{position:absolute;right:max(34px,(100vw - 2040px) / 2 + 42px);bottom:28px;z-index:1;width:clamp(520px,34vw,760px);height:auto;max-width:none;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 16px 34px rgba(95,73,52,.08))}.landing .center{text-align:center}@media (max-width: 1180px){.landing .nav-links{display:none}.landing .hero-grid,.landing .why-grid,.landing .how-card,.landing .benefit-hero,.landing .order-grid,.landing .contact-grid{grid-template-columns:1fr}.landing .hero-copy{max-width:100%}.landing .hero-visual{padding:0}.landing #home{min-height:auto;padding:34px var(--side) 64px}.landing #home .hero-grid{grid-template-columns:1fr}.landing #home h1{white-space:normal}.landing #home .hero-visual{position:static;width:100%;padding-top:0}.landing .logo{width:300px}.landing .cards-grid,.landing .feature-grid{grid-template-columns:repeat(2,1fr)}.landing #products .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing #products h2.center{font-size:52px;white-space:normal}.landing #products .product-card{min-height:620px}.landing #about>.container>h2,.landing #about .eyebrow{text-align:left}.landing #about>.container>h2,.landing .brandline{white-space:normal}.landing .benefit-media{min-height:520px}.landing .benefit-media .benefit-photo{left:auto;right:0;width:72%;height:86%;top:34px;opacity:1;filter:none}.landing .capabilities-title,.landing .capabilities-section .eyebrow{text-align:left}.landing .order-grid{grid-template-columns:1fr}.landing .capabilities-laptop{position:static;width:220px;margin:-10px 0 24px auto}.landing .order-visual{min-height:620px}.landing .how-card{padding:24px}.landing .how-image{max-height:520px;overflow:hidden;border-radius:24px}.landing .contact-decor{display:none}}@media (max-width: 760px){.landing .contact-side{transform:translateY(-18px)}.landing{--side: 14px;--radius: 18px}.landing .section{padding:46px var(--side)}.landing .header{padding:10px}.landing .nav{min-height:58px;padding:0 16px;border-radius:22px}.landing .logo{font-size:18px;letter-spacing:.12em}.landing .logo{width:210px}.landing .lang{font-size:12px}.landing .tagline{margin-bottom:34px}.landing #home .tagline{margin-bottom:54px;padding-left:12px;font-size:18px}.landing #home h1{font-size:44px}.landing #home .lead{font-size:19px}.landing #home .text{font-size:17px}.landing #home .btn{min-height:76px;margin:34px 0 48px;padding-left:24px;font-size:24px}.landing .btn{min-height:70px;padding:0 18px 0 22px;font-size:22px;margin-bottom:34px}.landing .btn i{width:46px;height:46px;font-size:26px}.landing .cards-grid,.landing .feature-grid,.landing .stats-row,.landing .steps,.landing .form-row{grid-template-columns:1fr}.landing .product-card{min-height:auto;padding:18px}.landing .product-image{height:220px}.landing #products .cards-grid{grid-template-columns:1fr;gap:18px}.landing #products h2.center{font-size:38px}.landing #products .product-card{min-height:auto;padding:18px}.landing #products .product-image{height:220px}.landing #products .badge{top:26px;left:26px}.landing #about>.container>h2{font-size:38px}.landing .brandline{font-size:32px}.landing .benefit-media{min-height:340px}.landing .benefit-media .benefit-photo{left:auto;right:0;width:82%;height:72%;top:16%;border-radius:16px;opacity:1;filter:none}.landing #about .benefit-card{min-height:auto}.landing .capabilities-title{font-size:38px}.landing .order-subtitle{font-size:28px}.landing .order-visual{min-height:420px;border-radius:18px}.landing .capabilities-cards .info-card{min-height:auto;padding:24px}.landing .capabilities-cards .card-head .icon{width:58px;height:58px;padding:13px}.landing .capabilities-cards .card-head .num{font-size:42px}.landing .stat{border:0}.landing .step-card{grid-template-columns:1fr;border-left:0;padding:26px 0}.landing .contact-item{grid-template-columns:62px 1fr}.landing .contact-item .icon{width:58px;height:58px}.landing .footer{min-height:390px;align-items:flex-start;padding-top:34px}.landing .footer-brand{width:min(100%,380px);margin-left:0}.landing .footer-logo{width:min(78vw,300px)}.landing .footer-brand p{font-size:22px}.landing .footer-dresser{right:-90px;bottom:18px;width:min(88vw,560px);opacity:.92}.landing h1{font-size:42px}.landing h2{font-size:36px}}.protected-route__loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.notification-drawer__icon--primary{color:var(--color-accent)}.notification-drawer__header{width:100%;justify-content:space-between}.notification-drawer__badge{margin-left:8px}.notification-drawer__title-wrapper{width:100%}.notification-drawer__time{font-size:12px}.notification-drawer__description{margin-bottom:0;font-size:13px}.notification-item{cursor:pointer;transition:background-color .2s;padding:16px!important;border-bottom:1px solid var(--color-border-subtle)}.notification-item:hover{background-color:var(--color-bg-hover)}.notification-item--unread,.notification-item--unread:hover{background-color:var(--color-accent-soft)}.notification-item--unread .ant-list-item-meta-title:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--color-accent);border-radius:50%;margin-right:8px;vertical-align:middle}.notification-item .ant-list-item-meta{align-items:flex-start}.notification-item .ant-list-item-meta-avatar{margin-top:4px}.notification-item .ant-list-item-action{margin-left:8px}.stat-card{display:flex;align-items:center;gap:14px;width:100%;height:100%;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-card);text-align:left}.stat-card__icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:var(--color-accent-soft);color:var(--color-accent);transition:background .15s,color .15s}.stat-card__body{display:flex;flex-direction:column;min-width:0}.stat-card__value{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-card__label{font-size:13px;color:var(--color-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s,background .15s}.stat-card--clickable:hover{border-color:var(--color-accent)}.stat-card--active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.stat-card--active .stat-card__icon{background:var(--color-accent);color:var(--color-text-on-accent)}.stat-card--active .stat-card__value{color:var(--color-accent-strong)}.page-header{margin-bottom:20px}.page-header h1{margin:0;font-size:24px;font-weight:700;color:var(--color-text-primary)}.page-header p{margin:4px 0 0;color:var(--color-text-secondary);font-size:14px}/*!
* Quill Editor v2.0.3
* https://quilljs.com
* Copyright (c) 2017-2024, Slab
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.dashboard-news{margin-top:16px;flex:1;min-height:360px}.dashboard-news>.ant-col{display:flex}.dashboard-news__panel{display:flex;flex-direction:column;width:100%;height:100%}.dashboard-news__panel-title{margin-bottom:10px;font-size:16px}.dashboard-news__rocket{font-size:20px;transform-origin:50% 60%;animation:dashboard-news-rocket 2.8s ease-in-out infinite}.dashboard-news__add{margin-left:auto;display:inline-flex;align-items:center;gap:4px;border-radius:10px}.dashboard-news__loading{display:flex;justify-content:center;padding:32px 0}.dashboard-news__carousel{position:relative;flex:1;min-height:0;display:flex}.dashboard-news__slide{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:12px;padding:18px 20px;background:var(--color-bg-page);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-news__slide:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card)}.dashboard-news__slide-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dashboard-news__slide-actions{margin-left:auto;display:inline-flex;align-items:center}.dashboard-news__slide-actions .ant-btn{display:inline-flex;align-items:center;justify-content:center}.dashboard-news__slide-title{font-size:17px;font-weight:700;color:var(--color-text-primary);line-height:1.3;margin-bottom:6px}.dashboard-news__slide-excerpt{position:relative;flex:1;min-height:0;overflow:hidden;font-size:14px;line-height:1.6;color:var(--color-text-secondary)}.dashboard-news__slide-excerpt:after{content:"";position:absolute;inset-inline:0;bottom:0;height:56px;background:linear-gradient(transparent,var(--color-bg-page));pointer-events:none}.dashboard-news__slide-excerpt *{margin:0 0 4px}.dashboard-news__slide-excerpt img{max-width:100%;height:auto;border-radius:8px}.dashboard-news__slide-more{margin-top:10px;font-size:13px;font-weight:600;color:var(--color-accent);flex-shrink:0}.dashboard-news__version{flex-shrink:0;font-size:12px;font-weight:700;color:var(--color-accent);background:var(--color-accent-soft);border-radius:8px;padding:1px 8px;line-height:18px}.dashboard-news__date{font-size:12px;color:var(--color-text-tertiary)}.dashboard-news__dots{position:absolute;bottom:8px;inset-inline:0;z-index:2;display:flex;justify-content:center;gap:6px}.dashboard-news__dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--color-border-strong);opacity:.5;cursor:pointer;transition:opacity .16s ease,width .16s ease,background .16s ease}.dashboard-news__dot.is-active{width:18px;border-radius:4px;background:var(--color-accent);opacity:1}.dashboard-news__content{margin-top:8px;font-size:14px;line-height:1.6;color:var(--color-text-secondary);word-break:break-word}.dashboard-news__content p{margin:0 0 6px}.dashboard-news__content p:last-child{margin-bottom:0}.dashboard-news__content h1,.dashboard-news__content h2,.dashboard-news__content h3,.dashboard-news__content h4,.dashboard-news__content h5,.dashboard-news__content h6{font-weight:600;color:var(--color-text-primary);margin:10px 0 4px;line-height:1.3}.dashboard-news__content h1{font-size:20px}.dashboard-news__content h2{font-size:18px}.dashboard-news__content h3{font-size:16px}.dashboard-news__content h4{font-size:15px}.dashboard-news__content h5,.dashboard-news__content h6{font-size:14px}.dashboard-news__content ul,.dashboard-news__content ol{margin:4px 0;padding-left:20px}.dashboard-news__content li{margin-bottom:2px}.dashboard-news__content a{color:var(--color-accent)}.dashboard-news__content blockquote{margin:8px 0;padding:4px 14px;border-left:3px solid var(--color-accent);color:var(--color-text-primary)}.dashboard-news__content pre,.dashboard-news__content .ql-code-block-container{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;white-space:pre-wrap}.dashboard-news__content img{max-width:100%;height:auto;border-radius:10px;margin:6px 0}.dashboard-news__content iframe{max-width:100%;border:0;border-radius:10px;margin:6px 0}.dashboard-news__content .ql-align-center{text-align:center}.dashboard-news__content .ql-align-right{text-align:right}.dashboard-news__content .ql-align-justify{text-align:justify}.dashboard-news__content .ql-size-small{font-size:.75em}.dashboard-news__content .ql-size-large{font-size:1.5em}.dashboard-news__content .ql-size-huge{font-size:2.5em}.dashboard-news__content .ql-font-serif{font-family:Georgia,Times New Roman,serif}.dashboard-news__content .ql-font-monospace{font-family:Monaco,Courier New,monospace}.dashboard-news__content .ql-indent-1{padding-left:1.5em}.dashboard-news__content .ql-indent-2{padding-left:3em}.dashboard-news__content .ql-indent-3{padding-left:4.5em}.dashboard-news__content .ql-indent-4{padding-left:6em}.dashboard-news__content .ql-indent-5{padding-left:7.5em}.dashboard-news__content .ql-indent-6{padding-left:9em}.dashboard-news__content .ql-indent-7{padding-left:10.5em}.dashboard-news__content .ql-indent-8{padding-left:12em}.dashboard-news__reader-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dashboard-news__reader-title{font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1.3;margin:0 0 12px}.dashboard-news__reader-body{margin-top:0;font-size:15px;max-height:70vh;overflow-y:auto;padding-right:6px}.dashboard-news__editor .ql-toolbar{border-radius:10px 10px 0 0;border-color:var(--color-border);background:var(--color-bg-page)}.dashboard-news__editor .ql-container{border-radius:0 0 10px 10px;border-color:var(--color-border);font-size:14px}.dashboard-news__editor .ql-editor{min-height:220px;max-height:440px}.dashboard-news__editor .ql-editor img{max-width:100%;height:auto}.dashboard-news__editor .ql-container{position:relative}.dashboard-news__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:36px 20px}.dashboard-news__empty-icon{position:relative;width:72px;height:72px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-size:34px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;animation:dashboard-news-float 3.2s ease-in-out infinite}.dashboard-news__empty-icon:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:50%;border:2px dashed var(--color-accent);opacity:.3;animation:dashboard-news-spin 16s linear infinite}.dashboard-news__empty-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.dashboard-news__empty-text{font-size:13px;line-height:1.5;color:var(--color-text-secondary);max-width:300px}@keyframes dashboard-news-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dashboard-news-spin{to{transform:rotate(360deg)}}@keyframes dashboard-news-rocket{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-6deg)}50%{transform:translateY(-5px) rotate(0)}75%{transform:translateY(-3px) rotate(6deg)}}.dashboard-news__modal-title{display:flex;align-items:center;min-height:32px;margin-top:-8px;padding-right:88px}.dashboard-news__modal-title .ant-btn{position:absolute;top:12px;inset-inline-end:48px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:var(--color-icon, var(--color-text-secondary));z-index:1}.dashboard-news__modal--full .ant-modal-content{height:100vh;border-radius:0;display:flex;flex-direction:column}.dashboard-news__modal--full .ant-modal-body{flex:1;overflow-y:auto}.dashboard-news__modal--full .dashboard-news__editor .ql-editor{min-height:calc(100vh - 430px);max-height:none}.dashboard{flex:1;display:flex;flex-direction:column;min-height:0}.dashboard__loading{display:flex;justify-content:center;padding-top:120px}.dashboard__lower{margin-top:16px}.dashboard__panel{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-card);height:100%}.dashboard__panel-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.dashboard__panel-icon{font-size:20px;flex-shrink:0;transform-origin:center;animation:dashboard-icon-pulse 2.4s ease-in-out infinite}.dashboard__panel-body{max-height:280px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.dashboard__panel-body .ant-table-thead>tr>th{position:sticky;top:0;z-index:1}.dashboard__attn-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.dashboard__attn-meta{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.dashboard__project-cell{display:flex;align-items:center;gap:10px}.dashboard__thumb{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.dashboard__thumb--empty{display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-page);color:var(--color-text-tertiary)}.dashboard__project-meta{display:flex;flex-direction:column;min-width:0}@keyframes dashboard-icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.85}}.login{display:flex;justify-content:center;align-items:center;min-height:100vh;min-width:100vw;background:linear-gradient(160deg,var(--color-bg-page) 0%,var(--color-bg-selected) 100%)}.login__card{width:420px;max-width:calc(100vw - 32px);border:1px solid var(--color-border);box-shadow:0 18px 48px #b1763d1f;border-radius:18px}.login__header{text-align:center;margin-bottom:30px}.login__title{margin-bottom:10px}.login__form-button{height:45px}.login__forgot-password{text-align:right;margin-bottom:16px}.login__forgot-password-link{padding:0;font-size:14px}.login__back-to-login{text-align:center;margin-top:16px}.login__back-to-login-link{font-size:14px}.login__footer{text-align:center;margin-top:20px}.login__footer-text{font-size:12px}.row-missing>td{background-color:var(--color-error-soft)!important}.row-missing:hover>td{background-color:var(--color-error-soft)!important}.missing-mark{color:var(--color-error-strong);font-weight:800;margin-left:6px}.admin-layout{height:100vh;overflow:hidden;position:relative}.admin-layout>.ant-layout{background:var(--color-bg-page)}.admin-layout__sider{background:var(--color-bg-surface);border-right:1px solid var(--color-border)}.admin-layout__sider .ant-layout-sider-children{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.admin-layout__sider .ant-layout-sider-children::-webkit-scrollbar{width:8px}.admin-layout__sider .ant-layout-sider-children::-webkit-scrollbar-track{background:transparent}.admin-layout__sider .ant-layout-sider-children::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.admin-layout__sider .ant-layout-sider-children::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.admin-layout__sider-logo{display:flex;align-items:center;height:60px;margin:10px 0 6px;padding:0 20px}.admin-layout__sider-logo-img{display:block;max-width:100%;max-height:26px;object-fit:contain}.admin-layout__sider-resizer{position:absolute;top:0;width:6px;height:100%;z-index:40;cursor:col-resize;transition:background var(--transition-fast)}.admin-layout__sider-resizer:hover,.admin-layout__sider-resizer:active{background:var(--color-accent-soft)}.admin-layout__sider-toggle{position:absolute;top:26px;left:251px;z-index:50;width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);transition:left .2s,color var(--transition-fast),border-color var(--transition-fast)}.admin-layout__sider-toggle svg{font-size:18px}.admin-layout__sider-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}.admin-layout__sider-toggle--collapsed{left:10px}.admin-layout__menu.ant-menu{border-inline-end:none;font-size:14px}.admin-layout__menu.ant-menu>.ant-menu-submenu>.ant-menu-submenu-title{height:30px;line-height:30px;margin:10px 8px 2px;padding-inline:16px!important;text-transform:uppercase;font-size:11px;letter-spacing:.07em;font-weight:600;color:var(--color-text-tertiary)!important;cursor:pointer}.admin-layout__menu.ant-menu>.ant-menu-submenu>.ant-menu-submenu-title:hover{background:transparent!important;color:var(--color-text-secondary)!important}.admin-layout__menu.ant-menu>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--color-border-strong)}.admin-layout__menu.ant-menu>.ant-menu-submenu>.ant-menu{background:transparent}.admin-layout__menu.ant-menu .ant-menu-item-selected{font-weight:700}.admin-layout__menu.ant-menu .ant-menu-item-selected:after{display:none}.admin-layout__header{padding:0 24px}.admin-layout--sider-collapsed .admin-layout__header{padding-left:56px}.admin-layout__header{display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-page)}.admin-layout__header-title{margin:0}.admin-layout__header-actions{display:flex;align-items:center;gap:20px}.admin-layout__header-bell{font-size:20px;cursor:pointer;color:var(--color-text-secondary);transition:color .2s}.admin-layout__header-bell:hover{color:var(--color-accent)}.admin-layout__header-user{cursor:pointer;display:flex;align-items:center;gap:10px;padding:4px 8px;border-radius:10px;transition:background .2s}.admin-layout__header-user:hover{background:var(--color-bg-hover)}.admin-layout__header-user-avatar{background:var(--color-bg-sunken);color:var(--color-text-secondary);flex-shrink:0}.admin-layout__header-user-info{display:flex;flex-direction:column;line-height:1.25;min-width:0}.admin-layout__header-user-email{font-size:14px;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.admin-layout__header-user-role{font-size:12px;color:var(--color-text-secondary)}.admin-layout__header-user-caret{font-size:11px;color:var(--color-text-tertiary);margin-left:2px}.admin-layout__content{height:calc(100vh - 64px);overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.admin-layout__content::-webkit-scrollbar{width:8px}.admin-layout__content::-webkit-scrollbar-track{background:transparent}.admin-layout__content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.admin-layout__content::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.admin-layout__content-wrapper{padding:24px;min-height:100%;background:transparent;display:flex;flex-direction:column}.admin-layout__content-wrapper .admin-layout__route-loading{flex:1;display:flex;align-items:center;justify-content:center;min-height:240px}.admin-layout__content-wrapper .ant-card{background:var(--color-bg-surface);border-radius:14px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.admin-layout__content-wrapper .ant-table-wrapper .ant-table{border:1px solid var(--color-border-subtle);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card)}.admin-layout__content-wrapper .ant-table-wrapper .ant-table-thead>tr>th:before{display:none!important}.admin-layout__content-wrapper .ant-table-wrapper .ant-table-thead>tr>th{font-weight:var(--font-weight-semibold)}.admin-layout__content-wrapper .ant-table-wrapper .ant-table-tbody>tr:last-child>td{border-bottom:none}.admin-layout__content-wrapper td.cell-actions-right{text-align:right}.admin-layout__content-wrapper .admin-toolbar{position:sticky;top:0;z-index:20;box-sizing:border-box;min-height:74px;display:flex;align-items:center;padding:0 18px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-card);transition:min-height .18s ease}.admin-layout__content-wrapper .admin-toolbar>:only-child{flex:1;min-width:0}.admin-layout__content-wrapper .ant-table-tbody>tr:not(.ant-table-measure-row)>td{height:68px}.admin-layout__content-wrapper .ant-table-tbody>tr.model-row--variant>td{height:46px}.admin-layout__content-wrapper .ant-pagination{display:flex;align-items:center}.admin-layout__content-wrapper .ant-pagination .ant-pagination-total-text{order:-2}.admin-layout__content-wrapper .ant-pagination .ant-pagination-options{order:-1;margin-inline-end:auto;margin-inline-start:12px}.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-item,.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-prev,.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-next,.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-jump-prev,.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-jump-next,.admin-layout__content-wrapper .ant-pagination:not(:has(.ant-pagination-item-2)):not(:has(.ant-pagination-jump-prev)):not(:has(.ant-pagination-jump-next)) .ant-pagination-options{display:none}.admin-layout__content.is-scrolled .admin-toolbar{min-height:48px}.ant-upload-drag .ant-upload-drag-icon svg{font-size:48px;color:var(--color-accent)}.ant-message .ant-message-notice-content{background:var(--color-bg-raised);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-elevated);padding:10px 16px;font-weight:500}.ant-message .anticon-check-circle{color:var(--color-success)}.ant-message .anticon-close-circle{color:var(--color-error)}.ant-message .anticon-exclamation-circle{color:var(--color-warning)}.ant-message .anticon-info-circle{color:var(--color-info)}.ant-modal-wrap{text-align:center}.ant-modal-wrap:before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ant-modal-wrap .ant-modal{top:0;display:inline-block;padding-bottom:0;text-align:start;vertical-align:middle}
