:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Outfit", sans-serif;--bg-primary: #ffffff;--bg-secondary: #ffffff;--bg-tertiary: #eaeef2;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-muted: #718096;--brand-color: #cc0000;--brand-glow: rgba(204, 0, 0, .12);--brand-gradient: linear-gradient(135deg, #cc0000 0%, #990000 100%);--accent-color: #990000;--success-color: #10b981;--warning-color: #f59e0b;--border-color: rgba(0, 0, 0, .08);--border-focus: rgba(204, 0, 0, .4);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .06);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .08);--glass-blur: blur(12px);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--text-primary)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-md)}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:10}.brand-section{display:flex;align-items:center;gap:12px}.logo-icon{width:36px;height:36px;background:var(--brand-gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.25rem;font-family:var(--font-display)}.brand-name{font-size:1.15rem;font-family:var(--font-display);letter-spacing:.5px}.brand-subtitle{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;font-weight:700;letter-spacing:1px}.user-profile-section{display:flex;align-items:center;gap:16px}.user-badge{display:flex;align-items:center;gap:10px;background-color:#ffffff0a;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border-color)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.user-name{font-size:.85rem;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:500;font-size:.875rem;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:var(--transition-fast);text-decoration:none}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 12px var(--brand-glow)}.btn-primary:hover{opacity:.95;transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:#cbd5e1}.btn-outline{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.btn-outline:hover{border-color:var(--text-primary);color:var(--text-primary)}.btn-icon{padding:8px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.btn-icon:hover{background-color:#ffffff0d;color:var(--text-primary)}.btn-icon.active{background-color:#ef444426;color:var(--brand-color)}.workspace-wrapper{display:flex;flex:1;overflow:hidden;height:calc(100vh - 64px)}.workspace-sidebar{width:280px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:space-between}.sidebar-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-title{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:8px}.project-list{display:flex;flex-direction:column;gap:8px}.project-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);background-color:#ffffff05;border:1px solid transparent;cursor:pointer;transition:var(--transition-fast)}.project-item:hover{background-color:#ffffff0d}.project-item.active{background-color:#ef44440f;border-color:#ef444433}.project-details{display:flex;align-items:center;gap:10px}.project-name{font-size:.875rem;font-weight:500;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-date{font-size:.75rem;color:var(--text-muted)}.canvas-container{display:flex;flex-direction:column;flex:1;background-color:#0b0f19;position:relative;overflow:hidden}.canvas-toolbar{height:48px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1rem}.toolbar-group{display:flex;align-items:center;gap:8px}.toolbar-divider{width:1px;height:20px;background-color:var(--border-color);margin:0 8px}.canvas-workspace{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:auto;padding:2rem}.canvas-wrapper{background-color:#1e293b;border-radius:var(--radius-sm);box-shadow:0 20px 25px -5px #00000080;border:1px solid rgba(255,255,255,.05);position:relative}canvas{display:block}.tool-controls-panel{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:8px 16px;border-radius:var(--radius-full)}.color-dot{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition-fast)}.color-dot:hover{transform:scale(1.1)}.color-dot.active{border-color:#fff;box-shadow:0 0 10px #ffffff80}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:radial-gradient(circle at top right,rgba(239,68,68,.05),transparent 40%),radial-gradient(circle at bottom left,rgba(59,130,246,.03),transparent 30%),var(--bg-primary)}.auth-card{width:100%;max-width:440px;padding:2.5rem;text-align:center}.auth-logo{display:inline-flex;margin-bottom:2rem}.auth-title{font-size:1.75rem;margin-bottom:.5rem}.auth-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem}.auth-loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--brand-color);border-radius:50%;margin:2rem auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portal-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-primary);padding-bottom:60px}.portal-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.portal-hero{background:radial-gradient(circle at top right,rgba(239,68,68,.08),transparent 50%),#1e293b66;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.portal-hero-text h2{font-size:2rem;font-family:var(--font-display);margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.portal-hero-text p{color:var(--text-secondary);font-size:1.05rem}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;max-width:400px;min-width:250px}.search-input-wrapper input{width:100%;padding:10px 12px 10px 40px;background-color:#ffffff08;border:1px solid var(--border-color);border-radius:var(--radius-md);color:#fff;font-size:.9rem;transition:var(--transition-fast)}.search-input-wrapper input:focus{outline:none;border-color:var(--border-focus);background-color:#ffffff0f;box-shadow:0 0 0 2px var(--brand-glow)}.search-icon-inside{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex;align-items:center}.filter-categories{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{padding:8px 16px;border-radius:var(--radius-full);background-color:#ffffff08;border:1px solid var(--border-color);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:var(--transition-fast)}.filter-chip:hover{background-color:#ffffff14;color:#fff}.filter-chip.active{background-color:var(--brand-color);border-color:var(--brand-color);color:#fff;box-shadow:0 4px 12px var(--brand-glow)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{display:flex;flex-direction:column;height:380px;position:relative;overflow:hidden;transition:var(--transition-normal);cursor:pointer}.project-card:hover{transform:translateY(-6px);border-color:#ef44444d;box-shadow:0 12px 40px #00000080,0 0 20px #ef44440d}.project-card-thumbnail{height:160px;position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center}.project-card-mesh{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;background-size:cover;background-position:center;transition:var(--transition-normal)}.project-card:hover .project-card-mesh{transform:scale(1.05);opacity:.45}.project-card-canvas-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:10px;z-index:1}.project-card-canvas-preview img{max-width:90%;max-height:90%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000080;border:1px solid rgba(255,255,255,.05)}.category-badge{position:absolute;top:12px;left:12px;padding:4px 10px;background-color:#0f172ad9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:.72rem;font-weight:600;color:#fff;z-index:2}.delete-card-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background-color:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:var(--transition-fast)}.delete-card-btn:hover{background-color:#ef4444;color:#fff;transform:scale(1.1)}.project-card-info{flex:1;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;background-color:var(--bg-secondary)}.project-card-details h3{font-size:1.1rem;margin-bottom:.5rem;line-height:1.3;transition:var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card:hover .project-card-details h3{color:var(--brand-color)}.project-card-desc{font-size:.82rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:1rem}.project-card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);padding-top:.75rem;margin-top:auto}.project-card-date{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}.avatar-stack{display:flex;align-items:center;flex-direction:row-reverse}.avatar-stack-item{width:26px;height:26px;border-radius:50%;border:2px solid var(--bg-secondary);background-color:var(--bg-tertiary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;margin-left:-6px;transition:var(--transition-fast);position:relative;cursor:default;-webkit-user-select:none;user-select:none}.avatar-stack-item:first-child{margin-left:0}.avatar-stack-item:hover{transform:translateY(-4px);z-index:10;border-color:var(--brand-color)}.card-assign-dropdown{position:absolute;bottom:50px;right:12px;width:240px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 25px #0000001a;padding:12px;z-index:15;display:flex;flex-direction:column;gap:8px}.card-assign-dropdown-header{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding-bottom:6px;margin-bottom:4px}.card-assign-dropdown-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.card-assign-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--text-secondary);padding:2px 0}.card-assign-dropdown-item label{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.card-assign-dropdown-item input{accent-color:var(--brand-color);cursor:pointer}.manage-assign-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:.72rem;padding:2px 8px;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:4px}.manage-assign-btn:hover{border-color:var(--brand-color);color:#fff;background-color:var(--brand-color)}.admin-badge{background-color:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa;font-size:.72rem;padding:2px 8px;border-radius:var(--radius-full);font-weight:600}.admin-drawer{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 10px 30px #0000000f;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.admin-drawer-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1.5rem}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-select{padding:10px 12px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--border-focus);background-color:var(--bg-secondary)}.user-assignment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;padding:10px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);max-height:120px;overflow-y:auto}.user-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.user-checkbox-label:hover{color:var(--brand-color)}.user-checkbox-label input{accent-color:var(--brand-color);cursor:pointer}.workspace-3d-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:1000;overflow:hidden;background-color:#1e1e1e}.polygon-dashbar-wrapper{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);z-index:1010;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:max-content;max-width:95vw;transition:var(--transition-normal)}.polygon-dashbar{display:flex;align-items:center;justify-content:flex-start;gap:1.5rem;height:48px;padding:0 1rem;background:#000;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 30px #0009;border-radius:var(--radius-md);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:var(--transition-normal)}.dashbar-left{display:flex;align-items:center;gap:8px}.dash-drag-handle{display:flex;flex-direction:column;gap:3px;cursor:grab;padding:0 4px}.dash-drag-handle span{width:3px;height:3px;background-color:#52525b;border-radius:50%}.dashbar-tabs{display:flex;align-items:center;gap:4px}.dashbar-search{display:flex;align-items:center;background-color:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:4px 10px;gap:6px;transition:var(--transition-fast);margin-left:.5rem}.dashbar-search:focus-within{border-color:#fff3;background-color:#ffffff1a}.dashbar-search .search-icon{color:#71717a}.dash-search-input{background:transparent;border:none;outline:none;color:#f4f4f5;font-size:.8rem;width:140px;transition:var(--transition-normal)}.dash-search-input:focus{width:180px}.dash-search-input::placeholder{color:#71717a}.dash-tab-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:#a1a1aa;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition-fast);border-radius:var(--radius-sm)}.dash-tab-btn:hover{color:#f4f4f5;background-color:#ffffff08}.dash-tab-btn.active{color:#fff;background-color:#cc000026;box-shadow:inset 0 -2px 0 var(--brand-color)}.dashbar-sub-toolbar{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#141417f2;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);box-shadow:0 10px 25px #00000080;z-index:1009;animation:slideDownSub .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDownSub{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sub-toolbar-group{display:flex;align-items:center;gap:8px}.sub-tool-btn{display:inline-flex;align-items:center;gap:6px;background-color:#ffffff08;border:1px solid rgba(255,255,255,.05);color:#d4d4d8;padding:6px 12px;font-size:.76rem;font-weight:500;border-radius:4px;cursor:pointer;transition:var(--transition-fast)}.sub-tool-btn:hover{background-color:#ffffff14;color:#fff;border-color:#ffffff1a}.sub-tool-btn.toggle-btn.active{background-color:#c003;border-color:#c006;color:#ff4d4d;font-weight:600}.sub-tool-btn.danger-btn{color:#f87171;border-color:#f8717133}.sub-tool-btn.danger-btn:hover{background-color:#ef444426;color:#f87171;border-color:#ef44444d}.sub-tool-btn.exit-btn{color:#e4e4e7;border-color:#ffffff1a}.sub-tool-btn.exit-btn:hover{background-color:#ffffff26}.sub-tool-info{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#71717a;padding:0 8px}.sub-tool-placeholder{font-size:.75rem;color:#71717a;font-style:italic;padding:4px 8px}.workspace-top-right-actions{position:absolute;top:1.5rem;right:1.5rem;z-index:1010;display:flex;align-items:flex-start;gap:.5rem}.workspace-top-right-actions .action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background-color:#000;border:1px solid rgba(255,255,255,.12);color:#a1a1aa;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 8px #0006}.workspace-top-right-actions .action-btn:hover{color:#fff;background-color:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}.workspace-top-right-actions .action-btn.active{color:#fff;background-color:#c003;border-color:var(--brand-color);box-shadow:0 0 6px #cc00004d}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040}.profile-sidebar-panel{position:fixed;top:0;right:0;bottom:0;width:320px;background:#0a0a0cfa;border-left:1px solid rgba(255,255,255,.15);box-shadow:-10px 0 40px #000c;z-index:1050;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:#fff}.close-sidebar-btn{background:transparent;border:none;color:#a1a1aa;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:var(--transition-fast)}.close-sidebar-btn:hover{color:#fff;background-color:#ffffff14}.sidebar-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.sidebar-profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.sidebar-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.6rem;color:#fff;box-shadow:0 0 20px #cc00004d;margin-bottom:.5rem}.sidebar-name{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff}.sidebar-email{font-size:.8rem;color:#71717a;word-break:break-all}.sidebar-role-badge{margin-top:.25rem}.sidebar-details-section{display:flex;flex-direction:column;gap:12px;background-color:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-sm);padding:1rem}.section-title{font-size:.72rem;color:#71717a;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.sidebar-detail-item{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;gap:8px}.sidebar-detail-item .detail-label{color:#71717a}.sidebar-detail-item .detail-value{color:#e4e4e7;font-weight:500;text-align:right;max-width:160px}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.08);background-color:#00000026;display:flex;flex-direction:column;gap:8px}.workspace-top-left-logo-container{position:absolute;top:1.5rem;left:1.5rem;z-index:1010;display:flex;align-items:center;gap:8px}.workspace-top-left-logo{display:flex;align-items:center;padding:6px 12px;background:#00000080;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 4px 15px #0006;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer}.workspace-top-left-logo:hover{background:#000000b3;border-color:#ffffff3d;transform:scale(1.02)}.module-selector-wrapper{position:relative;display:flex;align-items:center}.module-selector-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;height:34px;background:#0a0a0cd9;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);color:#e4e4e7;font-family:var(--font-display);font-size:.825rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #0006;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:all .2s cubic-bezier(.16,1,.3,1)}.module-selector-btn:hover,.module-selector-btn.active{color:#fff;background:#141418f2;border-color:#ffffff4d;box-shadow:0 0 10px #ffffff0d}.module-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1065;background:transparent}.module-dropdown-list{position:absolute;top:calc(100% + 8px);left:0;width:240px;background:#0a0a0cf5;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);box-shadow:0 10px 30px #000c;padding:6px;z-index:1070;display:flex;flex-direction:column;gap:2px;animation:slideDownMenu .2s cubic-bezier(.16,1,.3,1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.module-dropdown-item{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#a1a1aa;padding:8px 12px;font-family:var(--font-sans);font-size:.775rem;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease;width:100%}.module-dropdown-item:hover{background:#ffffff0f;color:#fff}.module-dropdown-item.active{background:#cc000026;border:1px solid rgba(204,0,0,.3);color:#fff;font-weight:600}.module-check-icon{color:var(--brand-color);flex-shrink:0}.app-floating-logo{height:20px;width:auto;object-fit:contain}.logo-container{display:flex;align-items:center;height:36px}.portal-logo{height:30px;width:auto;object-fit:contain}.camera-control-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.camera-submenu{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;animation:fadeInCameraSubmenu .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeInCameraSubmenu{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.camera-submenu .submenu-btn{background-color:#0a0a0cf2}.camera-submenu .submenu-btn-text{font-size:7.5px;font-weight:700;letter-spacing:.3px;line-height:1;text-transform:uppercase}.camera-submenu .submenu-btn:hover{background-color:#ffffff26;color:#fff}.world-settings-panel .form-input,.world-settings-panel .form-select{color:#38bdf8!important}.project-explorer-panel{position:fixed;top:0;left:0;bottom:0;width:340px;background:#0a0a0cfa;border-right:1px solid rgba(255,255,255,.15);box-shadow:10px 0 40px #000c;z-index:1050;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translate(-100%)}.project-explorer-panel.open{transform:translate(0)}.explorer-trigger-btn{position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:1060;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:0 4px 4px 0;background-color:#000;border:1px solid rgba(255,255,255,.12);border-left:none;color:#a1a1aa;cursor:pointer;transition:left .3s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s;box-shadow:4px 0 8px #0006}.explorer-trigger-btn:hover{color:#fff;background-color:#ffffff14}.explorer-trigger-btn.open{left:340px;border-radius:4px;border-left:1px solid rgba(255,255,255,.12)}.explorer-body{flex:1;overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.explorer-tab-content{display:flex;flex-direction:column;gap:.75rem;height:100%}.explorer-filter-container{position:sticky;top:0;z-index:5;background:#0a0a0cfa;padding-bottom:.25rem}.explorer-search-wrapper{width:100%!important;background:#00000080!important;border:1px solid rgba(255,255,255,.1)!important}.explorer-search-wrapper input{font-size:.8rem!important;padding:6px 10px 6px 32px!important;color:#fff!important}.explorer-tree-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.explorer-tree-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s;-webkit-user-select:none;user-select:none;color:#e4e4e7;font-size:.8rem;border:1px solid transparent}.explorer-tree-item:hover{background-color:#ffffff0d}.explorer-tree-item.asset-item.selected{background-color:#cc000026;border:1px solid rgba(204,0,0,.3);color:#fff}.tree-node-wrapper{display:flex;flex-direction:column}.tree-node-children{display:flex;flex-direction:column;gap:2px}.tree-arrow{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:#71717a;transition:transform .2s ease}.tree-arrow.placeholder{width:14px;cursor:default}.tree-arrow svg.rotate-down{transform:rotate(-90deg)}.node-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#a1a1aa}.section-folder-icon{color:var(--brand-color)!important}.folder-icon{color:#d97706!important}.file-icon{color:#3b82f6!important}.node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.bulb-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;transition:all .2s ease}.bulb-btn.glowing{color:#eab308;filter:drop-shadow(0 0 4px rgba(234,179,8,.6))}.bulb-btn.dimmed{color:#4b5563}.bulb-btn:hover{background-color:#ffffff14}.explorer-tabs{display:flex;border-top:1px solid rgba(255,255,255,.1);background:#050506fa;padding:4px}.explorer-tab-btn{flex:1;background:transparent;border:none;color:#71717a;padding:8px 4px;font-size:.75rem;font-family:var(--font-display);font-weight:600;cursor:pointer;transition:all .2s ease;border-radius:4px;text-align:center}.explorer-tab-btn.active{color:#fff;background-color:#ffffff14}.assets-toolbar{display:flex;gap:4px;background:#0006;padding:4px;border-radius:4px;border:1px solid rgba(255,255,255,.05);justify-content:space-between}.assets-tool-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:#a1a1aa;padding:6px 4px;font-size:.7rem;font-family:var(--font-sans);font-weight:500;cursor:pointer;border-radius:3px;transition:all .15s ease}.assets-tool-btn:hover:not(:disabled){color:#fff;background-color:#ffffff0d}.assets-tool-btn.danger:hover:not(:disabled){color:#fff;background-color:#ef444433}.assets-tool-btn:disabled{opacity:.4;cursor:not-allowed}.section-divider{margin:12px 6px;border-top:1px dashed rgba(255,255,255,.12)}.explorer-context-menu{position:fixed;z-index:2000;width:160px;background:#0a0a0cfa;border:1px solid rgba(255,255,255,.15);box-shadow:0 10px 30px #0009;padding:4px;display:flex;flex-direction:column;gap:2px;border-radius:6px}.context-menu-item{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#d4d4d8;padding:6px 10px;font-size:.75rem;font-family:var(--font-sans);font-weight:500;text-align:left;cursor:pointer;border-radius:4px;transition:all .15s ease;width:100%}.context-menu-item:hover{background-color:#c003;color:#fff}.explorer-tree-item.drag-over{background-color:#ffffff14!important;border-color:#ffffff4d!important;border-style:dashed!important}.context-menu-section{display:flex;flex-direction:column;gap:2px}.context-menu-separator{height:1px;background-color:#ffffff14;margin:4px 6px}.context-menu-item.danger-item:hover{background-color:#ef444433!important;color:#ef4444!important}.explorer-tree-item.active-element{background-color:#cc000026!important;border:1px solid rgba(204,0,0,.3)!important;color:#fff!important;font-weight:600}.active-tick-icon{animation:pop-in .2s cubic-bezier(.175,.885,.32,1.275)}@keyframes pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.explorer-tree-item.section-header-node{background-color:#ffffff0d!important;border-top:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;border-left:none!important;border-right:none!important;border-radius:0!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#c8c8cd!important;margin-top:8px;margin-bottom:4px;padding-top:8px!important;padding-bottom:8px!important;cursor:default}.explorer-tree-item.section-header-node:hover{background-color:#ffffff14!important;color:#fff!important}.project-card-admin-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:10}.admin-card-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.15)!important;background:#0a0a0cd9!important;color:#a1a1aa!important;cursor:pointer;transition:all .15s ease;padding:0!important}.admin-card-btn:hover{background:#ffffff26!important;color:#fff!important;border-color:#ffffff4d!important}.admin-card-btn.delete-btn:hover{background:#ef444433!important;color:#ef4444!important;border-color:#ef444466!important}.admin-card-btn.template-btn.is-template{background:#eab30840!important;color:#eab308!important;border-color:#eab30880!important}.admin-card-btn.template-btn.is-template:hover{background:#eab30859!important;color:#facc15!important;border-color:#eab30899!important}.template-badge{position:absolute;bottom:8px;left:8px;background:#eab308f2!important;color:#000!important;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;display:flex;align-items:center;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #0006;z-index:5}.layers-panel{position:fixed;top:0;right:0;bottom:0;width:340px;background:#0a0a0cfa;border-left:1px solid rgba(255,255,255,.15);box-shadow:-10px 0 40px #000c;z-index:1050;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translate(100%)}.layers-panel.open{transform:translate(0)}.layers-trigger-btn{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:1060;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px 0 0 4px;background-color:#000;border:1px solid rgba(255,255,255,.12);border-right:none;color:#a1a1aa;cursor:pointer;transition:right .3s cubic-bezier(.16,1,.3,1),background-color .2s,color .2s;box-shadow:-4px 0 8px #0006}.layers-trigger-btn:hover{color:#fff;background-color:#ffffff14}.layers-trigger-btn.open{right:340px;border-radius:4px;border-right:1px solid rgba(255,255,255,.12)}.layers-body{flex:1;overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem;min-height:0}.layers-toolbar{display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}.layers-tool-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-weight:500;font-size:.75rem;padding:6px 12px;border-radius:var(--radius-sm);background-color:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#e4e4e7;cursor:pointer;transition:var(--transition-fast)}.layers-tool-btn:hover:not(:disabled){background-color:#ffffff1a;border-color:#fff3;color:#fff}.layers-tool-btn:disabled{opacity:.3;cursor:not-allowed}.layers-tool-btn.danger:hover:not(:disabled){background-color:#ef444426;border-color:#ef44444d;color:#ef4444}.layers-filter-container{position:sticky;top:0;z-index:10}.layers-search-wrapper{background-color:#0003!important;border:1px solid rgba(255,255,255,.08)!important}.layers-search-wrapper input{padding-left:32px!important;height:32px!important;font-size:.75rem!important;color:#f4f4f5!important}.layers-list-container{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.layer-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid rgba(255,255,255,.04);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.layer-item:hover{background:#ffffff0d;border-color:#ffffff1a}.layer-item.active{background:#38bdf814;border-color:#38bdf84d}.layer-item-left{display:flex;align-items:center;gap:8px;min-width:0}.layer-check-icon{color:#38bdf8;flex-shrink:0}.layer-name{font-size:.825rem;color:#f4f4f5;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.layer-status-btn{background:transparent;border:none;color:#71717a;cursor:pointer;padding:4px;border-radius:var(--radius-xs);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.layer-status-btn:hover{color:#f4f4f5;background:#ffffff14}.layer-status-btn.on{color:#facc15}.layer-status-btn.off{color:#4b5563}.layer-status-btn.frozen{color:#38bdf8}.layer-status-btn.locked{color:#ef4444}.layer-color-btn{width:14px;height:14px;border-radius:2px;border:1px solid rgba(255,255,255,.2);cursor:pointer;padding:0;transition:transform .1s ease;box-shadow:0 1px 3px #00000080}.layer-color-btn:hover{transform:scale(1.15);border-color:#fff}.color-picker-backdrop,.linetype-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1065;background:transparent}.color-picker-popover{position:absolute;bottom:calc(100% + 8px);right:0;width:220px;padding:10px;z-index:1070;background:#0a0a0cfa;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);box-shadow:0 10px 25px #0009;display:flex;flex-direction:column}.color-picker-header{font-size:.7rem;color:#a1a1aa;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:4px}.color-swatch-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:2px}.color-swatch-item{width:10px;height:10px;border-radius:1px;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:transform .1s ease}.color-swatch-item:hover{transform:scale(1.4);border-color:#fff;z-index:10}.color-swatch-item.selected{outline:1.5px solid #38bdf8;outline-offset:.5px;z-index:5}.layer-linetype-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xs);padding:2px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:80px;transition:all .2s ease}.layer-linetype-btn:hover{background:#ffffff1a;border-color:#fff3}.linetype-text{font-size:.725rem;color:#e4e4e7;font-weight:500}.linetype-dropdown-popover{position:absolute;bottom:calc(100% + 8px);right:0;width:120px;padding:4px;z-index:1070;background:#0a0a0cfa;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-xs);box-shadow:0 10px 25px #0009;display:flex;flex-direction:column;gap:2px}.linetype-dropdown-item{width:100%;text-align:left;background:transparent;border:none;color:#a1a1aa;padding:6px 10px;font-size:.725rem;cursor:pointer;border-radius:2px;transition:all .15s ease}.linetype-dropdown-item:hover{background:#ffffff0f;color:#fff}.linetype-dropdown-item.active{background:#38bdf81a;color:#38bdf8}.layers-tabs{display:flex;border-top:1px solid rgba(255,255,255,.08);background-color:#0003}.layers-tab-btn{flex:1;padding:10px;font-size:.8rem;color:#71717a;background:transparent;border:none;cursor:pointer;font-weight:500;transition:all .2s ease;border-bottom:2px solid transparent}.layers-tab-btn:hover{color:#e4e4e7;background:#ffffff05}.layers-tab-btn.active{color:#38bdf8;border-bottom-color:#38bdf8;background:#38bdf80a}
