.error-banner-container{position:fixed;top:60px;left:50%;transform:translate(-50%) translateY(-20px);z-index:9999;max-width:800px;width:calc(100% - 40px);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.error-banner-container.error-banner-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.error-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;border-left:4px solid;animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-banner.error-auth{border-left-color:#f59e0b;background:#fffbeb}.error-banner.error-server{border-left-color:#ef4444;background:#fef2f2}.error-banner.error-rate-limit{border-left-color:#3b82f6;background:#eff6ff}.error-banner.error-network{border-left-color:#8b5cf6;background:#f5f3ff}.error-banner.error-not-found{border-left-color:#6b7280;background:#f9fafb}.error-banner.error-default{border-left-color:#ef4444;background:#fef2f2}.error-banner-icon{font-size:24px;line-height:1;flex-shrink:0;margin-top:2px}.error-banner-content{flex:1;min-width:0}.error-banner-message{font-size:14px;font-weight:500;color:#1f2937;line-height:1.5;margin:0}.error-banner-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.error-banner-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:#6b7280;-webkit-user-select:none;user-select:none;transition:color .2s}.error-banner-details-summary:hover{color:#374151}.error-banner-details-content{margin-top:8px;font-size:11px;color:#4b5563;font-family:Monaco,Menlo,Courier New,monospace;background:#00000008;padding:8px;border-radius:4px;max-height:200px;overflow-y:auto}.error-banner-details-content p{margin:4px 0;word-break:break-word}.error-banner-details-content strong{color:#1f2937;font-weight:600}.error-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.error-banner-countdown{font-size:12px;font-weight:600;color:#6b7280;padding:6px 12px;background:#0000000d;border-radius:4px;white-space:nowrap}.error-banner-button{padding:6px 12px;font-size:13px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:4px}.error-banner-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.error-banner-button:active{transform:translateY(0)}.error-banner-retry{background:#3b82f6;color:#fff}.error-banner-retry:hover{background:#2563eb}.error-banner-login{background:#f59e0b;color:#fff}.error-banner-login:hover{background:#d97706}.error-banner-dismiss{background:#0000000d;color:#6b7280;padding:6px 10px}.error-banner-dismiss:hover{background:#0000001a;color:#374151}@media (max-width: 768px){.error-banner-container{top:50px;width:calc(100% - 20px)}.error-banner{padding:12px 16px;flex-direction:column}.error-banner-actions{align-self:flex-end;width:100%;justify-content:flex-end}.error-banner-icon{font-size:20px}.error-banner-message{font-size:13px}}@media (prefers-reduced-motion: reduce){.error-banner-container,.error-banner,.error-banner-button{animation:none;transition:none}}@media (prefers-color-scheme: dark){.error-banner{background:#1f2937;box-shadow:0 4px 20px #0000004d,0 0 0 1px #ffffff1a}.error-banner-message{color:#f9fafb}.error-banner.error-auth{background:#451a03}.error-banner.error-server{background:#450a0a}.error-banner.error-rate-limit{background:#172554}.error-banner.error-network{background:#2e1065}.error-banner.error-not-found{background:#111827}.error-banner.error-default{background:#450a0a}.error-banner-details-content{background:#ffffff0d;color:#d1d5db}}.app-navbar{display:flex;justify-content:space-between;align-items:flex-end;background:linear-gradient(180deg,#1a2332,#0f1419);color:#a0aec0;height:50px;padding:0 2rem;box-shadow:0 2px 8px #0000004d;border-bottom:2px solid #2d3748;position:relative}.app-header{display:flex;align-items:center;gap:1rem;padding-bottom:6px}.app-brand,.project-selector-container{display:flex;align-items:center}.navbar-project-selector{margin-left:1rem}.navbar-project-selector select{background:#2d3748;color:#fff;border:1px solid #4a5568;border-radius:4px;padding:4px 8px;font-size:.9rem;min-width:150px}.navbar-project-selector select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}.navbar-project-selector .create-project-btn{background:#4a5568;color:#fff;border:1px solid #4a5568;margin-left:4px}.navbar-project-selector .create-project-btn:hover{background:#60a5fa;border-color:#60a5fa}.app-title{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.5px;text-decoration:none;transition:color .2s ease}.app-title:hover{color:#60a5fa}.app-tabs{display:flex;gap:2px;align-items:flex-end;height:100%}.app-tab{display:flex;align-items:center;gap:.5rem;padding:4px 14px 6px;text-decoration:none;color:#9ca3af;position:relative;transition:all .2s ease;background:linear-gradient(180deg,#374151,#2d3748);min-width:fit-content;border:1px solid #4a5568;border-bottom:none;border-radius:4px 4px 0 0;margin-bottom:-2px;box-shadow:inset 0 1px #ffffff1a,0 -2px 4px #0003}.app-tab:hover{color:#cbd5e0;background:linear-gradient(180deg,#4a5568,#374151);border-color:#22c55e99;transform:translateY(-2px);z-index:10;box-shadow:inset 0 1px #ffffff26,0 -4px 8px #0000004d,0 0 0 1px #22c55e4d}.app-tab.active{color:#fff;background:linear-gradient(135deg,#22c55e1a,#3b82f61a);border-color:#22c55e66;z-index:20;transform:translateY(-4px);margin-bottom:-4px;padding-bottom:8px;box-shadow:inset 0 1px #fff3,0 -6px 12px #0006,0 0 0 2px #22c55e4d}.tab-icon{font-size:1.1rem;transition:transform .2s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.app-tab:hover .tab-icon{transform:scale(1.05)}.app-tab.active .tab-icon{transform:scale(1.1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.tab-label{font-size:.875rem;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.app-tab.active .tab-label{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}@media (max-width: 1024px){.app-navbar{padding:0 1.5rem}.app-tabs{gap:1px}.app-tab{padding:3px 10px 5px}.app-tab.active{padding-bottom:6px}.tab-label{font-size:.8rem}}@media (max-width: 768px){.app-navbar{height:55px}.app-title{font-size:1.3rem}.app-tab{padding:6px 10px 8px;gap:.3rem}.tab-icon{font-size:1rem}.tab-label{font-size:.75rem}}@media (max-width: 640px){.app-navbar{flex-direction:column;height:auto;padding:.5rem 1rem;align-items:stretch}.app-header{justify-content:center;padding-bottom:.5rem}.app-tabs{justify-content:center;flex-wrap:wrap}.app-tab{margin-bottom:0;border-radius:3px}.app-tab.active{transform:none;margin-bottom:0;padding-bottom:8px}}.token-copy-container{display:flex;align-items:center;margin-left:1rem}.token-copy-button{background:#2d3748;color:#fff;border:1px solid #4a5568;border-radius:4px;padding:6px 12px;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;white-space:nowrap}.token-copy-button:hover:not(.disabled){background:#4a5568;border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.token-copy-button:active:not(.disabled){transform:translateY(0);box-shadow:0 1px 2px #0003}.token-copy-button.disabled{background:#1a202c;color:#4a5568;border-color:#2d3748;cursor:not-allowed;opacity:.6}@media (max-width: 768px){.token-copy-container{margin-left:.5rem}.token-copy-button{padding:4px 8px;font-size:.8rem}}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;padding:6px;margin-left:-12px;margin-right:16px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease}.hamburger-btn:hover{background:#ffffff1a;border-color:#3b82f666}.hamburger-btn:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 2px #3b82f633}.hamburger-line{display:block;width:20px;height:2px;background:#9ca3af;border-radius:1px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger-btn:hover .hamburger-line{background:#fff}.hamburger-btn.collapsed{background:#3b82f61a;border-color:#3b82f64d}.hamburger-btn.collapsed .hamburger-line{background:#60a5fa}@media (max-width: 768px){.hamburger-btn{width:32px;height:32px;margin-right:8px}.hamburger-line{width:18px}}.unified-sidebar{width:380px;height:100%;background:linear-gradient(180deg,#1a2332,#0f1419);border-right:1px solid #2d3748;overflow-y:auto;padding:16px;box-shadow:none;color:#a0aec0}.unified-sidebar::-webkit-scrollbar{width:8px}.unified-sidebar::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.unified-sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.unified-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar-section{border-radius:6px;margin-bottom:12px;overflow:visible;transition:all .3s ease;background:#ffffff05;border:1px solid rgba(255,255,255,.06)}.section-header{padding:12px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px;transition:all .2s ease;background:linear-gradient(90deg,#2d3748,#1a2332);color:#cbd5e0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:6px 6px 0 0}.section-header:hover{background:linear-gradient(90deg,#374151,#243242)}.section-header .section-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px}.expand-icon{transition:transform .3s ease;font-size:12px}.section-content{padding:16px;overflow:visible}.storage-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.storage-item{padding:8px;border-radius:4px;font-size:12px;text-align:center;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.unified-sidebar .project-card{background:linear-gradient(135deg,#3b82f61a,#9333ea1a);border:1px solid rgba(99,102,200,.3);border-radius:12px;padding:16px;margin-bottom:12px;transition:all .3s ease;cursor:pointer}.unified-sidebar .project-card:hover{border-color:#6366f199;background:linear-gradient(135deg,#3b82f626,#9333ea26);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.unified-sidebar .project-card.expanded{background:linear-gradient(135deg,#22c55e1a,#3b82f61a);border-color:#22c55e66}.unified-sidebar .project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.project-icon-name{display:flex;align-items:center;gap:10px}.project-icon-name.clickable{cursor:pointer;transition:all .2s ease;border-radius:6px;padding:4px;margin:-4px}.project-icon-name.clickable:hover{background:#3b82f61a;transform:translateY(-1px)}.project-icon-name.clickable:hover .project-card-icon{background:#3b82f633;border:1px solid rgba(59,130,246,.3)}.project-icon-name.clickable:hover .project-card-name{color:#60a5fa}.unified-sidebar .project-card-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px}.unified-sidebar .project-card-name{font-weight:600;font-size:14px;color:#fff;display:flex;align-items:center;gap:4px;flex:1;min-width:0}.project-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.edit-project-name-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;cursor:pointer;padding:6px 8px;font-size:13px;opacity:.7;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;height:28px;min-width:28px}.edit-project-name-btn:hover{opacity:1;background:#ffffff1a;border-color:#ffffff4d;transform:scale(1.05)}.project-name-edit{display:flex;align-items:center;gap:4px;flex:1;min-width:0;max-width:100%;overflow:hidden}.project-name-input{background:#ffffff1a;border:1px solid rgba(59,130,246,.5);border-radius:4px;padding:4px 6px;color:#fff;font-size:13px;font-weight:600;flex:1;min-width:60px;max-width:180px;width:100%;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.project-name-input:focus{border-color:#3b82f6cc;box-shadow:0 0 0 2px #3b82f633}.project-name-edit-buttons{display:flex;gap:3px;flex-shrink:0}.project-name-edit-buttons .save-btn,.project-name-edit-buttons .cancel-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:3px 6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;flex-shrink:0}.project-name-edit-buttons .save-btn:hover{background:#22c55e4d;border-color:#22c55e80}.project-name-edit-buttons .cancel-btn:hover{background:#ef44444d;border-color:#ef444480}.expand-toggle{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:18px;padding:4px;border-radius:4px;transition:all .2s}.expand-toggle:hover{background:#ffffff1a;color:#fff}.open-project-btn{background:linear-gradient(135deg,#22c55e26,#16a34a26);border:1px solid rgba(34,197,94,.3);color:#22c55e;cursor:pointer;font-size:14px;font-weight:500;padding:4px 8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;box-shadow:0 1px 3px #22c55e1a}.open-project-btn:hover{background:linear-gradient(135deg,#22c55e40,#16a34a40);border-color:#22c55e80;color:#16a34a;transform:translate(1px);box-shadow:0 2px 6px #22c55e33}.create-new-btn{background:linear-gradient(135deg,#22c55e26,#16a34a26);border:1px solid rgba(34,197,94,.3);color:#22c55e;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;border-radius:6px;transition:all .2s;width:100%;margin-bottom:8px;box-shadow:0 1px 3px #22c55e1a}.create-new-btn:hover{background:linear-gradient(135deg,#22c55e40,#16a34a40);border-color:#22c55e80;color:#16a34a;transform:translateY(-1px);box-shadow:0 2px 6px #22c55e33}.project-meta{display:flex;justify-content:space-between;font-size:12px;color:#9ca3af}.project-meta.clickable{cursor:pointer;transition:all .2s ease;border-radius:4px;padding:4px;margin:-4px}.unified-sidebar .project-card.expanded .project-meta{margin-bottom:12px}.unified-sidebar .project-card.expanded .project-meta.clickable{padding:4px;margin:-4px -4px 8px}.project-meta.clickable:hover{background:#3b82f61a;color:#cbd5e0}.file-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.unified-file-list{display:flex;flex-direction:column;gap:4px;margin-top:12px;align-items:center}.unified-file-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:44px;width:85%;max-width:300px}.unified-file-item:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.unified-file-item.selected{background:#3b82f633;border-color:#3b82f680;color:#60a5fa}.unified-file-item.disabled{opacity:.4;cursor:not-allowed;background:#8080800d;border-color:#8080801a;pointer-events:none}.unified-file-item .file-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.unified-file-item .file-icon{font-size:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.unified-file-item .file-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.unified-file-item .file-type{font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unified-file-item .file-size{font-size:10px;color:#9ca3af;opacity:.8}.unified-file-item .download-btn{background:#22c55e26;border:1px solid rgba(34,197,94,.3);border-radius:4px;color:#22c55e;padding:6px 8px;font-size:14px;cursor:pointer;transition:all .2s ease;flex-shrink:0;min-width:32px;height:28px;display:flex;align-items:center;justify-content:center}.unified-file-item .download-btn:hover{background:#22c55e40;border-color:#22c55e80;transform:scale(1.05)}.unified-file-item.selected .file-type{color:#60a5fa}.unified-file-item.selected .file-size{color:#60a5facc}.unified-file-item.show-map-item{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border-color:#3b82f666;box-shadow:0 2px 8px #3b82f626}.unified-file-item.show-map-item:hover:not(.disabled){background:linear-gradient(135deg,#3b82f64d,#8b5cf64d);border-color:#3b82f699;box-shadow:0 4px 12px #3b82f640}.unified-file-item.show-map-item .file-type{color:#60a5fa;font-weight:700}.unified-file-item.show-map-item.disabled{background:#8080801a;border-color:#80808033;opacity:.5;box-shadow:none}.unified-file-item.show-map-item.disabled .file-type{color:#9ca3af}.unified-file-item.show-map-item.disabled .file-size{color:#6b7280}.unified-file-item.unavailable{opacity:.4;cursor:not-allowed;background:#8080800d;border-color:#8080801a}.unified-file-item.unavailable:hover{background:#8080800d;border-color:#8080801a;transform:none}.unified-file-item.unavailable .file-type{color:#9ca3af}.unified-file-item.unavailable .file-size{color:#6b7280;font-style:italic}.unified-file-item.log-file-item{background:#ffc1071a;border-color:#ffc10733}.unified-file-item.log-file-item:hover{background:#ffc10726;border-color:#ffc1074d}.unified-file-item.log-file-item .file-type{color:#fbbf24;font-weight:600}.file-grid-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px;font-size:11px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s}.file-grid-item:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.file-grid-item.selected{background:#3b82f633;border-color:#3b82f680;color:#60a5fa}.file-grid-item.disabled{opacity:.4;cursor:not-allowed;background:#8080800d;border-color:#8080801a;pointer-events:none}.file-grid-item.disabled .file-grid-icon{opacity:.5}.file-grid-item.disabled .file-grid-name{color:#a0aec080}.file-grid-icon{font-size:14px}.file-grid-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-map-grid-item{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f680;color:#fff;font-weight:600}.show-map-grid-item:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);border-color:#3b82f6cc;box-shadow:0 4px 12px #3b82f64d}.selected-project-tabs{background:#ffffff05;border-radius:10px;overflow:hidden;margin-bottom:12px}.tab-button{flex:1;background:none;border:none;color:#9ca3af;padding:12px 8px;font-size:12px;cursor:pointer;transition:all .2s;position:relative}.project-overview{margin-bottom:16px}.project-header-info{display:flex;align-items:center;gap:10px;margin-bottom:16px}.project-icon-large{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:8px}.project-title{font-weight:600;color:#fff;font-size:16px}.project-subtitle{font-size:12px;color:#9ca3af;margin-top:2px}.overview-map-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:6px;color:#fff;padding:10px 16px;font-size:12px;font-weight:500;cursor:pointer;width:100%;transition:all .2s}.overview-map-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.files-tab{max-height:200px;overflow-y:auto}.file-list{max-height:150px;overflow-y:auto}.file-list-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;margin-bottom:4px;cursor:pointer;transition:all .2s;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.file-list-item:hover{background:#ffffff1a;border-color:#fff3}.file-info{flex:1;min-width:0}.file-name{font-size:12px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:10px;color:#9ca3af}.details-tab{font-size:12px;line-height:1.6}.detail-item{margin-bottom:12px}.detail-label{color:#3b82f6}.detail-value{color:#9ca3af}.empty-state{text-align:center;padding:20px;color:#9ca3af}.empty-icon{font-size:32px;margin-bottom:10px}.empty-title{font-size:14px;font-weight:600;margin-bottom:8px;color:#fff}.empty-description{font-size:12px;line-height:1.4}.project-group{margin-bottom:16px}.project-header{padding:10px 14px;border-radius:6px;font-size:13px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s ease;background:#64b5f61f;color:#64b5f6;border:1px solid rgba(100,181,246,.2)}.project-header:hover{background:#64b5f62e;transform:translate(2px)}.project-icon{font-size:18px}.project-info{display:flex;flex-direction:column;gap:2px;flex:1}.project-name{font-size:13px;font-weight:600}.project-count{font-size:11px;opacity:.7}.project-files{display:block;background:#64b5f605;border-radius:8px;padding:8px;margin-top:8px;border-left:2px solid rgba(100,181,246,.15)}.project-files.hidden{display:none}.file-item{padding:8px 10px;margin:4px 0;border-radius:6px;display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;min-height:55px;position:relative;background:#ffffff05;border:1px solid rgba(255,255,255,.05);color:#a0aec0}.file-item:hover{background:#64b5f614;border-color:#64b5f666;transform:translate(2px)}.file-item.selected{background:#64b5f626;border-color:#64b5f6;box-shadow:0 0 8px #64b5f633}.file-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;min-height:20px}.file-type-info{display:flex;align-items:center;gap:6px}.file-icon{font-size:14px}.file-type{font-size:11px;font-weight:600;color:#64b5f6}.file-name{font-size:12px;font-weight:500;line-height:1.2;padding:4px 6px;border-radius:4px;margin-bottom:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);flex:1}.file-item.selected .file-name{background:#64b5f626;border-color:#64b5f64d}.file-footer{display:flex;justify-content:space-between;align-items:center;min-height:20px}.file-size{font-size:10px;opacity:.7;font-weight:500}.file-actions{display:flex;gap:4px}.action-btn{background:#64b5f626;color:#64b5f6;border:1px solid rgba(100,181,246,.2);padding:3px;min-width:auto;width:20px;height:20px;border-radius:3px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#64b5f640;transform:translateY(-1px)}.section-content.hidden{display:none}.unified-sidebar h3{color:#cbd5e0;margin:0 0 12px;font-size:14px}.unified-sidebar p{color:#a0aec0;margin:8px 0;font-size:12px}.expand-icon.expanded{transform:rotate(180deg)}.section-content{padding:16px}.section-info{margin-bottom:12px;color:#666;font-size:14px}.selected-area-info{background:#e3f2fd;padding:8px;border-radius:4px;margin-bottom:12px}.processing-status{background:#f0f8ff;padding:8px;border-radius:4px;border-left:4px solid #007bff}.files-summary{background:#f8f9fa;padding:8px 12px;border-radius:4px;margin-bottom:16px;font-size:14px}.files-summary p{margin:2px 0}.project-group{margin-bottom:12px}.project-name-editor{margin-bottom:20px;padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:8px}.name-edit-container{display:flex;flex-direction:column;gap:8px}.project-name-input{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#e2e8f0;font-size:14px;outline:none;transition:border-color .2s}.project-name-input:focus{border-color:#22c55e80}.edit-buttons{display:flex;gap:8px}.save-btn,.cancel-btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.save-btn{background:#22c55ecc;color:#fff}.save-btn:hover:not(:disabled){background:#22c55e}.save-btn:disabled{background:#22c55e4d;cursor:not-allowed}.cancel-btn{background:#ef4444cc;color:#fff}.cancel-btn:hover{background:#ef4444}.name-display-container{display:flex;justify-content:space-between;align-items:center}.current-project-name{display:flex;flex-direction:column;gap:2px}.project-name-text{font-weight:600;font-size:14px;color:#e2e8f0}.project-id-hint{font-size:11px;color:#94a3b8;font-family:monospace}.edit-name-btn{padding:4px 8px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0d;color:#cbd5e0;font-size:12px;cursor:pointer;transition:all .2s}.edit-name-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.no-project-selected{display:flex;align-items:center;justify-content:center;padding:16px}.placeholder-text{color:#64748b;font-style:italic;font-size:13px;text-align:center}.selected-file-info{margin-bottom:20px;padding:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px}.selected-file-details .file-icon-name{display:flex;align-items:center;gap:8px;margin-bottom:8px}.selected-file-details .file-icon{font-size:16px}.selected-file-details .file-name{font-weight:600;font-size:14px;color:#e2e8f0;word-break:break-all}.selected-file-details .file-metadata{margin-left:24px;font-size:12px;color:#a0aec0;line-height:1.5}.selected-file-details .file-metadata div{margin-bottom:3px}.selected-file-details .file-metadata strong{color:#cbd5e0}.file-type-info{margin-bottom:20px}.info-section{margin-bottom:16px}.info-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#cbd5e0;display:flex;align-items:center;gap:8px}.data-type-item{margin-bottom:12px;padding:10px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.type-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.type-icon{font-size:14px}.type-name{font-weight:600;font-size:13px;color:#e2e8f0}.type-details{margin-left:22px;font-size:12px;color:#a0aec0;line-height:1.4}.type-details div{margin-bottom:2px}.source-details{font-size:12px;color:#a0aec0;line-height:1.5}.source-details div{margin-bottom:4px}.source-details strong{color:#cbd5e0}.storage-stats h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#cbd5e0;display:flex;align-items:center;gap:8px}.tabbed-container{background:#ffffff05;border-radius:10px;overflow:hidden;margin-bottom:12px;border:1px solid rgba(255,255,255,.1)}.tab-header{display:flex;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button{flex:1;background:none;border:none;color:#9ca3af;padding:12px 8px;font-size:12px;cursor:pointer;transition:all .2s;position:relative;font-weight:500}.tab-button:hover{color:#cbd5e0;background:#ffffff0d}.tab-button.active{color:#3b82f6;background:#3b82f61a}.tab-button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#3b82f6}.tab-content{padding:16px;min-height:120px}.tab-panel{color:#a0aec0}.overview-panel .project-overview-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.overview-panel .project-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.3)}.overview-panel .project-info .project-name{font-weight:600;font-size:16px;color:#fff;margin-bottom:4px}.overview-panel .project-info .project-date{font-size:12px;color:#9ca3af}.file-type-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.file-type-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:11px;width:100%;text-align:center;box-shadow:0 2px 4px #0000001a;min-height:32px}.file-type-btn:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0f);border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.file-type-btn .file-type-icon{font-size:14px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-type-btn .file-type-label{font-weight:600;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.file-type-btn.tif-btn{background:linear-gradient(135deg,#3b82f626,#3b82f60d);border-color:#3b82f64d}.file-type-btn.tif-btn:hover{background:linear-gradient(135deg,#3b82f640,#3b82f61a);border-color:#3b82f680}.file-type-btn.stl-btn{background:linear-gradient(135deg,#22c55e26,#22c55e0d);border-color:#22c55e4d}.file-type-btn.stl-btn:hover{background:linear-gradient(135deg,#22c55e40,#22c55e1a);border-color:#22c55e80}.file-type-btn.texture-btn{background:linear-gradient(135deg,#a855f726,#a855f70d);border-color:#a855f74d}.file-type-btn.texture-btn:hover{background:linear-gradient(135deg,#a855f740,#a855f71a);border-color:#a855f780}.file-type-btn.metadata-btn{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border-color:#f59e0b4d}.file-type-btn.metadata-btn:hover{background:linear-gradient(135deg,#f59e0b40,#f59e0b1a);border-color:#f59e0b80}.file-type-btn.disabled,.file-type-btn:disabled{opacity:.4;cursor:not-allowed;background:linear-gradient(135deg,#8080801a,#8080800d);border-color:#80808033;pointer-events:none}.file-type-btn.disabled .file-type-icon,.file-type-btn:disabled .file-type-icon{opacity:.5}.file-type-btn.disabled .file-type-label,.file-type-btn:disabled .file-type-label{color:#a0aec080}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.overview-stat{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;text-align:center;transition:all .2s ease}.overview-stat:hover{background:#ffffff14;border-color:#fff3}.overview-stat .stat-value{display:block;font-size:18px;font-weight:600;color:#3b82f6;margin-bottom:4px}.overview-stat .stat-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.show-map-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.show-map-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.files-panel .file-list{display:flex;flex-direction:column;gap:8px}.file-list-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:all .2s ease;cursor:pointer}.file-list-item:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.file-list-item .file-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:6px;flex-shrink:0}.file-list-item .file-info{flex:1;min-width:0}.file-list-item .file-name{font-size:13px;font-weight:500;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list-item .file-size{font-size:11px;color:#9ca3af}.details-panel .project-details{display:flex;flex-direction:column;gap:16px}.detail-item{font-size:12px;line-height:1.6}.detail-item strong{color:#3b82f6;font-weight:600}.detail-value{color:#a0aec0;display:block;margin-top:4px}.detail-value.project-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#ffffff0d;padding:4px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.1);font-size:11px}.name-display-container{display:flex;align-items:center;gap:8px;margin-top:4px}.edit-name-btn-inline{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease}.edit-name-btn-inline:hover{background:#3b82f633;border-color:#3b82f680}.no-project-selected{text-align:center;padding:24px;color:#6b7280}.no-project-selected .placeholder-text{font-style:italic;font-size:13px}.source-data-content{display:flex;flex-direction:column;gap:16px}.source-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;transition:all .2s ease}.source-section:hover{background:#ffffff0d;border-color:#ffffff1f}.source-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.source-icon{font-size:18px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#22c55e1a;border-radius:6px;border:1px solid rgba(34,197,94,.3);flex-shrink:0}.source-header h4{margin:0;font-size:14px;font-weight:600;color:#fff;flex:1}.source-details{display:flex;flex-direction:column;gap:8px}.source-item{font-size:12px;line-height:1.5;color:#a0aec0;padding:6px 0}.source-item strong{color:#22c55e;font-weight:600;display:inline-block;min-width:120px;margin-right:8px}.source-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.source-section:nth-child(1) .source-icon{background:#3b82f61a;border-color:#3b82f64d}.source-section:nth-child(1) .source-item strong{color:#3b82f6}.source-section:nth-child(2) .source-icon{background:#a855f71a;border-color:#a855f74d}.source-section:nth-child(2) .source-item strong{color:#a855f7}.source-section:nth-child(3) .source-icon{background:#22c55e1a;border-color:#22c55e4d}.source-section:nth-child(3) .source-item strong{color:#22c55e}.source-section:nth-child(4) .source-icon{background:#f59e0b1a;border-color:#f59e0b4d}.source-section:nth-child(4) .source-item strong{color:#f59e0b}.project-subtitle{font-size:.8rem;color:#fff9;margin:.25rem 0 0;font-weight:400}.exit-project-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.exit-project-btn:hover{background:#ffffff26;border-color:#22c55e66}.project-navigation{margin:1.5rem 0}.project-file-buttons{display:flex;flex-direction:column;gap:.75rem}.project-nav-btn{display:flex;align-items:center;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.project-nav-btn:hover:not(:disabled){background:#ffffff14;border-color:#22c55e66}.project-nav-btn.active{background:#22c55e1a;border-color:#22c55e66}.project-nav-btn:disabled{opacity:.5;cursor:not-allowed}.project-nav-btn .file-icon{font-size:1.5rem;margin-right:1rem;min-width:1.5rem}.project-nav-btn .file-info{display:flex;flex-direction:column}.project-nav-btn .file-type{font-weight:500;color:#fff;margin-bottom:.25rem}.project-nav-btn .file-count{font-size:.8rem;color:#fff9}.project-summary{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.summary-stats{display:flex;flex-direction:column;gap:.5rem}.stat-item{display:flex;justify-content:space-between;font-size:.8rem}.stat-label{color:#ffffffb3}.stat-value{color:#fff;font-weight:500}.back-to-projects-btn{background:linear-gradient(135deg,#3b82f626,#2563eb26);border:1px solid rgba(59,130,246,.3);color:#3b82f6;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;border-radius:8px;transition:all .3s ease;width:100%;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #3b82f633}.back-to-projects-btn:hover{background:linear-gradient(135deg,#3b82f640,#2563eb40);border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 4px 16px #3b82f64d}.project-header-minimal{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.project-name-minimal{font-size:20px;font-weight:700;color:#e2e8f0;margin:0 0 8px}.project-id-minimal{font-size:12px;color:#9ca3af;margin:0 0 12px;font-family:Courier New,monospace}.project-stats-minimal{display:flex;justify-content:space-around;gap:16px}.stat-item-minimal{text-align:center;flex:1}.stat-value-minimal{font-size:18px;font-weight:700;color:#10b981;margin:0}.stat-label-minimal{font-size:10px;color:#9ca3af;margin:4px 0 0;text-transform:uppercase;letter-spacing:.5px}.bulk-actions-minimal{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.bulk-btn-minimal{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981;padding:10px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.bulk-btn-minimal:hover{background:#10b98133;border-color:#10b98180}.file-section-minimal{margin-bottom:24px}.file-type-header-minimal{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.file-type-title-minimal{font-size:14px;font-weight:600;color:#e2e8f0;display:flex;align-items:center;gap:8px}.file-count-minimal{background:#374151;color:#9ca3af;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.file-item-minimal{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;display:block;width:100%}.file-item-minimal:hover{background:#ffffff0d;border-color:#fff3}.file-main-info-minimal{width:100%}.file-type-btn-minimal{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#a0aec0;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;margin-bottom:6px;display:inline-block}.file-type-btn-minimal:hover{background:#ffffff26;border-color:#ffffff4d}.file-name-minimal{font-size:13px;color:#e2e8f0;margin:0 0 6px;font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.file-details-minimal{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.file-size-minimal{font-size:11px;color:#10b981;font-weight:500}.file-date-minimal{font-size:11px;color:#9ca3af}.file-actions-minimal{display:flex;gap:6px;flex-wrap:wrap}.action-btn-minimal{background:transparent;border:1px solid rgba(255,255,255,.2);color:#a0aec0;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.action-btn-minimal:hover{border-color:#ffffff4d;color:#e2e8f0}.action-btn-minimal.primary-minimal{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.action-btn-minimal.primary-minimal:hover{background:#3b82f640;border-color:#3b82f680}.texture-group-minimal{border-left:2px solid rgba(255,255,255,.2);padding-left:4px}.texture-item-minimal{border-left:2px solid rgba(236,72,153,.2);margin-left:4px}.texture-count-minimal{background:#ffffff1a;color:#a0aec0;padding:1px 5px;border-radius:8px;font-size:10px;font-weight:500;margin-left:8px;display:inline-block}.texture-files-minimal{margin-top:8px;padding-left:8px;border-left:1px solid rgba(255,255,255,.1)}.texture-sub-file-minimal{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:10px;border-bottom:1px solid rgba(255,255,255,.02)}.texture-sub-file-minimal:last-child{border-bottom:none}.sub-file-type-minimal{background:#ffffff1a;color:#a0aec0;padding:1px 4px;border-radius:2px;font-size:8px;font-weight:600;min-width:28px;text-align:center;text-transform:uppercase}.sub-file-name-minimal{flex:1;color:#d1d5db;font-weight:400;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-file-size-minimal{color:#10b981;font-weight:500;font-size:9px}.how-to-use-content{padding:16px}.guide-section{margin-bottom:20px}.guide-section:last-child{margin-bottom:0}.guide-title{font-size:14px;font-weight:600;color:#60a5fa;margin:0 0 8px;display:flex;align-items:center;gap:6px}.guide-list{margin:0;padding-left:16px;list-style:none}.guide-list li{position:relative;padding:4px 0;font-size:13px;color:#d1d5db;line-height:1.4}.guide-list li:before{content:"•";color:#10b981;font-weight:700;position:absolute;left:-12px}.guide-list strong{color:#e2e8f0;font-weight:600}.project-statement-header{background:linear-gradient(135deg,#00ff8014,#00ff8008);border:1px solid rgba(0,255,128,.2);border-radius:8px;margin-bottom:24px;overflow:hidden}.project-hero-section{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#00ff800d;border-bottom:1px solid rgba(0,255,128,.1)}.project-hero-content{flex:1}.project-hero-title{font-size:24px;font-weight:700;color:#fff;margin:0 0 4px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.project-hero-subtitle{font-size:13px;color:#00ff80cc;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.project-exit-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:600}.project-exit-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.project-overview-section{padding:16px 24px}.project-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px}.overview-item{display:flex;flex-direction:column;align-items:center;gap:4px}.overview-label{font-size:11px;color:#fff9;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.overview-value{font-size:16px;color:#00ff80e6;font-weight:700}.overview-value.status-success{color:#22c55ee6}.overview-value.status-pending{color:#fbbf24e6}.overview-value.status-failed{color:#ef4444e6}.file-item-ultra-minimal{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;cursor:pointer;transition:all .2s ease;margin-bottom:6px;gap:12px}.file-item-ultra-minimal:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateY(-1px)}.file-info-section{flex:1;min-width:0}.file-name-ultra{font-size:14px;font-weight:600;color:#fff;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta-ultra{display:flex;align-items:center;gap:8px;font-size:11px}.file-type-ultra{background:#00ff8026;color:#00ff80e6;padding:2px 6px;border-radius:4px;font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.file-size-ultra{color:#ffffffb3;font-weight:500}.file-date-ultra{color:#ffffff80;font-weight:400}.file-actions-ultra{display:flex;gap:6px;flex-shrink:0}.action-btn-ultra{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.3px}.action-btn-ultra:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.action-btn-ultra.primary{background:#00ff801a;border-color:#00ff804d;color:#00ff80e6}.action-btn-ultra.primary:hover{background:#00ff8026;border-color:#00ff8066;color:#00ff80}.action-btn-ultra.download{background:#3b82f61a;border-color:#3b82f633;color:#3b82f6e6;font-size:14px;font-weight:700;width:28px;padding:6px 4px}.action-btn-ultra.download:hover{background:#3b82f626;border-color:#3b82f64d;color:#3b82f6}.action-btn-ultra.delete{background:#ef44441a;border-color:#ef444433;color:#ef4444e6;font-size:12px;width:28px;padding:6px 4px}.action-btn-ultra.delete:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.bulk-btn-minimal:disabled{opacity:.6;cursor:not-allowed;transform:none}.bulk-btn-minimal.loading{position:relative}.bulk-btn-minimal.loading:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.file-type-header-minimal.expandable{cursor:pointer;transition:all .2s ease}.file-type-header-minimal.expandable:hover{background:#ffffff08}.file-type-title-minimal{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:#fff}.project-files-content{animation:slideDown .2s ease-out;overflow:hidden}.bulk-btn-minimal.download-project{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6e6}.bulk-btn-minimal.download-project:hover{background:#3b82f626;border-color:#3b82f666;color:#3b82f6;transform:translateY(-1px)}.bulk-btn-minimal.delete-project{background:#ef44441a;border-color:#ef44444d;color:#ef4444e6}.bulk-btn-minimal.delete-project:hover{background:#ef444426;border-color:#ef444466;color:#ef4444;transform:translateY(-1px)}.file-type-group .file-item-ultra-minimal{margin-left:12px;margin-bottom:6px;border-left:1px solid rgba(255,255,255,.1);padding-left:8px}.file-type-group{margin-bottom:16px}.file-type-subheader{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#00ff800d;border-left:3px solid rgba(0,255,128,.3);margin-bottom:6px;font-size:.85em;border-radius:0 4px 4px 0;transition:all .2s ease}.file-type-subheader.expandable{cursor:pointer}.file-type-subheader.expandable:hover{background:#00ff8014;border-left-color:#00ff8066}.file-type-label{color:#00ff80e6;font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}.expand-icon{font-size:10px;color:#00ff80b3;transition:transform .2s ease;width:12px;display:inline-block}.file-type-content{animation:slideDown .2s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.file-type-count{color:#00ff80cc;font-size:11px;background:#00ff8026;padding:2px 8px;border-radius:12px;font-weight:500;min-width:20px;text-align:center}.file-type-group .file-item-minimal{margin-left:12px;margin-bottom:6px;border-left:1px solid rgba(255,255,255,.1);padding-left:8px}.file-type-group .texture-item-minimal{border-left:2px solid rgba(236,72,153,.3)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .2s ease-out;border:2px solid #e1e5e9}.modal-dialog.modal-danger{border-color:#dc3545}.modal-dialog.modal-warning{border-color:#ffc107}.modal-dialog.modal-info{border-color:#0dcaf0}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px 16px;border-bottom:1px solid #e1e5e9;display:flex;align-items:center;justify-content:space-between;background:#f8f9fa}.modal-title{margin:0;font-size:18px;font-weight:600;color:#212529}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.modal-close:hover{background-color:#e9ecef;color:#495057}.modal-message{margin:0;font-size:16px;line-height:1.5;color:#495057}.modal-footer{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end;background:#f8f9fa;border-top:1px solid #e1e5e9}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:80px}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800}.btn-info{background-color:#0dcaf0;color:#212529}.btn-info:hover{background-color:#0bb5d1}.btn:focus{outline:2px solid rgba(13,110,253,.25);outline-offset:2px}@media (prefers-color-scheme: dark){.modal-dialog{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.modal-header,.modal-footer{background:#1a202c;border-color:#4a5568}.modal-title{color:#e2e8f0}.modal-message{color:#cbd5e0}.modal-close{color:#a0aec0}.modal-close:hover{background-color:#4a5568;color:#e2e8f0}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-view-container{display:flex;height:calc(100vh - 60px);width:100%;background:radial-gradient(circle at 30% 20%,#2d2d44,#1a1a2e,#16213e);overflow:hidden;position:fixed;top:60px;left:0;right:0}.map-info-panel{width:380px;background:#14141ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.1);padding:1rem;overflow-y:auto;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000004d}.map-panel-header{margin-bottom:1rem}.map-panel-header h2{margin:0 0 .5rem;font-size:1.3rem;color:#fff;font-weight:600}.action-result{padding:.5rem;margin-bottom:1rem;border-radius:8px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-result.success{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.action-result.error{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.storage-info-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.section-title{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.storage-details{display:flex;flex-direction:column;gap:.75rem}.storage-item{display:flex;flex-direction:column;gap:.5rem}.storage-label{color:#ffffffb3;font-size:.8rem;font-weight:500}.storage-value{color:#fff;font-size:.85rem;font-weight:400;padding:.5rem .75rem;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.storage-paths{display:flex;flex-direction:column;gap:.5rem}.path-item{display:flex;flex-direction:column;gap:.25rem}.path-type{color:#4097ff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.path-item code{color:#fff;background:#0000004d;padding:.4rem .5rem;border-radius:4px;font-family:Fira Code,Monaco,monospace;font-size:.75rem;border:1px solid rgba(255,255,255,.1)}.usage-info-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.usage-steps{display:flex;flex-direction:column;gap:.5rem}.step-item{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem 0}.step-number{background:linear-gradient(135deg,#4097ff,#6366f1);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;margin-top:1px}.step-text{color:#ffffffb3;font-size:.8rem;line-height:1.4;flex:1}.selection-details-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.selection-info-detailed{display:flex;flex-direction:column;gap:.5rem}.selection-stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#4097ff26;border-radius:6px;border:1px solid rgba(64,151,255,.3)}.stat-label{color:#4097ff;font-size:.8rem;font-weight:500}.stat-value{color:#fff;font-size:.8rem;font-weight:600}.tif-files-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.file-list{display:flex;flex-direction:column;gap:.75rem}.map-view-container .file-item{padding:.75rem;margin-bottom:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.map-view-container .file-item:hover{background:#4097ff1a;border-color:#4097ff4d;transform:translateY(-1px)}.map-view-container .file-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.map-view-container .file-name{font-weight:600;color:#fff;font-size:.8rem;word-break:break-word;flex:1;margin-right:.5rem}.map-view-container .file-size{background:#ffffff1a;padding:.2rem .4rem;border-radius:4px;font-size:.7rem;color:#fffc}.map-view-container .file-status{color:#4ade80;font-size:.7rem;font-weight:600;background:#22c55e33;padding:.2rem .4rem;border-radius:4px}.map-view-container .file-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.no-files-message{text-align:center;padding:1rem;color:#fff9}.no-files-message p{margin:.25rem 0;font-size:.8rem;line-height:1.4}.jobs-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.jobs-list{display:flex;flex-direction:column;gap:.5rem}.job-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.job-id{color:#fff;font-size:.8rem;font-weight:500}.job-status{font-size:.75rem;font-weight:600;padding:.2rem .4rem;border-radius:4px;text-transform:capitalize}.job-status.pending{background:#ffc10733;color:#ffcc02}.job-status.processing{background:#4097ff33;color:#4097ff}.job-status.completed{background:#22c55e33;color:#4ade80}.job-status.failed{background:#ef444433;color:#f87171}.btn-secondary{background:#ffffff1a;color:#e0e0e0;border:1px solid rgba(255,255,255,.2);padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;flex:1}.btn-secondary:hover{background:#fff3;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:1px solid #dc2626;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;flex:1;box-shadow:0 2px 8px #dc26264d}.btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.layer-select-container{margin-bottom:.5rem}.layer-select{width:100%;padding:10px 32px 10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.layer-select:hover{background:#ffffff1a;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.layer-select:focus{outline:none;background:#ffffff1a;border-color:#4097ff80;box-shadow:0 0 0 3px #4097ff1a}.layer-select option{background:#14141ef2;color:#fff;padding:8px}.map-viewer-panel{flex:1;display:flex;flex-direction:column;background:transparent}.map-container{flex:1;position:relative;overflow:hidden}.map-floating-toolbox{background:#14141ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(34,197,94,.6);border-radius:8px;box-shadow:2px 0 10px #0000004d,0 0 0 1px #22c55e4d;z-index:1000;cursor:move;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:280px;min-width:280px;max-width:320px}.map-floating-toolbox:hover{box-shadow:0 4px 16px #0006,0 0 0 1px #22c55e80;border-color:#22c55ecc}.map-floating-toolbox.dragging{box-shadow:0 8px 24px #00000080;cursor:grabbing;transition:none}.toolbox-header{padding:1rem;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);border-radius:8px 8px 0 0;cursor:grab;flex-shrink:0}.toolbox-header:active{cursor:grabbing}.toolbox-header h3{color:#fff;font-size:1rem;font-weight:600;margin:0}.toolbox-section{border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.toolbox-section:last-child{border-bottom:none;margin-bottom:0}.search-section{border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.search-container{display:flex;gap:.5rem;align-items:center}.search-input{flex:1;padding:.5rem .75rem;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:4px;color:#fff;font-size:.85rem;outline:none;transition:all .2s ease}.search-input::placeholder{color:#ffffff80}.search-input:focus{border-color:#4097ff;box-shadow:0 0 0 2px #4097ff33;background:#ffffff1f}.search-button{padding:.5rem .75rem;background:linear-gradient(135deg,#4097ff,#6366f1);border:1px solid #4097ff;border-radius:4px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;box-shadow:0 2px 8px #4097ff4d}.search-button:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #4097ff66}.search-button:disabled{background:#ffffff1a;color:#ffffff4d;cursor:not-allowed;border-color:#ffffff1a;box-shadow:none}.control-buttons{display:flex;flex-direction:column;gap:.5rem}.btn-map-control{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#e0e0e0;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;width:100%}.btn-map-control:hover{background:#fff3;transform:translateY(-1px)}.btn-map-control.active{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#22c55e;color:#fff;box-shadow:0 2px 8px #22c55e4d}.btn-map-control.primary{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#22c55e;color:#fff;font-weight:600;box-shadow:0 2px 8px #22c55e4d}.btn-map-control.primary:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e66}.btn-map-control:disabled{background:#ffffff0d;border-color:#ffffff14;color:#ffffff4d;cursor:not-allowed;transform:none;box-shadow:none}.toggle-control{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;width:100%;min-height:24px}.slider-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;height:24px}.slider-switch input{opacity:0;width:0;height:0}.slider-track{position:relative;display:block;width:44px;height:24px;background:#fff3;border-radius:12px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.slider-track.disabled{background:#ffffff1a;border-color:#ffffff0d;cursor:not-allowed}.slider-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.slider-track.disabled .slider-thumb{background:#ffffff4d}.slider-switch input:checked+.slider-track{background:#4097ff;border-color:#4097ff}.slider-switch input:checked+.slider-track .slider-thumb{transform:translate(20px)}.slider-switch input:checked+.slider-track.disabled{background:#4097ff4d;border-color:#4097ff33}.slider-switch input:checked+.slider-track.disabled .slider-thumb{background:#ffffff80}.slider-switch:hover .slider-track:not(.disabled){box-shadow:0 0 8px #4097ff4d}.toggle-label{color:#ffffffb3;font-size:.85rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;text-align:left;line-height:1;margin:0;display:flex;align-items:center;height:24px}.toggle-label.disabled{color:#ffffff4d;cursor:not-allowed}.toggle-hint{font-size:.75rem;color:#fff6;font-style:italic;margin-top:.25rem;width:100%}@media (max-width: 768px){.map-view-container{flex-direction:column}.map-info-panel{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.map-floating-toolbox{width:260px}.layer-select{font-size:12px;padding:8px 30px 8px 10px}}@media (max-width: 480px){.map-floating-toolbox{width:calc(100% - 1rem)}.control-buttons{flex-direction:row;gap:.5rem}.btn-map-control{font-size:.8rem;padding:.4rem .75rem}.layer-select{font-size:11px;padding:6px 28px 6px 8px}}.toggle-label.disabled{opacity:.5;cursor:not-allowed}.toggle-hint{font-size:.7rem;color:#ffffff80;margin-top:.25rem;font-style:italic}.map-toolbox-scrollable::-webkit-scrollbar{width:6px}.map-toolbox-scrollable::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.map-toolbox-scrollable::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px;transition:background .2s}.map-toolbox-scrollable::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.progress-banner-container{position:fixed;bottom:20px;left:380px;right:0;z-index:1001;pointer-events:auto;display:flex;justify-content:center;padding:0 20px}.progress-banner{background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;display:flex;align-items:center;gap:1rem;transition:all .3s ease;width:600px;max-width:100%}.progress-banner.collapsed{padding:.75rem 1rem}.progress-banner.collapsed .banner-content{gap:.25rem}.banner-spinner{width:20px;height:20px;border:2px solid rgba(64,151,255,.3);border-top:2px solid #4097ff;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0;transition:opacity .2s ease}.banner-spinner.hidden{opacity:0;width:0;margin:0}.banner-title-row{display:flex;align-items:center;gap:.5rem}.banner-title{color:#fff;font-size:.9rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.banner-progress{display:flex;align-items:center;gap:.75rem}.banner-progress-bar{flex:1;background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden;min-width:100px}.banner-progress-fill{background:linear-gradient(90deg,#4097ff,#6366f1);height:100%;border-radius:3px;transition:width .5s ease;min-width:2px}.banner-percentage{color:#4097ff;font-size:.8rem;font-weight:600;min-width:35px;text-align:right}.banner-project-name{color:#4097ff;font-size:.8rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px;text-align:left}.banner-step-info{color:#fff9;font-size:.7rem;font-weight:400;margin-top:.25rem}.file-type-indicators{display:flex;gap:.25rem;margin-top:.5rem;padding:.2rem 0;justify-content:flex-start;width:calc(100% - 50px)}.file-type-item{display:flex;align-items:center;justify-content:center;padding:.15rem .3rem;border-radius:3px;transition:all .3s ease;min-width:35px;flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-size:.7rem}.file-type-item.pending{color:#ffffff4d;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.file-type-item.current{color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);animation:pulse 2s infinite}.file-type-item.generated{color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.3)}.file-type-label{font-size:.65rem;font-weight:500;color:inherit;text-transform:uppercase;letter-spacing:.3px}.file-type-item.generated .file-type-label{color:inherit}.banner-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;align-self:flex-start}.btn-banner{padding:.3rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.btn-banner.cancel{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-banner.cancel:hover{background:#ef44444d;transform:translateY(-1px)}.btn-banner.hide{background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2)}.btn-banner.hide:hover{background:#fff3;transform:translateY(-1px)}.progress-banner.completed .banner-title,.progress-banner.completed .banner-percentage{color:#4ade80}@media (max-width: 768px){.progress-banner-container{left:0;padding:0 .5rem .5rem}.progress-banner{padding:.5rem .75rem;gap:.75rem;width:100%}.banner-title{font-size:.8rem}.banner-percentage{font-size:.75rem;min-width:30px}.btn-banner{padding:.25rem .5rem;font-size:.7rem}}.App{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1;display:flex;overflow:hidden;height:calc(100vh - 60px)}.map-container{flex:1;position:relative}.map-view{height:100%;width:100%}.sidebar{width:320px;background-color:#f5f5f5;border-left:1px solid #ddd;padding:1rem;overflow-y:auto}.aoi-info{margin-bottom:2rem}.aoi-info h3{margin:0 0 1rem;color:#333}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.jobs-list h3{margin:0 0 1rem;color:#333}.jobs-list ul{list-style:none;padding:0;margin:0}.job-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff}.job-item.pending{border-left:4px solid #ffc107}.job-item.processing{border-left:4px solid #17a2b8}.job-item.completed{border-left:4px solid #28a745}.job-item.failed{border-left:4px solid #dc3545}.status{font-size:.9rem;font-weight:500;text-transform:capitalize}@media (max-width: 768px){.app-main{flex-direction:column}.sidebar{width:100%;height:300px}}.transformation-panel{background:linear-gradient(145deg,#14141efa,#1e1e2df2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(100,181,246,.15);border-radius:16px;padding:8px;color:#e1e4e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;min-width:280px;max-width:100%;max-height:85vh;overflow-y:auto;scrollbar-gutter:stable;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;gap:10px}.transformation-panel.disabled{opacity:.6;pointer-events:none}.transformation-panel::-webkit-scrollbar{width:6px}.transformation-panel::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.transformation-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.transformation-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.panel-header{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(139,157,195,.2)}.panel-title{margin:0;font-size:15px;font-weight:600;color:#58a6ff;display:flex;align-items:center;gap:6px}.unsaved-indicator{color:#f85149;font-size:24px;line-height:0;animation:pulse 2s ease-in-out infinite}.control-section{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px;transition:all .2s ease}.control-section:hover{background:#ffffff0f;border-color:#64b5f64d;box-shadow:0 2px 8px #64b5f626}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.section-header.compact{margin-bottom:8px;padding:0}.section-header.compact .control-label{font-size:11px;letter-spacing:.3px}.control-label{font-size:12px;font-weight:500;color:#ffffffb3;text-transform:none;letter-spacing:0}.lock-control{display:flex;align-items:center;gap:4px;font-size:11px;color:#e1e4e8;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:4px;background:#8b9dc31a;border:1px solid rgba(139,157,195,.2);transition:all .2s}.lock-control:hover:not(:disabled){background:#8b9dc333;border-color:#8b9dc34d}.lock-control:disabled{opacity:.5;cursor:not-allowed}.lock-control span{font-weight:500;font-size:10px}.unit-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:#e1e4e8;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 8px;border-radius:4px;background:#58a6ff1a;border:1px solid rgba(88,166,255,.2);transition:all .2s}.unit-toggle:hover:not(:disabled){background:#58a6ff26;border-color:#58a6ff4d}.unit-toggle:disabled{opacity:.5;cursor:not-allowed}.unit-toggle span{font-weight:500;font-size:10px;color:#58a6ff}.dimensions-grid{display:grid;grid-template-columns:1fr;gap:6px;margin:6px 0 0}.dimension-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#ffffff0a;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.dimension-label{font-size:11px;font-weight:500;color:#ffffffb3}.dimension-value{font-size:15px;font-weight:700;color:#64b5f6;font-family:Monaco,Consolas,monospace;letter-spacing:.3px}.dimension-value.editable{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s ease}.dimension-value.editable:hover{background-color:#58a6ff26;text-decoration:underline}.dimension-edit-input{font-size:13px;font-weight:700;color:#58a6ff;font-family:Courier New,monospace;letter-spacing:.3px;background:#58a6ff1a;border:2px solid #58a6ff;border-radius:4px;padding:2px 6px;outline:none;text-align:right;width:90px}.dimension-edit-input:focus{background:#58a6ff33;border-color:#79c0ff}.dimension-with-slider{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.dimension-with-slider:last-child{margin-bottom:0}.dimension-with-slider .dimension-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:#8b9dc314;border-radius:6px;border:1px solid rgba(139,157,195,.15)}.dimension-with-slider .axis-control{display:block;width:100%;padding:0}.control-value{font-size:15px;font-weight:700;color:#64b5f6;font-family:Monaco,Consolas,monospace}.control-value.highlight{color:#64b5f6;font-size:15px}.control-value.editable{cursor:pointer;padding:2px 6px;border-radius:3px;transition:background-color .15s ease}.control-value.editable:hover{background-color:#58a6ff26;text-decoration:underline}.slider-container{position:relative;width:100%;height:20px;display:flex;align-items:center;padding:4px 0}input.slider.z-exaggeration-slider,.axis-control input.slider.dimension-slider{width:100%!important;height:4px!important;border-radius:2px!important;margin:0!important;padding:0!important;background:linear-gradient(to right,#ffffff1a,#64b5f680)!important;border:none!important;outline:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;cursor:pointer!important;display:block!important;opacity:1!important;visibility:visible!important}input.slider.z-exaggeration-slider::-webkit-slider-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}input.slider.z-exaggeration-slider::-moz-range-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}input.slider.z-exaggeration-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}input.slider.z-exaggeration-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}input.slider.z-exaggeration-slider:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 12px #64b5f699}input.slider.z-exaggeration-slider:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 3px 12px #64b5f699}.axis-control input.slider.dimension-slider::-webkit-slider-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}.axis-control input.slider.dimension-slider::-moz-range-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}.axis-control input.slider.dimension-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}.axis-control input.slider.dimension-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}.axis-control input.slider.dimension-slider:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 12px #64b5f699}.axis-control input.slider.dimension-slider:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 3px 12px #64b5f699}input.slider.base-height-slider{width:100%!important;height:4px!important;border-radius:2px!important;margin:0!important;padding:0!important;background:linear-gradient(to right,#ffffff1a,#64b5f680)!important;border:none!important;outline:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;cursor:pointer!important;display:block!important;opacity:1!important;visibility:visible!important}input.slider.base-height-slider::-webkit-slider-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}input.slider.base-height-slider::-moz-range-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,#ffffff1a,#64b5f680);border:none}input.slider.base-height-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}input.slider.base-height-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#64b5f6,#667eea);border:none;cursor:pointer;box-shadow:0 2px 8px #64b5f680;transition:all .2s ease}input.slider.base-height-slider:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 10px #64b5f6b3}input.slider.base-height-slider:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 3px 10px #64b5f6b3}.axis-control{display:grid;grid-template-columns:18px 1fr 45px;align-items:center;gap:6px;padding:1px 0}.axis-label{font-size:11px;font-weight:600;color:#8b9dc3;text-align:center}.axis-value{font-size:11px;font-weight:600;color:#58a6ff;text-align:right;font-family:Courier New,monospace}.axis-control input.slider{width:100%!important;height:7px!important;border-radius:4px!important;margin:0!important;padding:0!important;background:#8b9dc366!important;border:1px solid rgba(139,157,195,.6)!important;outline:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;cursor:pointer!important;display:block!important;opacity:1!important;visibility:visible!important}.axis-control input.slider::-webkit-slider-track{width:100%;height:7px;border-radius:4px;background:#8b9dc366;border:none}.axis-control input.slider::-moz-range-track{width:100%;height:7px;border-radius:4px;background:#8b9dc366;border:none}.axis-control input.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#58a6ff,#79c0ff);border:2px solid #ffffff;cursor:pointer;box-shadow:0 2px 6px #0006;transition:all .2s ease}.axis-control input.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#58a6ff,#79c0ff);border:2px solid #ffffff;cursor:pointer;box-shadow:0 2px 6px #0006;transition:all .2s ease}.axis-control input.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #58a6ff99}.axis-control input.slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 8px #58a6ff99}.slider{width:100%;height:6px;background:#8b9dc380;outline:none;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid rgba(139,157,195,.3)}.slider::-webkit-slider-track{width:100%;height:6px;background:#8b9dc380;border-radius:3px}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#58a6ff;cursor:pointer;border-radius:50%;transition:all .2s;box-shadow:0 2px 4px #0000004d;border:2px solid #ffffff}.slider::-moz-range-track{width:100%;height:6px;background:#8b9dc380;border-radius:3px}.slider::-moz-range-thumb{width:16px;height:16px;background:#58a6ff;cursor:pointer;border-radius:50%;border:2px solid #ffffff;transition:all .2s;box-shadow:0 2px 4px #0000004d}.slider::-webkit-slider-thumb:hover{background:#79c0ff;transform:scale(1.2);box-shadow:0 2px 8px #58a6ff80}.slider::-moz-range-thumb:hover{background:#79c0ff;transform:scale(1.2);box-shadow:0 2px 8px #58a6ff80}.slider:disabled{opacity:.5;cursor:not-allowed}.slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.slider:disabled::-moz-range-thumb{cursor:not-allowed}.slider-labels{display:flex;justify-content:space-between;font-size:10px;color:#6e7681;margin-top:2px}.panel-footer{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:0;padding-top:0;border-top:1px solid rgba(139,157,195,.2)}.btn-save{padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#22c55e40,#16a34a40);border:1px solid rgba(34,197,94,.4);color:#22c55e}.btn-save:hover:not(:disabled){background:linear-gradient(135deg,#22c55e59,#16a34a59);border-color:#22c55e80;transform:translateY(-1px);box-shadow:0 2px 8px #22c55e66}.btn-save:active:not(:disabled){transform:translateY(0)}.btn-save:disabled{background:#22c55e1a;border-color:#22c55e33;color:#22c55e80;cursor:not-allowed;opacity:.5}.btn-reset{padding:8px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff9;font-size:11px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px}.btn-reset:hover:not(:disabled){background:#ffffff0d;color:#ffffffe6;transform:translateY(-1px)}.btn-reset:active:not(:disabled){transform:translateY(0)}.btn-reset:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 768px){.transformation-panel{width:100%;max-width:280px}}.order-config-panel{color:#e1e4e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.custom-size-display{background:#30363dcc;border:1px solid #30363d;border-radius:6px 6px 0 0;border-bottom:none;padding:6px 8px;margin:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.dimension-display{display:flex;flex-direction:column;align-items:center;flex:1}.dimension-label{color:#8b949e;font-size:10px;font-weight:500;margin-bottom:2px}.dimension-value{color:#58a6ff;font-size:12px;font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.order-config-panel.disabled{opacity:.6;pointer-events:none}.panel-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(139,157,195,.2)}.panel-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#58a6ff}.panel-subtitle{margin:0;font-size:12px;color:#8b9dc3}.panel-content{display:flex;flex-direction:column;gap:20px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.config-section{display:flex;flex-direction:column;gap:10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.section-label{font-size:13px;font-weight:600;color:#8b9dc3;text-transform:uppercase;letter-spacing:.5px}.toggle-buttons{display:flex;background:#ffffff1a;border-radius:20px;padding:3px;gap:3px}.toggle-btn{flex:1;padding:10px 12px;border:none;border-radius:18px;background:transparent;color:#ffffffb3;cursor:pointer;font-size:13px;font-weight:500;text-align:center;transition:all .2s}.toggle-btn.active{background:#4097ffcc;color:#fff}.toggle-btn:hover:not(.active):not(:disabled){background:#ffffff0d}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.material-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s}.material-option:hover{background:#ffffff1a;border-color:#4097ff4d}.material-option.selected{background:#4097ff26;border-color:#4097ff80}.material-color{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.material-name{font-size:11px;color:#ffffffe6;text-align:center}.color-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important}.color-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s}.color-option:hover{background:#ffffff1a;border-color:#4097ff4d}.color-option.selected{background:#4097ff26;border-color:#4097ff80}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.color-name{font-size:9px;color:#fffc;text-align:center}.wood-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;max-width:100%;overflow:hidden}.wood-option{display:flex!important;align-items:center!important;gap:6px!important;padding:8px 6px!important;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s;width:100%!important;max-width:165px!important;box-sizing:border-box!important;min-width:0!important;overflow:hidden!important}.wood-option:hover{background:#ffffff1a;border-color:#4097ff4d}.wood-option.selected{background:#4097ff26;border-color:#4097ff80}.wood-color{width:24px!important;height:24px!important;border-radius:4px;border:1px solid rgba(255,255,255,.2);flex-shrink:0;min-width:24px!important;max-width:24px!important}.wood-name{font-size:11px!important;color:#ffffffe6;word-break:break-word!important;overflow-wrap:break-word!important;-webkit-hyphens:auto;hyphens:auto;line-height:1.2!important;flex:1;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;line-clamp:2!important;-webkit-box-orient:vertical!important}.warning-box{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:11px;color:#ef4444}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-width:100%;width:100%}.product-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s;min-width:0;min-height:60px;width:100%!important;max-width:100%!important;box-sizing:border-box}.product-option:hover{background:#ffffff1a;border-color:#4097ff4d}.product-option.selected{background:#4097ff26;border-color:#4097ff80}.product-icon{font-size:22px!important;flex-shrink:0;line-height:1;display:block}.product-name{font-size:11px!important;color:#ffffffe6;text-align:center!important;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;width:100%;max-width:100%;overflow:hidden;display:block}.size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.size-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s;min-height:60px}.size-option:hover{background:#ffffff1a;border-color:#4097ff4d}.size-option.selected{background:#4097ff26;border-color:#4097ff80}.size-content{display:flex;flex-direction:column;align-items:center;gap:4px}.size-name{font-size:11px;color:#ffffffe6;font-weight:500}.size-dimensions{font-size:9px;color:#fff9}.size-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#000000f2;color:#fff;padding:8px 12px;border-radius:6px;font-size:10px;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0006;border:1px solid rgba(255,255,255,.1);pointer-events:none}.tooltip-title{font-weight:600;margin-bottom:4px}.tooltip-item{font-size:9px;opacity:.8;white-space:nowrap}.size-description{padding:12px;background:#4097ff1a;border:1px solid rgba(64,151,255,.2);border-radius:6px}.description-title{font-size:12px;font-weight:600;color:#ffffffe6;margin-bottom:4px}.description-dims{font-weight:400;margin-left:8px;color:#ffffffb3}.description-text{font-size:10px;color:#ffffffb3}.custom-size-inputs{display:flex;flex-direction:column;width:100%}.input-group{display:flex;flex-direction:column;gap:4px}.input-label{font-size:10px;color:#ffffffb3}.size-input{width:100%;padding:6px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:11px;outline:none;transition:all .2s}.size-input:focus{border-color:#4097ff80;background:#ffffff26}.size-input:disabled{opacity:.5;cursor:not-allowed}.review-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff0d;border-radius:6px;cursor:pointer;transition:all .2s}.review-header:hover{background:#ffffff1a}.review-title{font-size:13px;font-weight:600;color:#58a6ff}.review-toggle{font-size:10px;color:#fff9}.review-content{display:flex;flex-direction:column;gap:8px;padding:12px;background:#ffffff05;border-radius:6px;margin-top:8px}.review-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:11px}.review-label{color:#fff9;font-weight:500;flex-shrink:0}.review-value{color:#ffffffe6;text-align:right}.capped-indicator{color:#ef4444;font-size:9px}.no-base-indicator{color:#ffffff80;font-size:9px}.panel-footer{margin-top:16px;padding-top:16px;border-top:1px solid rgba(139,157,195,.2)}.btn-next-step,.btn-place-order{width:100%;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-next-step{background:linear-gradient(135deg,#4097ff,#6366f1);color:#fff;box-shadow:0 2px 8px #4097ff4d}.btn-next-step:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4097ff66}.btn-next-step:disabled{opacity:.6;cursor:not-allowed}.btn-place-order{background:linear-gradient(135deg,#22c55ee6,#16a34ae6);color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-place-order:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #22c55e66}.btn-place-order:disabled{opacity:.6;cursor:not-allowed}.config-notice{padding:12px;margin-top:8px;background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:normal;min-width:0}@media (max-width: 768px){.order-config-panel{width:100%;max-width:360px}}body.order-review-modal-open .panel-controller{display:none!important}.order-review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px;animation:fadeIn .3s ease-in-out}.order-review-modal{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}.order-review-header{text-align:center;padding:16px 24px 12px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;background:#0000001a}.order-review-logo{font-size:32px;margin-bottom:6px}.order-review-header h2{margin:0 0 4px;font-size:18px;font-weight:700;color:#fff}.order-review-header p{margin:0;color:#ffffffb3;font-size:12px}.order-review-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff9;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.order-review-close:hover:not(:disabled){background:#ffffff1a;color:#fff}.order-review-close:disabled{opacity:.3;cursor:not-allowed}.order-review-content{padding:16px 24px;overflow-y:auto;flex:1}.order-summary-section,.shipping-section,.price-section{margin-bottom:16px}.order-summary-section:last-child,.shipping-section:last-child,.price-section:last-child{margin-bottom:0}.order-summary-section h3,.shipping-section h3{margin:0 0 10px;font-size:13px;font-weight:600;color:#ffffffe6}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px}.summary-item{display:flex;flex-direction:column;gap:3px}.summary-label{font-size:10px;color:#ffffff80;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.summary-value{font-size:11px;color:#fffffff2;font-weight:600}.no-base-badge{font-size:11px;color:#ff9800e6;font-weight:500;margin-left:4px}.shipping-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field-state{max-width:100px}.form-field-zip{max-width:140px}.form-field label{font-size:13px;font-weight:600;color:#ffffffe6;display:flex;align-items:center;gap:4px}.required{color:#ef5350;font-size:14px}.form-field input{padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;font-family:inherit;transition:all .2s;width:100%;box-sizing:border-box}.form-field input.error{border-color:#ef5350;background:#ef53500d}.error-message{font-size:12px;color:#ff6b6b;margin-top:2px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠";font-size:12px}.price-section{background:linear-gradient(135deg,#4caf5014,#4caf500a);border:1px solid rgba(76,175,80,.25);border-radius:10px;padding:20px}.price-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.price-row.total{border-top:1px solid rgba(255,255,255,.15);margin-top:8px;padding-top:16px}.price-label{font-size:14px;color:#ffffffb3;font-weight:500}.price-value{font-size:14px;font-weight:600;color:#4caf50}.price-row.total .price-label{font-size:16px;font-weight:600;color:#fff}.price-row.total .price-value{font-size:20px;color:#4caf50}.price-note{margin:12px 0 0;font-size:12px;color:#ffffff80;text-align:center;line-height:1.4}.order-review-footer{display:flex;gap:12px;padding:20px 32px;border-top:1px solid rgba(255,255,255,.1);background:#0000001a}.btn-cancel,.btn-pay-now{flex:1;padding:14px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-cancel{background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.btn-cancel:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#ffffff40}.btn-pay-now{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px #4caf5040}.btn-pay-now:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 16px #4caf5059;transform:translateY(-2px)}.btn-pay-now:active:not(:disabled){transform:translateY(0)}.btn-cancel:disabled,.btn-pay-now:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.order-review-content::-webkit-scrollbar{width:8px}.order-review-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.order-review-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.order-review-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.order-review-modal{max-width:100%;max-height:100%;border-radius:0;margin:0}.order-review-header{padding:24px 20px 20px}.order-review-logo{font-size:40px}.order-review-header h2{font-size:20px}.order-review-close{top:16px;right:16px;width:32px;height:32px;font-size:24px}.order-review-content{padding:20px}.order-review-footer{padding:16px 20px}.summary-grid{grid-template-columns:1fr;gap:12px;padding:16px}.form-row{grid-template-columns:1fr}.form-field-state,.form-field-zip{max-width:none}.btn-cancel,.btn-pay-now{padding:12px 20px;font-size:14px}}@media (max-width: 480px){.order-review-header{padding:20px 16px 16px}.order-review-logo{font-size:36px;margin-bottom:8px}.order-review-header h2{font-size:18px}.order-review-header p{font-size:13px}.order-review-content{padding:16px}.order-review-footer{flex-direction:column;padding:12px 16px}.btn-cancel,.btn-pay-now,.order-review-cancel-button,.order-review-pay-button{width:100%}}.email-section{margin-bottom:12px}.email-section h3{font-size:13px;font-weight:600;color:#ffffffe6;margin-bottom:10px;display:flex;align-items:center;gap:6px}.email-display-wrapper{display:flex;flex-direction:column;gap:6px}.email-label{font-size:12px;font-weight:500;color:#ffffffb3;display:flex;align-items:center;gap:4px}.email-display{padding:8px 12px;background:#4caf5014;border:1px solid rgba(76,175,80,.3);border-radius:6px;color:#4caf50;font-size:13px;font-weight:600;width:100%;box-sizing:border-box}.email-hint{font-size:11px;color:#ffffff80;margin:0;font-style:italic}.shipping-notice-section{margin-bottom:12px}.info-box{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#2196f314;border:1px solid rgba(33,150,243,.25);border-radius:6px}.info-icon{font-size:18px;line-height:1;flex-shrink:0}.info-content h4{margin:0 0 4px;font-size:12px;font-weight:600;color:#ffffffe6}.info-content p{margin:0;font-size:11px;color:#ffffffb3;line-height:1.4}.price-summary-section{background:linear-gradient(135deg,#4caf5014,#4caf500a);border:1px solid rgba(76,175,80,.25);border-radius:8px;padding:12px}.price-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.price-row.subtotal,.price-row.shipping{padding:4px 0}.price-row.total{border-top:1px solid rgba(255,255,255,.15);margin-top:6px;padding-top:10px}.price-label{font-size:12px;color:#ffffffb3;font-weight:500}.price-value{font-size:12px;font-weight:600;color:#4caf50}.price-row.total .price-label{font-size:14px;font-weight:600;color:#fff}.price-row.total .price-value{font-size:16px;color:#4caf50}.price-divider{height:1px;background:#ffffff1a;margin:4px 0}.price-note{display:flex;align-items:center;gap:6px;margin:8px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.price-note-icon{font-size:14px;flex-shrink:0}.price-note p{margin:0;font-size:11px;color:#ffffff80;line-height:1.3}.order-review-footer{display:flex;gap:10px;padding:12px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0000001a}.order-review-cancel-button,.order-review-pay-button{flex:1;padding:10px 18px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.order-review-cancel-button{background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.15)}.order-review-cancel-button:hover:not(:disabled){background:#ffffff1a;color:#fff;border-color:#ffffff40}.order-review-pay-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px #4caf5040}.order-review-pay-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 16px #4caf5059;transform:translateY(-2px)}.order-review-pay-button:active:not(:disabled){transform:translateY(0)}.order-review-cancel-button:disabled,.order-review-pay-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-icon{font-size:16px;line-height:1}.pricing-error-box{display:flex;gap:16px;padding:20px;background:linear-gradient(135deg,#ff3b301a,#ff95001a);border:2px solid rgba(255,59,48,.3);border-radius:12px;margin-bottom:16px;animation:errorPulse 2s ease-in-out infinite}@keyframes errorPulse{0%,to{border-color:#ff3b304d;box-shadow:0 0 #ff3b3000}50%{border-color:#ff3b3080;box-shadow:0 0 20px #ff3b3033}}.pricing-error-icon{font-size:32px;line-height:1;flex-shrink:0}.pricing-error-content{flex:1}.pricing-error-content h4{color:#ff3b30;font-size:16px;font-weight:600;margin:0 0 8px}.pricing-error-content p{color:#ffffffe6;font-size:14px;margin:0 0 8px;line-height:1.5}.pricing-error-content p:last-child{margin-bottom:0}.pricing-error-help{color:#ffffffb3!important;font-size:13px!important;font-style:italic}.price-row-message{padding:24px;text-align:center;color:#fff9;font-size:14px;font-style:italic}.price-row-message p{margin:0}.panel-controller{display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:auto}.panel-controller.disabled{opacity:.6;pointer-events:none}.button-group{display:flex;flex-direction:row;gap:0;background:#14141ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:12px 12px 0 0;padding:0;box-shadow:0 4px 16px #0000004d;transition:all .2s ease;min-width:360px;max-width:400px}.button-group:hover{box-shadow:0 6px 20px #0006;border-color:#64b5f64d}.panel-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:#ffffff0a;border:none;border-bottom:1px solid rgba(255,255,255,.08);color:#e1e4e8;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.panel-button:first-child{border-radius:12px 0 0}.panel-button:last-child{border-radius:0 12px 0 0}.panel-button:not(:last-child):after{content:"";position:absolute;right:0;top:25%;bottom:25%;width:1px;background:#ffffff26}.panel-button:hover:not(:disabled):not(.active){background:#ffffff14;border-bottom-color:#64b5f64d;transform:none;box-shadow:none}.panel-button:active:not(:disabled){transform:none}.panel-button:disabled{opacity:.5;cursor:not-allowed}.panel-button.active{background:linear-gradient(145deg,#64b5f640,#667eea40);border-bottom-color:#64b5f6cc;color:#64b5f6;box-shadow:none;position:relative}.panel-button.active:before{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(135deg,#64b5f6,#667eea);border-radius:0 0 2px 2px}.panel-button.active:hover{background:linear-gradient(145deg,#64b5f64d,#667eea4d);border-bottom-color:#64b5f6e6;transform:none;box-shadow:none}.button-icon{font-size:16px;line-height:1;flex-shrink:0}.button-text{font-weight:600;letter-spacing:.2px}@media (max-width: 768px){.button-group{min-width:280px;max-width:320px}.panel-button{padding:12px 16px;font-size:13px}.button-icon{font-size:14px}}.panel-button:focus{outline:2px solid rgba(100,181,246,.5);outline-offset:2px}.panel-button:focus:not(:focus-visible){outline:none}@media (prefers-contrast: high){.button-group{border-color:#ffffff4d}.panel-button{border-color:#fff3}.panel-button.active{border-color:#fffc}}@media (prefers-reduced-motion: reduce){.panel-button,.button-group,.indicator-dot{transition:none;animation:none}}.advanced-stl-viewer{position:relative;width:100%;max-width:100%;height:100%;min-height:600px;background:#0d1117f2;overflow:hidden;box-sizing:border-box}.viewer-canvas-container{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#4a4a5a,#3a3a4a,#2a2a3a);box-sizing:border-box}.loading-overlay,.error-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d9;border:1px solid rgba(139,157,195,.3);border-radius:8px;padding:16px 24px;text-align:center;z-index:1000;box-shadow:0 4px 16px #0006;opacity:0;animation:fadeIn .3s ease-in forwards;animation-delay:.2s;pointer-events:none}.loading-spinner,.error-icon{font-size:32px;margin-bottom:12px}.loading-spinner{animation:spin 2s linear infinite}.loading-overlay p,.error-overlay p{margin:0;color:#e1e4e8;font-size:14px;font-weight:500}.error-overlay p{color:#f85149}.unsaved-warning{padding:12px 16px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:6px;color:#ffc107;font-size:12px;font-weight:600;text-align:center;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 1600px){.advanced-stl-viewer{flex-direction:column}.viewer-canvas-container{min-height:500px;height:60vh}.control-panels-sidebar{width:100%;max-width:100%;min-width:100%;max-height:none;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:12px;border-left:none;border-top:2px solid rgba(88,166,255,.3)}.control-panels-sidebar>*{min-width:320px}}@media (min-width: 1601px){.advanced-stl-viewer{flex-direction:row}}@media (max-width: 768px){.advanced-stl-viewer{gap:8px}.control-panels-sidebar{padding:4px;gap:8px}.quick-controls-panel{padding:12px}}.panel-scroll-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.panel-scroll-container::-webkit-scrollbar{width:4px}.panel-scroll-container::-webkit-scrollbar-track{background:transparent}.panel-scroll-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.panel-scroll-container::-webkit-scrollbar-thumb:hover{background:#fff6}.panel-scroll-container::-webkit-scrollbar-corner{background:transparent}.export-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.export-dialog{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px #00000080;max-width:700px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.export-dialog-header{padding:1.5rem 2rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.export-dialog-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#fffffff2}.close-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;width:36px;height:36px;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff;transform:scale(1.1)}.export-dialog-content{flex:1;overflow-y:auto;padding:1.5rem 2rem}.export-dialog-content::-webkit-scrollbar{width:8px}.export-dialog-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.export-dialog-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.export-dialog-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.export-section{margin-bottom:1.5rem}.export-label{display:block;font-size:.9rem;font-weight:600;color:#fffc;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.project-info-box{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center}.project-name{font-weight:600;color:#64b5f6;font-size:1rem}.job-id{font-family:Courier New,monospace;font-size:.85rem;color:#ffffff80}.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.format-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:6px;padding:.5rem .625rem;cursor:pointer;transition:all .2s ease;text-align:center;position:relative}.format-card:hover:not(:disabled){background:#ffffff14;border-color:#2196f366;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.format-card.selected{background:#2196f326;border-color:#2196f399;box-shadow:0 0 0 2px #2196f333}.format-card:disabled{opacity:.5;cursor:not-allowed}.format-icon{display:none}.format-name{font-weight:600;color:#fffffff2;margin-bottom:.25rem;font-size:.8125rem}.format-description{font-size:.6875rem;color:#fff9;line-height:1.2}.cached-badge{position:absolute;top:.5rem;right:.5rem;background:#4caf504d;color:#81c784;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;border:1px solid rgba(76,175,80,.5)}.quality-options{display:flex;gap:.75rem}.quality-button{flex:1;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;cursor:pointer;transition:all .2s ease;text-align:center}.quality-button:hover:not(:disabled){background:#ffffff14;border-color:#2196f366;transform:translateY(-2px)}.quality-button.selected{background:#2196f326;border-color:#2196f399;box-shadow:0 0 0 2px #2196f333}.quality-button:disabled{opacity:.5;cursor:not-allowed}.quality-name{font-weight:600;color:#fffffff2;margin-bottom:.25rem;font-size:1rem}.quality-desc{font-size:.75rem;color:#fff9;line-height:1.3}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.checkbox-label:hover{background:#ffffff14;border-color:#fff3}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2196f3}.checkbox-label span{font-weight:500;color:#ffffffe6}.checkbox-label input:disabled{cursor:not-allowed;opacity:.5}.option-description{margin:.5rem 0 0;font-size:.85rem;color:#fff9;padding-left:.75rem}.export-progress{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:1rem;margin-top:1rem}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:linear-gradient(90deg,#2196f3,#64b5f6);border-radius:4px;animation:progressPulse 1.5s ease-in-out infinite;width:100%}@keyframes progressPulse{0%,to{opacity:.8}50%{opacity:1}}.progress-text{margin:0;font-size:.9rem;color:#64b5f6;font-weight:500;text-align:center}.format-info-box{background:#9c27b01a;border:1px solid rgba(156,39,176,.3);border-radius:8px;padding:1rem;margin-top:1rem}.format-info-box h4{margin:0 0 .5rem;color:#ba68c8;font-size:1rem}.format-info-box p{margin:0 0 .75rem;color:#fffc;font-size:.9rem;line-height:1.5}.features-list{margin-top:.75rem}.features-list strong{color:#fffc;font-size:.85rem}.features-list ul{margin:.5rem 0 0;padding-left:1.5rem}.features-list li{color:#ffffffb3;font-size:.85rem;margin-bottom:.25rem}.export-loading,.export-error{padding:3rem 2rem;text-align:center}.export-loading .spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.export-loading p{margin:0;color:#ffffffb3;font-size:1rem}.export-error p{margin:0;color:#ff6b6b;font-size:1rem;font-weight:500}.export-dialog-footer{padding:1.25rem 2rem;background:#0000004d;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-export{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-cancel{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.btn-cancel:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.btn-export{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 4px 12px #2196f366}.btn-export:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-2px);box-shadow:0 6px 16px #2196f380}.btn-cancel:disabled,.btn-export:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.export-dialog{width:95%;max-height:90vh}.export-dialog-header,.export-dialog-content,.export-dialog-footer{padding:1rem 1.25rem}.format-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.quality-options{flex-direction:column}.export-dialog-footer{flex-direction:column-reverse}.btn-cancel,.btn-export{width:100%}}.view3d-panel{width:100%;max-width:100vw;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);color:#ffffffe6;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.view3d-list-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.view3d-list-header h2{margin:0 0 .5rem;font-size:2rem;font-weight:600}.view3d-list-header .subtitle{margin:0;color:#fff9;font-size:1rem}.view3d-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:nowrap;gap:1rem;width:100%;max-width:100%;box-sizing:border-box;overflow:visible;min-height:83px}.header-left{display:flex;align-items:flex-start;gap:1rem;flex:0 1 auto;min-width:0;max-width:60%}.project-icon{font-size:2.5rem;flex-shrink:0;width:2.5rem}.view3d-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.project-name-display{display:flex;align-items:center;gap:.75rem}.project-name-edit-inline{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.project-name-input-header{background:#ffffff1a;border:1px solid rgba(59,130,246,.5);border-radius:4px;padding:.5rem .75rem;color:#fff;font-size:1.5rem;font-weight:600;min-width:200px;max-width:400px;outline:none}.project-name-input-header:focus{border-color:#3b82f6cc;box-shadow:0 0 0 2px #3b82f633}.btn-edit-inline{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffffb3;cursor:pointer;padding:.4rem .6rem;font-size:1rem;transition:all .2s ease}.btn-edit-inline:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:scale(1.05)}.btn-save-inline,.btn-cancel-inline{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:.4rem .8rem;transition:all .2s ease;min-width:36px;height:36px}.btn-save-inline:hover{background:#22c55e4d;border-color:#22c55e80}.btn-cancel-inline:hover{background:#ef44444d;border-color:#ef444480}.project-meta{margin:0;font-size:.9rem;color:#fff9;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;max-width:100%}.header-actions{position:fixed;right:2rem;top:100px;display:flex;gap:1rem;flex-wrap:nowrap;flex-shrink:0;z-index:100}.file-type-buttons{display:flex;gap:.5rem;flex-shrink:0;min-width:fit-content}.file-type-button{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.file-type-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;color:#ffffffe6;transform:translateY(-1px)}.file-type-button.active{background:#3b82f633;border-color:#3b82f666;color:#3b82f6}.file-type-button:disabled{opacity:.4;cursor:not-allowed}.model-controls{display:flex;gap:2rem;padding:1.5rem 2rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap;align-items:center;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.control-group{display:flex;flex-direction:column;gap:.5rem;min-width:0}.control-group label{font-size:.85rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.control-btn{padding:.5rem 1rem;background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.control-btn:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6;transform:translateY(-1px)}.control-btn.active{background:#2196f333;color:#64b5f6;border-color:#2196f366}.control-btn:disabled{opacity:.4;cursor:not-allowed}.load-progress-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#161b22f2;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.load-progress-centered{width:400px;max-width:90%;padding:2rem;background:#212936e6;border-radius:12px;border:1px solid rgba(139,157,195,.3);box-shadow:0 8px 32px #0006}.progress-bar{width:100%;height:12px;background:#8b9dc333;border-radius:6px;overflow:hidden;margin-bottom:1rem;box-shadow:inset 0 2px 4px #0003}.progress-fill{height:100%;background:linear-gradient(90deg,#2196f3,#64b5f6);transition:width .3s ease;border-radius:6px;box-shadow:0 0 12px #2196f399}.progress-text{margin:0;font-size:1rem;color:#8b9dc3;text-align:center;font-weight:500}.model-error{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.3);color:#ef4444}.error-icon{font-size:1.5rem;flex-shrink:0}.error-text{flex:1;font-weight:500}.model-error button{padding:.25rem .75rem;background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease}.model-error button:hover{background:#ef44444d}.model-info{display:flex;gap:1rem;padding:1rem 2rem;background:#22c55e1a;border-bottom:1px solid rgba(34,197,94,.3);flex-wrap:wrap}.info-badge{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:.9rem;font-weight:500;color:#ffffffe6}.model-viewer-container{flex:1;position:relative;overflow:hidden;min-height:0;width:100%;max-width:100%;box-sizing:border-box}.viewer-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0003}.placeholder-content{text-align:center;padding:2rem;max-width:600px}.placeholder-icon{font-size:5rem;margin-bottom:1rem;display:block}.placeholder-content h3{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.placeholder-content p{margin:0 0 .5rem;color:#ffffffb3;font-size:1rem}.placeholder-hint{margin-top:1.5rem!important;padding:1rem;background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;color:#64b5f6!important;font-weight:500}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.5rem;padding:1.5rem 2rem;overflow-y:auto;flex:1}.view3d-panel .project-card{background:#14141ee6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;min-height:260px;display:flex;flex-direction:column;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;position:relative;overflow:visible}.view3d-panel .project-card:hover{border-color:#2196f380;transform:translateY(-2px);box-shadow:0 8px 24px #0006,0 0 0 1px #2196f34d}.view3d-panel .project-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.view3d-panel .project-card-header .project-icon{font-size:2rem;flex-shrink:0}.project-title{flex:1;min-width:0;max-width:100%}.project-title h3{margin:0 0 .25rem;font-size:1.2rem;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:.5rem;flex-wrap:nowrap;max-width:100%}.project-name-edit-card{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem;flex-wrap:nowrap;max-width:100%}.project-name-input-card{background:#ffffff1a;border:1px solid rgba(59,130,246,.5);border-radius:4px;padding:.3rem .5rem;color:#fff;font-size:1.1rem;font-weight:600;flex:1;min-width:100px;max-width:180px;outline:none}.project-name-input-card:focus{border-color:#3b82f6cc;box-shadow:0 0 0 2px #3b82f633}.btn-edit-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff9;cursor:pointer;padding:.2rem .4rem;font-size:.85rem;transition:all .2s ease;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem}.btn-edit-card:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:scale(1.05)}.btn-save-card,.btn-cancel-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.25rem .5rem;transition:all .2s ease;min-width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.btn-save-card:hover{background:#22c55e4d;border-color:#22c55e80}.btn-cancel-card:hover{background:#ef44444d;border-color:#ef444480}.view3d-panel .project-card-body{margin-bottom:1rem;flex:1;display:flex;flex-direction:column;gap:.25rem}.project-mode-buttons{display:flex;justify-content:space-between;gap:1rem;margin:12px 0;padding:0}.mode-btn-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.mode-btn{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;font-family:inherit;min-height:60px}.mode-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff;transform:translateY(-1px)}.mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#ffffff4d;color:#fff;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.mode-btn .mode-icon{font-size:28px;line-height:1}.mode-btn-wrapper .mode-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;color:#ffffffe6;text-align:center;margin-top:.25rem;white-space:nowrap}.mode-btn.active~.mode-label{font-weight:700;color:#fff}.project-detail{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem}.detail-label{color:#fff9;font-weight:500}.detail-value{color:#ffffffe6;font-family:Courier New,monospace}.status-completed{color:#22c55e!important}.project-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#2196f3f2;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;border-radius:16px;font-size:1.2rem;font-weight:600;color:#fff}.project-card:hover .project-card-overlay{opacity:1}.no-projects-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#ffffff80;flex:1}.no-projects-icon{font-size:4rem;margin-bottom:1rem}.no-projects-message h3{margin:0 0 .5rem;color:#ffffffb3}.no-projects-message p{margin:0;font-size:1rem}.btn-export-action{padding:.75rem 1.5rem;background:linear-gradient(135deg,#64b5f640,#667eea40);color:#ffffffe6;border:1px solid rgba(100,181,246,.4);border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #64b5f633}.btn-export-action:hover{background:linear-gradient(135deg,#64b5f659,#667eea59);border-color:#64b5f680;transform:translateY(-2px);box-shadow:0 4px 10px #64b5f64d}.btn-export-action:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;background:#64b5f61a}.btn-order{background:linear-gradient(135deg,#22c55e40,#16a34a40);border:1px solid rgba(34,197,94,.4);box-shadow:0 2px 6px #22c55e33}.btn-order:hover{background:linear-gradient(135deg,#22c55e59,#16a34a59);border-color:#22c55e80;box-shadow:0 4px 10px #22c55e4d}.btn-order:disabled{background:#22c55e1a;opacity:.4}.btn-save-transformations{padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:1px solid rgba(34,197,94,.5);border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease;white-space:nowrap;box-shadow:0 4px 12px #22c55e4d}.btn-save-transformations:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);border-color:#22c55e99;transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}.btn-save-transformations:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;background:#22c55e33}.btn-secondary{padding:.75rem 1.5rem;background:linear-gradient(180deg,#374151,#2d3748)!important;color:#ffffffe6;border:1px solid #4a5568!important;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn-secondary:hover{background:linear-gradient(180deg,#4a5568,#374151)!important;border-color:#ffffff4d!important;transform:translateY(-2px)}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ffffffb3}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.error-message h3{margin:0 0 1rem;color:#ff6b6b;font-size:1.5rem}.error-message p{margin:0 0 1.5rem;color:#ffffffb3}.error-message button{padding:.75rem 1.5rem;background:#2196f3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.error-message button:hover{background:#1976d2;transform:translateY(-2px)}.project-grid::-webkit-scrollbar{width:8px}.project-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.project-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;transition:background .2s}.project-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.view3d-list-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1rem 1rem}.view3d-list-header h2{font-size:1.5rem}.view3d-header{flex-direction:column;align-items:flex-start;padding:1rem}.header-left{width:100%}.header-actions{width:100%;flex-direction:column}.btn-secondary{width:100%}.model-controls{flex-direction:column;gap:1rem;padding:1rem}.control-group{width:100%}.button-group{flex-wrap:wrap}.project-grid{grid-template-columns:1fr;padding:1rem;gap:1rem}.model-info{flex-direction:column;gap:.5rem}}@media (max-width: 1024px){.view3d-header{padding:1rem 1.5rem}.header-actions{gap:.75rem}.btn-export-action,.btn-secondary{padding:.6rem 1.2rem;font-size:.9rem}.model-controls{padding:1rem 1.5rem;gap:1.5rem}}@media (max-width: 768px){.view3d-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}}.view-textures-container{display:flex;height:100vh;background:#1a1a1a}.texture-viewer-panel{flex:1;display:flex;flex-direction:column;background:radial-gradient(circle at 30% 20%,#2d2d44,#1a1a2e,#16213e);height:100%;overflow:hidden}.no-texture-selected{display:flex;justify-content:center;align-items:center;height:100%;min-height:400px}.texture-info{text-align:left;background:#ffffff1a;padding:20px;border-radius:12px;margin-top:20px}.texture-info h3{color:#fff;margin-bottom:15px;font-size:1.2rem}.texture-info ul{color:#ccc;padding-left:20px}.texture-info li{margin-bottom:8px;line-height:1.4}.texture-content{display:flex;flex-direction:column;height:100%}.texture-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding:15px;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.texture-header h2{color:#fff;margin:0;font-size:1.5rem}.texture-info{display:flex;gap:20px;color:#ccc;font-size:.9rem;margin-top:8px}.header-actions{display:flex;gap:10px}.btn-download{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.btn-download:hover{background:#45a049}.texture-viewer{flex:1;position:relative;background:#ffffff05;border-radius:12px;overflow:hidden;height:100%;min-height:100%;display:flex;flex-direction:column}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loading-overlay p{color:#fff;font-size:1.1rem}.image-container{width:100%;height:100%;display:flex;flex-direction:column}.texture-image{width:100%;height:100%;max-height:100%;object-fit:contain;transition:transform .3s ease;cursor:zoom-in}.texture-image-container{flex:1;display:flex;align-items:center;justify-content:center;height:100%;width:100%}.texture-image:hover{transform:scale(1.02)}.image-controls{display:flex;justify-content:center;gap:10px;padding:15px;background:#00000080}.btn-zoom{background:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.btn-zoom:hover{background:#1976d2}@media (max-width: 768px){.view-textures-container{flex-direction:column}.texture-viewer-panel{padding:10px}.texture-header{flex-direction:column;gap:15px}.texture-info{flex-direction:column;gap:8px}}.texture-layer-selector{position:absolute;top:20px;left:20px;z-index:100;background:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;box-shadow:0 8px 32px #0006;transition:all .3s ease}.texture-layer-selector:hover{background:#1a1a1afa;box-shadow:0 12px 48px #0009}.layer-selector-content{display:flex;align-items:center;gap:8px;white-space:nowrap}.layer-selector-label{color:#888;font-size:.85rem;font-weight:500;margin-right:4px}.layer-btn{display:flex;align-items:center;gap:4px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 10px;color:#ccc;font-size:.8rem;cursor:pointer;transition:all .2s ease;min-width:70px;justify-content:center}.layer-btn:hover:not(.disabled){background:#ffffff26;border-color:#fff3;color:#fff;transform:translateY(-1px)}.layer-btn.active{background:#2196f3;border-color:#2196f3;color:#fff;box-shadow:0 2px 8px #2196f34d}.layer-btn.disabled{background:#ffffff08;border-color:#ffffff0d;color:#555;cursor:not-allowed;opacity:.5}.layer-icon{font-size:.9rem}.layer-label{font-weight:500}.texture-viewer{position:relative;height:calc(100vh - 120px);min-height:100%}@media (max-width: 768px){.texture-layer-selector{top:10px;right:10px;padding:8px}.layer-selector-content{gap:6px}.layer-btn{padding:5px 8px;font-size:.75rem;min-width:60px}.layer-selector-label{font-size:.75rem}}.no-texture-selected{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;color:#ffffffb3;padding:2rem}.no-texture-selected h3{margin-bottom:1rem;color:#fff;font-weight:600}.no-texture-selected p{margin-bottom:0;color:#ffffffb3}.viewer-features{margin-top:2rem;text-align:left;max-width:300px;color:#fff9}.viewer-features h4{margin-bottom:1rem;color:#fff;font-weight:600}.viewer-features ul{list-style:none;padding:0}.viewer-features li{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.viewer-features li:last-child{border-bottom:none}.texture-file-list{width:100%;height:100%;padding:2rem;overflow-y:auto}.file-list-header{text-align:center;margin-bottom:2rem}.file-list-header h3{margin:0 0 .5rem;font-size:1.8rem;color:#fff;font-weight:600}.file-list-header p{margin:0;color:#ffffffb3;font-size:1rem}.no-files-message{text-align:center;padding:3rem 2rem;color:#fff9}.no-files-message p{margin:.5rem 0;font-size:1.1rem}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:1rem 0}.file-card{background:#14141ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 12px #0003}.file-card:hover{border-color:#22c55e66;transform:translateY(-4px);box-shadow:0 8px 24px #0000004d,0 0 0 1px #22c55e33}.file-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.file-info{width:100%}.file-name{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#fff;word-break:break-word}.file-size{margin:0;font-size:.9rem;color:#fff9}.texture-type{margin:.25rem 0 0;font-size:.8rem;color:#22c55ecc;font-weight:500}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:1rem 0}.project-card{background:#14141ee6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;transition:all .3s ease;box-shadow:0 6px 20px #0000004d}.project-card.clickable{cursor:pointer}.project-card:hover,.project-card.clickable:hover{border-color:#22c55e66;transform:translateY(-4px);box-shadow:0 12px 32px #0006,0 0 0 1px #22c55e33}.project-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.project-name{margin:0 0 .25rem;font-size:1.2rem;font-weight:600;color:#fff}.project-date{margin:0;font-size:.85rem;color:#fff9;font-family:Courier New,monospace}.project-info{margin-bottom:1rem}.available-layers{display:flex;gap:.5rem;flex-wrap:wrap}.layer-badge{font-size:1.5rem;padding:.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:inline-block;transition:all .2s ease}.project-card:hover .layer-badge{background:#ffffff14;border-color:#22c55e4d}.project-summary{display:flex;justify-content:space-between;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:#ffffffb3}.project-summary span{font-weight:500}.texture-layers,.texture-layer-item,.layer-icon,.layer-info,.layer-type,.layer-size{display:none}.view-logs-container{display:flex;height:100vh;background:#1a1a1a}.logs-viewer-panel{flex:1;display:flex;flex-direction:column;padding:20px;overflow-y:auto;background:linear-gradient(135deg,#1a1a1a,#252525);min-height:100vh}.loading-message{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#888}.error-message{background:#ff6b6b;color:#fff;padding:20px;border-radius:12px;margin-bottom:20px}.error-message h3{margin:0 0 10px}.no-log-selected{display:flex;justify-content:center;align-items:center;height:100%;min-height:400px}.placeholder-content{text-align:center;max-width:600px;padding:40px;background:#ffffff0d;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.placeholder-icon{font-size:4rem;margin-bottom:20px}.placeholder-content h2{color:#fff;margin-bottom:10px;font-size:2rem}.placeholder-content p{color:#ccc;margin-bottom:30px;font-size:1.1rem}.log-info{text-align:left;background:#ffffff1a;padding:20px;border-radius:12px;margin-top:20px}.log-info h3{color:#fff;margin-bottom:15px;font-size:1.2rem}.log-info ul{color:#ccc;padding-left:20px;list-style-type:none}.log-info li{margin-bottom:8px;line-height:1.4}.log-info li:before{content:"✓ ";color:#4caf50;font-weight:700;margin-right:8px}.log-viewer{display:flex;flex-direction:column;height:100%}.log-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding:20px;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.log-title{display:flex;align-items:center;gap:10px}.log-icon{font-size:24px}.log-title h2{color:#fff;margin:0;font-size:1.5rem}.log-actions{display:flex;gap:10px}.download-btn{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.download-btn:hover{background:#45a049}.log-content-container{flex:1;position:relative;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.log-content{height:100%;overflow:auto}.log-text{margin:0;padding:20px;font-family:Courier New,Consolas,Monaco,monospace;font-size:13px;line-height:1.6;color:#e0e0e0;background:transparent;white-space:pre-wrap;word-wrap:break-word;overflow:auto;height:calc(100vh - 250px)}.log-text::-webkit-scrollbar{width:8px;height:8px}.log-text::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.log-text::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.log-text::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 768px){.logs-viewer-panel{padding:10px}.log-header{flex-direction:column;gap:15px;align-items:flex-start}.log-title h2{font-size:18px}.log-text{font-size:12px;padding:15px;height:calc(100vh - 300px)}}.invite-key-manager{display:flex;flex-direction:column;gap:var(--admin-space-xl, 2rem)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-xl, 2rem);padding-bottom:var(--admin-space-lg, 1.5rem);border-bottom:2px solid var(--admin-border, #e2e8f0)}.admin-header h1{margin:0;color:var(--admin-text-primary, #0f172a);font-size:1.5rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--admin-space-lg, 1.5rem);margin-bottom:var(--admin-space-xl, 2rem)}.stat-card{background:var(--admin-bg-primary, white);border-radius:var(--admin-radius-lg, .75rem);padding:var(--admin-space-xl, 2rem);box-shadow:var(--admin-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));border-left:4px solid var(--admin-success, #10b981);transition:all .2s ease}.stat-card:hover{box-shadow:var(--admin-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));transform:translateY(-2px)}.stat-card.warning{border-left-color:var(--admin-warning, #f59e0b)}.stat-card.error{border-left-color:var(--admin-error, #ef4444)}.stat-label{font-size:.875rem;color:var(--admin-text-secondary, #475569);margin-bottom:var(--admin-space-xs, .5rem);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-value{font-size:2rem;font-weight:700;color:var(--admin-text-primary, #0f172a);margin-bottom:var(--admin-space-xs, .5rem);line-height:1}.stat-detail{font-size:.8125rem;color:var(--admin-text-tertiary, #94a3b8)}.keys-section{background:var(--admin-bg-primary, white);border-radius:var(--admin-radius-lg, .75rem);padding:var(--admin-space-xl, 2rem);padding-bottom:var(--admin-space-2xl, 3rem);box-shadow:var(--admin-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));border:1px solid var(--admin-border, #e2e8f0);margin-bottom:var(--admin-space-xl, 2rem)}.keys-table-wrapper{overflow-x:auto;margin:0 calc(-1 * var(--admin-space-xl, 2rem));padding:0 var(--admin-space-xl, 2rem)}.keys-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-lg, 1.5rem)}.keys-header h2{margin:0;color:var(--admin-text-primary, #0f172a);font-size:1.25rem;font-weight:700}.filter-controls{display:flex;gap:var(--admin-space-sm, .75rem);align-items:center}.filter-controls label{display:flex;align-items:center;gap:var(--admin-space-xs, .5rem);font-size:.875rem;color:var(--admin-text-secondary, #475569);cursor:pointer}.filter-controls input[type=checkbox]{cursor:pointer}.btn{padding:var(--admin-space-sm, .75rem) var(--admin-space-lg, 1.5rem);border:none;border-radius:var(--admin-radius-md, .5rem);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--admin-space-xs, .5rem)}.btn-primary{background:var(--admin-primary, #2563eb);color:var(--admin-text-inverse, white);box-shadow:var(--admin-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.btn-primary:hover{background:var(--admin-primary-hover, #1d4ed8);box-shadow:var(--admin-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-1px)}.btn-secondary{background:var(--admin-info, #06b6d4);color:var(--admin-text-inverse, white);box-shadow:var(--admin-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.btn-secondary:hover{background:#0891b2;box-shadow:var(--admin-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-1px)}.btn-danger{background:var(--admin-error, #ef4444);color:var(--admin-text-inverse, white);box-shadow:var(--admin-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.btn-danger:hover{background:#dc2626;box-shadow:var(--admin-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1));transform:translateY(-1px)}.keys-table{width:100%;border-collapse:collapse;margin-top:var(--admin-space-sm, .75rem)}.keys-table th{text-align:left;padding:var(--admin-space-md, 1rem);background:var(--admin-bg-secondary, #f8fafc);font-weight:600;color:var(--admin-text-secondary, #475569);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--admin-border, #e2e8f0)}.keys-table td{padding:var(--admin-space-md, 1rem);border-bottom:1px solid var(--admin-border, #e2e8f0);color:var(--admin-text-primary, #0f172a);font-size:.875rem}.keys-table tr:hover{background:var(--admin-bg-secondary, #f8fafc)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background:var(--admin-success-light, #d1fae5);color:var(--admin-success, #10b981)}.status-badge.inactive{background:var(--admin-error-light, #fee2e2);color:var(--admin-error, #ef4444)}.usage-bar{width:100%;height:8px;background:var(--admin-border, #e2e8f0);border-radius:var(--admin-radius-sm, .375rem);overflow:hidden;margin-bottom:var(--admin-space-xs, .5rem)}.usage-bar-fill{height:100%;background:var(--admin-success, #10b981);transition:width .3s ease}.usage-bar-fill.high{background:var(--admin-warning, #f59e0b)}.usage-bar-fill.full{background:var(--admin-error, #ef4444)}.usage-text{font-size:.75rem;color:var(--admin-text-tertiary, #94a3b8)}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--admin-space-xs, .5rem);min-width:280px}.btn-sm{padding:var(--admin-space-xs, .5rem) var(--admin-space-md, 1rem);font-size:.75rem;white-space:nowrap}.error-message{background:var(--admin-error-light, #fee2e2);color:var(--admin-error, #ef4444);padding:var(--admin-space-md, 1rem) var(--admin-space-lg, 1.5rem);border-radius:var(--admin-radius-md, .5rem);margin-bottom:var(--admin-space-lg, 1.5rem);border-left:4px solid var(--admin-error, #ef4444);font-size:.875rem}.loading{text-align:center;padding:var(--admin-space-2xl, 3rem);color:var(--admin-text-secondary, #475569)}.empty-state{text-align:center;padding:var(--admin-space-2xl, 3rem) var(--admin-space-lg, 1.5rem);color:var(--admin-text-secondary, #475569)}.empty-state h3{margin:0 0 var(--admin-space-sm, .75rem) 0;color:var(--admin-text-tertiary, #94a3b8)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--admin-bg-primary, white);border-radius:var(--admin-radius-xl, 1rem);padding:var(--admin-space-xl, 2rem);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--admin-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));border:1px solid var(--admin-border, #e2e8f0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-lg, 1.5rem);padding-bottom:var(--admin-space-md, 1rem);border-bottom:2px solid var(--admin-border, #e2e8f0)}.modal-header h2{margin:0;color:var(--admin-text-primary, #0f172a);font-size:1.375rem;font-weight:700}.close-btn{background:none;border:none;font-size:1.75rem;color:var(--admin-text-tertiary, #94a3b8);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--admin-radius-sm, .375rem);transition:all .2s ease}.close-btn:hover{background:var(--admin-bg-secondary, #f8fafc);color:var(--admin-text-primary, #0f172a)}.form-group{margin-bottom:var(--admin-space-lg, 1.5rem)}.form-group label{display:block;margin-bottom:var(--admin-space-xs, .5rem);font-weight:600;color:var(--admin-text-primary, #0f172a);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--admin-space-sm, .75rem) var(--admin-space-md, 1rem);border:2px solid var(--admin-border, #e2e8f0);border-radius:var(--admin-radius-md, .5rem);font-size:.875rem;font-family:inherit;box-sizing:border-box;transition:all .2s ease;background:var(--admin-bg-primary, white);color:var(--admin-text-primary, #0f172a)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--admin-primary, #2563eb);box-shadow:0 0 0 3px var(--admin-primary-light, rgba(37, 99, 235, .1))}.form-group .help-text{font-size:.75rem;color:var(--admin-text-tertiary, #94a3b8);margin-top:var(--admin-space-xs, .5rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--admin-space-lg, 1.5rem)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--admin-space-md, 1rem);margin-top:var(--admin-space-xl, 2rem);padding-top:var(--admin-space-lg, 1.5rem);border-top:1px solid var(--admin-border, #e2e8f0)}.success-modal{text-align:center}.success-icon{width:4rem;height:4rem;margin:0 auto var(--admin-space-lg, 1.5rem);background:var(--admin-success, #10b981);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--admin-text-inverse, white);font-size:2rem}.key-display{background:var(--admin-bg-secondary, #f8fafc);padding:var(--admin-space-lg, 1.5rem);border-radius:var(--admin-radius-md, .5rem);margin:var(--admin-space-lg, 1.5rem) 0;border:2px solid var(--admin-success, #10b981)}.key-display-label{font-size:.75rem;color:var(--admin-text-secondary, #475569);margin-bottom:var(--admin-space-xs, .5rem);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.key-value{font-family:Courier New,monospace;font-size:1rem;font-weight:700;color:var(--admin-text-primary, #0f172a);word-break:break-all;background:var(--admin-bg-primary, white);padding:var(--admin-space-md, 1rem);border-radius:var(--admin-radius-sm, .375rem);border:1px solid var(--admin-border, #e2e8f0)}.copy-button{margin-top:var(--admin-space-md, 1rem);width:100%}.warning-box{background:var(--admin-warning-light, #fef3c7);border:1px solid var(--admin-warning, #f59e0b);border-radius:var(--admin-radius-md, .5rem);padding:var(--admin-space-md, 1rem) var(--admin-space-lg, 1.5rem);margin:var(--admin-space-lg, 1.5rem) 0;display:flex;gap:var(--admin-space-md, 1rem);align-items:flex-start}.warning-box-icon{color:var(--admin-warning, #f59e0b);font-size:1.25rem;flex-shrink:0}.warning-box-content{font-size:.875rem;color:#92400e}.system-health-dashboard{padding:var(--admin-space-lg);max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-lg)}.dashboard-header h2{margin:0;color:var(--admin-text);font-size:1.75rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:var(--admin-space-md)}.last-updated{color:var(--admin-text-muted);font-size:.875rem}.refresh-button{padding:var(--admin-space-sm) var(--admin-space-md);background:var(--admin-primary);color:#fff;border:none;border-radius:var(--admin-radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.refresh-button:hover{background:var(--admin-primary-dark);transform:translateY(-1px)}.status-card.status-success{border-left:4px solid var(--admin-success)}.status-card.status-warning{border-left:4px solid var(--admin-warning)}.status-card.status-error{border-left:4px solid var(--admin-danger)}.status-indicator{display:flex;align-items:center;gap:var(--admin-space-md);margin-bottom:var(--admin-space-md)}.status-details{display:flex;gap:var(--admin-space-xl);color:var(--admin-text-muted);font-size:.875rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--admin-space-md);margin-bottom:var(--admin-space-lg)}.metric-card.error{border-left:4px solid var(--admin-danger)}.metric-card.warning{border-left:4px solid var(--admin-warning)}.metric-icon{width:48px;height:48px;border-radius:var(--admin-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.metric-icon.pending{background:#3b82f61a}.metric-icon.processing{background:#a855f71a}.metric-icon.completed{background:#10b9811a}.metric-icon.failed{background:#ef44441a}.metric-icon.database{background:#6366f11a}.metric-icon.redis{background:#ef44441a}.metric-icon.celery{background:#a855f71a}.metric-icon.backend{background:#10b9811a}.metric-icon.auth{background:#f59e0b1a}.section-card h3{margin:0 0 var(--admin-space-lg) 0;font-size:1.125rem;font-weight:600;color:var(--admin-text)}.queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--admin-space-md)}.queue-item{display:flex;align-items:center;gap:var(--admin-space-md);padding:var(--admin-space-md);background:#00000005;border-radius:var(--admin-radius-md)}.queue-icon{width:40px;height:40px;border-radius:var(--admin-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.queue-icon.pending{background:#3b82f61a}.queue-icon.processing{background:#a855f71a}.queue-icon.completed{background:#10b9811a}.queue-icon.failed{background:#ef44441a}.queue-content{display:flex;flex-direction:column;gap:var(--admin-space-xs)}.queue-label{font-size:.75rem;font-weight:500;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.5px}.queue-value{font-size:1.5rem;font-weight:700;color:var(--admin-text)}.route-grid{display:flex;flex-direction:column;gap:var(--admin-space-md)}.route-item{display:flex;justify-content:space-between;align-items:center;padding:var(--admin-space-md);background:#00000005;border-radius:var(--admin-radius-md)}.route-label{font-weight:500;color:var(--admin-text);font-size:.875rem}.route-status{padding:var(--admin-space-xs) var(--admin-space-md);border-radius:var(--admin-radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.route-status.ok{background:#10b9811a;color:var(--admin-success)}.route-status.warning{background:#f59e0b1a;color:var(--admin-warning)}.route-status.error{background:#ef44441a;color:var(--admin-danger)}.summary-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg)}.summary-card h3{margin:0 0 var(--admin-space-md) 0;font-size:1.125rem;font-weight:600;color:var(--admin-text)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--admin-space-lg)}.summary-item{display:flex;flex-direction:column;gap:var(--admin-space-xs)}.summary-label{font-size:.875rem;color:var(--admin-text-muted);font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:var(--admin-text)}.summary-value.success{color:var(--admin-success)}.summary-value.warning{color:var(--admin-warning)}.summary-value.error{color:var(--admin-danger)}@media (max-width: 768px){.system-health-dashboard{padding:var(--admin-space-md)}.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--admin-space-md)}.metrics-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.status-details{flex-direction:column;gap:var(--admin-space-sm)}}.job-analytics{padding:var(--admin-space-lg);max-width:1400px;margin:0 auto}.analytics-header{margin-bottom:var(--admin-space-lg)}.analytics-header h2{margin:0 0 var(--admin-space-xs) 0;color:var(--admin-text);font-size:1.75rem;font-weight:600}.metric-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);transition:all .2s}.metric-card:hover{border-color:var(--admin-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-card.success-card{border-left:3px solid var(--admin-success)}.metric-header{display:flex;align-items:center;gap:var(--admin-space-sm);margin-bottom:var(--admin-space-md)}.metric-icon{font-size:1.25rem}.metric-title{font-size:.875rem;font-weight:500;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:2rem;font-weight:700;color:var(--admin-text);margin:0 0 var(--admin-space-xs) 0}.metric-subtitle{margin:0;font-size:.875rem;color:var(--admin-text-muted)}.status-grid{display:flex;flex-direction:column;gap:var(--admin-space-md)}.status-item{padding:var(--admin-space-md);background:#00000005;border-radius:var(--admin-radius-md)}.status-bar-container{display:grid;grid-template-columns:120px 1fr auto;gap:var(--admin-space-md);align-items:center}.status-label{font-weight:500;color:var(--admin-text);font-size:.875rem}.status-bar{height:24px;background:var(--admin-border);border-radius:var(--admin-radius-sm);overflow:hidden;position:relative}.status-bar-fill{height:100%;transition:width .5s ease;position:absolute;left:0;top:0}.status-bar-fill.success{background:var(--admin-success)}.status-bar-fill.error{background:var(--admin-danger)}.status-bar-fill.processing{background:var(--admin-primary)}.status-bar-fill.pending{background:var(--admin-warning)}.status-count{font-size:.875rem;color:var(--admin-text-muted);white-space:nowrap;min-width:120px;text-align:right}.performance-grid{display:grid;gap:var(--admin-space-md)}.performance-item{display:flex;flex-direction:column;gap:var(--admin-space-xs);padding:var(--admin-space-md);background:#2563eb0d;border-radius:var(--admin-radius-md)}.performance-label{font-size:.875rem;font-weight:500;color:var(--admin-text-muted)}.performance-value{font-size:1.5rem;font-weight:700;color:var(--admin-text)}.performance-detail{font-size:.875rem;color:var(--admin-text-muted)}.job-types-list{display:flex;flex-direction:column;gap:var(--admin-space-md)}.job-type-item{padding:var(--admin-space-md);background:#00000005;border-radius:var(--admin-radius-md)}.job-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-sm)}.job-type-name{font-weight:500;color:var(--admin-text);font-size:.875rem}.job-type-count{font-weight:600;color:var(--admin-text);font-size:.875rem}.job-type-bar{height:8px;background:var(--admin-border);border-radius:var(--admin-radius-sm);overflow:hidden}.job-type-bar-fill{height:100%;background:var(--admin-primary);transition:width .5s ease}@media (max-width: 768px){.job-analytics{padding:var(--admin-space-md)}.metrics-grid{grid-template-columns:1fr}.date-range-selector{width:100%}.range-button{flex:1}.status-bar-container{grid-template-columns:1fr;gap:var(--admin-space-sm)}.status-count{text-align:left}}.org-list{padding:1.5rem;max-width:1400px;margin:0 auto}.org-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.org-list-header h2{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.org-list-subtitle{font-size:.95rem;color:#666;margin:0}.refresh-button{padding:.625rem 1.25rem;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.refresh-button:hover{background:#0056b3;transform:translateY(-1px)}.org-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}.org-summary-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d}.org-summary-icon{font-size:2rem;opacity:.8}.org-summary-content{display:flex;flex-direction:column;gap:.25rem}.org-summary-label{font-size:.875rem;color:#666;font-weight:500}.org-summary-value{font-size:1.75rem;font-weight:700;color:#1a1a1a}.organizations-container{display:flex;flex-direction:column;gap:1rem}.org-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:all .2s}.org-card:hover{box-shadow:0 4px 8px #0000001f}.org-card.inactive{opacity:.6;border-color:#d1d5db}.org-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.org-card-header:hover{background:#f9fafb}.org-header-left{display:flex;align-items:center;gap:1rem;flex:1}.org-expand-button{background:none;border:none;font-size:1rem;color:#6b7280;cursor:pointer;padding:.5rem;line-height:1;transition:transform .2s}.org-header-info{display:flex;flex-direction:column;gap:.5rem}.org-name-row{display:flex;align-items:center;gap:.75rem}.org-name{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0}.org-type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.org-type-badge.enterprise{background:#dbeafe;color:#1e40af}.org-type-badge.client{background:#d1fae5;color:#065f46}.org-type-badge.personal{background:#fef3c7;color:#92400e}.org-type-badge.default{background:#f3f4f6;color:#6b7280}.org-inactive-badge{padding:.25rem .75rem;background:#fee2e2;color:#991b1b;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.org-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.org-slug{font-family:Monaco,Courier New,monospace;color:#4b5563}.org-divider{color:#d1d5db}.org-tier{font-weight:500}.org-privacy{text-transform:capitalize}.org-header-stats{display:flex;gap:2rem}.org-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.org-stat-value{font-size:1.5rem;font-weight:700;color:#1a1a1a}.org-stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.org-users-container{border-top:1px solid #e5e7eb;padding:0;background:#f9fafb}.org-no-users{padding:3rem;text-align:center;color:#9ca3af}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#f3f4f6}.users-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb}.users-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .15s}.users-table tbody tr:hover{background:#fff}.users-table tbody tr.user-inactive{opacity:.5}.users-table td{padding:1rem;font-size:.875rem}.user-name-cell{display:flex;align-items:center;gap:.5rem}.user-display-name{font-weight:500;color:#1a1a1a}.user-email{color:#6b7280;font-family:Monaco,Courier New,monospace;font-size:.8125rem}.user-roles{display:flex;gap:.5rem;flex-wrap:wrap}.role-badge{padding:.25rem .625rem;border-radius:10px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-badge.system-admin{background:#fee2e2;color:#991b1b}.role-badge.org-admin{background:#dbeafe;color:#1e40af}.role-badge.member{background:#f3f4f6;color:#6b7280}.user-status{padding:.25rem .625rem;border-radius:10px;font-size:.75rem;font-weight:600}.user-status.active{background:#d1fae5;color:#065f46}.user-status.inactive{background:#f3f4f6;color:#6b7280}.user-date{color:#6b7280;font-size:.8125rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#007bff;border-radius:50%;animation:spin .8s linear infinite}.error-message{color:#dc2626;font-size:1rem;margin:0}.retry-button{padding:.75rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.retry-button:hover{background:#0056b3}@media (max-width: 768px){.org-list{padding:1rem}.org-list-header{flex-direction:column;align-items:flex-start;gap:1rem}.org-summary-grid{grid-template-columns:repeat(2,1fr)}.org-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.org-header-stats{width:100%;justify-content:space-around}.users-table{font-size:.8125rem}.users-table th,.users-table td{padding:.625rem .75rem}}.audit-log-viewer{padding:var(--admin-space-lg);max-width:1400px;margin:0 auto}.viewer-header{margin-bottom:var(--admin-space-lg)}.viewer-header h2{margin:0 0 var(--admin-space-xs) 0;color:var(--admin-text);font-size:1.75rem;font-weight:600}.date-range-label{margin:0 0 var(--admin-space-md) 0;color:var(--admin-text-muted);font-size:.875rem}.date-range-selector{display:flex;flex-wrap:wrap;gap:var(--admin-space-sm)}.range-button{padding:var(--admin-space-sm) var(--admin-space-md);background:var(--admin-card-bg);color:var(--admin-text);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.range-button:hover{border-color:var(--admin-primary);background:#2563eb0d}.range-button.active{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--admin-space-xl);text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--admin-space-md)}.error-message{color:var(--admin-danger);margin-bottom:var(--admin-space-md)}.retry-button{padding:var(--admin-space-sm) var(--admin-space-lg);background:var(--admin-primary);color:#fff;border:none;border-radius:var(--admin-radius-md);cursor:pointer}.status-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.status-card.status-success{border-left:4px solid var(--admin-success);background:#10b9810d}.status-card.status-warning{border-left:4px solid var(--admin-warning);background:#f59e0b0d}.status-card.status-error{border-left:4px solid var(--admin-danger);background:#ef44440d}.status-indicator{display:flex;align-items:center;gap:var(--admin-space-md);margin-bottom:var(--admin-space-sm)}.status-dot{width:16px;height:16px;border-radius:50%;animation:pulse 2s infinite}.status-dot.status-success{background:var(--admin-success)}.status-dot.status-warning{background:var(--admin-warning)}.status-dot.status-error{background:var(--admin-danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-text{font-size:1.125rem;font-weight:600;color:var(--admin-text)}.status-description{margin:0;color:var(--admin-text-muted);font-size:.875rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--admin-space-md);margin-bottom:var(--admin-space-lg)}.metric-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);display:flex;align-items:center;gap:var(--admin-space-md);transition:all .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-card.error-card{border-left:3px solid var(--admin-danger)}.metric-card.warning-card{border-left:3px solid var(--admin-warning)}.metric-card.primary-card{border-left:3px solid var(--admin-primary)}.metric-card.info-card{border-left:3px solid var(--admin-info)}.metric-icon{width:48px;height:48px;border-radius:var(--admin-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#2563eb1a;flex-shrink:0}.metric-content{flex:1}.metric-content h3{margin:0 0 var(--admin-space-xs) 0;font-size:.875rem;font-weight:500;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1.875rem;font-weight:700;color:var(--admin-text);margin:0 0 var(--admin-space-xs) 0}.metric-label{margin:0;font-size:.75rem;color:var(--admin-text-muted)}.section-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:var(--admin-space-lg);margin-bottom:var(--admin-space-lg)}.section-card h3{margin:0 0 var(--admin-space-lg) 0;font-size:1.25rem;font-weight:600;color:var(--admin-text)}.categories-list{display:flex;flex-direction:column;gap:var(--admin-space-md)}.category-item{padding:var(--admin-space-md);background:#00000005;border-radius:var(--admin-radius-md)}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-sm)}.category-name{font-weight:500;color:var(--admin-text);font-size:.875rem}.category-stats{display:flex;align-items:center;gap:var(--admin-space-md)}.category-count{font-weight:600;color:var(--admin-text);font-size:.875rem}.category-percentage{font-weight:600;color:var(--admin-text-muted);font-size:.875rem}.category-bar{height:8px;background:var(--admin-border);border-radius:var(--admin-radius-sm);overflow:hidden}.category-bar-fill{height:100%;background:var(--admin-primary);transition:width .5s ease}.alert-card{border:2px solid var(--admin-warning);background:#f59e0b0d}.alert-card h3{color:var(--admin-warning)}.recommendations-list{display:flex;flex-direction:column;gap:var(--admin-space-md)}.recommendation-item{padding:var(--admin-space-md);background:var(--admin-card-bg);border-left:3px solid var(--admin-warning);border-radius:var(--admin-radius-md);font-size:.875rem;line-height:1.6;color:var(--admin-text)}.recommendation-item strong{display:block;margin-bottom:var(--admin-space-xs);color:var(--admin-warning)}@media (max-width: 768px){.audit-log-viewer{padding:var(--admin-space-md)}.metrics-grid{grid-template-columns:1fr}.date-range-selector{width:100%}.range-button{flex:1}.category-header{flex-direction:column;align-items:flex-start;gap:var(--admin-space-xs)}.category-stats{width:100%;justify-content:space-between}}:root{--admin-primary: #2563eb;--admin-primary-hover: #1d4ed8;--admin-primary-light: #dbeafe;--admin-primary-dark: #1e40af;--admin-secondary: #7c3aed;--admin-secondary-hover: #6d28d9;--admin-secondary-light: #ede9fe;--admin-success: #10b981;--admin-success-light: #d1fae5;--admin-warning: #f59e0b;--admin-warning-light: #fef3c7;--admin-error: #ef4444;--admin-error-light: #fee2e2;--admin-info: #06b6d4;--admin-info-light: #cffafe;--admin-bg-primary: #ffffff;--admin-bg-secondary: #f8fafc;--admin-bg-tertiary: #f1f5f9;--admin-border: #e2e8f0;--admin-border-dark: #cbd5e1;--admin-text-primary: #0f172a;--admin-text-secondary: #475569;--admin-text-tertiary: #94a3b8;--admin-text-inverse: #ffffff;--admin-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--admin-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--admin-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--admin-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--admin-radius-sm: .375rem;--admin-radius-md: .5rem;--admin-radius-lg: .75rem;--admin-radius-xl: 1rem;--admin-space-xs: .5rem;--admin-space-sm: .75rem;--admin-space-md: 1rem;--admin-space-lg: 1.5rem;--admin-space-xl: 2rem;--admin-space-2xl: 3rem;--admin-text: var(--admin-text-primary);--admin-text-muted: var(--admin-text-tertiary);--admin-card-bg: var(--admin-bg-primary);--admin-danger: var(--admin-error);--admin-purple: var(--admin-secondary)}@media (prefers-color-scheme: dark){:root{--admin-primary: #3b82f6;--admin-primary-hover: #2563eb;--admin-primary-light: #1e3a8a;--admin-bg-primary: #1e293b;--admin-bg-secondary: #0f172a;--admin-bg-tertiary: #020617;--admin-border: #334155;--admin-border-dark: #475569;--admin-text-primary: #f1f5f9;--admin-text-secondary: #cbd5e1;--admin-text-tertiary: #64748b}}.admin-page{position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;background:linear-gradient(135deg,var(--admin-bg-secondary) 0%,var(--admin-bg-tertiary) 100%);padding-top:60px}.admin-container{max-width:1600px;width:100%;margin:0 auto;padding:var(--admin-space-xl);padding-bottom:var(--admin-space-2xl);display:flex;flex-direction:column;gap:var(--admin-space-xl);min-height:calc(100vh - 60px)}.admin-page::-webkit-scrollbar{width:12px}.admin-page::-webkit-scrollbar-track{background:var(--admin-bg-tertiary)}.admin-page::-webkit-scrollbar-thumb{background:var(--admin-border-dark);border-radius:6px}.admin-page::-webkit-scrollbar-thumb:hover{background:var(--admin-text-tertiary)}.admin-page-header{margin-bottom:var(--admin-space-2xl);background:var(--admin-bg-primary);padding:var(--admin-space-xl);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-md);border:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center}.admin-logout-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--admin-error);color:#fff;border:none;border-radius:var(--admin-radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--admin-shadow-sm)}.admin-logout-button:hover{background:#dc2626;box-shadow:var(--admin-shadow-md);transform:translateY(-1px)}.admin-logout-button:active{transform:translateY(0);box-shadow:var(--admin-shadow-sm)}.admin-page-title{margin:0 0 var(--admin-space-xs) 0;color:var(--admin-text-primary);font-size:2rem;font-weight:700;letter-spacing:-.025em}.admin-page-subtitle{margin:0;color:var(--admin-text-secondary);font-size:1rem;font-weight:400}.admin-tabs{margin-bottom:var(--admin-space-xl)}.admin-tabs-nav{display:flex;gap:var(--admin-space-xs);background:var(--admin-bg-primary);padding:var(--admin-space-sm);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-sm);border:1px solid var(--admin-border);overflow-x:auto;scrollbar-width:thin}.admin-tab-button{flex-shrink:0;padding:var(--admin-space-sm) var(--admin-space-lg);background:transparent;border:none;border-radius:var(--admin-radius-md);color:var(--admin-text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:var(--admin-space-xs)}.admin-tab-button:hover{background:var(--admin-bg-secondary);color:var(--admin-text-primary)}.admin-tab-button.active{background:var(--admin-primary);color:var(--admin-text-inverse);box-shadow:var(--admin-shadow-sm)}.admin-tab-button.active:hover{background:var(--admin-primary-hover)}.admin-tab-icon{font-size:1.125rem}.admin-tab-content{animation:fadeIn .3s ease;flex:1;min-height:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-card{background:var(--admin-bg-primary);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-md);border:1px solid var(--admin-border);transition:all .2s ease}.admin-card:hover{box-shadow:var(--admin-shadow-lg);transform:translateY(-2px)}.admin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--admin-space-lg);padding-bottom:var(--admin-space-md);border-bottom:2px solid var(--admin-border)}.admin-card-title{margin:0;color:var(--admin-text-primary);font-size:1.25rem;font-weight:700}.admin-card-subtitle{margin:var(--admin-space-xs) 0 0 0;color:var(--admin-text-secondary);font-size:.875rem}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--admin-space-lg);margin-bottom:var(--admin-space-xl)}.admin-stat-card{background:var(--admin-bg-primary);border-radius:var(--admin-radius-lg);padding:var(--admin-space-xl);box-shadow:var(--admin-shadow-md);border-left:4px solid var(--admin-primary);transition:all .2s ease}.admin-stat-card:hover{box-shadow:var(--admin-shadow-lg);transform:translateY(-2px)}.admin-stat-card.success{border-left-color:var(--admin-success)}.admin-stat-card.warning{border-left-color:var(--admin-warning)}.admin-stat-card.error{border-left-color:var(--admin-error)}.admin-stat-card.info{border-left-color:var(--admin-info)}.admin-stat-icon{width:3rem;height:3rem;border-radius:var(--admin-radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:var(--admin-space-md);background:var(--admin-primary-light);color:var(--admin-primary)}.admin-stat-card.success .admin-stat-icon{background:var(--admin-success-light);color:var(--admin-success)}.admin-stat-card.warning .admin-stat-icon{background:var(--admin-warning-light);color:var(--admin-warning)}.admin-stat-card.error .admin-stat-icon{background:var(--admin-error-light);color:var(--admin-error)}.admin-stat-label{font-size:.875rem;color:var(--admin-text-secondary);margin-bottom:var(--admin-space-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.admin-stat-value{font-size:2.25rem;font-weight:700;color:var(--admin-text-primary);margin-bottom:var(--admin-space-xs);line-height:1}.admin-stat-detail{font-size:.8125rem;color:var(--admin-text-tertiary)}.admin-btn{padding:var(--admin-space-sm) var(--admin-space-lg);border:none;border-radius:var(--admin-radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--admin-space-xs);text-decoration:none}.admin-btn-primary{background:var(--admin-primary);color:var(--admin-text-inverse);box-shadow:var(--admin-shadow-sm)}.admin-btn-primary:hover{background:var(--admin-primary-hover);box-shadow:var(--admin-shadow-md);transform:translateY(-1px)}.admin-btn-secondary{background:var(--admin-secondary);color:var(--admin-text-inverse);box-shadow:var(--admin-shadow-sm)}.admin-btn-secondary:hover{background:var(--admin-secondary-hover);box-shadow:var(--admin-shadow-md);transform:translateY(-1px)}.admin-btn-success{background:var(--admin-success);color:var(--admin-text-inverse)}.admin-btn-success:hover{background:#059669}.admin-btn-danger{background:var(--admin-error);color:var(--admin-text-inverse)}.admin-btn-danger:hover{background:#dc2626}.admin-btn-outline{background:transparent;border:2px solid var(--admin-primary);color:var(--admin-primary)}.admin-btn-outline:hover{background:var(--admin-primary);color:var(--admin-text-inverse)}.admin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.admin-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.admin-badge-success{background:var(--admin-success-light);color:var(--admin-success)}.admin-badge-warning{background:var(--admin-warning-light);color:#d97706}.admin-badge-error{background:var(--admin-error-light);color:var(--admin-error)}.admin-badge-info{background:var(--admin-info-light);color:#0891b2}.admin-loading{text-align:center;padding:var(--admin-space-2xl);color:var(--admin-text-secondary)}.admin-loading-spinner{display:inline-block;width:3rem;height:3rem;border:4px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite}.admin-empty-state{text-align:center;padding:var(--admin-space-2xl);color:var(--admin-text-tertiary)}@media (max-width: 1024px){.admin-container{padding:var(--admin-space-lg)}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 768px){.admin-container{padding:var(--admin-space-md)}.admin-page-header{padding:var(--admin-space-lg)}.admin-page-title{font-size:1.5rem}.admin-stats-grid{grid-template-columns:1fr}.admin-tabs-nav{padding:var(--admin-space-xs)}.admin-tab-button{padding:var(--admin-space-xs) var(--admin-space-md);font-size:.8125rem}}.admin-login-page{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .3s ease-in-out}.admin-login-container{width:100%;max-width:480px;animation:slideUp .4s ease-out}.admin-login-card{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:16px;padding:40px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1)}.admin-login-header{text-align:center;margin-bottom:32px}.admin-login-icon{width:64px;height:64px;margin:0 auto 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 16px #667eea4d}.admin-login-icon svg{width:32px;height:32px}.admin-login-title{margin:0 0 8px;color:#fff;font-size:28px;font-weight:700}.admin-login-subtitle{margin:0;color:#ffffffb3;font-size:15px;line-height:1.5}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-label{color:#ffffffe6;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.admin-form-label svg{width:16px;height:16px;opacity:.7}.admin-form-input{width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:15px;transition:all .2s;box-sizing:border-box;font-family:inherit}.admin-form-input:focus{outline:none;background:#ffffff14;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-form-input::placeholder{color:#fff6}.admin-form-input:disabled{opacity:.6;cursor:not-allowed}.admin-form-hint{font-size:12px;color:#ffffff80;margin-top:-4px}.admin-error-message{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:8px;padding:12px 16px;color:#ff6b6b;font-size:14px;display:flex;align-items:flex-start;gap:10px;animation:shake .3s ease-in-out}.admin-error-message svg{width:18px;height:18px;flex-shrink:0;color:#f44336}.admin-login-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px}.admin-login-button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f8f);transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.admin-login-button:active:not(:disabled){transform:translateY(0)}.admin-login-button:disabled{opacity:.6;cursor:not-allowed}.admin-login-button svg{width:20px;height:20px}.admin-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.admin-security-notice{margin-top:24px;padding:16px;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:8px;display:flex;gap:12px;align-items:flex-start}.admin-security-notice svg{width:20px;height:20px;flex-shrink:0;color:#60a5fa;margin-top:2px}.admin-security-notice p{margin:0;color:#ffffffb3;font-size:13px;line-height:1.6}@media (max-width: 640px){.admin-login-card{padding:32px 24px}.admin-login-title{font-size:24px}.admin-login-subtitle{font-size:14px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-in-out}.modal-dialog{background:var(--admin-bg-primary, #1e293b);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-header h2{margin:0;font-size:1.5rem;color:var(--admin-primary, #1976d2);font-weight:600}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:var(--admin-text-secondary, #94a3b8);cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.modal-close-btn:hover:not(:disabled){color:var(--admin-text-primary, #f1f5f9)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--admin-border, #334155);background:var(--admin-bg-secondary, #0f172a)}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--admin-text-primary, #f1f5f9);font-size:.95rem}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--admin-border, #334155);border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;background:var(--admin-bg-secondary, #0f172a);color:var(--admin-text-primary, #f1f5f9)}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--admin-primary, #1976d2);box-shadow:0 0 0 3px #1976d21a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--admin-bg-tertiary, #1e293b);cursor:not-allowed;opacity:.7}.form-group textarea{resize:vertical;min-height:80px}input[type=number].no-arrows::-webkit-outer-spin-button,input[type=number].no-arrows::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-arrows{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.required{color:#d32f2f;font-weight:700}.field-hint{display:block;margin-top:4px;font-size:.85rem;color:var(--admin-text-secondary, #94a3b8)}.error-message{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:4px;border-left:4px solid #d32f2f;margin-bottom:16px;font-size:.95rem}.input-with-prefix{position:relative;display:flex;align-items:center}.input-with-prefix .prefix{position:absolute;left:12px;color:var(--admin-text-secondary, #94a3b8);font-weight:500;pointer-events:none;z-index:1}.input-with-prefix input{padding-left:28px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.toggle-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle-label span{font-weight:500;color:var(--admin-text-primary, #f1f5f9)}.checkbox-group{display:flex;flex-direction:column;gap:12px;padding:8px 0}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.btn-primary{background-color:#1976d2;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1565c0}.btn-primary:disabled{background-color:#90caf9;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background-color:var(--admin-bg-secondary, #0f172a);border-color:var(--admin-primary, #1976d2)}@media (max-width: 640px){.modal-dialog{width:95%;max-height:95vh}.form-row{grid-template-columns:1fr}.modal-header h2{font-size:1.25rem}}.custom-color-modal{max-width:500px;width:90%}.color-picker-group{display:flex;align-items:center;gap:12px}.color-input{width:50px;height:40px;border:1px solid var(--admin-border, #334155);border-radius:4px;cursor:pointer;padding:2px;background:var(--admin-bg-secondary, #0f172a)}.color-input:hover{border-color:var(--primary-color, #2196F3)}.color-input:disabled{opacity:.5;cursor:not-allowed}.hex-input{flex:1;min-width:150px;padding:8px 12px;border:1px solid var(--admin-border, #334155);border-radius:4px;font-family:Courier New,monospace;font-size:14px;text-transform:uppercase;background:var(--admin-bg-secondary, #0f172a);color:var(--admin-text-primary, #f1f5f9)}.hex-input:focus{outline:none;border-color:var(--primary-color, #2196F3)}.hex-input:disabled{background-color:var(--admin-bg-tertiary, #1e293b);cursor:not-allowed}.color-preview{width:40px;height:40px;border:1px solid var(--admin-border, #334155);border-radius:4px;flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label span{font-size:14px;color:var(--admin-text-primary, #f1f5f9)}.required{color:#d32f2f;margin-left:2px}.form-help-text{display:block;margin-top:4px;font-size:12px;color:var(--admin-text-secondary, #94a3b8)}.error-message{padding:12px;background-color:#ffebee;color:#d32f2f;border-radius:4px;margin-bottom:16px;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--admin-bg-primary, #1e293b);border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--admin-border, #334155)}.modal-title{margin:0;font-size:20px;font-weight:600;color:var(--admin-primary, #1976d2)}.modal-close-btn{background:none;border:none;font-size:28px;line-height:1;color:var(--admin-text-secondary, #94a3b8);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close-btn:hover{background-color:var(--admin-bg-secondary, #0f172a);color:var(--admin-text-primary, #f1f5f9)}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--admin-border, #334155);background-color:var(--admin-bg-secondary, #0f172a)}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--admin-text-primary, #f1f5f9)}.form-input{width:100%;padding:8px 12px;border:1px solid var(--admin-border, #334155);border-radius:4px;font-size:14px;background:var(--admin-bg-secondary, #0f172a);color:var(--admin-text-primary, #f1f5f9)}.form-input:focus{outline:none;border-color:var(--primary-color, #2196F3)}.form-input:disabled{background-color:var(--admin-bg-tertiary, #1e293b);cursor:not-allowed}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--admin-bg-tertiary, #1e293b);color:var(--admin-text-primary, #f1f5f9);border:1px solid var(--admin-border, #334155)}.btn-secondary:hover:not(:disabled){background-color:var(--admin-bg-secondary, #0f172a)}.btn-primary{background-color:var(--primary-color, #2196F3);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover, #1976D2)}.section-header-collapsible{transition:background-color .2s ease}.section-header-collapsible:hover{background:linear-gradient(135deg,#6366f108,#8b5cf608)}.collapse-icon{display:inline-block;margin-right:10px;font-size:.875rem;color:var(--admin-primary);transition:transform .2s ease;font-weight:600}.materials-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:20px}.material-card{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a}.material-card:hover{box-shadow:0 4px 12px #00000026;border-color:var(--admin-primary)}.material-card.disabled{opacity:.5;background:var(--admin-bg-tertiary)}.material-card-header{padding:12px 16px;background:var(--admin-bg-secondary);border-bottom:1px solid var(--admin-border);display:flex;align-items:center}.material-header-content{display:flex;align-items:center;gap:12px;flex:1;min-height:24px}.material-info{flex:1}.material-name{font-size:1rem;font-weight:700;color:var(--admin-text-primary);margin:0;line-height:1.5;display:inline-flex;align-items:center;vertical-align:middle;padding:4px 0}.toggle-label.compact{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:auto;flex-shrink:0}.toggle-label.compact input[type=checkbox]{width:40px;height:22px;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--admin-bg-tertiary);border:1px solid var(--admin-border);border-radius:11px;cursor:pointer;transition:all .3s;flex-shrink:0}.toggle-label.compact input[type=checkbox]:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;top:2px;left:2px;background:var(--admin-text-tertiary);transition:all .3s;box-shadow:0 2px 4px #0000004d}.toggle-label.compact input[type=checkbox]:checked{background:linear-gradient(135deg,var(--admin-success) 0%,#059669 100%);border-color:var(--admin-success)}.toggle-label.compact input[type=checkbox]:checked:before{transform:translate(18px);background:#fff}.toggle-label.compact .toggle-text{font-size:.8125rem;font-weight:600;color:var(--admin-text-secondary)}.material-card-body{padding:16px;display:flex;flex-direction:column;gap:14px}.material-field{display:flex;flex-direction:column;gap:6px}.material-field input[type=number]{background:var(--admin-bg-primary);border:1px solid var(--admin-border);color:var(--admin-text-primary);font-size:.875rem;padding:8px 10px;border-radius:6px;transition:all .2s ease;width:120px;max-width:100%;box-sizing:border-box;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.material-field input[type=number]:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--admin-bg-primary)}.field-label{display:flex;flex-direction:column;gap:2px}.field-label strong{font-size:.8125rem;font-weight:600;color:var(--admin-text-primary);text-transform:uppercase;letter-spacing:.5px}.field-description{font-size:.75rem;color:var(--admin-text-tertiary)}.price-display{display:flex;align-items:center;gap:8px}.price-value{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace}.price-badge.custom{padding:3px 8px;background:linear-gradient(135deg,#6366f126,#8b5cf626);color:var(--admin-primary);border:1px solid var(--admin-primary);border-radius:var(--admin-radius-sm);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.stock-badge{padding:4px 10px;border-radius:var(--admin-radius-md);font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.stock-badge.in-stock{background:linear-gradient(135deg,#10b98126,#05966926);color:var(--admin-success);border:1px solid var(--admin-success)}.stock-badge.out-of-stock{background:linear-gradient(135deg,#ef444426,#dc262626);color:#ef4444;border:1px solid #ef4444}.color-swatches-modern{display:flex;flex-wrap:wrap;gap:6px}.color-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);font-size:.75rem;font-weight:500;transition:all .2s;color:var(--admin-text-secondary)}.color-chip:hover{background:var(--admin-bg-tertiary);border-color:var(--admin-primary)}.color-chip-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 1px #0000004d,inset 0 1px 2px #0003;flex-shrink:0}.color-chip-label{color:var(--admin-text-primary);white-space:nowrap;font-weight:600}.color-more-badge{padding:4px 10px;background:linear-gradient(135deg,#6366f126,#8b5cf626);color:var(--admin-primary);border:1px solid var(--admin-primary);border-radius:var(--admin-radius-sm);font-size:.75rem;font-weight:700;display:inline-flex;align-items:center}.no-colors-message{font-size:.8125rem;color:var(--admin-text-tertiary);font-style:italic}.color-selector-modern{display:flex;flex-direction:column;gap:6px}.color-select-modern{width:100%;min-height:100px;padding:8px;border:2px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:.8125rem;font-family:inherit;background:var(--admin-bg-primary);color:var(--admin-text-primary);transition:border-color .2s}.color-select-modern:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a}.color-select-modern option{padding:6px;border-radius:4px;margin:2px 0;background:var(--admin-bg-primary);color:var(--admin-text-primary)}.color-select-modern option:checked{background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);color:#fff}.help-text{font-size:.6875rem;color:var(--admin-text-tertiary);margin:0}.material-card-footer{padding:12px 16px;background:var(--admin-bg-secondary);border-top:1px solid var(--admin-border)}.btn-edit-material{width:100%;padding:10px 16px;background:var(--admin-bg-primary);border:1px solid var(--admin-primary);color:var(--admin-primary);border-radius:var(--admin-radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-edit-material:hover:not(:disabled){background:var(--admin-primary);color:#fff;box-shadow:0 4px 8px #2563eb4d}.btn-edit-material:disabled{opacity:.5;cursor:not-allowed}.table-container{overflow-x:auto;border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border)}.material-info{display:flex;flex-direction:column;gap:4px}.material-info strong{color:var(--admin-text-primary);font-weight:600;font-size:.9375rem}.material-key{font-size:.8125rem;color:var(--admin-text-tertiary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;background:var(--admin-bg-tertiary);padding:2px 6px;border-radius:4px;display:inline-block}.material-type-badge{padding:4px 10px;border-radius:var(--admin-radius-md);background:linear-gradient(135deg,#6366f114,#8b5cf614);color:var(--admin-primary);font-size:.8125rem;font-weight:600;text-transform:capitalize;display:inline-flex;align-items:center;border:1px solid rgba(99,102,241,.16);line-height:1.5;vertical-align:middle}.product-info{display:flex;flex-direction:column;gap:4px}.product-key{font-size:.8125rem;color:var(--admin-text-tertiary);font-family:SF Mono,Monaco,monospace}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--admin-border-dark);border-radius:26px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 3px #00000026}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}input:checked+.toggle-slider{background:linear-gradient(135deg,var(--admin-success) 0%,#059669 100%);box-shadow:inset 0 1px 3px #0003}input:checked+.toggle-slider:before{transform:translate(22px)}input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.toggle-slider:hover:not(input:disabled+.toggle-slider){box-shadow:inset 0 1px 3px #0003,0 0 0 3px #2563eb1a}.color-swatches{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid var(--admin-border);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a}.color-swatch:hover{transform:scale(1.3);box-shadow:0 4px 8px #0003;z-index:10}.color-count{font-size:.8125rem;color:var(--admin-text-secondary);font-weight:600;background:var(--admin-bg-tertiary);padding:3px 8px;border-radius:var(--admin-radius-sm);border:1px solid var(--admin-border)}.text-muted{color:var(--admin-text-tertiary);font-size:.875rem}.color-select{width:100%;min-height:120px;padding:10px;border:2px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:.875rem;background:var(--admin-bg-primary);color:var(--admin-text-primary);transition:border-color .2s}.color-select:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a}.price-display{display:flex;align-items:baseline;gap:6px}.price-display strong{color:var(--admin-text-primary);font-size:1rem;font-weight:700}.price-unit{font-size:.8125rem;color:var(--admin-text-secondary);font-weight:500}.custom-price-badge{padding:3px 8px;border-radius:var(--admin-radius-sm);background:linear-gradient(135deg,var(--admin-info-light) 0%,#e0f2fe 100%);color:var(--admin-info);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--admin-info)}.price-input{width:140px;padding:8px 12px;border:2px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:.9375rem;font-weight:600;background:var(--admin-bg-primary);color:var(--admin-text-primary);transition:all .2s}.price-input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a}.stock-badge{padding:5px 12px;border-radius:var(--admin-radius-md);font-size:.8125rem;font-weight:600;display:inline-flex;align-items:center;gap:4px;border:1px solid}.stock-badge.in-stock{background:linear-gradient(135deg,var(--admin-success-light) 0%,#d1fae5 100%);color:#047857;border-color:var(--admin-success)}.stock-badge.out-of-stock{background:linear-gradient(135deg,var(--admin-error-light) 0%,#fecaca 100%);color:#b91c1c;border-color:var(--admin-error)}.action-buttons{display:flex;gap:8px}.btn-sm{padding:7px 16px;font-size:.875rem;font-weight:600;border-radius:var(--admin-radius-md);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none}.btn-success{background:linear-gradient(135deg,var(--admin-success) 0%,#059669 100%);color:#fff;box-shadow:0 2px 4px #10b9814d}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.btn-secondary{background:var(--admin-bg-tertiary);color:var(--admin-text-primary);border:1px solid var(--admin-border)}.btn-secondary:hover:not(:disabled){background:var(--admin-border)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);color:#fff;box-shadow:0 2px 4px #2563eb4d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #2563eb66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #2563eb26}.admin-table tbody tr{transition:all .2s}.admin-table tbody tr.disabled{opacity:.5;background:var(--admin-bg-tertiary)}.admin-table tbody tr.disabled td{color:var(--admin-text-tertiary)}.admin-table tbody tr:hover:not(.disabled){background:var(--admin-bg-secondary);box-shadow:0 2px 8px #0000000d}.admin-table th{background:var(--admin-bg-secondary);color:var(--admin-text-primary);font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;padding:14px 16px;border-bottom:2px solid var(--admin-border)}.admin-table td{padding:16px;color:var(--admin-text-primary);vertical-align:middle;border-bottom:1px solid var(--admin-border)}.admin-table tbody tr:last-child td{border-bottom:none}.settings-form{padding:var(--admin-space-xl);display:flex;flex-direction:column;gap:var(--admin-space-2xl)}.settings-section{display:flex;flex-direction:column;gap:var(--admin-space-lg)}.settings-section h3{font-size:1.25rem;font-weight:700;color:var(--admin-text-primary);margin:0;padding-bottom:var(--admin-space-md);border-bottom:2px solid var(--admin-border)}.settings-row{display:flex;flex-direction:column;gap:var(--admin-space-sm)}.settings-label{display:flex;align-items:center;gap:var(--admin-space-md);font-weight:600;color:var(--admin-text-primary);cursor:pointer;font-size:1rem}.settings-label input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:var(--admin-primary)}.settings-hint{font-size:.875rem;color:var(--admin-text-tertiary);margin:0;padding-left:38px;line-height:1.5}.input-group{display:flex;align-items:center;gap:10px;margin-top:var(--admin-space-sm)}.input-prefix{font-weight:700;color:var(--admin-text-primary);font-size:1.25rem}.settings-input{width:220px;padding:10px 14px;border:2px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:1.0625rem;font-weight:600;background:var(--admin-bg-primary);color:var(--admin-text-primary);transition:all .2s}.settings-input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a}.settings-actions{display:flex;gap:var(--admin-space-md);padding-top:var(--admin-space-xl);border-top:2px solid var(--admin-border)}.btn{padding:12px 24px;border-radius:var(--admin-radius-md);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.admin-success-message{padding:var(--admin-space-md);background:linear-gradient(135deg,var(--admin-success-light) 0%,#d1fae5 100%);color:#047857;border-radius:var(--admin-radius-lg);display:flex;align-items:center;gap:var(--admin-space-sm);margin-bottom:var(--admin-space-lg);border:1px solid var(--admin-success);box-shadow:0 2px 8px #10b98133;font-weight:600}.admin-success-message svg{width:22px;height:22px;flex-shrink:0}.badge{padding:5px 10px;border-radius:var(--admin-radius-sm);font-size:.75rem;font-weight:600;border:1px solid}.badge.success{background:var(--admin-success-light);color:var(--admin-success);border-color:var(--admin-success)}.badge.muted{background:var(--admin-bg-tertiary);color:var(--admin-text-tertiary);border-color:var(--admin-border)}.compatibility-badge{padding:5px 12px;border-radius:var(--admin-radius-md);font-size:.8125rem;font-weight:600;display:inline-block;border:1px solid;transition:all .2s ease}.compatibility-badge.compatible{background:linear-gradient(135deg,#10b9811a,#05966926);color:var(--admin-success);border-color:var(--admin-success)}.compatibility-badge.incompatible{background:var(--admin-bg-tertiary);color:var(--admin-text-tertiary);border-color:var(--admin-border)}.description-cell{color:var(--admin-text-secondary);font-size:.875rem;max-width:300px}.price-display.readonly,.multiplier-display.readonly{padding:6px 12px;border-radius:var(--admin-radius-md);background:var(--admin-bg-tertiary);color:var(--admin-text-primary);font-weight:600;font-size:.9375rem;display:inline-block;border:1px solid var(--admin-border)}.multiplier-display.readonly{background:linear-gradient(135deg,var(--admin-bg-tertiary) 0%,rgba(99,102,241,.05) 100%);color:var(--admin-primary)}.footer-note{display:flex;align-items:center;padding:16px;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border-radius:var(--admin-radius-md);border:1px solid var(--admin-border);color:var(--admin-text-secondary);font-size:.875rem}.admin-card-footer .footer-note{margin:0;border-radius:0;border-left:none;border-right:none;border-bottom:none}.footer-note svg{color:var(--admin-primary);flex-shrink:0}.pricing-config-sections{display:flex;flex-direction:column;gap:32px}.section-card{scroll-margin-top:20px}.section-card .admin-card-title:before{content:"";display:inline-block;width:4px;height:24px;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-secondary) 100%);border-radius:2px;margin-right:12px;vertical-align:middle}.unified-pricing-panel{display:flex;flex-direction:column;gap:16px}.unified-pricing-panel .section-card{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);overflow:hidden}.pricing-config-sections{display:flex;flex-direction:column;gap:0}.products-list-container{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:20px;max-width:100%;margin:0 auto}.product-row{background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.product-row:hover{border-color:var(--admin-primary);box-shadow:0 2px 8px #0000001a}.product-row.disabled{opacity:.5;background:var(--admin-bg-tertiary)}.product-row-content{display:flex;align-items:flex-start;gap:24px}.product-info-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.admin-product-name{font-size:1.25rem!important;font-weight:700;color:var(--admin-text-primary);margin:0 0 4px;line-height:1.5;padding:0;width:100%;text-align:left!important}.product-description{font-size:.875rem;color:var(--admin-text-secondary);margin:0;line-height:1.4;padding:0;width:100%;text-align:left}.product-field{display:flex;flex-direction:column;gap:8px;min-width:80px;max-width:110px}.product-field .input-with-prefix{max-width:100px;position:relative}.product-field .input-with-prefix input{background:var(--admin-bg-primary);border:1px solid var(--admin-border);color:var(--admin-text-primary);font-size:.875rem;padding:8px 28px 8px 10px;border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.product-field .input-with-prefix .prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--admin-text-secondary);font-size:.875rem;pointer-events:none}.product-field .input-with-prefix input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--admin-bg-primary)}.product-field input[type=number]{background:var(--admin-bg-primary);border:1px solid var(--admin-border);color:var(--admin-text-primary);font-size:.875rem;padding:8px 10px;border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.product-field input[type=number]::-webkit-outer-spin-button,.product-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-field input[type=number]:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--admin-bg-primary)}.product-field .input-with-prefix input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.product-field .input-with-prefix input[type=number]::-webkit-outer-spin-button,.product-field .input-with-prefix input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-actions-col{display:flex;flex-direction:column;gap:12px;align-items:flex-end;min-width:120px}.product-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.product-buttons .btn-edit-material{white-space:nowrap}.product-buttons .btn-secondary,.product-buttons .btn-primary{white-space:nowrap;min-width:80px}.btn-icon{width:36px;height:36px;padding:0;border-radius:6px;border:1px solid var(--admin-border);background:var(--admin-bg-primary);color:var(--admin-text-primary);font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.btn-icon.btn-save{background:linear-gradient(135deg,#22c55ee6,#16a34ae6);border-color:#22c55e80;color:#fff}.btn-icon.btn-save:hover{box-shadow:0 3px 8px #22c55e66}.btn-icon.btn-cancel{background:var(--admin-bg-secondary);border-color:var(--admin-border);color:var(--admin-text-secondary)}.btn-icon.btn-cancel:hover{background:#ef44441a;border-color:#ef444480;color:#ef4444}@media (max-width: 900px){.product-row-content{flex-direction:column;gap:16px}.product-actions-col{align-items:flex-start;width:100%}.product-buttons{justify-content:flex-start}}.service-cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.service-card{background:var(--admin-bg-secondary);border:2px solid var(--admin-border);border-radius:12px;overflow:hidden;transition:all .2s ease}.service-card.enabled{border-color:var(--admin-accent);box-shadow:0 2px 8px #3498db1a}.service-card.disabled{opacity:.6}.service-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--admin-bg-primary);border-bottom:1px solid var(--admin-border)}.service-info{flex:1;text-align:left}.service-name{font-size:1.1rem;font-weight:600;color:var(--admin-text-primary);margin:0 0 2px;text-align:left}.service-description{font-size:.8125rem;color:var(--admin-text-secondary);margin:0;text-align:left}.service-card-body{padding:24px}.dimension-section-title{font-size:.95rem;font-weight:600;color:var(--admin-text-secondary);margin:0 0 16px;text-transform:uppercase;letter-spacing:.5px}.dimension-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.dimension-field{display:flex;flex-direction:column;gap:8px}.dimension-field .field-label{display:flex;flex-direction:column;gap:2px}.dimension-field .field-label strong{font-size:.875rem;color:var(--admin-text-primary);font-weight:500}.dimension-field .field-description{font-size:.75rem;color:var(--admin-text-secondary);font-weight:400}.dimension-input{width:100%;padding:8px 12px;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:6px;color:var(--admin-text-primary);font-size:.95rem;transition:all .2s ease}.dimension-input:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px #3498db1a}.dimension-input::placeholder{color:var(--admin-text-tertiary)}.dimension-input::-webkit-inner-spin-button,.dimension-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dimension-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.minimum-order-section{padding:20px;background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:8px;margin-bottom:24px}.minimum-order-section .form-group{margin:0;display:flex;flex-direction:column;gap:12px}.minimum-order-section .form-group label{display:flex;flex-direction:column;gap:2px;margin:0}.minimum-order-section .input-row{display:flex;align-items:center;gap:16px}.minimum-order-section .input-with-prefix{display:flex;align-items:center;max-width:140px}.minimum-order-section .input-with-prefix input{width:100px}.minimum-order-section .input-with-prefix input[type=number]::-webkit-inner-spin-button,.minimum-order-section .input-with-prefix input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.minimum-order-section .input-with-prefix input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.minimum-order-section .form-actions{display:flex;gap:8px;margin:0}.minimum-order-section .field-description{display:block;font-size:.8125rem;color:var(--admin-text-secondary);margin-top:4px}.toggle-label.compact{display:flex;align-items:center;justify-content:flex-end;gap:0;margin-left:auto}.toggle-label.compact input[type=checkbox]{margin:0}@media (max-width: 900px){.service-cards-container{grid-template-columns:1fr}.dimension-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.dimension-grid{grid-template-columns:1fr}}.materials-section-container{display:flex;flex-direction:column;gap:32px}.material-type-group{display:flex;flex-direction:column;gap:16px;padding:20px}.material-type-heading{font-size:1rem;font-weight:600;color:var(--admin-text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid var(--admin-border);max-width:900px;margin:0 auto}.materials-list-container{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:100%;margin:0 auto}.material-row{background:var(--admin-bg-secondary);border:1px solid var(--admin-border);border-radius:8px;padding:20px;transition:all .2s ease}.material-row:hover{border-color:var(--admin-accent);box-shadow:0 2px 4px #0000000d}.material-row.disabled{opacity:.6}.material-row-content{display:flex;align-items:center;gap:24px}.material-info-col{flex:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.material-info-col .material-name{font-size:1rem;font-weight:600;color:var(--admin-text-primary);margin:0;text-align:left}.material-field .status-display,.material-field .price-display{min-width:80px;font-size:.875rem;color:var(--admin-text-secondary)}.material-actions-col{display:flex;flex-direction:column;gap:12px;align-items:flex-end;min-width:120px}.material-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 900px){.material-row-content{flex-direction:column;gap:16px}.material-actions-col{align-items:flex-start;width:100%}.material-buttons{justify-content:flex-start}}.field-label[title]{position:relative}.field-label[title]:hover{opacity:.9}.material-field input[type=number]::-webkit-outer-spin-button,.material-field input[type=number]::-webkit-inner-spin-button,.product-field input[type=number]::-webkit-outer-spin-button,.product-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.material-field input[type=number],.product-field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.admin-color-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:16px!important;padding:20px!important}.color-card{background:var(--admin-bg-secondary);border:1px solid var(--admin-border, #e0e0e0);border-radius:8px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.color-card:hover{box-shadow:0 4px 12px #00000026;border-color:var(--admin-primary, #2196F3)}.color-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid var(--admin-border, #e0e0e0)}.color-info{display:flex;align-items:center;gap:12px;flex:1}.color-swatch{width:40px;height:40px;border-radius:6px;border:2px solid var(--admin-border, #e0e0e0);flex-shrink:0;box-shadow:inset 0 1px 3px #0000001a}.color-name{font-weight:500;font-size:14px;color:var(--admin-text, #333);display:flex;align-items:center;gap:8px}.color-name-input{flex:0 1 150px;max-width:150px;padding:6px 10px;border:1px solid var(--admin-border, #ddd);border-radius:4px;font-size:14px;font-weight:500;background:var(--admin-bg-primary)!important;color:var(--admin-text-primary)!important}.color-name-input:focus{outline:none;border-color:var(--admin-primary, #2196F3)}.custom-badge{display:inline-block;padding:2px 8px;background-color:var(--admin-primary, #2196F3);color:#fff;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.color-actions{display:flex;gap:6px}.color-picker-section{padding:12px 16px;background-color:var(--admin-bg-secondary);border-bottom:1px solid var(--admin-border, #e0e0e0);display:flex;align-items:center;gap:12px}.color-picker-input{width:60px;height:36px;border:1px solid var(--admin-border, #ddd);border-radius:4px;cursor:pointer;padding:2px;background:var(--admin-bg-primary)!important}.color-picker-input:hover{border-color:var(--admin-primary, #2196F3)}.hex-input-small{flex:0 1 120px;max-width:120px;padding:6px 10px;border:1px solid var(--admin-border, #ddd);border-radius:4px;font-family:Courier New,monospace;font-size:13px;text-transform:uppercase;background:var(--admin-bg-primary)!important;color:var(--admin-text-primary)!important}.hex-input-small:focus{outline:none;border-color:var(--admin-primary, #2196F3)}.color-card-footer{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background-color:var(--admin-bg-secondary)}.hex-value{font-family:Courier New,monospace;font-size:13px;color:#666;font-weight:500}.toggle-switch{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{width:18px;height:18px;cursor:pointer}.toggle-label{font-size:13px;font-weight:500;color:var(--admin-text, #333)}.btn-icon{background:none;border:none;cursor:pointer;padding:6px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:#0000000d}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon svg{width:16px;height:16px;stroke:var(--admin-text, #666)}.btn-save{color:#4caf50}.btn-save:hover{background-color:#4caf501a}.btn-cancel{color:#f44336}.btn-cancel:hover{background-color:#f443361a}.orders-filters{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);padding:20px;margin-bottom:20px;box-shadow:var(--admin-shadow-sm)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;font-weight:500;color:var(--admin-text-secondary)}.filter-select,.filter-input{padding:8px 12px;border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);font-size:14px;background:var(--admin-bg-secondary);color:var(--admin-text-primary);transition:all .2s ease}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb1a;background:var(--admin-bg-primary)}.filter-select:hover,.filter-input:hover{border-color:var(--admin-border-dark)}.filter-actions{display:flex;align-items:flex-end}.btn-clear-filters{padding:8px 16px;background:var(--admin-error);color:#fff;border:none;border-radius:var(--admin-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.btn-clear-filters:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 4px #dc262633}.btn-clear-filters:active{transform:translateY(0)}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}}.order-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500;white-space:nowrap;transition:all .2s ease;border:1px solid transparent}.order-status-badge .status-icon{font-size:14px;line-height:1}.order-status-badge .status-text{line-height:1.2}.order-status-badge:hover{filter:brightness(.95);transform:translateY(-1px)}.status-draft{color:var(--admin-text-secondary);background-color:var(--admin-bg-secondary);border-color:var(--admin-border)}.status-pending_payment{color:#f59e0b;background-color:#f59e0b1a;border-color:#f59e0b4d}.status-paid{color:#10b981;background-color:#10b9811a;border-color:#10b9814d}.status-processing{color:#3b82f6;background-color:#3b82f61a;border-color:#3b82f64d}.status-shipped{color:#8b5cf6;background-color:#8b5cf61a;border-color:#8b5cf64d}.status-completed{color:#06b6d4;background-color:#06b6d41a;border-color:#06b6d44d}.status-cancelled{color:#ef4444;background-color:#ef44441a;border-color:#ef44444d}.status-refunded{color:#eab308;background-color:#eab3081a;border-color:#eab3084d}.status-failed{color:#dc2626;background-color:#dc26261a;border-color:#dc26264d}.orders-table-container{background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);overflow:hidden;margin-bottom:20px;box-shadow:var(--admin-shadow-sm)}.orders-table{width:100%;border-collapse:collapse}.orders-table thead{background:var(--admin-bg-secondary);border-bottom:2px solid var(--admin-border)}.orders-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.orders-table tbody tr{border-bottom:1px solid var(--admin-border);transition:background-color .2s ease}.orders-table tbody tr:hover{background-color:var(--admin-bg-secondary)}.orders-table tbody tr.expanded{background-color:var(--admin-bg-secondary);border-bottom:none}.orders-table tbody tr:last-child{border-bottom:none}.orders-table td{padding:16px;font-size:14px;color:var(--admin-text-primary)}.col-expand{width:50px;text-align:center}.btn-expand{width:32px;height:32px;border:none;background:var(--admin-bg-secondary);color:var(--admin-text-secondary);border-radius:var(--admin-radius-sm);font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin:0 auto}.btn-expand:hover{background:var(--admin-primary);color:#fff;transform:scale(1.1)}.col-order-number{width:150px}.order-number-badge{display:inline-block;padding:4px 10px;background:var(--admin-bg-secondary);color:var(--admin-primary);border-radius:var(--admin-radius-sm);font-size:13px;font-weight:500;font-family:Monaco,Courier New,monospace;border:1px solid var(--admin-border)}.col-customer{min-width:200px}.customer-info{display:flex;flex-direction:column;gap:4px}.customer-name{font-weight:500;color:var(--admin-text-primary)}.customer-email{font-size:13px;color:var(--admin-text-secondary)}.col-type{width:120px}.order-type-badge{display:inline-block;padding:4px 10px;background:var(--admin-bg-secondary);color:var(--admin-text-primary);border-radius:var(--admin-radius-sm);font-size:13px;font-weight:500;border:1px solid var(--admin-border)}.col-status{width:160px}.col-total{width:100px;text-align:right}.order-total{font-weight:600;color:#10b981;font-size:15px}.col-created,.col-paid{width:120px}.order-date{color:var(--admin-text-secondary);font-size:13px}.order-details-row{border-bottom:1px solid var(--admin-border)}.order-details-row td{padding:16px 0;background:transparent}.order-details-content{max-width:85%;margin:0 auto;padding:24px 32px;display:flex;flex-direction:column;gap:24px;background:var(--admin-bg-primary);border:2px solid var(--admin-border);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-md);animation:expandDown .2s ease-out}.details-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details-sections-grid>.details-section{margin:0}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-section{display:flex;flex-direction:column;gap:12px;background:var(--admin-bg-secondary);padding:16px;border-radius:var(--admin-radius-md);border:1px solid var(--admin-border)}.details-section h4{margin:0;font-size:15px;font-weight:600;color:var(--admin-text-primary);display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--admin-border)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item label{font-size:12px;font-weight:500;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:14px;color:var(--admin-text-primary);font-weight:500}.pricing-details{background:var(--admin-bg-primary);border-radius:var(--admin-radius-md);padding:16px;border:1px solid var(--admin-border);box-shadow:inset 0 1px 3px #0000001a}.price-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--admin-border)}.price-row:last-child{border-bottom:none}.price-label{font-size:14px;color:var(--admin-text-secondary)}.price-value{font-size:15px;font-weight:500;color:var(--admin-text-primary)}.price-total{margin-top:8px;padding-top:12px;border-top:2px solid var(--admin-border)!important}.price-total .price-label{font-size:16px;font-weight:600;color:var(--admin-text-primary)}.price-total-amount{font-size:18px!important;font-weight:700!important;color:#10b981!important}.config-grid{display:grid;gap:12px}.config-item{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:12px;background:var(--admin-bg-primary);border-radius:var(--admin-radius-sm);border:1px solid var(--admin-border);box-shadow:inset 0 1px 2px #0000000d}.config-key{font-size:13px;font-weight:500;color:var(--admin-text-secondary);text-transform:capitalize;min-width:150px}.config-value{font-size:14px;color:var(--admin-text-primary);font-weight:500;text-align:right;word-break:break-word}.config-item-highlight{background:var(--admin-primary)!important;border-color:var(--admin-primary)!important}.config-item-highlight .config-key,.config-item-highlight .config-value{color:#fff!important;font-weight:600}.config-value-material{font-weight:600;color:var(--admin-primary)}.config-color{color:var(--admin-text-secondary);font-style:italic}.config-json{margin:0;padding:8px;background:var(--admin-bg-primary);border-radius:var(--admin-radius-sm);font-family:Monaco,Courier New,monospace;font-size:12px;overflow-x:auto;text-align:left}.dimensions-display{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.dimension-values{display:flex;flex-direction:column;gap:4px;font-weight:600;color:var(--admin-text-primary)}.dimension-values span{font-family:Monaco,Courier New,monospace;font-size:13px}.btn-toggle-units{padding:4px 10px;background:var(--admin-bg-secondary);color:var(--admin-text-secondary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-toggle-units:hover{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}.project-info{display:flex;flex-direction:column;gap:16px}.project-link-container{display:flex;flex-direction:column;gap:8px}.btn-view-project{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--admin-primary);color:#fff;border:none;border-radius:var(--admin-radius-md);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:var(--admin-shadow-sm)}.btn-view-project:hover{opacity:.9;transform:translateY(-2px);box-shadow:var(--admin-shadow-md)}.btn-view-project:active{transform:translateY(0)}.project-hint{font-size:13px;color:var(--admin-text-secondary);font-style:italic;padding:8px 12px;background:var(--admin-bg-primary);border-left:3px solid var(--admin-primary);border-radius:var(--admin-radius-sm)}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--admin-bg-primary);border-radius:var(--admin-radius-md);border:1px solid var(--admin-border);box-shadow:inset 0 1px 2px #0000000d}.timeline-icon{font-size:24px;min-width:32px;text-align:center}.timeline-content{display:flex;flex-direction:column;gap:4px}.timeline-label{font-size:12px;font-weight:500;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.timeline-value{font-size:14px;color:var(--admin-text-primary);font-weight:500}.id-details{display:flex;flex-direction:column;gap:12px}.id-item{display:flex;flex-direction:column;gap:6px}.id-item label{font-size:12px;font-weight:500;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.id-value{padding:8px 12px;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);font-family:Monaco,Courier New,monospace;font-size:12px;color:var(--admin-text-primary);word-break:break-all;box-shadow:inset 0 1px 2px #0000000d}.orders-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin .8s linear infinite}.orders-table-loading p{margin-top:16px;color:var(--admin-text-secondary);font-size:14px}.orders-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.orders-table-empty h3{margin:0 0 8px;color:var(--admin-text-primary);font-size:18px;font-weight:600}.orders-table-empty p{margin:4px 0;color:var(--admin-text-secondary);font-size:14px}.empty-hint{margin-top:12px!important;font-size:13px!important;color:var(--admin-text-tertiary)!important}@media (max-width: 1200px){.col-paid,.col-type{display:none}.details-grid{grid-template-columns:1fr}.order-details-content{max-width:90%}.details-sections-grid{grid-template-columns:1fr}}@media (max-width: 768px){.orders-table-container{overflow-x:auto}.orders-table{min-width:800px}.order-details-content{max-width:95%;padding:16px 20px}.config-item{flex-direction:column;align-items:start}.config-key{min-width:auto}.config-value{text-align:left}}.status-actions{margin-top:20px;padding-top:16px;border-top:1px solid var(--admin-border);display:flex;flex-direction:column;gap:12px}.status-actions-label{font-size:13px;font-weight:500;color:var(--admin-text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-dropdown-container{display:flex;align-items:center;gap:12px}.status-dropdown{flex:1;max-width:300px;padding:10px 16px;background:var(--admin-bg-secondary);color:var(--admin-text-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--admin-shadow-sm)}.status-dropdown:hover:not(:disabled){border-color:var(--admin-primary);box-shadow:var(--admin-shadow-md)}.status-dropdown:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #3b82f61a}.status-dropdown:disabled{opacity:.5;cursor:not-allowed}.status-dropdown option{padding:8px;background:var(--admin-bg-secondary);color:var(--admin-text-primary)}.status-final-message{margin:0;padding:12px 16px;background:var(--admin-bg-secondary);color:var(--admin-text-secondary);border-radius:var(--admin-radius-md);font-size:13px;font-style:italic;border:1px solid var(--admin-border)}.status-updating{font-size:13px;color:var(--admin-text-secondary);font-style:italic;padding:8px 12px;background:var(--admin-bg-secondary);border-radius:var(--admin-radius-sm);border:1px solid var(--admin-border);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.orders-tab{padding:0}.orders-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid var(--admin-border)}.header-content h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--admin-text-primary)}.header-description{margin:0;font-size:15px;color:var(--admin-text-secondary)}.orders-count{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-dark) 100%);padding:16px 24px;border-radius:12px;box-shadow:0 4px 6px -1px #2563eb4d}.count-number{font-size:32px;font-weight:700;color:#fff;line-height:1}.count-label{margin-top:6px;font-size:13px;font-weight:500;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.error-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;margin-bottom:20px;background:var(--admin-error-light);border:1px solid var(--admin-error);border-radius:var(--admin-radius-md)}.error-icon{font-size:20px;color:var(--admin-error)}.error-message{flex:1;color:var(--admin-error);font-size:14px;font-weight:500}.error-retry{padding:6px 14px;background:var(--admin-error);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease}.error-retry:hover{background:#dc2626}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--admin-bg-primary);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);margin-top:20px;box-shadow:var(--admin-shadow-sm)}.pagination-btn{padding:10px 20px;background:var(--admin-primary);color:#fff;border:none;border-radius:var(--admin-radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--admin-primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #2563eb33}.pagination-btn:disabled{background:var(--admin-bg-tertiary);color:var(--admin-text-tertiary);cursor:not-allowed;transform:none;opacity:.6}.pagination-info{display:flex;flex-direction:column;align-items:center;gap:4px}.pagination-text{font-size:15px;font-weight:600;color:var(--admin-text-primary)}.pagination-count{font-size:13px;color:var(--admin-text-secondary)}@media (max-width: 768px){.orders-header{flex-direction:column;gap:16px}.orders-count{align-self:stretch;flex-direction:row;justify-content:space-between}.pagination{flex-direction:column;gap:16px}.pagination-btn,.pagination-info{width:100%}}.licenses-page{height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a);color:#e0e0e0;padding:80px 20px 20px;overflow-y:auto;overflow-x:hidden}.licenses-container{max-width:1200px;margin:0 auto;padding-bottom:40px}.licenses-header{text-align:center;margin-bottom:40px}.licenses-header h1{font-size:2.5rem;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.licenses-subtitle{font-size:1.1rem;color:#ffffffb3}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.summary-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea33}.summary-number{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.summary-label{font-size:.9rem;color:#fff9;text-transform:uppercase;letter-spacing:1px}.licenses-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.search-box{position:relative;width:100%}.search-input{width:100%;padding:14px 40px 14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e0e0e0;font-size:1rem;transition:all .3s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#fff6}.clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffff80;font-size:1.2rem;cursor:pointer;padding:4px 8px;transition:color .2s}.clear-search:hover{color:#fff}.filters{display:flex;gap:12px;flex-wrap:wrap}.filter-select{flex:1;min-width:150px;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e0e0e0;font-size:.95rem;cursor:pointer;transition:all .2s}.filter-select:hover{border-color:#fff3}.filter-select:focus{outline:none;border-color:#667eea}.filter-select option{background:#1a1f3a;color:#e0e0e0}.results-info{color:#fff9;font-size:.9rem;margin-bottom:16px}.licenses-list{display:grid;gap:16px}.license-item{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;cursor:pointer;transition:all .3s}.license-item:hover{background:#ffffff14;border-color:#667eea80;transform:translate(4px)}.license-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.license-name{font-size:1.2rem;margin:0;color:#fff}.license-category{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.license-category.frontend{background:#667eea33;color:#667eea;border:1px solid rgba(102,126,234,.4)}.license-category.backend{background:#764ba233;color:#764ba2;border:1px solid rgba(118,75,162,.4)}.license-item-details{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem;color:#ffffffb3;margin-bottom:8px}.license-version{color:#fff9}.license-type{padding:2px 8px;background:#ffffff1a;border-radius:4px;font-size:.85rem}.license-author{color:#ffffff80;font-style:italic}.license-link{color:#667eea;text-decoration:none;font-size:.85rem;display:block;margin-top:8px;transition:color .2s}.license-link:hover{color:#8b9ce6;text-decoration:underline}.no-results{text-align:center;padding:60px 20px;color:#fff9}.no-results p{font-size:1.1rem;margin-bottom:20px}.reset-filters{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.reset-filters:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.license-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s}.license-modal{background:#1a1f3afa;border:1px solid rgba(255,255,255,.15);border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;position:relative;box-shadow:0 20px 60px #00000080;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;width:36px;height:36px;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-right:40px}.modal-header h2{margin:0;font-size:1.8rem;color:#fff}.modal-info{margin-bottom:24px}.modal-info-item{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem}.modal-info-item:last-child{border-bottom:none}.modal-info-item strong{color:#fff9;display:inline-block;min-width:100px}.modal-info-item a{color:#667eea;text-decoration:none;word-break:break-all}.modal-info-item a:hover{text-decoration:underline}.modal-license-text{margin-top:24px}.modal-license-text h3{font-size:1.2rem;margin-bottom:16px;color:#ffffffe6}.modal-license-text pre{background:#0000004d;padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.1);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;font-family:Monaco,Courier New,monospace;font-size:.85rem;line-height:1.6;color:#fffc;max-height:400px;overflow-y:auto}.no-license-text{color:#ffffff80;font-style:italic;text-align:center;padding:20px}.licenses-page::-webkit-scrollbar,.license-modal::-webkit-scrollbar,.modal-license-text pre::-webkit-scrollbar{width:8px}.licenses-page::-webkit-scrollbar-track,.license-modal::-webkit-scrollbar-track,.modal-license-text pre::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.licenses-page::-webkit-scrollbar-thumb,.license-modal::-webkit-scrollbar-thumb,.modal-license-text pre::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.licenses-page::-webkit-scrollbar-thumb:hover,.license-modal::-webkit-scrollbar-thumb:hover,.modal-license-text pre::-webkit-scrollbar-thumb:hover{background:#667eeab3}@media (max-width: 768px){.licenses-page{padding:70px 10px 10px}.licenses-header h1{font-size:2rem}.summary-cards{grid-template-columns:repeat(2,1fr)}.summary-number{font-size:2.5rem}.filters{flex-direction:column}.filter-select{width:100%}.license-item-header{flex-direction:column;align-items:flex-start;gap:8px}.license-modal{padding:20px;margin:10px}.modal-header h2{font-size:1.4rem}}.source-data-page{min-height:100vh;height:100vh;background:linear-gradient(180deg,#0f1419,#1a2332);padding:24px;color:#e2e8f0;overflow-y:auto}.source-data-container{max-width:1200px;margin:0 auto}.page-header{margin-bottom:32px}.back-button{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.back-button:hover{background:#3b82f633;border-color:#3b82f680}.page-header h1{font-size:32px;font-weight:700;color:#fff;margin:0 0 12px}.page-subtitle{font-size:16px;color:#a0aec0;line-height:1.6;margin:0}.source-sections{display:flex;flex-direction:column;gap:20px}.source-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:all .3s ease}.source-card:hover{border-color:#fff3;box-shadow:0 4px 20px #0000004d}.source-card-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;background:#ffffff05;transition:background .2s ease}.source-card-header:hover{background:#ffffff0d}.source-card-title{display:flex;align-items:center;gap:16px}.source-card-icon{font-size:28px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.elevation-icon{background:#3b82f61a;border:1px solid rgba(59,130,246,.3)}.map-icon{background:#a855f71a;border:1px solid rgba(168,85,247,.3)}.imagery-icon{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.technical-icon{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.attribution-icon{background:#ec48991a;border:1px solid rgba(236,72,153,.3)}.source-card-title h2{font-size:22px;font-weight:600;color:#fff;margin:0}.expand-indicator{font-size:16px;color:#9ca3af;transition:transform .2s ease}.expand-indicator.expanded{transform:rotate(180deg)}.source-card-content{padding:0 24px 24px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:6px;padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:all .2s ease}.info-item:hover{background:#ffffff0a;border-color:#ffffff1f}.info-label{font-size:12px;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:#e2e8f0;line-height:1.5}@media (max-width: 768px){.source-data-page{padding:16px}.page-header h1{font-size:24px}.page-subtitle{font-size:14px}.source-card-header{padding:16px}.source-card-content{padding:0 16px 16px}.source-card-icon{font-size:24px;width:48px;height:48px}.source-card-title h2{font-size:18px}.info-grid{grid-template-columns:1fr}}.order-success-page{min-height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;padding:40px 20px}.order-success-container{max-width:700px;width:100%;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:16px;padding:48px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);animation:slideUp .4s ease-out}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#60a5fa;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.error-content{text-align:center}.error-icon{font-size:64px;margin-bottom:16px}.error-message{color:#fca5a5;font-size:14px;margin:16px 0 24px}.success-animation{display:flex;justify-content:center;margin-bottom:24px}.checkmark-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #10b98166;animation:scaleIn .5s ease-out}.checkmark{font-size:48px;color:#fff;font-weight:700;animation:checkmarkPop .3s ease-out .3s both}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-title{text-align:center;font-size:32px;font-weight:600;color:#fff;margin:0 0 12px}.success-subtitle{text-align:center;font-size:16px;color:#ffffffb3;margin:0 0 32px;line-height:1.5}.order-details-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;margin-bottom:24px}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.order-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.status-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-success{background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.status-warning{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.status-info{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.order-info-grid{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.info-label{font-size:14px;color:#fff9}.info-value{font-size:14px;color:#fff;font-weight:500;text-align:right}.total-amount{font-size:18px;font-weight:600;color:#60a5fa}.pricing-breakdown{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.pricing-breakdown .info-row{padding:6px 0}.pricing-breakdown .total-row{margin-top:12px;padding-top:12px;border-top:2px solid rgba(96,165,250,.3)}.pricing-breakdown .total-row .info-label{font-size:16px;font-weight:600;color:#ffffffe6}.pricing-breakdown .total-row .total-amount{font-size:20px}.shipping-section{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.shipping-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#fff}.shipping-address{background:#ffffff05;border-radius:8px;padding:16px;font-size:14px;color:#fffc;line-height:1.6}.shipping-address p{margin:4px 0}.next-steps{display:flex;flex-direction:column;gap:16px;margin-top:16px}.step{display:flex;gap:16px;align-items:flex-start}.step-icon{font-size:32px;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#60a5fa1a;border-radius:8px}.step-content h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#fff}.step-content p{margin:0;font-size:14px;color:#ffffffb3;line-height:1.5}.action-buttons{display:flex;gap:12px;margin-bottom:24px}.primary-button,.secondary-button{flex:1;padding:14px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.secondary-button{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.2)}.secondary-button:hover{background:#ffffff14;border-color:#ffffff4d}.back-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f64d;display:inline-flex;align-items:center;gap:8px}.back-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.support-note{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.support-note p{margin:0;font-size:14px;color:#fff9}.support-note a{color:#60a5fa;text-decoration:none;transition:color .2s}.support-note a:hover{color:#93c5fd;text-decoration:underline}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.order-success-container{padding:32px 24px}.success-title{font-size:26px}.action-buttons{flex-direction:column}.checkmark-circle{width:64px;height:64px}.checkmark{font-size:36px}}@media print{.order-success-page{background:#fff}.order-success-container{box-shadow:none;border:1px solid #ddd;background:#fff;color:#000}.action-buttons,.support-note{display:none}.success-title,.order-header h2,.info-value,.step-content h3{color:#000}.info-label,.success-subtitle,.step-content p{color:#666}}.order-cancel-page{min-height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;padding:20px}.order-cancel-container{max-width:500px;width:100%;background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:12px;padding:32px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease-out;text-align:center}.cancel-icon{font-size:48px;margin-bottom:16px}.cancel-title{font-size:24px;font-weight:600;color:#fff;margin:0 0 8px}.cancel-subtitle{font-size:14px;color:#ffffffb3;margin:0 0 24px;line-height:1.5}.action-buttons{margin-bottom:20px}.primary-button{width:100%;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.primary-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.reassurance-note{background:#60a5fa14;border:1px solid rgba(96,165,250,.2);border-radius:8px;padding:12px;font-size:12px;color:#ffffffb3;line-height:1.5}.reassurance-note a{color:#60a5fa;text-decoration:none;font-weight:500}.reassurance-note a:hover{color:#93c5fd;text-decoration:underline}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.order-cancel-container{padding:24px 20px}.cancel-title{font-size:20px}.cancel-icon{font-size:40px}}.multi-job-progress-toolbox{position:fixed;bottom:20px;left:380px;right:0;z-index:999;pointer-events:auto;display:flex;justify-content:center;padding:0 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.job-stack{display:flex;flex-direction:column;gap:8px;width:600px;max-width:100%}.toolbox-container{background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.banner-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #4fc3f7;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.banner-spinner.hidden{opacity:0;pointer-events:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.banner-content{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.banner-header{display:flex;flex-direction:column;gap:.25rem}.banner-project-name{font-size:.75rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.banner-title{font-size:.9rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner-error-message{font-size:.8rem;font-weight:400;color:#ff6b6b;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:4px;padding:.4rem .6rem;margin-top:.5rem;word-wrap:break-word;white-space:normal}.progress-container{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4fc3f7,#29b6f6);border-radius:2px;transition:width .3s ease}.banner-percentage{font-size:.8rem;font-weight:600;color:#ffffffe6;min-width:35px;text-align:right}.file-type-indicators{display:flex;gap:.5rem;flex-wrap:wrap}.file-type-item{display:flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;transition:none}.file-type-item.pending{background:#ffffff1a;color:#ffffff80;transition:none}.file-type-item.current{background:#ffc107e6;color:#000c;transition:none}.file-type-item.generated{background:#4caf50e6;color:#fff;transition:none}.file-type-label{font-size:.7rem}.banner-actions{display:flex;align-items:center;gap:.5rem}.btn-banner{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.5rem;border-radius:.25rem;cursor:pointer;font-size:.8rem;color:#ffffffe6;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.btn-banner:hover{background:#fff3;border-color:#fff6}.btn-banner.cancel{background:#f4433633;border-color:#f4433680;color:#ff6b6b}.btn-banner.cancel:hover{background:#f443364d;border-color:#f44336b3}.btn-banner.completed{background:#4caf5033;border-color:#4caf5080;color:#4caf50;cursor:default}.btn-banner.close{background:#ffffff1a;border-color:#fff3;color:#ffffffb3}.btn-banner.close:hover{background:#f4433633;border-color:#f4433680;color:#f44336}.toolbox-footer{display:flex;align-items:center;justify-content:space-between;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.75rem 1rem;margin-top:4px;box-shadow:0 4px 20px #0000004d}.job-summary{display:flex;align-items:center;gap:.75rem;font-size:.8rem;font-weight:500}.active-count{color:#4fc3f7;font-weight:600}.recent-count{color:#ffffffb3}.section-title{color:#ffffffe6;font-weight:600;font-size:.85rem}.polling-indicator{font-size:.7rem;color:#4fc3f7;animation:rotate 2s linear infinite}.empty-state{background:#000000d9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;text-align:center}.empty-message{font-size:1rem;font-weight:500;color:#fffc;margin-bottom:.5rem}.empty-description{font-size:.8rem;color:#ffffff80}.footer-actions{display:flex;align-items:center;gap:.5rem}.btn-banner.collapse{background:#ffffff1a;border-color:#fff3;color:#fffc;font-size:.9rem;font-weight:700}.btn-banner.collapse:hover{background:#fff3;border-color:#fff6;color:#fff}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUpFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-color-scheme: dark){.toolbox-container{background:#141414e6;border-color:#ffffff26}.toolbox-footer{background:#0f0f0ff2;border-color:#ffffff26}}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000000d;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border-radius:16px;padding:40px;max-width:480px;width:90%;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-header{text-align:center;margin-bottom:32px}.login-logo{font-size:48px;margin-bottom:16px}.login-header h2{margin:0 0 8px;color:#fff;font-size:28px;font-weight:700}.login-header p{margin:0;color:#ffffffb3;font-size:15px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{color:#ffffffe6;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.form-field input{width:100%;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:15px;transition:all .2s;box-sizing:border-box;font-family:inherit}.form-field input:focus{outline:none;background:#ffffff14;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-field input::placeholder{color:#fff6}.form-field input:disabled{opacity:.6;cursor:not-allowed}.help-text{font-size:12px;color:#ffffff80;margin-top:-4px}.key-prefilled{background:#4caf501a;border-color:#4caf504d;padding-left:40px;position:relative}.key-prefilled-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#4caf50;font-size:18px}.form-field-wrapper{position:relative}.error-message{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:8px;padding:12px 16px;color:#ff6b6b;font-size:14px;display:flex;align-items:flex-start;gap:10px;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{color:#f44336;font-size:18px;flex-shrink:0}.login-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;background:#ffffff1a}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.beta-badge{background:#ff980033;border:1px solid rgba(255,152,0,.4);border-radius:6px;padding:8px 12px;margin-top:20px;text-align:center}.beta-badge-text{color:#ffa726;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}.info-box{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:12px 16px;margin-top:16px}.info-box-content{color:#fffc;font-size:13px;line-height:1.5;display:flex;gap:10px}.info-icon{color:#2196f3;font-size:18px;flex-shrink:0}@media (max-width: 600px){.login-modal{padding:32px 24px;width:95%}.login-header h2{font-size:24px}.login-logo{font-size:40px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media (prefers-color-scheme: dark){:root{color:#ffffffde;background-color:#242424}button,input,select,textarea{color:#fff}}body,input,select,textarea,button{color:#213547}a{color:#06c}*{box-sizing:border-box}html{overflow:hidden}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100%;height:100vh;overflow:hidden}body[data-route^="/view-3d"] .grecaptcha-badge,body[data-route^="/view-map"] .grecaptcha-badge{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
