.header{height:60px;background:#222;color:#fff;display:flex;align-items:center;padding:0 20px;position:relative;font-family:sans-serif}.burger button{font-size:26px;background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.burger button:hover{opacity:.8}.dropdown,.user-dropdown{position:absolute;top:55px;background:#333;border-radius:6px;display:flex;flex-direction:column;min-width:180px;z-index:1000;box-shadow:0 4px 12px #00000080;overflow:hidden}.dropdown{left:20px}.dropdown a{color:#fff;text-decoration:none;padding:12px 16px;font-size:14px;transition:background .2s ease}.dropdown a:hover{background:#444}.logo{margin-left:20px;font-size:20px;font-weight:600}.header-auth{margin-left:auto;display:flex;align-items:center;position:relative}.login-link,.user-link{cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;transition:color .2s ease}.login-link:hover,.user-link:hover{color:#00adb5}.user-dropdown{left:50%;transform:translate(-50%);right:auto}.dropdown-item{color:#fff;padding:12px 16px;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease,color .2s ease}.dropdown-item:hover{background:#444}.dropdown-item:last-child:hover{background:#e74c3c33;color:#e74c3c}.lang-switch{margin-left:15px;margin-right:20px;padding:5px 8px;background:#333;color:#fff;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:13px;outline:none;transition:border-color .2s ease,background .2s ease}.lang-switch:hover{background:#444;border-color:#555}.lang-switch option{background:#333;color:#fff}#my3DCanvas{width:100%;height:100%;display:block}.canvas-top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;padding:5px 10px;background:#ffffff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;pointer-events:none}.menu-group{position:relative;pointer-events:auto}.main-menu-btn{display:flex;align-items:center;gap:0;padding:5px 10px;border:none;border-radius:10px;background:#282828bf;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;white-space:nowrap}.main-menu-btn:hover{background:#3c3c3ce6;transform:translateY(-1px)}.main-menu-btn .menu-btn-text{max-width:0;opacity:0;margin-left:0;transition:max-width .3s ease,opacity .2s ease,margin .2s ease;pointer-events:none}.main-menu-btn:hover .menu-btn-text{max-width:150px;opacity:1;margin-left:8px}.submenu{position:absolute;top:110%;left:0;min-width:220px;display:flex;flex-direction:column;padding:8px;margin-top:6px;border-radius:12px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 25px #00000059;z-index:50}.submenu-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.submenu-btn:hover{background:#ffffff14}.main-menu-btn span,.submenu-btn span{font-size:16px}.browse-menu{position:relative;pointer-events:auto;margin-left:10px}.browse-menu-btn{display:flex;align-items:center;gap:8px;padding:5px 10px;border:none;border-radius:10px;background:#282828bf;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;white-space:nowrap}.browse-menu-btn:hover{background:#3c3c3ce6;transform:translateY(-1px)}.browse-menu-text{max-width:0;opacity:0;transition:max-width .3s ease,opacity .2s ease,margin .2s ease;pointer-events:none}.browse-menu-btn:hover .browse-menu-text{max-width:150px;opacity:1}.browse-submenu{position:absolute;top:110%;left:0;min-width:180px;display:flex;flex-direction:column;gap:2px;padding:8px;margin-top:6px;border-radius:12px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 25px #00000059;z-index:50}.browse-submenu-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.browse-submenu-btn:hover{background:#ffffff14}.save-toolbar{position:relative;pointer-events:auto;margin-left:10px}.save-toolbar-btn{display:flex;align-items:center;gap:0;padding:5px 10px;border:none;border-radius:10px;background:#282828bf;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;white-space:nowrap}.save-toolbar-btn:hover{background:#3c3c3ce6;transform:translateY(-1px)}.save-toolbar-text{max-width:0;opacity:0;margin-left:0;transition:max-width .3s ease,opacity .2s ease,margin .2s ease;pointer-events:none}.save-toolbar-btn:hover .save-toolbar-text{max-width:150px;opacity:1;margin-left:8px}.save-toolbar-submenu{position:absolute;top:110%;left:0;min-width:220px;display:flex;flex-direction:column;gap:2px;padding:8px;margin-top:6px;border-radius:12px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 25px #00000059;z-index:50}.save-toolbar-submenu-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.save-toolbar-submenu-btn:hover{background:#ffffff14}.add-toolbar{position:relative;pointer-events:auto;margin-left:10px}.add-toolbar-btn{display:flex;align-items:center;gap:0;padding:5px 10px;border:none;border-radius:10px;background:#282828bf;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;overflow:hidden;white-space:nowrap}.add-toolbar-btn:hover{background:#3c3c3ce6;transform:translateY(-1px)}.add-toolbar-text{max-width:0;opacity:0;margin-left:0;transition:max-width .3s ease,opacity .2s ease,margin .2s ease;pointer-events:none}.add-toolbar-btn:hover .add-toolbar-text{max-width:150px;opacity:1;margin-left:8px}.add-toolbar-submenu{position:absolute;top:110%;left:0;min-width:230px;display:flex;flex-direction:column;gap:2px;padding:8px;margin-top:6px;border-radius:12px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 25px #00000059;z-index:50}.add-toolbar-submenu-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.add-toolbar-submenu-btn:hover{background:#ffffff14}.modules-header{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px;background-color:#7c7676;border:1px solid #bdb2b2;border-radius:8px;margin-right:8px}.modules-header .title{width:100%;text-align:center;font-weight:600;font-size:1.2rem;color:#222;text-transform:uppercase;letter-spacing:.5px}.modules-header .actions{display:flex;width:100%;gap:10px}.modules-header button{flex:1;padding:5px 0;font-size:1.2rem;font-weight:700;cursor:pointer;border:1px solid #333;border-radius:6px;background-color:#c9bdbd;transition:background-color .2s,color .2s}.modules-header button:first-child{border-color:#28a745;color:#28a745}.modules-header button:last-child{border-color:#dc3545;color:#dc3545}.modules-header button:hover{background-color:#7c7676;filter:brightness(.95)}.modules-header button:active{transform:scale(.98)}.add-module-menu{position:relative;flex:1}.modules-header .add-module-menu-trigger{flex:initial;width:100%;padding:5px 0;border:1px solid #28a745;border-radius:6px;background-color:#c9bdbd;color:#28a745;cursor:pointer;font-size:1.2rem;font-weight:700}.modules-header .add-module-menu .add-module-menu-trigger{border-color:#28a745;color:#28a745}.add-module-menu-popup{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:grid;width:max-content;min-width:220px;max-width:min(280px,80vw);overflow:hidden;border:1px solid #8f8f8f;border-radius:7px;background:#f0eeee;box-shadow:0 8px 20px #00000040}.modules-header .add-module-menu-popup button{flex:initial;padding:10px 12px;border:0;border-bottom:1px solid #c7c3c3;background:transparent;color:#222;cursor:pointer;font:inherit;text-align:left}.modules-header .add-module-menu-popup button:last-child{border-bottom:0}.modules-header .add-module-menu-popup button:hover,.modules-header .add-module-menu-popup button:focus-visible,.modules-header .add-module-menu-trigger:hover,.modules-header .add-module-menu-trigger:focus-visible{background-color:#d9eddc;outline:none}.modules-header .add-module-menu-trigger:active{transform:scale(.98)}.tabs-container{display:flex;align-items:flex-end;position:relative;z-index:1}.tabs{display:flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex:1;scrollbar-width:none;align-items:flex-end}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;cursor:pointer;transition:all .2s}.tabs-container.variant-default{background-color:#f1f1f1;border-bottom:1px solid #ccc;padding-bottom:0}.tabs.variant-default{gap:2px;padding:8px 10px 0 5px}.variant-default button{padding:8px 20px;border:1px solid #ccc;border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;background-color:#e0e0e0}.variant-default button.active{background-color:#fff;border:1px solid #ccc;border-bottom:1px solid #fff;font-weight:700;position:relative;z-index:5;margin-bottom:-1px}.variant-default .scroll-arrow{position:absolute;z-index:10;width:30px;height:100%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555}.variant-default .scroll-arrow.left{left:0;background:linear-gradient(to right,#f1f1f1 70%,transparent)}.variant-default .scroll-arrow.right{right:0;background:linear-gradient(to left,#f1f1f1 70%,transparent)}.tabs-container.variant-niche{background-color:transparent;border-bottom:none;margin-bottom:10px;padding:5px 0}.tabs.variant-niche{gap:8px;padding:5px;align-items:center}.variant-niche button{background-color:#eee;border:1px solid #ddd;padding:6px 16px;border-radius:20px;color:#666;font-size:13px;font-weight:500;transition:all .2s ease;margin-bottom:0!important;transform:none!important}.variant-niche button:hover{background-color:#e5e5e5;color:#333}.variant-niche button.active{background-color:#6c7279;color:#fff;border-color:#393e42;box-shadow:0 2px 4px #737b834d;font-weight:600;z-index:2}.variant-niche .scroll-arrow{display:none}.variant-niche .scroll-arrow{position:absolute;z-index:10;width:25px;height:80%;top:10%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#000;transition:transform .2s}.variant-niche .scroll-arrow:hover{transform:scale(1.2)}.variant-niche .scroll-arrow.left{left:-5px;background:linear-gradient(to right,rgba(255,255,255,.9) 60%,transparent)}.variant-niche .scroll-arrow.right{right:-5px;background:linear-gradient(to left,rgba(255,255,255,.9) 60%,transparent)}.tabs-container.variant-drawer{position:relative;background-color:#e0e0e0;padding:4px;border-radius:10px;margin-bottom:5px;border:1px solid #ccc;display:flex;align-items:center;box-shadow:inset 0 1px 3px #0000001a}.tabs.variant-drawer{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:0;padding:0 25px;align-items:center;scrollbar-width:none}.tabs.variant-drawer::-webkit-scrollbar{display:none}.variant-drawer button{flex:0 0 auto;background:transparent;border:none;padding:6px 14px;color:#555;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;position:relative;transition:all .2s;margin-bottom:0!important}.variant-drawer button:not(:last-child):after{content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background-color:#00000026;transition:opacity .2s}.variant-drawer button.active:after{opacity:0}.variant-drawer button:hover{color:#000;background-color:#fff6}.variant-drawer button.active{background-color:#fff;color:#000;font-weight:700;border-radius:7px;box-shadow:0 2px 5px #00000026;z-index:2}.variant-drawer .scroll-arrow{position:absolute;z-index:10;width:22px;height:22px;min-width:22px;min-height:22px;top:50%;transform:translateY(-50%);background-color:#fff6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid rgba(0,0,0,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:#00000080;box-shadow:0 1px 2px #0000000d;transition:all .2s}.variant-drawer .scroll-arrow.left{left:4px}.variant-drawer .scroll-arrow.right{right:4px}.variant-drawer:before,.variant-drawer:after{content:"";position:absolute;top:4px;bottom:4px;width:30px;pointer-events:none;z-index:5}.variant-drawer:before{left:4px;background:linear-gradient(to right,#e0e0e0 20%,transparent)}.variant-drawer:after{right:4px;background:linear-gradient(to left,#e0e0e0 20%,transparent)}.field[class*=extraWithButtom-]{display:flex;flex-direction:column;gap:1px;padding:1px;border-bottom:1px solid #eee}.field-row-top{display:flex;align-items:center;width:100%;padding-left:5px}.field-row-top label{font-size:13px;min-width:70px;margin-right:10px}.field-row-top .number-input{width:65px;padding:4px 6px;border:1px solid #ccc;border-radius:4px}.buttons-right{margin-left:auto;display:flex;flex-shrink:0;padding-right:5px}.range-wrapper{width:100%;display:block;padding-top:5px}.range-input{width:100%;display:block;margin:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent}.range-input::-webkit-slider-runnable-track{width:100%;height:6px;background:#ddd;border-radius:3px}.range-input::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bff;cursor:pointer;margin-top:-5px;box-shadow:0 1px 3px #0003}.field-dimension-number{width:60px!important;height:18px;padding:2px 4px;font-size:13px;text-align:center;border:1px solid #ccc;border-radius:3px;outline:none;background-color:#fff}.field-dimension-number:focus{border-color:#007bff;box-shadow:0 0 2px #007bff33}.anchor-buttons{display:flex;gap:4px;margin-top:4px}.anchor-btn{padding:2px 6px;font-size:12px;cursor:pointer;border:1px solid #ccc;background:#f0f0f0;border-radius:3px;transition:.2s}.anchor-btn:hover{background:#ddd}.anchor-btn.active{background:#007bff;color:#fff;border-color:#007bff}.field.extraWithButtom-width,.field.extra-height{display:flex;flex-direction:column}.material-field-control{display:flex;align-items:center;gap:8px;min-width:0}.material-field-preview{width:30px;height:30px;flex:0 0 30px;overflow:hidden;border:1px solid rgba(0,0,0,.18);border-radius:4px}.material-field-preview img{width:100%;height:100%;object-fit:cover}.material-field-info{display:flex;flex:1 1 auto;min-width:0;flex-direction:column}.material-field-name,.material-field-code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-field-code{color:#6b7280;font-size:.8rem}.material-field-button{flex:0 0 auto;padding:6px 10px;border:1px solid #2f80ed;border-radius:6px;background:#fff;color:#2167bd;cursor:pointer}.material-field-button:disabled{cursor:not-allowed;opacity:.6}.field input[type=range]{width:100%}button.field{margin-top:8px;padding:10px 16px;border:1px solid #2f80ed;border-radius:8px;background:linear-gradient(135deg,#2f80ed,#56ccf2);color:#fff;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:0 6px 14px #2f80ed2e}button.field:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 18px #2f80ed3d}button.field:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 12px #2f80ed33}button.field:disabled{opacity:.6;cursor:not-allowed}.field[class*=checkbox-] input[type=checkbox]{width:15px;height:15px;cursor:pointer;margin:2}.accordion-header,.field label{user-select:none;-webkit-user-select:none}.posY-control{display:flex;flex-direction:row;gap:20px;align-items:center;flex-wrap:wrap}.control-item{display:flex;align-items:center;gap:8px}.control-item label{white-space:nowrap;font-size:14px}.control-item input{width:60px;padding:4px;border:1px solid #ccc;border-radius:4px}.accordion{border:1px solid #ddd;border-radius:6px;margin-bottom:8px;overflow:hidden}.accordion-header{background:#f5f5f5;padding:10px;cursor:pointer;font-weight:600;transition:.2s}.accordion-header:hover{background:#eaeaea}.accordion.open .accordion-header{background:#ddd}.accordion-content{padding:10px;display:flex;flex-direction:column;gap:8px}.accordion-content .field{padding-bottom:8px;border-bottom:1px solid #eee}.accordion-content .field:last-child{border-bottom:none;padding-bottom:0}.niche-section{margin:0;padding:10px;background-color:#f1f3f5;border-radius:10px;border:1px solid #dee2e6}.niche-section-title{margin:0 0 10px;font-size:1.1rem;font-weight:600;color:#333}.niche-tabs-wrapper{margin-bottom:15px}.niche-details-box{background-color:#fff;padding:5px;border-radius:6px;box-shadow:inset 0 2px 4px #0000000d;min-height:80px}.niche-none-selected{color:#adb5bd;font-size:13px;text-align:center;font-style:italic;padding:10px}.textNisheMenu{margin-top:0;font-size:15px;color:#000;margin-bottom:8px}.scene-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.scene-selector .scene-btn{position:relative;padding:0;border:1px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .2s}.scene-selector .scene-btn img{display:block;width:100%;height:auto}.scene-selector .scene-btn.selected{border-color:#007bff}.scene-selector .empty{visibility:hidden}.drawers-section{display:flex;flex-direction:column;gap:16px;padding:5px;background-color:#f9f9f9;border-radius:8px}.drawers-tabs-wrapper{border-bottom:1px solid #e0e0e0;padding-bottom:4px}.drawers-details-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:5px;box-shadow:0 2px 8px #0000000d}.textDrawerMenu{margin:0 0 16px;font-size:14px;padding-left:10px}.textDrawerMenu strong{color:#000;font-size:16px}.drawer-placeholder-controls{display:flex;flex-direction:column;gap:12px}.drawer-none-selected{text-align:center;color:#999;padding:40px 0;font-style:italic}#horizontal-divider-root{width:100%;min-height:320px;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.horizontal-divider-menu{width:100%;height:auto;padding:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;background:#f8f8f8;border:1px solid #ccc}.zone-properties-panel{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #ddd;background:#fff;height:auto}.zone-title{margin:0 0 8px;font-size:14px;font-weight:600}.zone-properties-panel label{display:block;font-size:13px}.zone-properties-panel input[type=number]{width:80px;margin-top:4px}.niche-preview{position:relative;display:flex;flex-direction:column-reverse;border:2px solid #333;background:#fff;box-sizing:border-box;max-height:100%;max-width:100%}.preview-wrapper{width:100%;display:flex;justify-content:center;align-items:center;overflow:visible;position:relative;height:260px;border:1px solid #ddd;background:#fafafa;box-sizing:border-box}.zone-preview{position:relative;border-top:1px solid #ccc;display:flex;align-items:center;justify-content:center}.zone-preview.selected{outline:2px solid #2563eb;background:#2563eb14}.zone-preview:hover{background:#3b82f61f}.zone-preview .split-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.zone-preview .split-btn:hover{background:#1d4ed8}.menu-footer{display:flex;justify-content:space-between;gap:8px}.menu-footer button{flex:1;padding:6px 10px;cursor:pointer}.split-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:#2563eb;color:#fff;font-size:16px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.split-btn:hover{background:#1d4ed8}.drawer-label{position:absolute;left:20px;top:50%;transform:translateY(-50%);font-size:11px;color:#444;opacity:.8;pointer-events:none}.remove-btn{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:#dc2626;color:#fff;font-size:14px;cursor:pointer}.remove-btn:hover{background:#b91c1c}.menu-footer{display:flex;justify-content:flex-end;gap:8px}.split-btn,.remove-btn{position:absolute;top:50%;transform:translateY(-50%)}.remove-btn{left:50%;transform:translate(-120%,-50%)}.split-btn{left:50%;transform:translate(20%,-50%)}@media(max-width:768px){.horizontal-divider-menu{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;height:calc(50vh - 10px);height:calc(50dvh - 10px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}.preview-wrapper,.zone-properties-panel,.menu-footer{flex-shrink:0}.menu-footer{padding-top:10px;padding-bottom:25px}}@media(max-width:932px)and (orientation:landscape){#horizontal-divider-root{min-height:0;height:auto;width:100%}.horizontal-divider-menu{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;padding:12px;height:calc(100vh - 50px);height:calc(100dvh - 50px);overflow-y:auto;-webkit-overflow-scrolling:touch}.preview-wrapper{height:260px;flex-shrink:0}.niche-preview{position:relative;display:flex;flex-direction:column-reverse;border:2px solid #333;background:#fff;box-sizing:border-box;max-height:100%;max-width:100%}.zone-properties-panel{flex-shrink:0}.menu-footer{flex-shrink:0;padding-top:10px;padding-bottom:30px}}.details-panel{flex:1;min-height:0;display:flex;flex-direction:column;background-color:#1e1e1e;color:#eaeaea;font-family:sans-serif}.details-tree,.details-params{border:1px solid #3a3a3a;margin:6px;border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.details-tree{min-height:0;overflow-y:auto;flex:1}.details-params{flex:1;min-height:0;overflow-y:auto}.panel-title{padding:6px 10px;font-weight:600;background-color:#2a2a2a;border-bottom:1px solid #3a3a3a}.triplePosition,.tripleSize{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.triplePosition label,.tripleSize label{display:flex;align-items:center;gap:4px;white-space:nowrap}#modal-root{z-index:9999}.dim-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#706d6d99;display:flex;align-items:center;justify-content:center;z-index:5000}.dim-modal{border-radius:6px;width:800px;height:500px;background:#4b4848;color:#fff;display:flex;flex-direction:column;overflow:hidden}.dim-header,.dim-footer{padding:8px;border-bottom:1px solid #333;display:flex;justify-content:space-between}.dim-footer{padding:8px 12px;border-top:1px solid #333;justify-content:flex-end;align-items:center;gap:16px;display:flex}.dim-body{flex:1;display:flex;min-height:0;overflow:hidden}.dim-left{display:flex;flex-direction:column;gap:12px;width:200px;padding:12px;border-right:1px solid #333;overflow-y:auto}.dim-left::-webkit-scrollbar,.dim-tree-container::-webkit-scrollbar{width:6px}.dim-left::-webkit-scrollbar-thumb,.dim-tree-container::-webkit-scrollbar-thumb{background:#8d8a8a;border-radius:3px}.dim-left label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#ddd9d9}.dim-left input,.dim-left select{width:100px;padding:5px 8px;background:#333;border:1px solid #555;border-radius:4px;color:#fff;outline:none}.dim-left input[type=color]{padding:0;height:30px;width:60px;cursor:pointer}.dim-left input:focus,.dim-left select:focus{border-color:#4caf50}.dim-right{display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden}.dim-tree-container{flex:1;overflow-y:auto;padding:8px;min-height:0}.dim-anchor{display:flex;align-items:center;gap:10px;background:#3a3a3a;padding:4px 12px;border-radius:4px;margin-right:auto;font-size:18px}.dim-error{color:#f55;padding:4px 12px}.dim-header-left{display:flex;align-items:center;gap:12px}.dim-select{padding:4px 8px;background:#333;border:1px solid #555;border-radius:4px;color:#fff;font-size:13px;outline:none;min-width:200px}.dim-select:focus{border-color:#4caf50}.dim-point{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .15s ease;font-size:13px}.dim-point:hover{background:#3a3a3a}.dim-point button{background:transparent;border:none;color:#ccc;cursor:pointer;font-size:12px}.dim-point button:hover{color:#f55}.dim-point.active{background:#4caf50;color:#000}.dim-point.active button{color:#000}#dim-delete-btn{background:transparent;border:1px solid #221e1e;color:#f5f3f3;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .15s,color .15s,border-color .15s}#dim-delete-btn:hover{background:#f55;color:#000;border-color:#f55}#dim-delete-btn:active{transform:scale(.95)}@media(max-width:768px)and (orientation:portrait){.dim-modal{width:95vw;height:80vh;height:80dvh}.dim-body{flex-direction:column}.dim-left{width:100%;max-height:40%;border-right:none;border-bottom:1px solid #333;box-sizing:border-box}}@media(max-width:932px)and (orientation:landscape){.dim-modal{width:90vw;height:88vh;height:88dvh;margin:auto}.dim-header,.dim-footer{padding:4px 8px}.dim-left{width:180px;padding:6px 10px;gap:8px}.dim-footer button,.dim-anchor{font-size:14px;padding:4px 10px}}.nishe-move-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0006}.nishe-move-dialog{width:min(100%,460px);padding:16px;background:#fff;border-radius:12px;box-shadow:0 16px 36px #00000026;color:#1f1f1f}.nishe-move-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.nishe-move-header h3{margin:0;font-size:1.1rem;font-weight:700}.close-button{border:none;background:transparent;font-size:1.4rem;line-height:1;color:#9ca3af;cursor:pointer}.nishe-move-description{margin-bottom:12px;color:#6b7280;line-height:1.4;font-size:.85rem}.nishe-method-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;margin-bottom:12px}.nishe-method-title{margin-bottom:10px;font-size:.75rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.5px}.nishe-move-inputs-inline{display:flex;gap:12px;margin-bottom:10px}.nishe-move-row{flex:1;display:grid;gap:4px}.nishe-move-row label{font-size:.8rem;color:#4b5563;font-weight:500}.nishe-move-row select{width:100%;padding:6px 10px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:.85rem}.nishe-move-message{margin-bottom:10px;padding:8px 10px;border-radius:6px;background:#eff6ff;color:#1e40af;font-size:.8rem}.nishe-move-actions{display:flex;justify-content:flex-end}.nishe-modal-footer{display:flex;justify-content:flex-end;margin-top:4px}.primary-button,.secondary-button{padding:6px 12px;border-radius:6px;border:none;cursor:pointer;font-weight:600;font-size:.85rem}.primary-button{background:#2563eb;color:#fff}.secondary-button{background:#f3f4f6;color:#374151}.nishe-reorder-wrapper{display:flex;flex-direction:column}.nishe-reorder-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.nishe-reorder-title{font-size:.75rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.5px}.nishe-reorder-mirror{padding:6px 12px;border:1px solid #2563eb;border-radius:6px;background:#fff;color:#2563eb;font-weight:700;font-size:.75rem;cursor:pointer;transition:background .2s,color .2s,transform .2s;white-space:nowrap}.nishe-reorder-mirror:hover{background:#2563eb;color:#fff;transform:translateY(-1px)}.nishe-reorder{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:6px}.nishe-reorder-item{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f1f1f;font-weight:500;font-size:.85rem;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;white-space:nowrap;transition:opacity .2s,background-color .2s}.nishe-reorder-item:hover{background:#f9fafb;border-color:#9ca3af}.nishe-drag-overlay{padding:6px 12px;border:1px solid #2563eb;border-radius:6px;background:#fff;color:#1f1f1f;font-weight:500;font-size:.85rem;pointer-events:none;opacity:.95;white-space:nowrap;box-shadow:0 8px 20px #00000026}.nishe-reorder-confirm{margin-top:8px;padding:6px 12px;border:none;border-radius:6px;background:#2563eb;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;align-self:flex-end;transition:background .2s}.nishe-reorder::-webkit-scrollbar{height:4px}.nishe-reorder::-webkit-scrollbar-track{background:#f3f4f6;border-radius:2px}.nishe-reorder::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.nishe-reorder::-webkit-scrollbar-thumb:hover{background:#94a3b8}.login-page-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;padding:32px;background:#090e1873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;pointer-events:auto}.login-card{pointer-events:auto;width:min(520px,100%);background:#121726f2;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 32px 80px #00000059;overflow:hidden;display:grid;grid-template-columns:1fr}.login-card__hero{position:relative;padding:32px 32px 18px;background:linear-gradient(180deg,rgba(70,106,255,.18),transparent 100%)}.login-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;background:#ffffff1a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;text-decoration:none;transition:background .2s ease,transform .2s ease}.login-close:hover{background:#ffffff2e;transform:translateY(-1px)}.login-card__title{margin:0 0 8px;font-size:clamp(2rem,2.2vw,2.4rem);color:#f7fbff;letter-spacing:-.04em}.login-card__subtitle{margin:0;color:#b8c2ff;line-height:1.6}.login-form{display:grid;gap:18px;padding:28px 32px 32px}.login-field{display:grid;gap:10px}.login-field label{color:#cbd2ff;font-size:.95rem}.login-field input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff12;color:#f8fbff;font-size:1rem}.login-field input::placeholder{color:#ffffff8c}.login-field input:focus{outline:none;border-color:#6aa4fff2;box-shadow:0 0 0 4px #6aa4ff1f}.login-actions{display:grid;gap:12px}.login-submit{min-height:52px;border:none;border-radius:16px;background:linear-gradient(135deg,#5f7dff,#75f7ff);color:#091525;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s ease,filter .2s ease}.login-submit:hover{transform:translateY(-1px);filter:brightness(1.03)}.login-card__footer{padding:0 32px 28px;display:flex;justify-content:space-between;align-items:center;color:#9fb4ff;font-size:.95rem}.login-card__footer a{color:#dbe6ff;text-decoration:none;font-weight:700}.login-card__footer a:hover{text-decoration:underline}.login-secondary{color:#8da1ff;font-size:.9rem;line-height:1.5}@media(max-width:640px){.login-page-overlay{padding:20px}.login-card{border-radius:22px}.login-form{padding:24px 24px 28px}.login-card__hero{padding:28px 24px 16px}.login-card__footer{padding:0 24px 24px;flex-direction:column;gap:10px;align-items:start}}.profile-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;min-height:100vh;background:#fffffff2;display:flex;justify-content:center;align-items:center;z-index:2000;padding:16px;overflow-y:auto}.profile-card{position:relative;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:40px;max-width:500px;width:min(100%,500px);box-sizing:border-box;animation:slideIn .3s ease-out;max-height:min(90vh,760px);overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-card h2{margin:0 0 30px;color:#333;font-size:28px;font-weight:600;border-bottom:2px solid #007bff;padding-bottom:15px}.profile-close{position:absolute;top:16px;right:16px;min-width:140px;padding:10px 18px;border:none;background:linear-gradient(135deg,#0d6efd,#4dabf7);color:#fff;font-size:.95rem;font-weight:700;border-radius:999px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.profile-close:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0d6efd40}.profile-field{margin-bottom:20px;display:flex;flex-direction:column}.profile-field label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.profile-field p{margin:0;font-size:16px;color:#333;padding:12px;background:#f8f9fa;border-radius:6px;border-left:3px solid #007bff}.profile-empty{text-align:center;color:#999;font-size:16px;padding:40px 20px}@media(max-width:600px){.profile-container{padding:12px}.profile-card{padding:25px}.profile-card h2{font-size:24px}.profile-field p{font-size:14px}}.resource-browser-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5100;display:grid;place-items:center;padding:clamp(12px,3vw,32px);background:#0000008c}.resource-browser-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1100px,100%);height:min(80vh,760px);height:min(80dvh,760px);min-height:0;overflow:hidden;border:1px solid #646464;border-radius:12px;background:#363636;color:#f5f5f5;box-shadow:0 24px 64px #0006}@media(max-width:700px),(orientation:landscape)and (max-width:900px){.resource-browser-backdrop{padding:0}.resource-browser-dialog{width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;border-left:none;border-right:none}}.resource-browser-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"title error close";align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #575757}.resource-browser-title{grid-area:title;margin:0;font-size:clamp(17px,2.4vw,22px);line-height:1.25;white-space:nowrap}.resource-browser-error{grid-area:error;justify-self:center;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;background:#6a1f1f;color:#f3d7d7;border:1px solid #7f2c2c;border-radius:8px;font-size:.875rem;line-height:1.2;text-align:center;max-width:100%}.resource-browser-error strong{display:block;margin-bottom:2px}.resource-browser-close-button{grid-area:close;justify-self:end;border:1px solid #707070;border-radius:6px;color:inherit;cursor:pointer;font:inherit;width:34px;height:34px;padding:0;background:transparent;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}.resource-browser-close-button:hover{border-color:#a7d6a7}@media(max-width:600px){.resource-browser-header{grid-template-columns:1fr auto;grid-template-areas:"title close" "error error";padding:10px 12px;gap:8px}.resource-browser-title{white-space:normal}.resource-browser-error{width:100%;box-sizing:border-box}}.resource-browser-folders{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid #575757;background:#282828}.resource-browser-folder-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resource-browser-folder{display:inline-flex;align-items:center;gap:6px;border:1px solid #555;border-radius:6px;color:#e0e0e0;cursor:pointer;font:inherit;flex:0 0 auto;padding:6px 12px;background:#3a3a3a;transition:background .15s ease,border-color .15s ease}.resource-browser-folder:hover{background:#4a4a4a;border-color:#777}.resource-browser-folder.active{background-color:#1e3a5f;border-color:#4a90e2;color:#fff}.resource-browser-body{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr) minmax(280px,340px);min-height:0;gap:16px;overflow:hidden;padding:16px 18px}.resource-browser-folder-panel{min-width:0;min-height:0;overflow-y:auto;border:1px solid #444;border-radius:8px;background:#272727;padding:12px}.resource-browser-folder-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #444}.resource-browser-folder-panel-header h3{margin:0;color:#fff;font-size:.95rem}.resource-browser-folder-close,.resource-browser-folder-toggle{border:1px solid #555;border-radius:6px;color:#e0e0e0;cursor:pointer;font:inherit;background:#3a3a3a}.resource-browser-folder-close{display:none;width:28px;height:28px;padding:0;font-size:1.25rem;line-height:1}.resource-browser-folder-toggle{display:none;padding:7px 10px}.resource-browser-folder-list{display:flex;flex-direction:column;gap:6px;padding-top:10px}.resource-browser-folder-item{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px 8px calc(10px + var(--folder-level, 0) * 18px);border:1px solid transparent;border-radius:6px;color:#ddd;cursor:pointer;font:inherit;text-align:left;background:transparent}.resource-browser-folder-item.nested:before{position:absolute;top:0;bottom:0;left:calc(8px + (var(--folder-level) - 1) * 18px);width:1px;background:#555;content:""}.resource-browser-folder-item.nested:after{position:absolute;top:50%;left:calc(8px + (var(--folder-level) - 1) * 18px);width:12px;height:1px;background:#555;content:""}.resource-browser-folder-item:hover{background:#353535}.resource-browser-folder-item:disabled{cursor:not-allowed;opacity:.65}.resource-browser-folder-item:disabled:hover{background:transparent}.resource-browser-folder-item.active{border-color:#4a90e2;color:#fff;background:#1e3a5f}.resource-browser-list,.resource-browser-preview{min-width:0;min-height:0;border-radius:8px;border:1px solid #444}.resource-browser-list{overflow-y:auto;background:#272727}.resource-browser-item-list{list-style:none;margin:0;padding:0}.resource-browser-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;background:transparent;border:none;border-bottom:1px solid #383838;color:#e5e5e5;text-align:left;cursor:pointer;font:inherit;transition:background-color .15s ease}.resource-browser-item:hover{background-color:#353535}.resource-browser-item.is-selected{background-color:#1e3a5f;color:#fff}.resource-browser-item.is-locked{cursor:not-allowed;opacity:.7;filter:grayscale(.2)}.resource-browser-item.is-locked:hover{background:transparent}.item-icon{font-size:1.1rem}.item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-code{font-size:.75rem;color:#a0a0a0}.resource-browser-item.is-selected .item-code{color:#c0d8ff}.resource-browser-preview{overflow-y:auto;background:#2c2c2c;padding:16px}.preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#999;gap:8px}.preview-placeholder-icon{font-size:2rem}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#aaa}.spinner{width:24px;height:24px;border:3px solid #555;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-content{display:flex;flex-direction:column;gap:16px}.preview-title{margin:0;font-size:1.15rem;color:#fff;border-bottom:1px solid #444;padding-bottom:8px}.preview-description{margin:0;font-size:.9rem;color:#ccc;line-height:1.4}.preview-details-group h4{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:#888}.preview-specs{margin:0;display:flex;flex-direction:column;gap:6px;background:#222;padding:10px 12px;border-radius:6px}.spec-row{display:flex;justify-content:space-between;font-size:.875rem}.spec-row dt{color:#aaa}.spec-row dd{margin:0;font-weight:600;color:#fff}.preview-specs{margin:0;display:flex;flex-direction:column;gap:8px;background:#222;padding:12px;border-radius:6px;border:1px solid #383838}.spec-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:.85rem;padding-bottom:6px;border-bottom:1px solid #2e2e2e}.spec-row:last-child{border-bottom:none;padding-bottom:0}.spec-key{color:#9cdcfe;font-family:monospace;font-size:.82rem;word-break:break-all}.spec-value{margin:0;font-weight:500;color:#ce9178;text-align:right;word-break:break-word;max-width:60%}.resource-browser-preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid #575757}.resource-browser-action-button{border:1px solid #707070;border-radius:6px;color:inherit;cursor:pointer;font:inherit;padding:8px 14px;background:#4c8c4c;transition:border-color .15s ease,opacity .15s ease,background-color .2s ease,transform .15s ease}.resource-browser-action-button.secondary.is-active{background:#2d6a33;border-color:#8fd899;box-shadow:0 0 0 1px #8fd89959}.resource-browser-action-button.danger.is-cancel{background:#8a5a1d;border-color:#f0c36b;color:#fff3cc}.resource-browser-action-button:hover{border-color:#a7d6a7;transform:translateY(-1px)}@media(max-width:700px){.resource-browser-body{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow-y:auto}.resource-browser-folder-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:start}.resource-browser-folder-panel{position:absolute;z-index:2;top:16px;bottom:16px;left:18px;width:min(240px,calc(100% - 36px));transform:translate(calc(-100% - 18px));transition:transform .2s ease;box-shadow:8px 0 24px #00000059}.resource-browser-folder-panel.is-open{transform:translate(0)}.resource-browser-folder-close{display:block}.resource-browser-preview{max-height:220px}}.resource-browser-save-name-field{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:8px 10px;border:1px solid #555;border-radius:8px;background:#3a3a3a;color:#e0e0e0;min-width:240px;max-width:320px;box-shadow:inset 0 0 0 1px #ffffff05;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;border-left:2px solid rgba(255,255,255,.12)}.resource-browser-save-name-field.is-highlighted{border-color:#6aa2ff;box-shadow:0 0 0 2px #6aa2ff38,inset 0 0 0 1px #6aa2ff33;transform:translateY(-1px);animation:save-name-field-highlight 1.8s ease}.resource-browser-save-name-label{font-size:.85rem;color:#b8b8b8;white-space:nowrap}.resource-browser-save-name-input{width:100%;border:none;outline:none;background:transparent;color:#fff;font:inherit}.resource-browser-save-name-input::placeholder{color:#8c8c8c}@keyframes save-name-field-highlight{0%{box-shadow:0 0 #6aa2ff4d}50%{box-shadow:0 0 0 4px #6aa2ff33}to{box-shadow:0 0 #6aa2ff00}}.resource-browser-folder-actions{display:flex;align-items:center;gap:4px}.resource-browser-folder-action{width:28px;height:28px;padding:0;border:1px solid #555;border-radius:6px;color:#e0e0e0;cursor:pointer;font:inherit;font-size:1.1rem;line-height:1;background:#3a3a3a}.resource-browser-folder-action:hover{border-color:#888;background:#4a4a4a}.resource-browser-folder-action:disabled{cursor:not-allowed;opacity:.45}.resource-browser-folder-action:disabled:hover{border-color:#555;background:#3a3a3a}.resource-browser-folder-action.add{color:#9fdaa3}.resource-browser-folder-action.delete{color:#f09a9a}.resource-browser-folder-action.rename{color:#a9c7ee}.resource-browser-footer{display:flex;align-items:center;gap:12px;padding:14px 18px;justify-content:flex-end;border-top:1px solid #575757}.resource-browser-action-button{border:1px solid #707070;border-radius:6px;color:inherit;cursor:pointer;font:inherit;padding:8px 14px;background:#4c8c4c}.resource-browser-action-button.secondary{background:#4a4a4a}.resource-browser-action-button.danger{border-color:#cf6262;background:#b93838}.resource-browser-action-button:disabled{cursor:not-allowed;opacity:.55}.resource-browser-action-button:not(:disabled):hover{border-color:#a7d6a7}@media(max-width:700px){.resource-browser-footer{padding:10px 12px}}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5200;display:grid;place-items:center;padding:20px;background:#0000008c}.confirm-dialog{width:min(420px,100%);background:#2b2b2b;border:1px solid #555;border-radius:12px;box-shadow:0 16px 40px #00000059;color:#f5f5f5;overflow:hidden}.confirm-dialog-header{padding:18px 20px 12px;border-bottom:1px solid #444}.confirm-dialog-title{margin:0;font-size:1.15rem;color:#fff}.confirm-dialog-body{padding:18px 20px}.confirm-dialog-message{margin:0;color:#e5e5e5;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.confirm-dialog-button{border:1px solid #666;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.confirm-dialog-button:hover{transform:translateY(-1px)}.confirm-dialog-button.cancel{background:#3a3a3a;color:#f1f1f1}.confirm-dialog-button.confirm{background:#2f6fdb;border-color:#5d8fe5;color:#fff}@media(max-width:700px){.confirm-dialog-backdrop{padding:12px}.confirm-dialog{width:100%}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-button{width:100%}}.file-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5300;display:grid;place-items:center;padding:clamp(12px,3vw,28px);background:#0f172a7a}.file-upload-dialog{width:min(640px,100%);border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;box-shadow:0 24px 60px #0f172a3d;overflow:hidden}.file-upload-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e2e8f0}.file-upload-eyebrow{display:block;color:#64748b;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.file-upload-header h3{margin:4px 0 0}.file-upload-close{border:0;background:transparent;color:#475569;font-size:1.7rem;cursor:pointer;line-height:1}.file-upload-body{display:grid;gap:14px;padding:16px 18px 18px}.file-upload-select span{display:block;margin-bottom:6px;color:#475569;font-size:.82rem;font-weight:700}.file-upload-select input[type=file]{width:100%;box-sizing:border-box;padding:10px 12px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc}.file-upload-limits{display:flex;flex-wrap:wrap;gap:8px 12px;color:#64748b;font-size:.8rem}.file-upload-list{max-height:220px;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.file-upload-empty{margin:0;padding:14px;color:#64748b}.file-upload-list ul{margin:0;padding:0;list-style:none}.file-upload-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e2e8f0}.file-upload-list li:last-child{border-bottom:0}.file-upload-list li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload-name-field{display:grid;flex:1;min-width:0;gap:5px}.file-upload-name-field .file-upload-original-name{color:#64748b;font-size:.75rem}.file-upload-name-field input{width:100%;min-width:0;box-sizing:border-box;padding:7px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font:inherit}.file-upload-total{display:flex;justify-content:space-between;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155}.file-upload-error{padding:10px 12px;border-radius:7px;background:#fef2f2;color:#b91c1c}.file-upload-footer{display:flex;justify-content:flex-end;gap:10px}@media(max-width:680px){.file-upload-backdrop{padding:0}.file-upload-dialog{width:100vw;min-height:100dvh;border-radius:0}}.file-manager-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5600;display:grid;place-items:center;padding:clamp(12px,3vw,28px);background:#0f172a9e}.file-manager-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(980px,100%);height:min(760px,88dvh);min-height:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#172033;box-shadow:0 24px 70px #0f172a52}.file-manager-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid #e2e8f0;background:#fff}.file-manager-eyebrow{color:#64748b;font-size:.72rem;text-transform:uppercase}.file-manager-header h2{margin:4px 0 0;font-size:1.15rem}.file-manager-close{width:34px;height:34px;border:0;background:transparent;color:#475569;font-size:1.7rem;cursor:pointer}.file-manager-state{display:grid;min-height:180px;place-items:center;padding:20px;color:#64748b}.file-manager-state.is-error{color:#b91c1c}.file-manager-content{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);min-height:0}.file-manager-list{min-height:0;overflow:auto;padding:10px;border-right:1px solid #e2e8f0;background:#f1f5f9}.file-manager-list-item{display:flex;align-items:center;width:100%;min-width:0;gap:10px;margin-bottom:7px;padding:8px;border:1px solid transparent;border-radius:7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.file-manager-list-item:hover,.file-manager-list-item.is-selected{border-color:#cbd5e1;background:#fff}.file-manager-thumbnail{display:grid;flex:0 0 58px;width:58px;aspect-ratio:1;place-items:center;overflow:hidden;border:1px solid #dbe2ea;border-radius:5px;background:#fff;color:#2563eb;font-size:.62rem;font-weight:700}.file-manager-thumbnail img{width:100%;height:100%;object-fit:cover}.file-manager-list-copy{display:grid;min-width:0;gap:4px}.file-manager-list-copy strong,.file-manager-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-manager-list-copy strong{font-size:.82rem}.file-manager-list-copy small{color:#64748b;font-size:.72rem}.file-manager-details{min-width:0;min-height:0;overflow:auto;padding:18px;background:#fff}.file-manager-preview{display:grid;width:min(280px,100%);aspect-ratio:1.6;place-items:center;margin:0 auto 16px;overflow:hidden;border:1px solid #e2e8f0;border-radius:7px;background:#f8fafc;color:#64748b}.file-manager-preview img{width:100%;height:100%;object-fit:contain}.file-manager-details dl{margin:0}.file-manager-details dl div{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:12px;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:.78rem}.file-manager-details dt{color:#64748b}.file-manager-details dd{min-width:0;margin:0;overflow-wrap:anywhere;text-align:right}.file-manager-edit-form{display:grid;gap:12px;margin-top:14px}.file-manager-edit-form label{display:grid;gap:5px;color:#475569;font-size:.8rem;font-weight:600}.file-manager-edit-form input,.file-manager-edit-form select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font:inherit;font-weight:400}.file-manager-action-error{margin:0;color:#b91c1c;font-size:.82rem}.file-manager-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.file-manager-confirm-backdrop{z-index:5700}@media(max-width:680px){.file-manager-backdrop{padding:0}.file-manager-dialog{width:100vw;height:100dvh;border-radius:0}.file-manager-content{grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr)}.file-manager-list{padding:5px}.file-manager-list-item{align-items:flex-start;flex-direction:column;gap:5px;padding:6px}.file-manager-thumbnail{flex-basis:48px;width:48px}.file-manager-details{padding:12px 8px}.file-manager-details dl div{grid-template-columns:1fr;gap:3px}.file-manager-details dd{text-align:left}.file-manager-actions{flex-direction:column}}.file-gallery{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #dbe2ea}.file-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.file-gallery-heading h4{margin:0;color:#172033;font-size:.95rem}.file-gallery-heading-actions{display:flex;align-items:center;gap:8px}.file-gallery-heading-actions>span{color:#64748b;font-size:.78rem}.file-gallery-action-button{padding:6px 9px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font:inherit;font-size:.74rem;cursor:pointer}.file-gallery-action-button:hover{border-color:#64748b;background:#f8fafc}.file-gallery-state{margin:0;padding:12px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:#64748b;font-size:.82rem}.file-gallery-state.is-error{color:#b91c1c}.file-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.file-gallery-item{position:relative;display:grid;min-width:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;text-decoration:none}.file-gallery-image{aspect-ratio:1.25;padding:0;cursor:pointer}.file-gallery-image:disabled{cursor:default}.file-gallery-image img{width:100%;height:100%;object-fit:cover}.file-gallery-image-label{position:absolute;right:0;bottom:0;left:0;overflow:hidden;padding:18px 7px 6px;background:linear-gradient(transparent,#0f172ac7);color:#fff;font-size:.7rem;text-align:left;text-overflow:ellipsis;white-space:nowrap}.file-gallery-document{align-content:center;justify-items:start;gap:6px;min-height:94px;padding:10px}.file-gallery-document:hover{border-color:#64748b;background:#f8fafc}.file-gallery-file-mark{color:#2563eb;font-size:.7rem;font-weight:700}.file-gallery-file-label{overflow:hidden;max-width:100%;font-size:.82rem;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.file-gallery-document small{color:#64748b}.file-gallery-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5500;display:grid;place-items:center;padding:24px;background:#020617e0}.file-gallery-viewer-content{position:relative;display:grid;justify-items:center;gap:12px;width:min(1100px,100%);max-height:100%}.file-gallery-viewer-content img{display:block;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain}.file-gallery-viewer-content a{color:#fff;font-size:.9rem}.file-gallery-viewer-close{position:absolute;top:-38px;right:0;width:34px;height:34px;border:1px solid rgb(255 255 255 / 45%);border-radius:6px;background:#0f172aa6;color:#fff;font-size:1.4rem;cursor:pointer}@media(max-width:680px){.file-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.file-gallery-viewer{padding:12px}}.catalog-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5200;display:grid;place-items:center;padding:clamp(12px,3vw,32px);background:#0f172a9e}.catalog-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1440px,100%);height:min(88dvh,860px);min-height:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#172033;box-shadow:0 24px 70px #0f172a47}.catalog-modal.is-creating{grid-template-rows:auto minmax(0,1fr) auto}.catalog-header,.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #e2e8f0}.catalog-header h2,.catalog-panel-heading h3,.catalog-details h3{margin:0}.catalog-header h2{font-size:1.35rem}.catalog-header-actions{display:flex;align-items:center;gap:8px}.catalog-add-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #2563eb;border-radius:7px;background:#2563eb;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer}.catalog-eyebrow{color:#64748b;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.catalog-icon-button{border:0;background:transparent;color:#475569;font-size:1.8rem;cursor:pointer}.catalog-sidebar-tools{display:grid;gap:8px;margin-bottom:16px}.catalog-toolbar-actions{display:flex;align-items:center;gap:6px}.catalog-toolbar-icon-button{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer}.catalog-toolbar-icon-button:hover,.catalog-toolbar-icon-button.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.catalog-toolbar-icon-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.catalog-search-icon{position:relative;width:14px;height:14px;border:2px solid currentColor;border-radius:50%}.catalog-search-icon:after{position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;transform:rotate(45deg);transform-origin:left center;background:currentColor;content:""}.catalog-filter-icon{width:17px;height:17px;background:currentColor;clip-path:polygon(0 10%,100% 10%,62% 52%,62% 90%,40% 100%,40% 52%)}.catalog-search{display:block;width:100%}.catalog-search span,.catalog-sort span,.catalog-filter span{display:block;margin-bottom:6px;color:#64748b;font-size:.76rem;font-weight:700}.catalog-search input,.catalog-sort select,.catalog-filter select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#172033;font:inherit}.catalog-filter select,.catalog-sort select{height:34px;padding:5px 8px;font-size:.78rem}.catalog-sort-controls{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:end;gap:5px}.catalog-sort{display:block;min-width:0}.catalog-sort-direction{width:32px;height:32px;margin-bottom:1px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#172033;font-size:.9rem;cursor:pointer}.catalog-body{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;min-height:0}.catalog-filters,.catalog-list-panel,.catalog-details{min-width:0;min-height:0;overflow:auto}.catalog-filters{padding:10px;border-right:1px solid #e2e8f0;background:#f1f5f9}.catalog-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.catalog-panel-heading button{border:0;background:transparent;color:#2563eb;cursor:pointer;font:inherit;font-size:.78rem}.catalog-filter{display:block;margin-bottom:15px}.catalog-list-panel{background:#fff}.catalog-table-wrap{height:100%;overflow:auto}.catalog-table{width:100%;border-collapse:collapse;white-space:nowrap}.catalog-table th{position:sticky;top:0;z-index:1;background:#f8fafc;text-align:left}.catalog-table th,.catalog-table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;font-size:.84rem}.catalog-table th button{border:0;background:transparent;color:#475569;font:inherit;font-weight:700;cursor:pointer}.catalog-table th button:disabled{cursor:default}.catalog-table tbody tr{cursor:pointer}.catalog-table tbody tr:hover,.catalog-table tbody tr.is-selected{background:#eff6ff}.catalog-details{padding:20px;border-left:1px solid #e2e8f0;background:#f8fafc}.catalog-material-swatch{position:relative;width:100%;aspect-ratio:1.5;margin-bottom:18px;overflow:hidden;border:1px solid #cbd5e1;border-radius:8px}.catalog-material-swatch img{width:100%;height:100%;object-fit:cover}.catalog-details-subtitle{margin:6px 0 20px;color:#64748b}.catalog-details dl{margin:0}.catalog-details dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e8f0}.catalog-details dt{color:#64748b}.catalog-details dd{margin:0;text-align:right;font-weight:600}.catalog-details-actions{display:flex;gap:10px;margin-top:20px}.catalog-upload-message{margin:12px 0 0;color:#166534;font-size:.82rem}.catalog-state{display:grid;min-height:180px;place-items:center;padding:24px;color:#64748b;text-align:center}.catalog-state-error{color:#b91c1c}.catalog-footer{border-top:1px solid #e2e8f0;border-bottom:0;background:#fff;color:#64748b;font-size:.82rem}.catalog-footer>div{display:flex;gap:10px}.catalog-button{padding:9px 16px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;cursor:pointer}.catalog-button.secondary{background:#fff;color:#334155}.catalog-button.primary{border-color:#2563eb;background:#2563eb;color:#fff}.catalog-button.danger{border-color:#dc2626;background:#dc2626;color:#fff}.catalog-button:disabled{cursor:not-allowed;opacity:.45}.catalog-create-form{min-height:0;padding:24px;overflow:auto;background:#fff}.catalog-create-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.catalog-create-heading h3{margin:3px 0 0;font-size:1.2rem}.catalog-create-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-create-field{display:block}.catalog-create-field>span{display:block;margin-bottom:6px;color:#475569;font-size:.82rem;font-weight:700}.catalog-create-field input:not([type=checkbox]),.catalog-create-field select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#172033;font:inherit}.catalog-create-field.is-checkbox{display:flex;align-items:center;gap:8px;padding-top:26px}.catalog-create-field.is-checkbox span{margin:0}.catalog-create-error{margin-bottom:16px;padding:10px 12px;border-radius:7px;background:#fef2f2;color:#b91c1c}@media(max-width:980px){.catalog-body{grid-template-columns:176px minmax(0,1fr);grid-template-rows:minmax(240px,1fr) minmax(220px,auto);overflow-y:auto;align-content:start}.catalog-details{grid-column:1 / -1;min-height:220px;max-height:none;border-top:1px solid #e2e8f0;border-left:0}}@media(max-width:800px){.catalog-modal-backdrop{padding:0}.catalog-modal{width:100vw;height:100dvh;border-radius:0}.catalog-header{min-height:44px;padding:8px 12px}.catalog-header h2{font-size:1rem}.catalog-eyebrow{display:none}.catalog-icon-button{font-size:1.5rem;line-height:1}.catalog-add-button{width:30px;height:30px}.catalog-sidebar-tools{gap:6px;margin-bottom:12px}.catalog-search span,.catalog-sort span{margin-bottom:4px;font-size:.66rem}.catalog-search input,.catalog-sort select{padding:7px 5px;font-size:.68rem}.catalog-sort-controls{grid-template-columns:minmax(0,1fr) 28px;gap:3px}.catalog-sort-direction{width:28px;height:30px}.catalog-body{grid-template-columns:132px minmax(0,1fr);grid-template-rows:minmax(220px,1fr) minmax(220px,auto);overflow-y:auto}.catalog-filters{padding:10px 8px;border-right:1px solid #e2e8f0;border-bottom:0}.catalog-panel-heading{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:12px}.catalog-panel-heading h3{font-size:.85rem}.catalog-filter{margin-bottom:10px}.catalog-filter span{margin-bottom:4px;font-size:.68rem}.catalog-filter select{padding:5px 4px;font-size:.7rem;line-height:1.15}.catalog-details{grid-column:1 / -1;min-height:220px;max-height:none;padding:14px}.catalog-material-swatch{width:120px;margin-bottom:12px}.catalog-details h3{font-size:1rem}.catalog-details dl div{padding:7px 0;font-size:.78rem}.catalog-table th,.catalog-table td{padding:9px 10px;font-size:.74rem}.catalog-footer{padding:14px 16px}.catalog-footer{padding:10px 12px}.catalog-create-form{padding:16px}.catalog-create-fields{grid-template-columns:1fr;gap:12px}.catalog-create-field.is-checkbox{padding-top:0}}@media(min-width:801px)and (max-width:980px){.catalog-create-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:600px)and (max-width:1100px){.catalog-modal-backdrop{padding:0}.catalog-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}}@media(orientation:landscape)and (min-width:801px)and (max-width:1100px){.catalog-body{grid-template-columns:168px minmax(0,1fr) minmax(220px,28vw);grid-template-rows:minmax(0,1fr);overflow:hidden}.catalog-details{grid-column:auto;min-height:0;max-height:none;padding:12px;border-top:0;border-left:1px solid #e2e8f0}}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}.app{display:grid;grid-template-rows:auto 1fr 15px;height:100dvh;width:100vw;overflow:hidden}.main-layout{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(0,1fr);min-height:0;width:100%;height:100%;overflow:hidden}.canvas-container{position:relative;background:#000;width:100%;height:100%;min-height:0;overflow:hidden;display:block}#sidebar{background:#f5f5f5;border-left:1px solid #ddd;display:flex;flex-direction:column;height:100%;overflow:hidden}#Main-Menu{display:flex;flex-direction:column;height:100%;flex:1;min-height:0;overflow-y:auto}.module-content{background-color:#fff;border:1px solid #ccc;border-top:none;position:relative;z-index:2;margin-top:-1px;flex:1;overflow-y:auto;padding:15px;font-family:sans-serif}footer{background:#222;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;border-top:1px solid #444;overflow:hidden}footer img{width:18px;height:18px;object-fit:contain}.page-content{position:absolute;top:60px;left:0;width:100%;pointer-events:none}.page-content>*{pointer-events:auto}.blurred .canvas-container,.blurred #my3DCanvas,.blurred .canvas-top-bar,.blurred #sidebar{pointer-events:none}.blurred #my3DCanvas{filter:blur(6px) brightness(.7);transition:.3s}.blurred #sidebar{opacity:.3}.blurred .canvas-top-bar,.blurred .canvas-top-bar *{opacity:.3;pointer-events:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:999}.modal.hidden{display:none}.modal-content{background:#fff;padding:20px;width:350px;border-radius:12px;box-shadow:0 4px 14px #0003}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.canvas-top-bar{position:absolute;top:0;left:0;width:100%;height:40px;background:#32323266;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;padding:0 10px;z-index:10}@media(max-width:768px){.app{height:100dvh;display:grid;grid-template-rows:auto 1fr 15px;overflow:hidden}.main-layout{display:grid!important;grid-template-columns:1fr;grid-template-rows:40vh 1fr;height:100%;overflow:hidden}#sidebar{display:flex;flex-direction:column;height:100%;background:#f5f5f5;border-top:1px solid #ddd;border-left:none;overflow:hidden}#Main-Menu{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:20px}.canvas-container{height:100%;width:100%;position:relative}}@media(max-width:932px)and (orientation:landscape){.app{height:100dvh;grid-template-rows:auto 1fr 15px}.main-layout{display:grid!important;grid-template-columns:60fr 40fr;grid-template-rows:1fr;height:100%}#sidebar{border-top:none;border-left:1px solid #ddd;height:100%;width:100%}#Main-Menu{height:100%;overflow-y:auto}.canvas-top-bar{top:0;padding:5px}}
