*{box-sizing:border-box}html{font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-width:320px;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){html{font-size:14px}}@media (max-width:480px){html{font-size:13px}}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:768px){.hide-mobile{display:none}.show-mobile{display:block}}.container{width:100%}@media (max-width:768px){.container{padding:0 1rem}}a,button,input,select,textarea{min-height:44px;min-width:44px}.App{overflow-x:hidden}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:36px;justify-content:center;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#515f65;color:#fff}.btn-primary:hover:not(:disabled){background-color:#415055;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-outline{background-color:initial;border:1px solid #515f65;color:#515f65}.btn-outline:hover:not(:disabled){background-color:#515f65;color:#fff}.btn-sm{font-size:.75rem;height:28px;min-width:60px;padding:.375rem .75rem}.btn-lg{font-size:1rem;height:44px;min-width:120px;padding:.75rem 1.5rem}.modal-actions button[type=button]{border:1px solid #ddd;box-shadow:0 1px 2px #0000000d}.modal-actions button[type=button]:hover{background-color:#e8e8e8;border-color:#c8cbc5;box-shadow:0 1px 3px #0000001a}.landing{background-color:#c8cbc5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.landing-header{background-color:#f8f8f8;box-shadow:0 2px 4px #515f6514;position:-webkit-sticky;position:sticky;top:0;z-index:100}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.landing-header .container{align-items:center;display:flex;justify-content:space-between;padding:1rem 1.5rem}.logo{align-items:center;display:flex;gap:1rem}.logo-img{display:block;height:40px;width:auto}.logo-text{color:#515f65;font-size:1.1rem;font-weight:600}.nav{align-items:center;display:flex;gap:2rem}.nav a{color:#515f65;font-weight:500;opacity:.8;text-decoration:none;transition:color .3s}.nav a:hover{color:#515f65;opacity:1}.login-btn{background-color:#515f65;border:none;border-radius:6px;color:#eaedec;cursor:pointer;font-weight:500;padding:.5rem 1.5rem;transition:background-color .3s}.login-btn:hover{background-color:#3e4a4f}.hero{background-color:#eaedec;padding:5rem 0}.hero .container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.hero-content h2{color:#515f65;font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem}.hero-content p{color:#515f65;font-size:1.25rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.hero-buttons{display:flex;gap:1rem}.primary-btn{background:#515f65;border:none;border-radius:6px;box-shadow:0 4px 15px #515f6533;color:#eaedec;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .3s}.primary-btn:hover{background:#3e4a4f;box-shadow:0 6px 20px #515f654d;transform:translateY(-2px)}.secondary-btn{background:#eaedec;border:2px solid #515f65;border-radius:6px;color:#515f65;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;line-height:1;padding:.75rem 2rem;text-align:center;text-decoration:none;transition:all .3s}.secondary-btn:hover{background-color:#515f65;color:#eaedec}.hero-image{height:400px;position:relative}.hero-3d-preview{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.portal-logo{max-height:90%;max-width:90%;object-fit:contain}.features h2{color:#515f65;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.features-description{color:#515f65;font-size:1.1rem;line-height:1.6;margin:0 auto 3rem;max-width:800px;opacity:.9;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:#eaedec;border-radius:12px;box-shadow:0 4px 20px #515f6514;min-height:220px;padding:2.5rem 2rem;text-align:center;transition:all .3s}.feature-card:hover{box-shadow:0 12px 30px #515f6526;transform:translateY(-5px)}.feature-card h3{color:#515f65;font-size:1.5rem;font-weight:600;line-height:1.3;margin-bottom:1rem;margin-top:0;min-height:2.5em}.feature-card p{color:#515f65;line-height:1.6;opacity:.9}.integration{background-color:#eaedec;padding:5rem 0}.integration h2{color:#515f65;font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.integration-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.integration-text h3{color:#515f65;font-size:1.8rem;margin-bottom:1rem}.integration-text p{color:#515f65;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.integration-text ul{list-style:none;margin-bottom:2rem;padding:0}.integration-text li{color:#717171;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.integration-text li:before{color:#515f65;content:"✓";font-weight:700;left:0;position:absolute}.learn-more-link{color:#515f65;font-weight:500;text-decoration:none;text-decoration:underline;transition:color .3s}.learn-more-link:hover{color:#3e4a4f}.workflow-diagram{align-items:center;background:linear-gradient(135deg,#eaedec,#c8cbc5);border-radius:12px;display:flex;gap:1rem;justify-content:center;padding:2rem}.workflow-step{background:#515f65;border-radius:8px;box-shadow:0 4px 12px #515f6514;color:#eaedec;font-weight:600;padding:1.5rem 2rem}.workflow-arrow{color:#515f65;font-size:2rem}.landing-footer{background-color:#515f65;color:#eaedec;padding:3rem 0 1rem}.footer-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.footer-section h4{font-weight:600;margin-bottom:1rem}.footer-section a,.footer-section p{color:#fffc;display:block;margin-bottom:.5rem;text-decoration:none;transition:color .3s}.footer-section a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1a;color:#fff9;padding-top:2rem;text-align:center}.nowrap{white-space:nowrap}@media (max-width:768px){.landing-header .container{flex-direction:column;gap:1rem}.logo-img{height:30px}.logo-text{font-size:1rem}.nav{flex-wrap:wrap;justify-content:center}.hero .container{grid-template-columns:1fr;text-align:center}.hero-content h2{font-size:2rem}.hero-buttons{justify-content:center}.hero-image{height:300px}.features-grid,.integration-content{grid-template-columns:1fr}.workflow-diagram{flex-direction:column}.workflow-arrow{transform:rotate(90deg)}}@media (max-width:480px){.logo-img{height:20px}.logo-text{font-size:.9rem}.logo{gap:.5rem}}@media (max-width:360px){.logo-img{height:16px}.logo-text{font-size:.8rem}.logo{gap:.4rem}.landing-header .container{padding:.5rem}}.login-container{align-items:center;background-color:#c8cbc5;display:flex;justify-content:center;min-height:100vh}.login-box{background:#eaedec;border-radius:8px;box-shadow:0 2px 10px #515f651a;max-width:500px;padding:3rem;width:100%}.login-logo-section{background-color:#f8f8f8;border-radius:8px 8px 0 0;margin:-3rem -3rem 2rem;padding:2rem;text-align:center}.login-logo{display:block;height:auto;margin:0 auto;max-width:400px;width:100%}.login-box h2{color:#515f65;margin-bottom:1.5rem;opacity:.8;text-align:center}.form-group input{border-radius:4px;box-sizing:border-box}.primary-button,button[type=submit]{background-color:#515f65;border:none;border-radius:4px;box-sizing:border-box;color:#eaedec;cursor:pointer;font-size:1rem;margin-top:.5rem;padding:.75rem;transition:background-color .3s;width:100%}.primary-button:hover,button[type=submit]:hover{background-color:#3e4a4f}.link-button{align-items:center;display:inline-flex;font-size:.9rem;padding:.25rem .5rem;transition:all .3s ease}.link-button:hover{text-decoration:none}.forgot-password-link{margin:-.5rem 0 .5rem;text-align:right}.forgot-password-link .link-button{color:#666;font-size:.85rem}.account-toggle{margin-top:1.5rem;text-align:center}.account-toggle .link-button{font-weight:700;margin-left:.25rem}.error{background-color:#fee;border:1px solid #fcc;border-radius:4px}.error,.success{word-wrap:break-word;font-size:.9rem;line-height:1.4;margin:.5rem 0;padding:.5rem}.success{background-color:#efe;border:1px solid #cfc;border-radius:4px;color:#27ae60}.success,p{text-align:center}p{color:#515f65;margin-top:1rem;opacity:.9}.back-to-home{border-top:1px solid #c8cbc5;margin-top:2rem;padding-top:1rem;text-align:center}.back-home-button{align-items:center;background:none;border:1px solid #515f65;border-radius:4px;color:#515f65;cursor:pointer;display:inline-flex;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.back-home-button:hover{background-color:#515f65;color:#eaedec}@media (min-width:1440px){.login-box{max-width:550px;padding:3.5rem}.login-logo-section{margin:-3.5rem -3.5rem 2rem;padding:2.5rem}}@media (max-width:768px){.login-container{padding:1rem}.login-box{margin:0 auto;max-width:100%;padding:1.5rem}.login-logo-section{margin:-1.5rem -1.5rem 1rem;padding:1.5rem}.login-logo{max-width:300px}.login-box h2{font-size:1.5rem}}@media (max-width:480px){.login-box{padding:1rem}.login-logo-section{margin:-1rem -1rem 1rem;padding:1rem}.login-logo{max-width:200px}.form-group input{font-size:16px;padding:.9rem}.primary-button,button[type=submit]{font-size:1rem;padding:.9rem}}@media (max-width:360px){.login-box{padding:.8rem}.login-logo-section{margin:-.8rem -.8rem .8rem;padding:.8rem}.login-logo{max-width:150px}.login-box h2{font-size:1.3rem}.form-group{margin-bottom:.8rem}.form-group input{padding:.7rem}.primary-button,button[type=submit]{font-size:.95rem;padding:.8rem}}.modal-content{max-width:500px;width:90%}.modal-header h2{letter-spacing:-.5px}.close-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eaedec1a;border:1px solid #eaedec33;border-radius:8px;height:36px;width:36px}.close-btn:hover{background-color:#eaedec33;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.modal-content form{padding:2rem}.form-group{margin-bottom:1.8rem}.form-group label{font-size:1.05rem;margin-bottom:.6rem}.form-group input[type=text],.form-group textarea{background-color:#fff;border:1px solid #c8cbc5;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.9rem;transition:all .3s ease;width:100%}.form-group input[type=file]{border:2px dashed #c8cbc5;cursor:pointer;display:block;padding:.75rem;transition:all .3s ease}.form-group input[type=file]:hover{background-color:#f8f8f8;border-color:#515f65}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #515f651a}.file-hint{color:#515f65;font-size:.875rem;opacity:.7}.error-message{border:1px solid #fcc;color:#e74c3c;font-size:.95rem}.modal-actions{border-top:1px solid #c8cbc5;padding-top:1.5rem}.modal-actions button[type=button]{background-color:initial;border:2px solid #515f65;box-sizing:border-box}.modal-actions button[type=button]:hover{background-color:#515f65;color:#eaedec}.modal-actions button[type=submit]{background:#515f65;box-shadow:0 4px 15px #515f654d}.modal-actions button[type=submit]:hover:not(:disabled){background:#3e4a4f;box-shadow:0 8px 25px #515f6566}.modal-actions button:disabled{box-shadow:none;opacity:.5}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-content{border-radius:12px;margin:0;max-height:100%;max-width:none;width:100%}.modal-header{border-radius:12px 12px 0 0;padding:1rem}.modal-header h2{font-size:1.4rem}.close-btn{font-size:1.2rem;height:32px;width:32px}.modal-content form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-size:1rem}.form-group input[type=text],.form-group textarea{font-size:16px;padding:.8rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-actions button{padding:.9rem;width:100%}}@media (max-width:480px){.modal-content{height:100%}.modal-content,.modal-header{border-radius:0}.modal-content form{padding:1rem}}.selected-files li{padding:.25rem 0}.modal-overlay{height:100%;width:100%}.modal{background-color:#fff;box-shadow:0 4px 20px #00000026;position:relative}.members-modal{max-height:70vh;max-width:600px;overflow-y:auto}.modal-header{margin-bottom:1.5rem}.modal-header h2{background-color:#515f65;border-radius:6px;color:#fff;padding:6px 12px;text-shadow:1px 1px 3px #0000004d}.close-button{height:30px;width:30px}.close-button:hover{background-color:#f0f0f0}.members-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.member-row{align-items:center;background-color:#f9f9f9;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.member-info{flex:1 1}.member-email{color:#333;font-weight:500}.member-name{color:#666;font-size:.875rem;margin-top:.25rem}.member-role{min-width:120px}.role-badge{background-color:#7a8d96;border-radius:16px;color:#fff;display:inline-block;font-size:.875rem;font-weight:500}.role-badge.owner{background-color:#ff9800}.role-select-inline{background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.875rem;padding:.25rem .5rem}.remove-button{font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.add-member-button{background-color:#7a8d96;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s;width:100%}.add-member-button:hover{background-color:#5d6e77}.add-member-form{background-color:#f5f5f5;border-radius:8px;padding:1rem}.role-select,.user-select{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.save-button{background-color:#7a8d96;border-radius:6px;transition:background-color .2s}.save-button:hover{background-color:#5d6e77}.cancel-button{border:none;border-radius:6px;transition:background-color .2s}.edit-project-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-project-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.edit-project-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem 2rem}.edit-project-modal-header h2{color:#374151;font-size:1.5rem;font-weight:600;margin:0}.close-button{color:#6b7280;height:36px;padding:.5rem;width:36px}.close-button:hover{background:#f3f4f6;color:#374151}.edit-project-form{flex:1 1;overflow-y:auto;padding:2rem}.form-group label{color:#374151;font-size:.875rem}.form-group input,.form-group textarea{background:#fff;border:1px solid #d1d5db;box-sizing:border-box;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-group textarea{min-height:100px}.form-help{color:#6b7280;display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.875rem}.form-actions{border-top:1px solid #e5e7eb;padding-top:1rem}.cancel-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.save-button{background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.save-button:hover:not(:disabled){background:#4338ca;box-shadow:0 4px 12px #4f46e566;transform:translateY(-1px)}.cancel-button:disabled,.save-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.save-button:disabled:hover{background:#4f46e5}@media (max-width:768px){.edit-project-modal-backdrop{padding:0}.edit-project-modal{border-radius:0;height:100%;margin:0;max-height:100%;max-width:none;width:100%}.edit-project-modal-header{padding:1rem 1.5rem}.close-button{height:32px;width:32px}.form-group input,.form-group textarea{font-size:16px}}@media (max-width:640px){.edit-project-modal-header{padding:1rem}.edit-project-modal-header h2{font-size:1.25rem}.edit-project-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.9rem}.form-actions{flex-direction:column-reverse;gap:.75rem}.cancel-button,.save-button{justify-content:center;padding:.9rem;width:100%}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.edit-project-modal{animation:modalFadeIn .2s ease-out}.dashboard{background-color:#c8cbc5;min-height:100vh}.dashboard-header{align-items:center;background:linear-gradient(135deg,#515f65,#3e4a4f);box-shadow:0 4px 20px #515f6526;color:#eaedec;display:flex;justify-content:space-between;overflow:hidden;padding:1.5rem 2rem;position:relative}.dashboard-header:before{background:#ffffff0d;content:"";height:200%;left:-10%;position:absolute;top:-50%;transform:rotate(45deg);width:40%}.dashboard-header h1{font-size:2rem;font-weight:600;letter-spacing:-.5px;margin:0;z-index:1}.admin-button,.hpc-button,.logout-button,.pricing-button,.profile-button,.team-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#515f651a;border:1px solid #515f6533;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.pricing-button{background:linear-gradient(135deg,#9370db,#7b5ec0);border-color:#9370db;font-weight:600}.admin-button,.hpc-button,.team-button{background-color:#515f651a;border-color:#515f6533}.admin-button:hover,.hpc-button:hover,.logout-button:hover,.profile-button:hover,.team-button:hover{background-color:#515f6533;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.pricing-button:hover{background:linear-gradient(135deg,#7b5ec0,#6b4eb0);box-shadow:0 4px 12px #9370db4d}.dashboard-content{margin:0 auto;max-width:1400px;padding:3rem 2rem}.dashboard-content h2{color:#515f65;margin-bottom:1.5rem}.projects-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.projects-header h2{color:#515f65;font-size:2rem;font-weight:600;margin:0}.create-project-btn{background:#515f65;border:none;border-radius:50px;box-shadow:0 4px 15px #515f654d;color:#eaedec;cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 2rem;transition:all .3s ease}.create-project-btn:hover{background:#3e4a4f;box-shadow:0 8px 25px #515f6566;transform:translateY(-2px)}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-card{background:#eaedec;border-radius:16px;box-shadow:0 4px 20px #515f6514;cursor:pointer;overflow:visible;padding:2rem;position:relative;transition:all .3s ease}.project-card:before{background:linear-gradient(135deg,#515f65,#3e4a4f);border-radius:0 0 0 100%;content:"";height:100px;opacity:.1;position:absolute;right:0;top:0;transition:all .3s ease;width:100px}.project-card:hover{box-shadow:0 12px 40px #515f6526;transform:translateY(-5px)}.project-card:hover:before{height:150px;width:150px}.project-header{justify-content:space-between;margin-bottom:.8rem}.project-card h3{color:#515f65;font-size:1.5rem;font-weight:600;margin:0;position:relative;transition:none;z-index:1}.project-number{background:#4f46e5;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;white-space:nowrap}.project-card p{color:#515f65;line-height:1.6;margin-bottom:1.5rem;opacity:.9;position:relative;z-index:1}.project-actions{border-top:1px solid #515f651a;margin-top:1.5rem;padding-top:1rem}.project-info{align-items:center;color:#515f65;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1rem;opacity:.7}.member-count{color:#515f65;font-weight:500;opacity:.9}.action-buttons{justify-content:flex-end}.members-btn{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#515f65;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.members-btn:hover{background-color:#e8e8e8;border-color:#d0d0d0;transform:translateY(-2px)}.project-meta{align-items:center;color:#515f65;display:flex;font-size:.9rem;justify-content:space-between;opacity:.7;position:relative;z-index:1}.edit-project-btn{background-color:#fff8e1;border:1px solid #ffe0b2;border-radius:6px;color:#f39c12;font-size:1rem}.delete-project-btn,.edit-project-btn{align-items:center;cursor:pointer;display:flex;height:auto;justify-content:center;opacity:1;padding:.5rem 1rem;transform:scale(1);transition:all .2s ease;width:auto}.delete-project-btn{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:6px;color:#e74c3c;font-size:.875rem;font-weight:500}.project-card:hover .edit-project-btn{opacity:1;transform:scale(1)}.delete-project-btn:hover{background-color:#ffcdd2;border-color:#ef5350}.edit-project-btn:hover{background-color:#ffe0b2;border-color:#ff9800}.edit-project-name{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;padding-right:1rem}.edit-project-name input{background:#fff;border:2px solid #515f65;border-radius:4px;color:#515f65;flex:1 1;font-size:1.5rem;font-weight:600;line-height:1.2;min-width:0;padding:.4rem .6rem;transition:none}.edit-project-name button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:32px;justify-content:center;padding:0;position:relative;width:32px;z-index:10}.edit-project-name button:first-of-type{background:#28a745;color:#fff}.edit-project-name button:first-of-type:hover{background:#218838}.edit-project-name button:last-of-type{background:#dc3545;color:#fff}.edit-project-name button:last-of-type:hover{background:#c82333}.loading,.no-projects{color:#515f65;font-size:1.3rem;padding:4rem 2rem;text-align:center}.no-projects{background:#eaedec;border-radius:16px;box-shadow:0 4px 20px #515f6514}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1.5rem 1rem;text-align:center}.dashboard-header h1{font-size:1.5rem}.user-info{flex-direction:column;width:100%}.user-info span{font-size:1rem}.admin-button,.logout-button,.pricing-button,.profile-button,.team-button{font-size:.9rem;padding:.8rem 1rem;width:100%}.dashboard-content{padding:2rem 1rem}.projects-grid{gap:1.5rem;grid-template-columns:1fr}.projects-header{align-items:stretch;flex-direction:column;gap:1rem}.create-project-btn{width:100%}.project-card{padding:1.5rem}.project-card h3{font-size:1.2rem}.stats{flex-wrap:wrap}.filters{flex-direction:column}.filter-group,.filter-select,.filters{width:100%}}@media (max-width:480px){.dashboard-header h1{font-size:1.3rem}.dashboard-content h2{font-size:1.5rem}.project-card{padding:1rem}.project-card h3{font-size:1.1rem}.stats-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.5rem}}.model-tree-panel{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;max-height:800px;max-width:600px;min-height:300px;min-width:200px;overflow:hidden;pointer-events:auto;position:fixed;transition:opacity .3s ease;z-index:1000}.model-tree-panel.collapsed{height:auto;opacity:.95;width:auto}.model-tree-panel.collapsed .model-tree-content{display:none}.model-tree-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.model-tree-header .header-content{display:flex;flex-direction:column;gap:.25rem}.model-tree-header h3{font-size:1.1rem;font-weight:600;margin:0}.model-count{font-size:.85rem;opacity:.9}.model-tree-content{background-color:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.model-tree-actions{background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.material-editor-btn{align-items:center;background-color:#9370db;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .2s ease;width:100%}.material-editor-btn:hover{background-color:#7b5ec9;box-shadow:0 2px 4px #9370db4d;transform:translateY(-1px)}.model-tree-list{flex:1 1;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}.no-models{color:#999;font-size:.9rem;padding:2rem;text-align:center}.resize-handle{background:linear-gradient(90deg,#0000 2px,#9370db33 0,#9370db33 6px,#0000 0);width:8px}.resize-handle:hover{background:linear-gradient(90deg,#0000 2px,#9370db66 0,#9370db66 6px,#0000 0)}.resize-handle:active{background:linear-gradient(90deg,#0000 2px,#9370db99 0,#9370db99 6px,#0000 0)}.resize-handle:before{background-image:repeating-linear-gradient(0deg,#9370db66,#9370db66 2px,#0000 0,#0000 6px);content:"";height:30px;pointer-events:none;position:absolute;right:3px;top:50%;transform:translateY(-50%);width:2px}.model-tree-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.model-tree-item:hover{background-color:#f9f9f9}.model-tree-item.selected{background-color:#80008026;border-left:3px solid purple;color:purple;font-weight:500;padding-left:calc(1.5rem - 3px)}.model-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.model-name{color:#333;font-size:.9rem;font-weight:500}.model-filename,.model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-filename{color:#666;font-size:.8rem}.visibility-toggle{background:none;color:#515f65;padding:.5rem;transition:all .2s ease}.visibility-toggle:hover{background-color:#515f651a}.visibility-toggle.hidden{opacity:.4}.visibility-toggle svg{height:18px;width:18px}.model-tree-list::-webkit-scrollbar{width:8px}.model-tree-list::-webkit-scrollbar-track{background:#f1f1f1}.model-tree-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.model-tree-list::-webkit-scrollbar-thumb:hover{background:#555}.expand-toggle{background:none;border:none;color:#666;cursor:pointer;font-size:.75rem;margin-right:.5rem;padding:.25rem;transition:transform .2s ease}.expand-toggle:hover{color:#333}.model-parts{background-color:#fafafa;border-left:2px solid #e0e0e0;margin-left:1rem}.model-part-item{align-items:center;border-bottom:1px solid #f0f0f0;color:#555;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1.5rem;transition:all .2s ease}.model-part-item:hover{background-color:#f5f5f5}.model-part-item.selected{background-color:#8000801a;border-left:3px solid purple;color:purple;font-weight:500;padding-left:calc(1.5rem - 3px)}.part-type-icon{flex-shrink:0;height:16px;margin-right:4px;object-fit:contain;width:16px}.part-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parts-count{color:#888;font-size:.75rem;margin-left:.5rem}.uv-status{border-radius:3px;flex-shrink:0;font-size:.7rem;font-weight:500;letter-spacing:.5px;margin-left:auto;padding:.2rem .4rem;text-transform:uppercase}.uv-status.has-uv{background-color:#4caf50;color:#fff}.uv-status.no-uv{background-color:#ff9800;color:#fff}.resize-handle{width:5px}.resize-handle:hover{background-color:#9370db}.resize-handle:active{background-color:#7b5ec9}.resize-handle-vertical{height:5px}.resize-handle-vertical:hover{background-color:#9370db}.resize-handle-vertical:active{background-color:#7b5ec9}@media (max-width:768px){.model-tree-panel{font-size:.9rem}.model-tree-header{padding:.875rem 1.25rem}.model-tree-header h3{font-size:1rem}.model-tree-item{padding:.625rem 1.25rem}.model-part-item{font-size:.8rem;padding:.4rem 1rem}}.import-dialog-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.import-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:90%;padding:24px;width:400px}.import-dialog h2{color:#333;font-size:20px;margin:0 0 20px}.import-option{margin:16px 0}.import-option label{color:#666;display:block;font-weight:500;margin-bottom:4px}.import-option input[type=number],.import-option select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.import-option input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;margin-right:8px;min-height:20px!important;min-width:20px!important;vertical-align:middle;width:20px!important}.import-option label input[type=checkbox]{position:relative;top:-1px}.import-option small{color:#999;display:block;font-size:12px;margin-left:28px;margin-top:4px}.preview-info{background:#f5f5f5;border-radius:4px;margin:20px 0;padding:12px}.preview-info p{color:#666;font-size:14px;margin:4px 0}.import-dialog-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.import-dialog-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 20px;transition:all .2s}.cancel-btn{background:#e0e0e0;color:#666}.cancel-btn:hover{background:#d0d0d0}.confirm-btn{background:#9370db;color:#fff}.confirm-btn:hover{background:#7b5ec4}.modal-overlay{background-color:#515f6599}.modal-content{background:#eaedec;border-radius:16px;box-shadow:0 12px 40px #515f6533;box-sizing:border-box;position:fixed;transition:box-shadow .2s ease;width:500px}.modal-content.dragging{box-shadow:0 16px 48px #515f654d;cursor:move!important}.modal-header{background:linear-gradient(135deg,#515f65,#3e4a4f);border-radius:16px 16px 0 0;cursor:move;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.modal-header:before{background:#ffffff0d;content:"";height:200%;left:-10%;position:absolute;top:-50%;transform:rotate(45deg);width:40%}.modal-header h2{color:#eaedec;font-size:1.8rem;z-index:1}.close-btn{border-radius:50%;color:#eaedec;font-size:2rem;height:40px;transition:all .3s ease;width:40px;z-index:1}.close-btn:hover{transform:rotate(90deg)}.close-btn:disabled{cursor:not-allowed;opacity:.5}form{padding:2rem}.form-group label{font-size:1rem;font-weight:600}.form-group input[type=file]{background-color:#fff;border:2px solid #c8cbc5;border-radius:8px;color:#515f65;font-size:.95rem;padding:.8rem;transition:border-color .3s ease;width:100%}.form-group input[type=file]:focus{border-color:#515f65;outline:none}.form-group input[type=file]:disabled{background-color:#f5f5f5;cursor:not-allowed}.file-hint{color:#6c757d;display:block;font-size:.85rem;margin-top:.5rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:.75rem 1rem}.submit-btn{background:linear-gradient(135deg,#515f65,#3e4a4f);border-radius:8px;color:#eaedec;font-size:1.1rem;font-weight:600;overflow:hidden;padding:1rem;position:relative;width:100%}.submit-btn:before{background-color:#ffffff1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s,height .5s;width:0}.submit-btn:hover:before{height:300px;width:300px}.submit-btn:hover{box-shadow:0 8px 20px #515f654d;transform:translateY(-2px)}.submit-btn:disabled{background:#c8cbc5;box-shadow:none}.selected-files{background-color:#f8f8f8;border-radius:8px;margin:1rem 0;padding:1rem}.selected-files p{color:#515f65;font-weight:600}.selected-files ul{list-style:none;margin:0;max-height:200px;overflow-x:hidden;overflow-y:auto;padding:0}.selected-files ul::-webkit-scrollbar{width:8px}.selected-files ul::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.selected-files ul::-webkit-scrollbar-thumb{background:#515f65;border-radius:4px}.selected-files ul::-webkit-scrollbar-thumb:hover{background:#3e4a4f}.selected-files li{border-bottom:1px solid #e0e0e0;color:#515f65;font-size:.9rem;padding:.25rem .5rem}.selected-files li:last-child{border-bottom:none}@media (max-width:768px){.selected-files{margin:.75rem 0;padding:.75rem}.selected-files ul{max-height:150px}.selected-files li{font-size:.85rem;padding:.2rem .4rem}}@media (max-width:480px){.selected-files{margin:.5rem 0;padding:.5rem}.selected-files p{font-size:.9rem;margin-bottom:.4rem}.selected-files ul{max-height:120px}.selected-files li{font-size:.8rem}}.upload-progress{background:#515f650d;border-radius:8px;margin:1.5rem 0;padding:1rem}.progress-bar{margin-bottom:.5rem}.progress-text{font-size:.9rem}.upload-info{color:#515f65;display:flex;flex-wrap:wrap;font-size:.85rem;gap:10px;justify-content:space-between;margin-top:.5rem}.upload-info .remaining{color:#4a90e2;font-weight:500}.upload-speed{color:#3e4a4f;font-weight:600}.modal-actions{margin-top:2rem}.modal-actions button{border-radius:8px;font-size:1rem;font-weight:600;padding:.8rem 2rem;transition:all .3s ease}.modal-actions button[type=button]{background-color:#f5f5f5;border:1px solid #c8cbc5;color:#515f65}.modal-actions button[type=button]:hover:not(:disabled){background-color:#e0e0e0}.modal-actions button[type=submit]{background:linear-gradient(135deg,#515f65,#3e4a4f);color:#eaedec}.modal-actions button[type=submit]:hover:not(:disabled){box-shadow:0 4px 12px #515f654d;transform:translateY(-2px)}.modal-actions button:disabled{cursor:not-allowed;opacity:.6;transform:none}.invite-management-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.invite-management-modal{background:#515f65;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;margin:0 auto;max-height:85vh;max-width:1200px;width:100%}.modal-header{background:#515f65;border-bottom:1px solid #fff3;border-radius:12px 12px 0 0}.modal-header h2{color:#fff!important;font-weight:600}.close-button{border-radius:50%;height:40px;width:40px}.close-button:hover{color:#fff}.modal-content{flex:1 1;margin:0 1px;padding:1.5rem}.error,.loading,.no-invites{color:#666;padding:2rem;text-align:center}.invites-table{overflow-x:auto;width:100%}.invites-table table{border-collapse:collapse;table-layout:auto;width:100%}.invites-table td,.invites-table th{padding:.75rem 1rem}.invites-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;text-align:left}.invites-table td{border-bottom:1px solid #dee2e6;vertical-align:middle}.invites-table tr.expired{opacity:.6}.invites-table tr:hover{background-color:#f8f9fa}.code-cell{align-items:center;display:flex;gap:.5rem}.code-cell code{background-color:#e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;padding:.25rem .5rem}.status{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.status.valid{background-color:#d4edda;color:#155724}.status.invalid{background-color:#f8d7da;color:#721c24}.action-buttons{justify-content:center}.copy-btn,.delete-btn,.extend-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:all .2s}.copy-btn{color:#007bff}.copy-btn:hover{background-color:#cfe2ff;transform:scale(1.1)}.extend-btn{color:#28a745}.extend-btn:hover{background-color:#d4edda;transform:scale(1.1)}.delete-btn{color:#dc3545}.delete-btn:hover{background-color:#f8d7da;transform:scale(1.1)}.modal-footer{background:#515f65;border-top:1px solid #fff3;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.close-modal-btn{background-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem;transition:background-color .2s}.close-modal-btn:hover{background-color:#5a6268}@media (max-width:768px){.invite-management-modal{max-height:90vh;width:95%}.modal-header h2{font-size:1.2rem}.invites-table{font-size:.9rem}.invites-table td,.invites-table th{padding:.5rem}.code-cell{align-items:flex-start;flex-direction:column;gap:.25rem}}.comment-panel{background:#fff;box-shadow:-2px 0 4px #0000001a;flex-shrink:0;max-width:400px;min-width:280px;overflow-x:hidden;overflow-y:auto;padding:1.5rem;position:relative;transition:width .3s ease,min-width .3s ease;width:25%}.comment-panel.collapsed{min-width:auto;padding:0;width:auto}.collapse-toggle{background-color:#2c2c2c!important;border:1px solid #000!important;border-radius:6px;box-shadow:0 2px 5px #0006;color:#fff!important;font-size:1.2rem;font-weight:400;margin-left:.5rem;min-width:40px;padding:.6rem .8rem;transition:all .2s ease}.collapse-toggle:hover{background-color:#000!important;box-shadow:0 3px 6px #00000080;transform:translateY(-1px)}.collapse-toggle:active{box-shadow:0 1px 3px #00000026;transform:translateY(0)}.comment-panel.collapsed .comment-panel-header{padding:.5rem}.comment-panel.collapsed .header-table{background-color:initial}.comment-panel.collapsed .add-comment-mode-btn,.comment-panel.collapsed .title-cell{display:none}.comment-panel-content{opacity:1;transition:opacity .3s ease,visibility .3s ease;visibility:visible}.comment-panel.collapsed .comment-panel-content{opacity:0;overflow:hidden;visibility:hidden;width:0}.comment-panel h2{color:#333;margin-bottom:0;margin-top:0}.comment-panel-header{border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:1rem}.header-table{background-color:#f5f5f5;border-radius:6px;padding:.75rem;width:100%}.header-row{gap:.75rem}.header-cell,.header-row{align-items:center;display:flex}.title-cell{flex:1 1;min-width:0}.button-cell{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.add-comment-mode-btn{background-color:#515f65;border:1px solid #415055;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:.5rem 1rem;text-align:center;transition:all .2s ease;white-space:normal}.add-comment-mode-btn:hover{background-color:#415055;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.add-comment-mode-btn.active{animation:subtle-pulse 2s ease-in-out infinite;background-color:#7d8a91;border-color:#6d7a81;box-shadow:0 0 0 2px #7d8a9133}@keyframes subtle-pulse{0%{opacity:1}50%{opacity:.85}to{opacity:1}}.instruction-box{background-color:#f5f5f5;border:2px dashed #515f65;border-radius:8px;margin:1rem 0;padding:1.5rem;text-align:center}.instruction-box .instruction-text{color:#515f65;font-style:normal;font-weight:500;margin:0}.comment-form{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:1rem}.comment-form p{color:#666;font-size:.9rem;margin:.5rem 0}.comment-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;min-height:100px;padding:.75rem;resize:vertical;width:100%}.comment-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.comment-form-actions button{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.comment-form-actions button:hover:not(:disabled){background-color:#415055}.comment-form-actions button:disabled{background-color:#ccc;cursor:not-allowed}.attach-files-btn{background-color:#6c757d!important}.attach-files-btn:hover{background-color:#5a6268!important}.selected-files{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;font-size:.875rem;margin:.5rem 0;padding:.75rem}.selected-files p{color:#495057;font-weight:500;margin:0 0 .5rem}.selected-file{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.25rem 0}.selected-file:last-child{border-bottom:none}.selected-file span{color:#495057;font-size:.875rem}.selected-file button{background:none;border:none;color:#dc3545;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:color .2s}.selected-file button:hover{color:#c82333;text-decoration:underline}.comments-list{display:flex;flex-direction:column;gap:1rem}.no-comments{color:#999;padding:2rem;text-align:center}.comment-item{border:1px solid #ddd;border-radius:8px;padding:1rem;position:relative}.comment-number{align-items:center;background:#515f65;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:28px;justify-content:center;left:10px;position:absolute;top:-10px;width:28px}.comment-item.status-approved{border-color:#4caf50}.comment-item.status-rejected{border-color:#f44336}.comment-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.author{color:#333;font-weight:700}.date{color:#666;font-size:.8rem}.comment-content{color:#333;margin:.5rem 0}.comment-position{align-items:center;color:#666;display:flex;font-size:.8rem;gap:.5rem;justify-content:space-between;margin:.5rem 0}.comment-position .camera-jump-btn{align-items:center!important;-webkit-appearance:none!important;appearance:none!important;background:#515f65!important;border:0!important;border-radius:4px!important;box-shadow:none!important;box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;display:flex!important;height:auto!important;justify-content:center!important;min-width:auto!important;outline:0!important;padding:.4rem!important;transition:all .2s ease!important;white-space:nowrap!important;width:auto!important}.comment-position .camera-jump-btn:hover{transform:translateY(-1px)!important}.comment-position .camera-jump-btn:focus,.comment-position .camera-jump-btn:hover{background:#415055!important;border:0!important;box-shadow:none!important;outline:0!important}.comment-position .camera-jump-btn:active{border:0!important;box-shadow:none!important;outline:0!important;transform:translateY(0)!important}.comment-position .camera-icon{border:none!important;display:block!important;height:18px!important;opacity:1!important;outline:none!important;width:18px!important}.comment-actions{display:flex;gap:.5rem}.pending-btn{background-color:#ffc107;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:.75rem;font-weight:500;padding:.3rem .6rem}.pending-btn:hover{background-color:#ffb300}.author-info{align-items:center;display:flex;gap:.75rem}.status-indicator{border-radius:12px;font-size:.8rem;font-weight:500;padding:.2rem .5rem;text-transform:capitalize}.status-indicator.pending{background-color:#fff8e1;color:#f57f17}.status-indicator.approved{background-color:#e8f5e9;color:#2e7d32}.status-indicator.rejected{background-color:#ffebee;color:#c62828}.comment-metadata{background-color:#f5f5f5;border-radius:4px;color:#666;font-size:.85rem;margin:.75rem 0;padding:.5rem}.comment-footer{flex-wrap:wrap;justify-content:space-between;margin-top:1rem}.comment-footer,.comment-footer>*{align-items:center;display:flex;gap:.5rem}.actions-left,.actions-right{align-items:center;display:flex;gap:.3rem}.reply-btn{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#515f65;cursor:pointer;font-size:.75rem;font-weight:500;padding:.3rem .6rem;transition:all .2s ease}.reply-btn:hover{background-color:#e0e0e0;border-color:#bbb}.attach-btn{background-color:#6c757d;border:1px solid #6c757d;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:.3rem .6rem;transition:all .2s ease}.attach-btn:hover{background-color:#5a6268;border-color:#545b62}.comment-content-wrapper{align-items:flex-start;display:flex;gap:.5rem;position:relative}.comment-content{flex:1 1;margin:0}.attach-icon-btn,.edit-icon-btn{border-radius:3px;flex-shrink:0;font-size:14px;margin-top:1px;opacity:.6;padding:2px 4px;transition:all .2s ease}.edit-icon-btn:hover{background-color:#f39c121a;opacity:1;transform:scale(1.1)}.attach-icon-btn:hover{background-color:#6c757d1a;opacity:1;transform:scale(1.1)}.delete-btn{background-color:#f5f5f5!important;border:1px solid #ddd!important;border-radius:4px!important;color:#515f65!important;cursor:pointer!important;font-size:.75rem!important;font-weight:500!important;padding:.3rem .6rem!important;transition:all .2s ease!important}.delete-btn:hover{background-color:#e0e0e0!important;border-color:#bbb!important;color:#515f65!important}.edit-form{background-color:#f9f9f9;border-radius:6px;margin:1rem 0;padding:1rem}.edit-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;margin-bottom:.75rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.edit-textarea:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.edit-actions{display:flex;gap:.5rem}.save-edit-btn{background-color:#27ae60;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.save-edit-btn:hover{background-color:#229954}.save-edit-btn:disabled{background-color:#95a5a6;cursor:not-allowed}.cancel-edit-btn{background-color:#95a5a6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.cancel-edit-btn:hover{background-color:#7f8c8d}.comment-item.reply{border-left:3px solid #ddd;margin-left:1.5rem;padding-left:1rem}.reply-indicator{color:#666;font-size:.85rem;font-style:italic;margin-bottom:.5rem}.reply-form{background-color:#f9f9f9;border-radius:6px;margin-top:1rem;padding:1rem}.reply-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.reply-actions{display:flex;gap:.5rem;margin-top:.75rem}.cancel-reply-btn,.send-reply-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.send-reply-btn{background-color:#515f65;color:#fff}.send-reply-btn:hover{background-color:#415055}.send-reply-btn:disabled{background-color:#ccc;cursor:not-allowed}.cancel-reply-btn{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.cancel-reply-btn:hover{background-color:#e0e0e0}.comment-attachments{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;margin-top:.75rem;padding:.75rem}.attachments-header{color:#666;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.attachments-list{display:flex;flex-direction:column;gap:.5rem}.attachment-item{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem}.attachment-name{color:#333;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:#666;font-size:.75rem}.attachment-download-btn{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:background-color .2s}.attachment-download-btn:hover{background-color:#415055}.instruction-text{background-color:#515f650d;border-radius:8px;color:#515f65;font-style:italic;margin:1rem 0;padding:1rem;text-align:center}@media (min-width:769px){.comment-footer{flex-direction:row;flex-wrap:nowrap!important;gap:.5rem;justify-content:flex-start}.actions-left,.actions-right{flex:none;flex-wrap:nowrap}}@media (max-width:1024px){.comment-panel{min-width:300px;width:35%}}@media (max-width:768px){.comment-panel{border-radius:12px 12px 0 0;bottom:0;box-shadow:0 -2px 10px #0000001a;height:40vh;left:0;max-width:none;min-width:none;position:fixed;right:0;transform:translateY(0);transition:transform .3s ease,height .3s ease;width:100%;z-index:100}.comment-panel.collapsed{height:50px;overflow:hidden;transform:translateY(calc(100% - 50px))}.comment-panel.collapsed .comment-form,.comment-panel.collapsed .comment-list,.comment-panel.collapsed .comment-panel-content{display:none}.comment-form textarea{font-size:16px}.comment-item{padding:.75rem}.comment-header{font-size:.9rem}.comment-actions{flex-wrap:wrap}.approve-btn,.pending-btn,.reject-btn{font-size:.85rem;padding:.4rem .8rem}.comment-footer{flex-direction:row;gap:.5rem;justify-content:space-between}.actions-left,.actions-right{display:flex;flex:1 1;gap:.3rem}.delete-btn,.reply-btn{flex:1 1;font-size:.8rem!important;min-width:auto!important;padding:.4rem .6rem!important}}@media (max-width:480px){.comment-panel{height:50vh;padding:1rem}.comment-panel.collapsed{height:45px;padding:.5rem;transform:translateY(calc(100% - 45px))}.comment-panel-header h3{font-size:1.1rem}.comment-item{padding:.5rem}.comment-content{font-size:.9rem}.comment-position{font-size:.75rem}.comment-position .camera-icon{height:16px!important;width:16px!important}.comment-item.reply{margin-left:.75rem;padding-left:.5rem}}.file-manager-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.file-manager-modal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:600px;max-width:900px;position:absolute;width:90%}.file-manager-modal.drag-active{background-color:#515f650d;border:2px dashed #515f65}.file-manager-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1rem;-webkit-user-select:none;user-select:none}.file-manager-header h2{color:#333;font-size:1.25rem;margin:0}.file-manager-controls{display:flex;gap:.5rem}.file-manager-controls button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;transition:background-color .2s}.file-manager-controls button:hover{background-color:#0000001a}.close-btn:hover{background-color:#dc3545;color:#fff}.file-manager-storage{border-bottom:1px solid #e0e0e0;padding:1rem}.storage-info{color:#666;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}.storage-bar{background-color:#e0e0e0;border-radius:4px;height:8px;overflow:hidden}.storage-used{background-color:#515f65;height:100%;transition:width .3s ease}.file-manager-content{display:flex;flex:1 1;overflow:hidden}.file-manager-sidebar{background-color:#f8f9fa;border-right:1px solid #e0e0e0;padding:1rem;width:200px}.folder-list{display:flex;flex-direction:column}.folder-item{border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem;transition:background-color .2s}.folder-item:hover{background-color:#515f651a}.folder-item.sub-folder{padding-left:1.5rem}.new-folder-btn{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;margin-top:1rem;padding:.5rem;transition:background-color .2s}.new-folder-btn:hover{background-color:#415055}.file-manager-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.file-list-header{background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:.75rem 1rem}.file-list-columns{grid-gap:1rem;color:#666;display:grid;font-size:.875rem;font-weight:500;gap:1rem;grid-template-columns:1fr 100px 100px 120px}.file-list{flex:1 1;overflow-y:auto;padding:1rem}.file-item{grid-gap:1rem;border:1px solid #0000;border-radius:4px;cursor:pointer;display:grid;gap:1rem;grid-template-columns:1fr 100px 100px 120px;padding:.75rem;transition:background-color .2s}.file-item:hover{background-color:#f8f9fa}.file-item.selected{background-color:#515f651a;border-color:#515f65}.file-name{color:#333;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#666;font-size:.875rem}.file-access{color:#666;font-size:.75rem;font-weight:500}.file-actions{display:flex;gap:.5rem}.file-actions button{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.file-actions button:hover{background-color:#e9ecef;border-color:#adb5bd}.file-manager-footer{align-items:center;background-color:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.search-section{align-items:center;display:flex;gap:.5rem}.search-section span{color:#666;font-size:.875rem}.search-section input{width:200px}.search-section input,.search-section select{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:.375rem .75rem}.action-buttons button,.search-section select{background-color:#fff;cursor:pointer}.action-buttons button{border:1px solid #ced4da;border-radius:4px;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.action-buttons button:hover{background-color:#f8f9fa;border-color:#adb5bd}.action-buttons .primary-btn{background-color:#515f65;border-color:#515f65;color:#fff}.action-buttons .primary-btn:hover{background-color:#415055;border-color:#415055}.action-buttons button:disabled{cursor:not-allowed;opacity:.6}.action-buttons .upload-btn{background-color:#28a745;border-color:#28a745;color:#fff}.action-buttons .upload-btn:hover{background-color:#218838;border-color:#1e7e34}.drag-overlay{align-items:center;background-color:#515f651a;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.drag-message{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;color:#515f65;font-size:1.125rem;font-weight:500;padding:2rem 3rem}.upload-options-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1100}.upload-options-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:30px;width:400px}.upload-options-content h3{color:#333;font-size:20px;margin:0 0 20px}.option-group{margin-bottom:20px}.option-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.option-group input[type=password],.option-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.option-group input[type=checkbox]{cursor:pointer;flex-shrink:0;height:12px;margin-right:8px;width:12px}.option-group .checkbox-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.option-group .password-input{margin-top:10px}.upload-options-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.upload-options-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.upload-options-actions button:first-child{background:#007bff;color:#fff}.upload-options-actions button:first-child:hover{background:#0056b3}.upload-options-actions button:last-child{background:#f8f9fa;border:1px solid #ddd;color:#333}.password-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1100}.password-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:30px;width:400px}.password-modal-content h3{color:#333;font-size:20px;margin:0 0 15px}.password-modal-content p{color:#666;margin:0 0 20px}.password-modal-content input[type=password]{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:20px;padding:10px 12px;width:100%}.password-modal-actions{display:flex;gap:10px;justify-content:flex-end}.password-modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.password-modal-actions button:first-child{background:#007bff;color:#fff}.password-modal-actions button:first-child:hover{background:#0056b3}.password-modal-actions button:last-child{background:#f8f9fa;border:1px solid #ddd;color:#333}.material-editor-panel{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;position:fixed;width:380px;z-index:1000}.material-editor-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.material-editor-header h3{font-size:1.1rem;font-weight:600;margin:0}.material-editor-content{flex:1 1;overflow-y:auto;padding:1.5rem}.material-section{margin-bottom:2rem}.material-section h4{border-bottom:2px solid #515f65;color:#333;font-size:.95rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;position:relative}.material-section h4:after{background:#333;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:40px}.material-prop{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem;position:relative}.material-prop label{color:#666;flex:0 0 140px;font-size:.85rem;font-weight:500}.material-prop input[type=range]{-webkit-appearance:none;background:linear-gradient(90deg,#e0e0e0 0,#e0e0e0);border-radius:4px;cursor:pointer;flex:1 1;height:8px;outline:none;position:relative}.material-prop input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.material-prop input[type=range]::-webkit-slider-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.material-prop input[type=range]::-webkit-slider-thumb:active{transform:scale(.95)}.material-prop input[type=range]::-moz-range-thumb{background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.material-prop input[type=range]::-moz-range-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.material-prop input[type=range]::-moz-range-track{background:#e0e0e0;border-radius:4px;height:8px}.material-prop input[type=color]{background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;height:30px;padding:2px;transition:all .2s ease;width:50px}.material-prop input[type=color]:hover{border-color:#515f65;transform:scale(1.05)}.material-prop input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.material-prop input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.material-prop span{background:#f0f0f0;border-radius:4px;color:#515f65;font-size:.85rem;font-weight:600;min-width:45px;padding:4px 8px;text-align:right}.texture-upload{margin-bottom:1rem}.texture-upload label{color:#666;display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.texture-upload-controls{align-items:center;display:flex;gap:.5rem}.texture-upload input[type=file]{background-color:#f9f9f9;border:1px dashed #ddd;border-radius:4px;cursor:pointer;display:block;flex:1 1;font-size:.85rem;padding:.5rem;transition:all .2s ease}.texture-upload input[type=file]:hover{background-color:#f5f5f5;border-color:#515f65}.texture-search-btn{align-items:center;background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.texture-search-btn:hover{background-color:#415055;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.texture-loaded{color:#4caf50;display:inline-block;font-size:.85rem;font-weight:500;margin-top:.5rem}.texture-preview{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;margin-top:.5rem;overflow:hidden;position:relative}.texture-preview img{display:block;height:auto;max-height:100px;object-fit:cover;width:100%}.texture-delete-btn{align-items:center!important;background:#ff0000b3!important;border:none!important;border-radius:50%!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-size:12px!important;height:24px!important;justify-content:center!important;position:absolute!important;right:5px!important;top:5px!important;transition:background-color .2s ease!important;width:24px!important;z-index:10!important}.texture-delete-btn:hover{background:#ff0000e6!important}.render-mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.render-mode-toggle button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;flex:1 1;font-size:.85rem;padding:.5rem;transition:all .2s ease}.render-mode-toggle button:hover{background-color:#e0e0e0}.render-mode-toggle button.active{background-color:#515f65;border-color:#515f65;color:#fff}.preset-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.preset-buttons button{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;overflow:hidden;padding:.75rem .5rem;position:relative;transition:all .2s ease}.preset-buttons button:before{background:linear-gradient(135deg,#515f65,#415055);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:0}.preset-buttons button:hover:before{left:0}.preset-buttons button:hover{border-color:#515f65;box-shadow:0 4px 8px #515f654d;color:#fff;transform:translateY(-1px)}.preset-buttons button span{position:relative;z-index:1}.material-editor-footer{background-color:#f5f5f5;border-top:1px solid #eee;display:flex;gap:1rem;padding:1rem 1.5rem}.apply-btn,.cancel-btn,.reset-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.apply-btn{background-color:#515f65;color:#fff}.apply-btn:hover{background-color:#415055}.cancel-btn{background-color:#ff6b6b}.cancel-btn:hover{background-color:#e55555}.reset-btn{background-color:#fff;border:1px solid #ddd;color:#515f65}.reset-btn:hover{background-color:#f5f5f5;border-color:#515f65}@media (max-width:1400px){.material-editor-panel{right:20px;top:80px}}.material-editor-content::-webkit-scrollbar{width:8px}.material-editor-content::-webkit-scrollbar-track{background:#f1f1f1}.material-editor-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.material-editor-content::-webkit-scrollbar-thumb:hover{background:#555}.uv-generation-progress{background:#f0f0f0;border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem}.progress-header{align-items:center;color:#333;display:flex;font-size:14px;justify-content:space-between;margin-bottom:.5rem}.progress-text{color:#666}.progress-bar-container{background:#ddd;border-radius:3px;height:6px;overflow:hidden;position:relative;width:100%}.progress-bar{background:linear-gradient(90deg,#515f65,#415055);height:100%;position:relative;transition:width .3s ease}.progress-bar:after{animation:progress-stripes 1s linear infinite;background:linear-gradient(45deg,#ffffff1a 25%,#0000 0,#0000 50%,#ffffff1a 0,#ffffff1a 75%,#0000 0,#0000);background-size:20px 20px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progress-stripes{0%{background-position:0 0}to{background-position:20px 0}}.progress-mesh-name{color:#666;font-size:12px;font-style:italic;margin-top:.5rem}.cancel-uv-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:.25rem .75rem;transition:all .2s ease}.cancel-uv-btn:hover{background-color:#c82333;box-shadow:0 2px 4px #dc35454d;transform:translateY(-1px)}.cancel-uv-btn:active{transform:translateY(0)}.advanced-uv-settings{background-color:#f9f9f9;border-radius:4px;margin:.5rem 0}.advanced-uv-header:hover{background-color:#515f651a;border-radius:4px}.advanced-uv-content{animation:fadeIn .3s ease-in-out}.texture-search-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.texture-search-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:85vh;max-height:800px;max-width:1200px;overflow:hidden;position:relative;width:90vw}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.texture-search-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem;-webkit-user-select:none;user-select:none}.texture-search-header h3{font-size:1.1rem;font-weight:600;margin:0}.texture-search-controls{align-items:center;border-bottom:1px solid #eee;display:flex;gap:1rem;padding:1.5rem}.texture-search-input{background:#f8f8f8;border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.texture-search-input:focus{background:#fff;border-color:#515f65;box-shadow:0 0 0 3px #515f651a;outline:none}.resolution-selector{align-items:center;display:flex;gap:.5rem}.resolution-selector label{color:#666;font-size:.9rem;font-weight:500}.resolution-selector select{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.resolution-selector select:hover{border-color:#515f65}.resolution-selector select:focus{border-color:#515f65;box-shadow:0 0 0 3px #515f651a;outline:none}.texture-categories{align-content:flex-start;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:.5rem;max-height:120px;overflow-y:auto;padding:1rem 1.5rem}.texture-categories::-webkit-scrollbar{height:8px;width:8px}.texture-categories::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.texture-categories::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.texture-categories::-webkit-scrollbar-thumb:hover{background:#555}.category-chip{background:#fff;border:1px solid #ddd;border-radius:20px;color:#666;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.category-chip:hover{background:#f5f5f5;border-color:#515f65;transform:translateY(-1px)}.category-chip.active{background:#515f65;border-color:#515f65;color:#fff}.texture-search-results{flex:1 1;overflow-y:auto;padding:1.5rem}.loading-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.texture-skeleton{animation:loading 1.5s infinite;aspect-ratio:1;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.texture-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.texture-item{aspect-ratio:1;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.texture-item:hover{box-shadow:0 8px 20px #00000026;transform:scale(1.03)}.texture-item img{height:100%;object-fit:cover;width:100%}.download-overlay{align-items:center;background:#000c;color:#fff;display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute}.download-progress-bar{background:#fff3;border-radius:2px;height:4px;overflow:hidden;width:80%}.download-progress-fill{background:#4caf50;height:100%;transition:width .3s ease}.texture-hover-info{background:linear-gradient(0deg,#000000e6,#0000);bottom:0;color:#fff;left:0;padding:1rem;position:absolute;right:0;transform:translateY(100%);transition:transform .3s ease}.texture-item:hover .texture-hover-info{transform:translateY(0)}.texture-hover-info h4{font-size:.9rem;font-weight:600;margin:0 0 .25rem}.texture-hover-info p{font-size:.8rem;margin:0 0 .75rem;opacity:.8}.texture-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.download-all-btn,.download-single-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;min-width:130px;padding:.4rem .8rem;transition:all .2s ease;white-space:nowrap}.download-single-btn{background:#515f65e6;color:#fff}.download-single-btn:hover{background:#515f65;transform:translateY(-1px)}.download-all-btn{background:#4caf50e6;color:#fff}.download-all-btn:hover{background:#4caf50;transform:translateY(-1px)}.texture-search-footer{background:#f8f8f8;border-radius:0 0 8px 8px;border-top:1px solid #eee;padding:1rem 1.5rem;text-align:center}.texture-search-footer p{color:#666;font-size:.85rem;margin:0}.texture-search-footer a{color:#515f65;font-weight:500;text-decoration:none}.texture-search-footer a:hover{text-decoration:underline}.texture-search-results::-webkit-scrollbar{width:8px}.texture-search-results::-webkit-scrollbar-track{background:#f1f1f1}.texture-search-results::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.texture-search-results::-webkit-scrollbar-thumb:hover{background:#555}.blockmesh-modal-overlay{background-color:#515f6599;bottom:0;left:0;pointer-events:all;position:fixed;right:0;top:0;z-index:9999}.blockmesh-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:520px!important;z-index:10000}.blockmesh-modal .controls-header{flex-shrink:0;min-height:55px;position:relative;z-index:10}.blockmesh-modal.collapsed{min-height:auto;width:300px}.blockmesh-modal.collapsed .modal-content{display:none}.blockmesh-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.close-button{background:#f5f5f5;border-radius:6px;color:#666;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.close-button:hover{background:#e8e8e8}.blockmesh-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.setting-group{margin-bottom:1.5rem}.setting-group:first-child{margin-top:.5rem}.setting-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.setting-group h3{color:#515f65;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.cell-count-slider{-webkit-appearance:none;background:linear-gradient(90deg,#e0e0e0 0,#e0e0e0);border-radius:4px;cursor:pointer;height:8px;margin:1rem 0;outline:none;position:relative;width:100%}.cell-count-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.cell-count-slider::-webkit-slider-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.cell-count-slider::-webkit-slider-thumb:active{transform:scale(.95)}.cell-count-slider::-moz-range-thumb{background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.cell-count-slider::-moz-range-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.cell-count-slider::-moz-range-track{background:#e0e0e0;border-radius:4px;height:8px}.slider-labels{color:#666;display:flex;font-size:.75rem;height:20px;justify-content:space-between;margin-top:-.5rem;position:relative}.cell-size-controls{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr)}.size-input-group{align-items:center;display:flex;gap:.25rem}.size-input-group label{color:#666;font-size:.8rem;font-weight:600;margin:0;min-width:15px}.size-input-group input{border:1px solid #e0e0e0;border-radius:4px;flex:1 1;font-size:.8rem;padding:.3rem .2rem;transition:border-color .2s}.size-input-group input:focus{border-color:#515f65;outline:none}.input-with-unit{display:flex;flex:1 1;position:relative}.input-with-unit input{padding-right:1.2rem!important}.unit-inside{color:#666;font-size:.7rem;font-weight:500;pointer-events:none;position:absolute;right:.2rem;top:50%;transform:translateY(-50%)}.info-group{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.info-group h3{color:#333;font-size:1rem;margin:0 0 1rem}.info-item{border-bottom:1px solid #e0e0e0;padding:.5rem 0}.info-item:last-child{border-bottom:none}.info-item.total{border-top:2px solid #515f65;color:#515f65;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding-top:1rem}.info-item span{color:#666}.info-item strong{color:#333;font-weight:600}.uniform-checkbox{margin-bottom:1rem}.uniform-checkbox label{align-items:center!important;color:#515f65;cursor:pointer;display:flex!important;font-size:.85rem;font-weight:500;gap:.5rem}.uniform-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;min-height:20px!important;min-width:20px!important;width:20px!important}.size-input-group input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.preview-toggle{margin-bottom:2rem}.preview-toggle label{align-items:center!important;cursor:pointer;display:flex!important;font-size:.85rem;font-weight:500;gap:.5rem}.preview-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;min-height:20px!important;min-width:20px!important;width:20px!important}.modal-actions{border-top:1px solid #e0e0e0;padding-top:1rem}.modal-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.delete-button{background-color:#dc3545}.delete-button:hover{background-color:#c82333;box-shadow:0 2px 4px #dc35454d;transform:translateY(-1px)}.tab-navigation{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:1.5rem}.tab-button{background:none;border:none;border-radius:4px 4px 0 0;color:#666;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.tab-button:hover{background:#f5f5f5;color:#333}.tab-button.active{color:#515f65;font-weight:600}.tab-button.active:after{background:#515f65;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{min-height:300px}.patch-controls{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.patch-item{display:flex;flex-direction:column;gap:.75rem}.patch-item>label{border-bottom:1px solid #e0e0e0;color:#333;font-size:.95rem;font-weight:600;margin:0;padding-bottom:.25rem}.patch-config-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.patch-field{display:flex;flex-direction:column;gap:.25rem}.field-label{color:#666;font-size:.8rem;font-weight:500}.patch-field input,.patch-field select{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;font-size:.85rem;padding:.5rem;transition:border-color .2s}.patch-field select{cursor:pointer}.patch-field input{width:100%}.patch-field input:hover,.patch-field select:hover{border-color:#515f65}.patch-field input:focus,.patch-field select:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.info-text{color:#666;font-size:.85rem;line-height:1.4}.info-text strong{color:#515f65}@media (max-width:768px){.blockmesh-modal{max-width:600px;width:90%}.cell-size-controls,.patch-config-group{grid-template-columns:1fr}}.vertices-table-container{margin-top:1rem}.vertices-table{background:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;overflow:hidden;width:100%}.vertices-table thead{background-color:#f5f5f5}.vertices-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:600;padding:.75rem;text-align:left}.vertices-table td{border-bottom:1px solid #e0e0e0;font-size:.85rem;padding:.75rem}.vertices-table tbody tr:hover{background-color:#f9f9f9}.vertices-table tbody tr:last-child td{border-bottom:none}.vertex-index{color:#515f65;font-weight:600;text-align:center;width:60px}.vertex-desc{color:#666;font-size:.8rem;font-style:italic}.vertices-info{background-color:#f5f5f5;border-radius:4px;margin-top:1.5rem;padding:1rem}.vertices-info h4{color:#333;font-size:1rem;margin:0 0 .5rem}.block-definition{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;margin:.5rem 0;padding:.75rem}.block-definition code{color:#333;font-family:Courier New,monospace;font-size:.9rem}.no-bounds-message{color:#666;font-style:italic;padding:2rem;text-align:center}.refinement-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:420px!important;z-index:10000}.refinement-modal .controls-header{flex-shrink:0;min-height:55px;position:relative;z-index:10}.refinement-modal .close-btn,.refinement-modal .collapse-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;opacity:.8;padding:4px 8px;transition:opacity .2s}.refinement-modal .close-btn:hover,.refinement-modal .collapse-btn:hover{opacity:1}.refinement-modal .close-btn{font-size:18px;padding:4px 8px}.refinement-modal.collapsed{min-height:auto;width:300px}.refinement-modal.collapsed .modal-content{display:none}.refinement-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.refinement-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.refinement-modal .form-group{margin-bottom:20px}.refinement-modal .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.refinement-modal .form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .15s ease-in-out;width:100%}.refinement-modal .form-control:focus{border-color:#d4a76a;outline:none}.refinement-modal .mode-selector{display:flex;gap:10px}.refinement-modal .mode-button{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;flex:1 1;font-size:14px;padding:10px;transition:all .2s}.refinement-modal .mode-button:hover{background:#f5f5f5;border-color:#bbb}.refinement-modal .mode-button.active{background:#d4a76a;border-color:#d4a76a;color:#fff;font-weight:500}.refinement-modal .distance-section{margin-top:10px}.refinement-modal .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.refinement-modal .section-header label{margin-bottom:0}.refinement-modal .add-button{align-items:center;background:#d4a76a;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:28px;justify-content:center;transition:background .2s;width:28px}.refinement-modal .add-button:hover{background:#c4975a}.refinement-modal .distance-table-container{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:4px;max-height:200px;overflow:hidden;overflow-y:auto}.refinement-modal .distance-table{border-collapse:collapse;width:100%}.refinement-modal .distance-table th{background:#f5f5f5;border-bottom:1px solid #e5e5e5;color:#666;font-size:13px;font-weight:500;padding:10px;text-align:left}.refinement-modal .distance-table th:first-child{width:30%}.refinement-modal .distance-table th:nth-child(2){width:25%}.refinement-modal .distance-table th:nth-child(3){width:35%}.refinement-modal .distance-table th:nth-child(4){text-align:center;width:10%}.refinement-modal .distance-table td{border-bottom:1px solid #e5e5e5;padding:8px 10px;vertical-align:middle}.refinement-modal .distance-table td:last-child{padding:8px 5px;text-align:center}.refinement-modal .distance-table tr:last-child td{border-bottom:none}.refinement-modal .table-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;padding:6px 8px;width:80px}.refinement-modal .table-input:focus{border-color:#d4a76a;outline:none}.refinement-modal .remove-button{align-items:center;background:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;transition:background .2s;width:24px}.refinement-modal .remove-button:hover{background:#f33}.refinement-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.refinement-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.refinement-modal .reset-button{background-color:#fff;border:1px solid #ddd;color:#515f65}.refinement-modal .reset-button:hover{background-color:#f5f5f5;border-color:#515f65}.setfields-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;isolation:isolate;max-height:90vh;overflow:hidden;position:fixed;width:520px!important;z-index:10000}.setfields-modal.collapsed{min-width:auto}.setfields-modal.collapsed .modal-content{display:none}.setfields-modal .controls-header{box-sizing:border-box;flex-shrink:0;margin-bottom:0;min-height:55px;overflow:visible;position:relative;z-index:10}.setfields-modal.collapsed{min-height:auto;width:300px}.setfields-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.setfields-modal .modal-content{background-color:#f8f9fa;box-sizing:border-box;flex:1 1 auto;margin-top:0;min-height:0;overflow-y:auto;padding:24px;position:relative;z-index:1}.setfields-modal .form-group{margin-bottom:16px}.setfields-modal .form-group:first-child{margin-top:12px;padding-top:4px}.setfields-modal .form-group label{color:#333;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.setfields-modal .form-control{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.setfields-modal .form-control:focus{border-color:orange;box-shadow:0 0 0 2px #ffa5001a;outline:none}.setfields-modal select.form-control{cursor:pointer}.setfields-modal .field-description{color:#666;display:block;font-size:12px;font-style:italic;margin-top:4px}.setfields-modal .vector-inputs{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.setfields-modal .vector-component{display:flex;flex-direction:column}.setfields-modal .vector-component label{color:#555;font-size:12px;margin-bottom:4px}.setfields-modal .vector-component input{padding:6px 10px}.setfields-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:20px;padding-top:16px}.setfields-modal .apply-button,.setfields-modal .cancel-button,.setfields-modal .delete-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.setfields-modal .apply-button{background-color:orange;color:#fff;flex:1 1}.setfields-modal .apply-button:hover{background-color:#ff8c00}.setfields-modal .cancel-button{background-color:#f0f0f0;color:#333;flex:1 1}.setfields-modal .cancel-button:hover{background-color:#e0e0e0}.setfields-modal .delete-button{background-color:#dc3545;color:#fff;margin-left:auto}.setfields-modal .delete-button:hover{background-color:#c82333}.scene-controls{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;max-height:90vh;overflow:hidden;position:fixed;right:20px;top:20px;transition:all .3s ease;-webkit-user-select:none;user-select:none;width:320px;z-index:1000}.scene-controls.dragging{opacity:.9;transition:none}.scene-controls.collapsed{height:65px;width:200px}.controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.collapsed .controls-header h3{display:block;overflow:hidden;white-space:nowrap}.collapsed .controls-header{padding:.75rem 1rem}.header-buttons{align-items:center;display:flex;gap:8px}.collapse-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:4px 8px;position:relative;transition:all .2s ease;z-index:1}.collapse-btn:hover{background:#ffffff1a;color:#fff}.controls-content{max-height:80vh;overflow-y:auto;padding:16px}.collapsed .controls-content{display:none}.control-section{margin-bottom:24px}.control-section:last-child{margin-bottom:0}.control-section h4{border-bottom:1px solid #eee;color:#515f65;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.control-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.control-item:last-child{margin-bottom:0}.control-item label{align-items:center;color:#333;cursor:pointer;display:flex;flex:1 1;font-size:13px;gap:8px;-webkit-user-select:none;user-select:none}.control-item input[type=checkbox]{accent-color:#515f65;cursor:pointer;height:24px!important;min-height:24px!important;min-width:24px!important;width:24px!important}.control-item input[type=color]{border:none;border-radius:4px;cursor:pointer;height:32px;padding:0;width:40px}.control-item input[type=range]{accent-color:#515f65;flex:1 1;margin:0 8px}.control-item select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;margin-top:12px;padding:8px 12px;width:70%}.control-item label+select{margin-top:16px!important}.control-item span{color:#666;font-size:12px;min-width:30px;text-align:right}.control-button{background:#515f65;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:8px;padding:10px 16px;transition:all .2s ease;width:100%}.control-button:hover{background:#404a4f;transform:translateY(-1px)}.control-button:active{transform:translateY(0)}.control-button:last-child{margin-bottom:0}.controls-content::-webkit-scrollbar{width:6px}.controls-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.controls-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.controls-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.shortcuts-header{align-items:center;border-bottom:1px solid #eee;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:12px;padding:4px 0 8px;transition:background-color .2s ease}.shortcuts-header:hover{background-color:#f8f9fa}.shortcuts-header h4{border-bottom:none;color:#515f65;flex:1 1;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;padding-bottom:0;text-transform:uppercase}.shortcuts-toggle{color:#666;font-size:12px;margin-left:8px;transition:transform .2s ease}.shortcuts-toggle.expanded{transform:rotate(180deg)}.shortcuts-list{display:flex;flex-direction:column;gap:16px;margin-top:8px}.shortcut-group h5{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.shortcut-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px;padding:2px 0}.shortcut-key{background:#f5f5f5;border:1px solid #ddd;border-radius:3px;color:#515f65;font-family:Courier New,monospace;font-size:11px;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content;padding:2px 6px;white-space:nowrap}.shortcut-desc{color:#666;flex:1 1;font-size:11px;margin-left:8px;text-align:right}@media (max-width:768px){.scene-controls{right:10px;top:10px;width:280px}.scene-controls.collapsed{width:45px}.shortcut-item{align-items:flex-start;flex-direction:column;gap:2px}.shortcut-desc{margin-left:0;text-align:left}}.simulation-control-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;max-height:80vh;overflow:hidden;position:fixed;width:600px;z-index:10000}.simulation-control-modal .controls-header{align-items:center;background:linear-gradient(135deg,#515f65,#414a4f);border-radius:8px 8px 0 0;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:relative;-webkit-user-select:none;user-select:none;z-index:1}.simulation-control-modal .controls-header h3{font-size:1.2rem;font-weight:500;margin:0}.simulation-control-modal .header-buttons{display:flex;gap:.5rem}.simulation-control-modal .close-btn,.simulation-control-modal .collapse-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;opacity:.8;padding:4px 8px;transition:opacity .2s}.simulation-control-modal .close-btn:hover,.simulation-control-modal .collapse-btn:hover{opacity:1}.simulation-control-modal .close-btn{font-size:18px;padding:4px 8px}.simulation-control-modal.collapsed{min-height:auto;width:300px}.simulation-control-modal.collapsed .modal-content{display:none}.simulation-control-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.simulation-control-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(80vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:0}.simulation-control-modal .setting-group,.simulation-control-modal .setting-group:last-child{margin-bottom:1rem}.simulation-control-modal .setting-group h3{color:#333;font-size:1rem;font-weight:600;margin:0}.simulation-control-modal .setting-group.collapsible{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;position:relative}.simulation-control-modal .section-header{align-items:center;background-color:#f8f9fa;cursor:pointer;display:flex;padding:.75rem 1rem;transition:background-color .2s;-webkit-user-select:none;user-select:none}.simulation-control-modal .section-header:hover{background-color:#f0f0f0}.simulation-control-modal .section-toggle{color:#666;font-size:.75rem;margin-right:.5rem;transition:transform .2s}.simulation-control-modal .section-content{background-color:#fff;border-top:1px solid #e0e0e0;padding:1rem}.simulation-control-modal .setting-group:first-child{margin-top:.5rem}.simulation-control-modal .form-group{margin-bottom:1rem}.simulation-control-modal .section-content .form-group:last-child{margin-bottom:0}.simulation-control-modal .form-group label{color:#555;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.simulation-control-modal .form-control{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease-in-out;width:100%}.simulation-control-modal .form-control:focus{border-color:#d4a76a;box-shadow:0 0 0 2px #d4a76a1a;outline:none}.simulation-control-modal select.form-control{cursor:pointer}.simulation-control-modal .checkbox-group{align-items:center;display:flex}.simulation-control-modal .checkbox-group label{align-items:center!important;color:#515f65;cursor:pointer;display:flex!important;font-size:.85rem;font-weight:500;gap:.5rem;margin-bottom:0}.simulation-control-modal .checkbox-group input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;min-height:20px!important;min-width:20px!important;width:20px!important}.simulation-control-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.simulation-control-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.simulation-control-modal .apply-button{background-color:#515f65;color:#fff}.simulation-control-modal .apply-button:hover{background-color:#415055}.simulation-control-modal .cancel-button{background-color:#515f65;color:#fff}.simulation-control-modal .cancel-button:hover{background-color:#415055}.simulation-control-modal .reset-button{background-color:#fff;border:1px solid #ddd;color:#515f65}.simulation-control-modal .reset-button:hover{background-color:#f5f5f5;border-color:#515f65}.simulation-control-modal .info-text{color:#666;font-size:.8rem;margin-top:.25rem}@media (max-width:768px){.simulation-control-modal{left:5%!important;width:90%}}.function-group{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.function-group h4{color:#515f65;font-size:1rem;font-weight:500;margin:0 0 .75rem}.function-settings{margin-top:1rem;padding-left:1.5rem}.function-settings .form-group{margin-bottom:.75rem}.fv-solver-modal{background:#fff;border-radius:8px;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.fv-solver-modal.collapsed{min-height:auto;width:300px}.fv-solver-modal.collapsed .modal-content{display:none}.fv-solver-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.fv-solver-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.fv-solver-modal .header-actions{align-items:center;display:flex;gap:.5rem}.fv-solver-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.fv-solver-modal .header-button:hover{background-color:#ffffff1a}.fv-solver-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.fv-solver-modal .setting-group{margin-bottom:1.5rem}.fv-solver-modal .setting-group:last-of-type{margin-bottom:1rem}.fv-solver-modal .section-header{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;transition:all .2s ease}.fv-solver-modal .section-header:hover{background:#ececec;border-color:#d0d0d0}.fv-solver-modal .section-header h3{color:#515f65;font-size:.95rem;font-weight:600;margin:0}.fv-solver-modal .expand-toggle{background:none;border:none;color:#515f65;cursor:pointer;font-size:.875rem;padding:.25rem;transition:transform .2s ease}.fv-solver-modal .section-content{animation:fadeIn .3s ease;padding-left:1rem}.fv-solver-modal .solver-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:.75rem}.fv-solver-modal .solver-item{display:flex;flex-direction:column;gap:.3rem}.fv-solver-modal .solver-item label{color:#666;font-size:.85rem;font-weight:600}.fv-solver-modal .solver-item select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s}.fv-solver-modal .solver-item select:focus{border-color:#515f65;outline:none}.fv-solver-modal .parameters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:.75rem}.fv-solver-modal .parameter-item{display:flex;flex-direction:column;gap:.3rem}.fv-solver-modal .parameter-item label{color:#666;font-size:.85rem;font-weight:600}.fv-solver-modal .parameter-item input[type=number]{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.fv-solver-modal .parameter-item input[type=number]:focus{border-color:#515f65;outline:none}.fv-solver-modal .checkbox-item{margin-top:1rem}.fv-solver-modal .checkbox-label{align-items:center!important;color:#333;cursor:pointer;display:flex!important;font-size:.9rem;font-weight:500;gap:.5rem}.fv-solver-modal .checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:12px!important;margin-right:.3rem;transform:scale(.6);width:12px!important}.fv-solver-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.fv-solver-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.fv-solver-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.fv-solver-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5}.fv-solver-modal .modal-content::-webkit-scrollbar{width:8px}.fv-solver-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.fv-solver-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.fv-solver-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.fv-solver-modal .parameter-item input[title]{cursor:help}.fv-schemes-modal{background:#fff;border-radius:8px;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.fv-schemes-modal.collapsed{min-height:auto;width:300px}.fv-schemes-modal.collapsed .modal-content{display:none}.fv-schemes-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.fv-schemes-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.fv-schemes-modal .header-actions{align-items:center;display:flex;gap:.5rem}.fv-schemes-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.fv-schemes-modal .header-button:hover{background-color:#ffffff1a}.fv-schemes-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.fv-schemes-modal .setting-group{margin-bottom:1.5rem}.fv-schemes-modal .setting-group:last-of-type{margin-bottom:1rem}.fv-schemes-modal .setting-group h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.fv-schemes-modal .scheme-item{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.fv-schemes-modal .scheme-item:last-child{margin-bottom:0}.fv-schemes-modal .scheme-item label{color:#666;font-size:.85rem;font-weight:600}.fv-schemes-modal .scheme-item select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.fv-schemes-modal .scheme-item select:focus{border-color:#515f65;outline:none}.fv-schemes-modal .schemes-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:.75rem}.fv-schemes-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.fv-schemes-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.fv-schemes-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.fv-schemes-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5}.fv-schemes-modal .modal-content::-webkit-scrollbar{width:8px}.fv-schemes-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.fv-schemes-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.fv-schemes-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.fv-schemes-modal .scheme-item select[title]{cursor:help}.turbulence-settings-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.turbulence-settings-modal.collapsed{min-height:auto;width:300px}.turbulence-settings-modal.collapsed .modal-content{display:none}.turbulence-settings-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.turbulence-settings-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.turbulence-settings-modal .header-actions{align-items:center;display:flex;gap:.5rem}.turbulence-settings-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.turbulence-settings-modal .header-button:hover{background-color:#ffffff1a}.turbulence-settings-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.turbulence-settings-modal .setting-group{margin-bottom:1.5rem}.turbulence-settings-modal .setting-group:last-of-type{margin-bottom:1rem}.turbulence-settings-modal .setting-group h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.turbulence-settings-modal .model-selection{display:flex;gap:2rem;justify-content:center;margin-top:.75rem}.turbulence-settings-modal .radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem}.turbulence-settings-modal .radio-label input[type=radio]{cursor:pointer;height:12px;margin-right:.3rem;transform:scale(.7);width:12px}.turbulence-settings-modal .radio-label span{font-weight:500}.turbulence-settings-modal .parameters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:.75rem}.turbulence-settings-modal .parameters-grid.centered{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.turbulence-settings-modal .parameter-item{display:flex;flex-direction:column;gap:.3rem}.turbulence-settings-modal .parameter-item label{color:#666;font-size:.85rem;font-weight:600}.turbulence-settings-modal .parameter-item input[type=number]{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.turbulence-settings-modal .parameter-item input[type=number]:focus{border-color:#515f65;outline:none}.turbulence-settings-modal .checkbox-item{grid-column:span 3;margin-top:.5rem}.turbulence-settings-modal .checkbox-label{align-items:center!important;color:#333;cursor:pointer;display:flex!important;font-size:.9rem;font-weight:500;gap:.5rem}.turbulence-settings-modal .checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:12px!important;margin-right:.3rem;transform:scale(.6);width:12px!important}.turbulence-settings-modal .solver-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.turbulence-settings-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.turbulence-settings-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.turbulence-settings-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;box-shadow:0 1px 2px #0000000d;color:#515f65}.turbulence-settings-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5;box-shadow:0 1px 3px #0000001a}.turbulence-settings-modal .modal-content::-webkit-scrollbar{width:8px}.turbulence-settings-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.turbulence-settings-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.turbulence-settings-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.turbulence-settings-modal .parameter-item input[title]{cursor:help}.turbulence-settings-modal .section-header{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;transition:all .2s ease}.turbulence-settings-modal .section-header:hover{background:#ececec;border-color:#d0d0d0}.turbulence-settings-modal .section-header h3{color:#515f65;font-size:.95rem;font-weight:600;margin:0}.turbulence-settings-modal .expand-toggle{background:none;border:none;color:#515f65;cursor:pointer;font-size:.875rem;padding:.25rem;transition:transform .2s ease}.turbulence-settings-modal .section-content{animation:fadeIn .3s ease;padding-left:1rem}.thermophysical-properties-modal{background:#fff;border-radius:8px;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.thermophysical-properties-modal.collapsed{min-height:auto;width:300px}.thermophysical-properties-modal.collapsed .modal-content{display:none}.thermophysical-properties-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.thermophysical-properties-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.thermophysical-properties-modal .header-actions{align-items:center;display:flex;gap:.5rem}.thermophysical-properties-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.thermophysical-properties-modal .header-button:hover{background-color:#ffffff1a}.thermophysical-properties-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.thermophysical-properties-modal .setting-group{margin-bottom:1.5rem}.thermophysical-properties-modal .setting-group:last-of-type{margin-bottom:1rem}.thermophysical-properties-modal .section-header{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;transition:all .2s ease}.thermophysical-properties-modal .section-header:hover{background:#ececec;border-color:#d0d0d0}.thermophysical-properties-modal .section-header h3{color:#515f65;font-size:.95rem;font-weight:600;margin:0}.thermophysical-properties-modal .expand-toggle{background:none;border:none;color:#515f65;cursor:pointer;font-size:.875rem;padding:.25rem;transition:transform .2s ease}.thermophysical-properties-modal .section-content{animation:fadeIn .3s ease;padding-left:1rem}.thermophysical-properties-modal .model-selection{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:.75rem}.thermophysical-properties-modal .radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:.95rem;gap:.5rem}.thermophysical-properties-modal .radio-label input[type=radio]{cursor:pointer;height:12px;margin-right:.3rem;transform:scale(.7);width:12px}.thermophysical-properties-modal .radio-label span{font-weight:500}.thermophysical-properties-modal .thermo-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:.75rem}.thermophysical-properties-modal .thermo-item{display:flex;flex-direction:column;gap:.3rem}.thermophysical-properties-modal .thermo-item label{color:#666;font-size:.85rem;font-weight:600}.thermophysical-properties-modal .thermo-item select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s}.thermophysical-properties-modal .thermo-item select:focus{border-color:#515f65;outline:none}.thermophysical-properties-modal .parameters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:.75rem}.thermophysical-properties-modal .parameter-item{display:flex;flex-direction:column;gap:.3rem}.thermophysical-properties-modal .parameter-item label{color:#666;font-size:.85rem;font-weight:600}.thermophysical-properties-modal .parameter-item input[type=number]{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.thermophysical-properties-modal .parameter-item input[type=number]:focus{border-color:#515f65;outline:none}.thermophysical-properties-modal .parameter-item select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.thermophysical-properties-modal .parameter-item select:focus{border-color:#515f65;outline:none}.thermophysical-properties-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.thermophysical-properties-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.thermophysical-properties-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.thermophysical-properties-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5}.thermophysical-properties-modal .modal-content::-webkit-scrollbar{width:8px}.thermophysical-properties-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.thermophysical-properties-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.thermophysical-properties-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.thermophysical-properties-modal .parameter-item input[title]{cursor:help}.boundary-conditions-modal{background:#fff;border-radius:8px;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.boundary-conditions-modal.collapsed{min-height:auto;width:300px}.boundary-conditions-modal.collapsed .modal-content{display:none}.boundary-conditions-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.boundary-conditions-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.boundary-conditions-modal .header-actions{align-items:center;display:flex;gap:.5rem}.boundary-conditions-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.boundary-conditions-modal .header-button:hover{background-color:#ffffff1a}.boundary-conditions-modal.collapsed .controls-header{border-bottom:none}.boundary-conditions-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.boundary-conditions-modal .info-group{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.boundary-conditions-modal .info-group p{color:#515f65;font-size:.9rem;font-weight:500;margin:0}.boundary-conditions-modal .setting-group{margin-bottom:1.5rem}.boundary-conditions-modal .setting-group:first-child{margin-top:.5rem}.boundary-conditions-modal .setting-group h3{color:#333;font-size:.95rem;font-weight:600;margin:0 0 .75rem}.boundary-conditions-modal .section-header{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem;transition:all .2s ease}.boundary-conditions-modal .section-header:hover{background:#ececec;border-color:#d0d0d0}.boundary-conditions-modal .section-header h3{color:#515f65;font-size:1rem;font-weight:600;margin:0}.boundary-conditions-modal .expand-toggle{background:none;border:none;color:#515f65;cursor:pointer;font-size:.875rem;padding:.25rem;transition:transform .2s ease}.boundary-conditions-modal .section-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.boundary-conditions-modal .condition-item{margin-bottom:1rem}.boundary-conditions-modal .condition-item:last-child{margin-bottom:0}.boundary-conditions-modal .condition-item>label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.boundary-conditions-modal .condition-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.boundary-conditions-modal .checkbox-label{align-items:center!important;color:#515f65;cursor:pointer;display:flex!important;font-size:.95rem;font-weight:500;gap:.5rem;margin-bottom:.75rem}.boundary-conditions-modal .checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;min-height:20px!important;min-width:20px!important;width:20px!important}.boundary-conditions-modal .section-content{padding-left:1.75rem}.boundary-conditions-modal .input-row{gap:10px}.boundary-conditions-modal .input-row input[type=number],.boundary-conditions-modal .input-row select{border:1px solid #ddd;font-size:14px;padding:8px 12px}.boundary-conditions-modal input[type=range]{-webkit-appearance:none;background:#ddd;border-radius:3px;flex:1 1;height:6px;outline:none}.boundary-conditions-modal input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#06c;border-radius:50%;cursor:pointer;height:16px;width:16px}.boundary-conditions-modal input[type=range]::-moz-range-thumb{background:#06c;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.boundary-conditions-modal .value-display{color:#333;font-weight:500}.boundary-conditions-modal .velocity-inputs{display:flex;flex-direction:column;gap:10px}.boundary-conditions-modal .input-group{align-items:center;display:flex;gap:10px}.boundary-conditions-modal .input-group label{color:#666;font-weight:500;min-width:25px}.boundary-conditions-modal .input-group input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:6px 10px}.boundary-conditions-modal .input-group span{color:#666;font-size:14px;min-width:35px}.boundary-conditions-modal .velocity-magnitude{background:#e8f4fd;border-radius:4px;color:#06c;font-size:13px;margin-top:10px;padding:8px 12px;text-align:center}.boundary-conditions-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.boundary-conditions-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.boundary-conditions-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;box-shadow:0 1px 2px #0000000d;color:#515f65}.boundary-conditions-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5;box-shadow:0 1px 3px #0000001a}.boundary-conditions-modal .modal-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.6}.boundary-conditions-modal .input-row{align-items:center;display:flex;gap:.5rem}.boundary-conditions-modal .input-row input[type=number]{border:1px solid #e0e0e0;border-radius:4px;flex:1 1;font-size:.9rem;padding:.5rem;transition:border-color .2s}.boundary-conditions-modal .input-row input[type=number]:focus{border-color:#515f65;outline:none}.boundary-conditions-modal .input-row select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem;transition:border-color .2s}.boundary-conditions-modal .input-row select:focus{border-color:#515f65;outline:none}.boundary-conditions-modal .material-prop{align-items:center;display:flex;gap:.75rem}.boundary-conditions-modal .material-prop input[type=range]{-webkit-appearance:none;background:linear-gradient(90deg,#e0e0e0 0,#e0e0e0);border-radius:4px;cursor:pointer;flex:1 1;height:8px;outline:none;position:relative}.boundary-conditions-modal .material-prop input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.boundary-conditions-modal .material-prop input[type=range]::-webkit-slider-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.boundary-conditions-modal .material-prop input[type=range]::-webkit-slider-thumb:active{transform:scale(.95)}.boundary-conditions-modal .material-prop input[type=range]::-moz-range-thumb{background:#515f65;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.boundary-conditions-modal .material-prop input[type=range]::-moz-range-thumb:hover{background:#415055;box-shadow:0 3px 6px #515f6566;transform:scale(1.1)}.boundary-conditions-modal .material-prop input[type=range]::-moz-range-track{background:#e0e0e0;border-radius:4px;height:8px}.boundary-conditions-modal .material-prop span{color:#515f65;font-size:.9rem;font-weight:600;min-width:45px;text-align:right}.boundary-conditions-modal .value-display{color:#515f65;font-size:.9rem;font-weight:600;min-width:50px;text-align:right}.boundary-conditions-modal .cell-size-controls{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(120px,140px));justify-content:start}.boundary-conditions-modal .size-input-group{align-items:center;display:flex;gap:.25rem}.boundary-conditions-modal .size-input-group label{color:#666;font-size:.8rem;font-weight:600;margin:0;min-width:15px}.boundary-conditions-modal .size-input-group input{border:1px solid #e0e0e0;border-radius:4px;flex:1 1;font-size:.85rem;max-width:100px;padding:.3rem .5rem;transition:border-color .2s;width:100px}.boundary-conditions-modal .size-input-group input:focus{border-color:#515f65;outline:none}.boundary-conditions-modal .input-with-unit{display:flex;flex:1 1;position:relative}.boundary-conditions-modal .input-with-unit input{padding-right:2rem!important}.boundary-conditions-modal .unit-inside{color:#666;font-size:.7rem;font-weight:500;pointer-events:none;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.boundary-conditions-modal .info-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.5rem 0}.boundary-conditions-modal .info-item:last-child{border-bottom:none}.boundary-conditions-modal .info-item span{color:#666}.boundary-conditions-modal .info-item strong{color:#333;font-weight:600}.boundary-conditions-modal .patch-type-info{background:#e8f4fd;border-left:3px solid #06c;border-radius:4px;margin-top:.75rem;padding:.5rem}.boundary-conditions-modal .patch-type-info p{color:#06c;font-size:.85rem;font-weight:500;margin:0}.boundary-conditions-modal input[type=text]{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.5rem;transition:border-color .2s;width:100%}.boundary-conditions-modal input[type=text]:focus{border-color:#515f65;outline:none}.boundary-conditions-modal input[type=text]:read-only{background-color:#f5f5f5;color:#666;cursor:not-allowed}.boundary-conditions-modal .info-text{margin-top:.5rem}.boundary-conditions-modal .info-text small{color:#666;font-size:.8rem;font-style:italic}.boundary-conditions-modal .modal-content::-webkit-scrollbar{width:8px}.boundary-conditions-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.boundary-conditions-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.boundary-conditions-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.boundary-conditions-modal .tab-navigation{border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:1.5rem}.boundary-conditions-modal .tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.75rem 1rem;position:relative;transition:all .2s ease}.boundary-conditions-modal .tab-button:hover{background:#515f650d;color:#515f65}.boundary-conditions-modal .tab-button.active{border-bottom-color:#515f65;color:#515f65;font-weight:600}.boundary-conditions-modal .tab-content{min-height:300px}.radiation-settings-modal{background:#fff;border-radius:8px;box-shadow:none;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:600px!important;z-index:10000}.radiation-settings-modal.collapsed{min-height:auto;width:300px}.radiation-settings-modal.collapsed .modal-content{display:none}.radiation-settings-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;justify-content:space-between;padding:1rem 1.5rem}.radiation-settings-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.radiation-settings-modal .header-actions{align-items:center;display:flex;gap:.5rem}.radiation-settings-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.radiation-settings-modal .header-button:hover{background-color:#ffffff1a}.radiation-settings-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.radiation-settings-modal .setting-group{margin-bottom:1.5rem}.radiation-settings-modal .setting-group:last-of-type{margin-bottom:1rem}.radiation-settings-modal .setting-group h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem;padding-bottom:.5rem}.radiation-settings-modal .model-selection{margin-top:.75rem}.radiation-settings-modal .model-selection select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s}.radiation-settings-modal .model-selection select:focus{border-color:#515f65;outline:none}.radiation-settings-modal .parameters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:.75rem}.radiation-settings-modal .parameter-item{display:flex;flex-direction:column;gap:.3rem}.radiation-settings-modal .parameter-item label{color:#666;font-size:.85rem;font-weight:600}.radiation-settings-modal .parameter-item input[type=number],.radiation-settings-modal .parameter-item input[type=text]{border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.radiation-settings-modal .parameter-item input[type=number]:focus,.radiation-settings-modal .parameter-item input[type=text]:focus{border-color:#515f65;outline:none}.radiation-settings-modal .parameter-item select{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .6rem;transition:border-color .2s;width:100%}.radiation-settings-modal .parameter-item select:focus{border-color:#515f65;outline:none}.radiation-settings-modal .solver-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.radiation-settings-modal .checkbox-label{align-items:center!important;color:#333;cursor:pointer;display:flex!important;font-size:.9rem;font-weight:500;gap:.5rem}.radiation-settings-modal .checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:12px!important;margin-right:.3rem;transform:scale(.6);width:12px!important}.radiation-settings-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.radiation-settings-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.radiation-settings-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.radiation-settings-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5}.radiation-settings-modal .modal-content::-webkit-scrollbar{width:8px}.radiation-settings-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.radiation-settings-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.radiation-settings-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.radiation-settings-modal .parameter-item input[title]{cursor:help}.snappy-hex-mesh-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;margin:0!important;max-height:90vh;overflow:hidden;padding:0!important;position:fixed;width:600px!important;z-index:10000}.snappy-hex-mesh-modal.collapsed{max-height:55px;min-height:auto;width:300px}.snappy-hex-mesh-modal.collapsed .modal-actions,.snappy-hex-mesh-modal.collapsed .modal-content{display:none}.snappy-hex-mesh-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.snappy-hex-mesh-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;border-radius:8px 8px 0 0;color:#fff;cursor:move;display:flex;flex-shrink:0;justify-content:space-between;min-height:55px;padding:1rem 1.5rem;position:relative;z-index:10}.snappy-hex-mesh-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.snappy-hex-mesh-modal .header-actions{align-items:center;display:flex;gap:.5rem}.snappy-hex-mesh-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;min-width:32px;padding:.25rem .5rem;transition:all .3s ease}.snappy-hex-mesh-modal .header-button:hover{background-color:#ffffff1a}.snappy-hex-mesh-modal .modal-content{background-color:#fff;border:none;box-shadow:none;display:flex;flex:1 1;flex-direction:column;margin:0;max-height:calc(90vh - 70px);min-height:0;overflow:hidden;padding:0;position:relative;width:100%;z-index:1}.snappy-hex-mesh-modal .tab-navigation{background-color:#fafafa;border-bottom:1px solid #e0e0e0;box-sizing:border-box;display:flex;flex-shrink:0;gap:0;margin:0;padding:0;position:relative;width:100%;z-index:5}.snappy-hex-mesh-modal .tab-button{background:none;border:none;border-bottom:3px solid #0000;box-sizing:border-box;color:#666;cursor:pointer;flex:1 1;font-size:.9rem;margin:0;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.snappy-hex-mesh-modal .tab-button:hover{color:#333}.snappy-hex-mesh-modal .tab-button.active{background-color:#fff;border-bottom-color:#515f65;color:#515f65;font-weight:500;margin-bottom:-1px}.snappy-hex-mesh-modal .tab-content{background-color:#fff;border:none;box-shadow:none;flex:1 1;overflow-y:auto;padding:1.5rem 0;position:relative;width:100%;z-index:2}.snappy-hex-mesh-modal .settings-section{background:#0000;border:none;box-shadow:none;display:flex;flex-direction:column;gap:1rem;padding:0 1.5rem}.settings-section h4{border-bottom:1px solid #f0f0f0;color:#515f65;font-size:.95rem;font-weight:600;margin:1rem 0 0;padding-bottom:.5rem}.settings-section h4:first-child{margin-top:0}.setting-item{display:flex;flex-direction:column;gap:.25rem}.setting-item label{color:#333;font-size:.9rem;font-weight:500}.setting-item input[type=number],.setting-item input[type=text],.setting-item select{background:#fff;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:.9rem;padding:.5rem;transition:border-color .2s ease;width:100%}.setting-item input[type=number]:focus,.setting-item input[type=text]:focus,.setting-item select:focus{border-color:#515f65;outline:none}.setting-item small{color:#666;font-size:.8rem;font-style:italic}.checkbox-label{color:#515f65;font-size:.85rem;font-weight:500}.checkbox-label input[type=checkbox]{height:20px!important;margin-right:.5rem;min-height:20px!important;min-width:20px!important;width:20px!important}.snappy-hex-mesh-modal .settings-grid,.two-column{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.snappy-hex-mesh-modal .settings-grid{margin-top:.5rem}.snappy-hex-mesh-modal .settings-grid .setting-item{margin-bottom:0}.snappy-hex-mesh-modal .setting-item.full-width{grid-column:1/-1}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.snappy-hex-mesh-modal .modal-actions{background-color:#fff;border-top:1px solid #e0e0e0;box-sizing:border-box;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;margin:0;padding:1rem 1.5rem;position:relative;width:100%;z-index:3}.snappy-hex-mesh-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;height:36px;min-width:80px;padding:.5rem 1rem;transition:all .2s ease}.snappy-hex-mesh-modal .modal-actions .btn-secondary{background-color:#f5f5f5;border:1px solid #ddd;color:#515f65}.snappy-hex-mesh-modal .modal-actions .btn-secondary:hover:not(:disabled){background-color:#e8e8e8;border-color:#c8cbc5}@media (max-width:768px){.snappy-hex-mesh-modal{max-height:90vh;width:95vw}.snappy-hex-mesh-modal .tab-content{max-height:calc(90vh - 200px)}.tab-navigation{flex-wrap:wrap}.tab-button{font-size:.85rem;padding:.4rem .8rem}}.snappy-hex-mesh-modal .modal-content::-webkit-scrollbar{width:8px}.snappy-hex-mesh-modal .modal-content::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.snappy-hex-mesh-modal .modal-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.snappy-hex-mesh-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#999}.setting-item input.modified{background-color:#f9fff9;border-color:#4caf50}.setting-item input:disabled,.setting-item select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.info-box{background-color:#e3f2fd;border:none;border-left:4px solid #2196f3;border-radius:4px;margin:.5rem 0;padding:.75rem}.info-box p{color:#1976d2;font-size:.85rem;margin:0}.spot-request-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;container-name:modal;container-type:inline-size;display:flex!important;flex-direction:column!important;margin:0!important;min-height:400px;min-width:400px;overflow:hidden;padding:0!important;position:fixed;resize:both;z-index:10000}.spot-request-modal.collapsed{max-height:55px;min-height:auto;resize:none;width:300px!important}.spot-request-modal.collapsed .modal-actions,.spot-request-modal.collapsed .modal-content{display:none}.spot-request-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.spot-request-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;border-radius:8px 8px 0 0;color:#fff;cursor:move;display:flex;flex-shrink:0;justify-content:space-between;min-height:55px;padding:1rem 1.5rem;position:relative;z-index:10}.spot-request-modal .header-title{align-items:center;display:flex;gap:.75rem}.spot-request-modal .aws-logo{filter:brightness(0) invert(1);height:50px;object-fit:contain;opacity:.9;width:auto}.spot-request-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.spot-request-modal .header-actions{align-items:center;display:flex;gap:.5rem}.spot-request-modal .header-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;min-width:32px;padding:.25rem .5rem;transition:all .3s ease}.spot-request-modal .header-button:hover{background-color:#ffffff1a}.spot-request-modal .header-button.iam-check-button{background-color:#ffffff26;border:1px solid #ffffff4d;color:#fff;font-size:13px;height:auto;margin-right:10px;min-width:auto;padding:4px 12px}.spot-request-modal .header-button.iam-check-button:hover{background-color:#ffffff40;border-color:#ffffff80}.spot-request-modal .modal-content{background-color:#fff;border:none;box-shadow:none;display:flex;flex:1 1;flex-direction:column;margin:0;min-height:0;overflow:hidden;padding:0;position:relative;width:100%;z-index:1}.spot-request-modal .tab-navigation{background-color:#f5f6f7;border-bottom:1px solid #e1e4e8;display:flex;flex-shrink:0;margin:0;overflow-x:auto;padding:0;width:100%}.spot-request-modal .tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#586069;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:500;margin:0;padding:1rem 1.5rem;position:relative;transition:all .3s ease;white-space:nowrap}.spot-request-modal .tab-button:hover{background-color:#f0f1f3;color:#24292e}.spot-request-modal .tab-button.active{background-color:#fff;border-bottom-color:#f90;color:#24292e}.spot-request-modal .tab-content{background-color:#fff;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.5rem;width:100%}.spot-request-modal .tab-content::-webkit-scrollbar{width:8px}.spot-request-modal .tab-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.spot-request-modal .tab-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.spot-request-modal .tab-content::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.spot-request-modal .settings-section{display:flex;flex-direction:column;margin-bottom:2rem;width:100%}.spot-request-modal .settings-section h4{border-bottom:1px solid #e1e4e8;color:#515f65;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;width:100%}.spot-request-modal .setting-item{margin-bottom:1rem}.spot-request-modal .setting-item label{color:#24292e;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.spot-request-modal .setting-item input[type=number],.spot-request-modal .setting-item input[type=text],.spot-request-modal .setting-item select{background-color:#fff;border:1px solid #e1e4e8;border-radius:4px;box-sizing:border-box;color:#24292e;font-size:.9rem;max-width:100%;padding:.5rem .75rem;transition:border-color .2s;width:100%}.spot-request-modal .setting-item input:focus,.spot-request-modal .setting-item select:focus{border-color:#d4a76a;box-shadow:0 0 0 2px #d4a76a1a;outline:none}.spot-request-modal .setting-item small{color:#586069;display:block;font-size:.8rem;font-style:italic;margin-top:.25rem}.spot-request-modal .configuration-grid,.spot-request-modal .filter-grid{grid-template-columns:repeat(2,1fr);width:100%}.spot-request-modal .setting-item.full-width{grid-column:1/-1}.spot-request-modal .range-inputs input{width:auto}.spot-request-modal .range-inputs span{color:#586069;font-size:.9rem}.spot-request-modal .checkbox-item label{align-items:center;cursor:pointer;display:flex;font-weight:400}.spot-request-modal .checkbox-item input[type=checkbox]{cursor:pointer;height:16px!important;margin-right:.5rem;min-height:16px!important;min-width:16px!important;width:16px!important}.spot-request-modal .instances-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.spot-request-modal .refresh-button{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.spot-request-modal .refresh-button:hover:not(:disabled){background-color:#415055;box-shadow:0 2px 4px #0000001a}.spot-request-modal .refresh-button:disabled{background-color:#a0a6ab;cursor:not-allowed}.spot-request-modal .no-data-message{background-color:#f5f6f7;border-radius:6px;color:#586069;margin-top:1rem;padding:3rem;text-align:center}.spot-request-modal .no-data-message p{font-size:1rem;margin:0}.spot-request-modal .no-data-message small{color:#888;display:block;font-size:.85rem;margin-top:.5rem}.spot-request-modal .instances-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.spot-request-modal .instance-card{background-color:#fff;border:2px solid #e1e4e8;border-radius:6px;box-sizing:border-box;cursor:pointer;min-width:0;padding:1rem;position:relative;transition:all .2s ease;width:100%}.spot-request-modal .instance-card:hover{border-color:#d1d5da;box-shadow:0 2px 8px #00000014}.spot-request-modal .instance-card.selected{background-color:#fff9f0;border-color:#f90;box-shadow:0 2px 8px #f903}.spot-request-modal .instance-card-header{align-items:center;border-bottom:1px solid #e1e4e8;display:flex;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.spot-request-modal .instance-card-header input[type=checkbox],.spot-request-modal .instance-card-header input[type=radio]{cursor:pointer;flex-shrink:0;height:16px!important;margin:0;min-height:16px!important;min-width:16px!important;width:16px!important}.spot-request-modal .instance-type{color:#24292e;font-size:.95rem;font-weight:600}.spot-request-modal .instance-specs{grid-gap:.4rem;display:grid;font-size:.85rem;gap:.4rem;grid-template-columns:1fr 1fr;margin-bottom:.5rem}.spot-request-modal .spec-item{display:flex;font-size:.85rem;justify-content:space-between}.spot-request-modal .spec-item.full-width{grid-column:1/-1}.spot-request-modal .spec-label{color:#586069}.spot-request-modal .spec-value{color:#24292e;font-weight:500}.spot-request-modal .instance-pricing{border-top:1px solid #e1e4e8;padding-top:.5rem}.spot-request-modal .price-row{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.25rem}.spot-request-modal .price-label{color:#586069}.spot-request-modal .price-value{color:#24292e;font-weight:500}.spot-request-modal .spot-price{color:#28a745;font-weight:600}.spot-request-modal .savings-badge{background-color:#28a745;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem}.spot-request-modal .cost-summary{background-color:#f5f6f7;border-radius:6px;margin-top:1rem;padding:1.5rem}.spot-request-modal .cost-item{align-items:center;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:.5rem 0}.spot-request-modal .cost-item:last-child{border-bottom:none}.spot-request-modal .cost-item label{color:#586069;font-weight:400;margin:0}.spot-request-modal .cost-item span{color:#24292e;font-weight:600}.spot-request-modal .cost-item.estimated-total{border-top:2px solid #f90;margin-top:.5rem;padding-top:1rem}.spot-request-modal .cost-item.estimated-total span{color:#f90;font-size:1.2rem}.spot-request-modal .savings-info .savings-amount{color:#28a745;font-size:1.1rem}.spot-request-modal .no-selection{color:#586069;font-style:italic;padding:2rem;text-align:center}.spot-request-modal .error-container,.spot-request-modal .loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.spot-request-modal .error-message,.spot-request-modal .loading-message{align-items:center;color:#586069;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.spot-request-modal .error-message p,.spot-request-modal .loading-message p{font-size:1rem;margin:0}.spot-request-modal .error-message{background-color:#fee;border-radius:6px;color:#c00;padding:2rem}.spot-request-modal .error-message p{color:#c00;font-weight:500;margin-bottom:.5rem}.spot-request-modal .configure-link{border:1px solid #0366d6;border-radius:4px;color:#0366d6;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.spot-request-modal .configure-link:hover{background-color:#0366d6;color:#fff}.spot-request-modal .loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#515f65;height:40px;width:40px}.spot-request-modal .loading-subtitle{color:#586069;font-size:.9rem}.spot-request-modal .error-box{background-color:#fee;border-radius:8px;color:#c00;max-width:400px;padding:2rem;text-align:center}.spot-request-modal .error-box h3{color:#c00;margin:0 0 1rem}.spot-request-modal .error-box p{margin:0 0 1.5rem}.spot-request-modal .retry-button{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.spot-request-modal .retry-button:hover{background-color:#415055}.spot-request-modal .modal-actions{background-color:#f5f6f7;border-top:1px solid #e1e4e8;box-sizing:border-box;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;width:100%}.spot-request-modal .action-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:100px;padding:.5rem 1.5rem;transition:all .3s ease}.spot-request-modal .apply-button{background-color:#f90;color:#fff}.spot-request-modal .apply-button:hover:not(:disabled){background-color:#ec7211;box-shadow:0 2px 4px #0000001a}.spot-request-modal .apply-button:disabled{background-color:#e1e4e8;color:#959da5;cursor:not-allowed}.spot-request-modal .cancel-button{background-color:#fff;border:1px solid #e1e4e8;color:#586069}.spot-request-modal .cancel-button:hover{background-color:#f5f6f7;border-color:#d1d5da}.spot-request-modal .ami-select{background-color:#fff;border:1px solid #e1e4e8;border-radius:4px;box-sizing:border-box;color:#24292e;cursor:pointer;font-size:.9rem;max-width:100%;padding:.5rem .75rem;width:100%}.spot-request-modal .ami-select option{padding:.5rem}@media (max-width:650px){.spot-request-modal{width:95vw!important}.spot-request-modal .filter-grid{grid-template-columns:repeat(2,1fr)}.spot-request-modal .instances-grid{grid-template-columns:1fr}}@media (max-width:768px){.spot-request-modal .configuration-grid,.spot-request-modal .filter-grid,.spot-request-modal .instances-grid{grid-template-columns:1fr}}.spot-request-modal .resize-handle{background:linear-gradient(135deg,#0000 50%,#515f65 0);border-radius:0 0 8px 0;bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;width:20px}.spot-request-modal .resize-handle:hover{background:linear-gradient(135deg,#0000 50%,#415055 0)}.spot-request-modal .instances-grid::-webkit-scrollbar{width:8px}.spot-request-modal .instances-grid::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.spot-request-modal .instances-grid::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.spot-request-modal .instances-grid::-webkit-scrollbar-thumb:hover{background:#999}.spot-request-modal .info-text{color:#0366d6;display:block;font-style:italic;margin-top:.25rem}.spot-request-modal .filter-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.spot-request-modal .configuration-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.spot-request-modal .instances-grid{grid-gap:1rem;box-sizing:border-box;display:grid;flex:1 1;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow-y:auto;padding:.5rem;width:100%}.spot-request-modal .setting-item{flex:1 1 250px;min-width:0}.spot-request-modal .setting-item.checkbox-item{flex:1 1 auto;min-width:200px}.spot-request-modal .range-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.spot-request-modal .range-inputs input{flex:1 1;min-width:80px}.spot-request-modal .range-inputs span{flex-shrink:0}@container modal (min-width: 800px){.spot-request-modal .filter-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.spot-request-modal .instances-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@container modal (min-width: 1000px){.spot-request-modal .filter-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.spot-request-modal .configuration-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.spot-request-modal .instances-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@container modal (min-width: 1400px){.spot-request-modal .instances-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.spot-request-modal .filter-grid{grid-template-columns:repeat(3,1fr)}}@supports not (container-type:inline-size){@media (min-width:800px){.spot-request-modal .filter-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.spot-request-modal .instances-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (min-width:1200px){.spot-request-modal .filter-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.spot-request-modal .configuration-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.spot-request-modal .instances-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}}.spot-request-modal .ebs-volumes-container{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;padding:1rem}.spot-request-modal .ebs-volume-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:.75rem;padding:1rem}.spot-request-modal .ebs-volume-item:last-of-type{margin-bottom:.75rem}.spot-request-modal .volume-config-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.spot-request-modal .volume-field{flex:1 1;min-width:120px}.spot-request-modal .volume-field label{color:#555;display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem}.spot-request-modal .volume-field input,.spot-request-modal .volume-field select{font-size:.85rem;padding:.4rem;width:100%}.spot-request-modal .remove-volume-button{background:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:1.2rem;height:32px;margin-bottom:0;transition:background-color .2s;width:32px}.spot-request-modal .remove-volume-button:hover:not(:disabled){background:#c00}.spot-request-modal .remove-volume-button:disabled{background:#ccc;cursor:not-allowed}.spot-request-modal .volume-options-row{display:flex;gap:1.5rem}.spot-request-modal .checkbox-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.85rem}.spot-request-modal .checkbox-label input[type=checkbox]{cursor:pointer;margin-right:.5rem;width:auto}.spot-request-modal .add-volume-button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:0;padding:.5rem 1rem;transition:background-color .2s}.spot-request-modal .add-volume-button:hover{background:#45a049}.spot-request-modal .key-pair-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem 40px .5rem .5rem;width:100%}.spot-request-modal .key-pair-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.s3-storage-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:500px;z-index:10000}.s3-storage-modal .controls-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:move;display:flex;flex-shrink:0;justify-content:space-between;min-height:55px;padding:1rem 1.5rem;position:relative;z-index:10}.s3-storage-modal .controls-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0}.breadcrumb-nav{align-items:center;background-color:initial;border-bottom:1px solid #e0e0e0;border-radius:0;display:flex;font-size:14px;gap:4px;margin-bottom:0;overflow-x:auto;padding:8px 1.5rem;white-space:nowrap}.breadcrumb-nav button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:4px 8px;transition:color .2s}.breadcrumb-nav button:hover{color:#0056b3;text-decoration:underline}.breadcrumb-nav svg{vertical-align:middle}.parent-directory{background-color:#f9f9f9}.parent-directory:hover{background-color:#f0f0f0!important}.s3-storage-modal input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;margin:0;min-height:20px!important;min-width:20px!important;width:20px!important}.bucket-selector{align-items:center;background-color:initial;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;padding:10px 1.5rem}.bucket-selector label{color:#515f65;font-size:.9rem;font-weight:500}.bucket-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;flex:1 1;font-size:.9rem;padding:6px 10px;transition:border-color .2s}.bucket-dropdown:hover:not(:disabled){border-color:#515f65}.bucket-dropdown:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.bucket-dropdown:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.s3-storage-modal .header-buttons{align-items:center;display:flex;gap:8px}.s3-storage-modal .collapse-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s ease}.s3-storage-modal .collapse-btn:hover{background:#ffffff1a;color:#fff}.s3-storage-modal .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.s3-storage-modal .close-btn:hover{background-color:#ffffff1a}.s3-storage-modal.collapsed{min-height:auto;width:300px}.s3-storage-modal.collapsed .modal-content{display:none}.s3-storage-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.s3-storage-modal .modal-content{background-color:#fff;display:flex;flex:1 1;flex-direction:column;max-height:calc(90vh - 70px);overflow:hidden;padding:0;position:relative;z-index:1}.s3-storage-modal .storage-info{background:#0000;border:none;border-bottom:1px solid #e0e0e0;border-radius:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:0;padding:1rem 1.5rem}.s3-storage-modal .info-item{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem}.s3-storage-modal .info-item svg{color:#515f65}.s3-storage-modal .info-item.warning{color:#ff6b6b;font-weight:500}.s3-storage-modal .toolbar{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:0;padding:1rem 1.5rem}.s3-storage-modal .toolbar-btn{align-items:center;background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.s3-storage-modal .toolbar-btn:hover:not(:disabled){background-color:#415055;box-shadow:none;transform:translateY(-1px)}.s3-storage-modal .toolbar-btn:disabled{background-color:#ccc;cursor:not-allowed;opacity:.5}.s3-storage-modal .upload-progress{align-items:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.s3-storage-modal .progress-bar{background:#e0e0e0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.s3-storage-modal .progress-fill{background:#515f65;height:100%;transition:width .3s ease}.s3-storage-modal .progress-bar span{color:#333;font-weight:500}.s3-storage-modal .error-message{align-items:center;background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1rem;padding:1rem}.s3-storage-modal .error-message button{background:none;border:none;color:#c62828;cursor:pointer;font-size:20px;line-height:1;padding:0 4px}.s3-storage-modal .file-browser{background:#fff;border:none;border-radius:0;flex:1 1;overflow-y:auto;padding:0}.s3-storage-modal .empty-state,.s3-storage-modal .loading-state{align-items:center;color:#999;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center;min-height:300px}.s3-storage-modal .empty-state svg{color:#ddd}.s3-storage-modal .empty-state p{color:#666;font-size:.95rem;margin:0}.s3-storage-modal .empty-state .hint{color:#999;font-size:.85rem}.s3-storage-modal .file-table{background:#fff;border-collapse:collapse;width:100%}.s3-storage-modal .file-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#333;font-size:.85rem;font-weight:600;padding:.75rem;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.s3-storage-modal .file-table td{border-bottom:1px solid #f0f0f0;color:#666;font-size:.9rem;padding:.75rem}.s3-storage-modal .file-table tr:hover{background:#f9f9f9}.s3-storage-modal .file-table tr.selected{background:#e3f2fd}.s3-storage-modal .file-table input[type=checkbox]{cursor:pointer;height:16px;width:16px}.s3-storage-modal .folder-link{background:none;border:none;color:#515f65;cursor:pointer;font-size:.9rem;font-weight:500;padding:0;text-align:left;text-decoration:none;transition:color .2s}.s3-storage-modal .folder-link:hover{color:#2196f3;text-decoration:underline}.s3-storage-modal .action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:inline-flex;justify-content:center;padding:.25rem .5rem;transition:all .2s}.s3-storage-modal .action-btn:hover{background:#f5f5f5;color:#515f65}@keyframes spinning{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.s3-storage-modal .spinning{animation:spinning 1s linear infinite}.s3-storage-modal .file-browser::-webkit-scrollbar{width:8px}.s3-storage-modal .file-browser::-webkit-scrollbar-track{background:#f5f5f5}.s3-storage-modal .file-browser::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.s3-storage-modal .file-browser::-webkit-scrollbar-thumb:hover{background:#999}.s3-storage-modal .folder-info{border-bottom:1px solid #e0e0e0;font-size:12px;margin:5px 0;max-height:120px;overflow-y:auto;padding:8px 1.5rem}.s3-storage-modal .linked-instances{border-bottom:1px solid #e0e0e0;font-size:13px;margin:10px 0;padding:12px 1.5rem}.s3-storage-modal .modal-actions{background-color:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding:20px 1.5rem}.s3-storage-modal .apply-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.s3-storage-modal .apply-button:hover:not(:disabled){background-color:#45a049}.s3-storage-modal .apply-button:disabled{background-color:#ccc;cursor:not-allowed}.s3-storage-modal .cancel-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.s3-storage-modal .cancel-button:hover{background-color:#da190b}.s3-storage-modal .toolbar-checkbox{align-items:center;display:flex;margin-left:auto}.s3-storage-modal .toolbar-checkbox label{align-items:center;color:#515f65;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.s3-storage-modal .toolbar-checkbox input[type=checkbox]{cursor:pointer;height:18px!important;margin:0;min-height:18px!important;min-width:18px!important;width:18px!important}@media (max-width:768px){.s3-storage-modal{max-width:600px;width:90%}.s3-storage-modal .storage-info{flex-direction:column;gap:.5rem}}.run-meshing-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;max-height:80vh;overflow:hidden;position:fixed;width:600px;z-index:10000}.run-meshing-modal .modal-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:grab;display:flex;flex-shrink:0;justify-content:space-between;min-height:60px;padding:1rem 1.5rem;position:relative;z-index:2}.run-meshing-modal .modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.run-meshing-modal .close-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.run-meshing-modal .close-button:hover{background-color:#ffffff1a}.run-meshing-modal .modal-content{background-color:#fff;box-shadow:none;flex:1 1;margin-top:0;overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.run-meshing-modal .error-message{background:#ffebee;border:1px solid #ef5350;border-radius:6px;color:#c62828;font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:1rem;white-space:pre-wrap}.run-meshing-modal .loading-message{color:#666;padding:2rem;text-align:center}.run-meshing-modal .selection-section{margin-bottom:1.5rem}.run-meshing-modal .form-group{margin-bottom:1.25rem}.run-meshing-modal .form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.run-meshing-modal .form-group select{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem;transition:border-color .2s;width:100%}.run-meshing-modal .form-group select:hover:not(:disabled){border-color:#515f65}.run-meshing-modal .form-group select:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.run-meshing-modal .form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.run-meshing-modal .help-text{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.run-meshing-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px}.run-meshing-modal .apply-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.run-meshing-modal .apply-button:hover:not(:disabled){background-color:#45a049}.run-meshing-modal .apply-button:disabled{background-color:#ccc;cursor:not-allowed}.run-meshing-modal .cancel-button{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.run-meshing-modal .cancel-button:hover{background-color:#da190b}.run-meshing-modal .status-indicator{border-radius:4px;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.run-meshing-modal .status-indicator.status-inprogress,.run-meshing-modal .status-indicator.status-pending{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.run-meshing-modal .status-indicator.status-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.run-meshing-modal .status-indicator.status-cancelled,.run-meshing-modal .status-indicator.status-failed{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.run-meshing-modal .logs-section{border-top:1px solid #e0e0e0;padding-top:1rem}.run-meshing-modal .logs-section h3{color:#333;font-size:1.1rem;margin:0 0 1rem}.run-meshing-modal .logs-container{background-color:#1e1e1e;border-radius:6px;font-family:Consolas,Monaco,Courier New,monospace;max-height:300px;overflow-y:auto;padding:1rem}.run-meshing-modal .logs-container pre{word-wrap:break-word;color:#fff;font-size:.85rem;line-height:1.4;margin:0;white-space:pre-wrap}.run-meshing-modal .logs-container::-webkit-scrollbar{width:8px}.run-meshing-modal .logs-container::-webkit-scrollbar-track{background:#2d2d2d;border-radius:4px}.run-meshing-modal .logs-container::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.run-meshing-modal .logs-container::-webkit-scrollbar-thumb:hover{background:#666}.run-meshing-modal .tab-navigation{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;margin:-1.5rem -1.5rem 1.5rem;padding:0 1.5rem}.run-meshing-modal .tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-weight:500;outline:none;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.run-meshing-modal .tab-button:hover:not(.disabled){background-color:#00000005;color:#333}.run-meshing-modal .tab-button.active{background-color:#fff;border-bottom-color:#515f65;color:#515f65}.run-meshing-modal .tab-button.disabled{cursor:not-allowed;opacity:.5}.run-meshing-modal .tab-content{min-height:350px}.run-meshing-modal .logs-tab-content{display:flex;flex-direction:column;height:100%}.run-meshing-modal .logs-tab-content .status-indicator{margin-bottom:1rem}.run-meshing-modal .logs-tab-content .logs-container{flex:1 1;max-height:320px}.run-meshing-modal .resize-handle{bottom:0;cursor:nwse-resize;height:20px;position:absolute;right:0;width:20px;z-index:10}.run-meshing-modal .resize-handle:after{border-bottom:2px solid #999;border-right:2px solid #999;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.run-meshing-modal .fixed-path-info{background-color:#f5f5f5;border-radius:4px;margin-top:5px;padding:10px}.run-meshing-modal .fixed-path-info code{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;color:#333;display:block;font-family:Consolas,Monaco,Courier New,monospace;font-size:.95rem;margin-bottom:8px;padding:8px 12px}.run-meshing-modal .fixed-path-info .help-text{color:#666;font-size:.85rem;margin:0}.run-meshing-modal .polymesh-status{background-color:#f5f5f5;border-radius:4px;font-size:.9rem;margin-top:.5rem;padding:.75rem}.run-meshing-modal .polymesh-status .scanning{align-items:center;color:#ff9800;display:flex;gap:.5rem}.run-meshing-modal .polymesh-status .found{align-items:center;color:#4caf50;display:flex;gap:.5rem;word-break:break-all}.run-meshing-modal .polymesh-status .not-found{align-items:center;color:#f44336;display:flex;gap:.5rem}.instance-manager-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;min-height:400px;min-width:800px;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.instance-manager-modal .resize-handle{background:linear-gradient(135deg,#0000 50%,#515f65 0);border-radius:0 0 8px 0;bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;width:20px;z-index:10}.instance-manager-modal .resize-handle:hover{background:linear-gradient(135deg,#0000 50%,#415055 0)}.instance-manager-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;display:flex;justify-content:space-between;padding:1.5rem;-webkit-user-select:none;user-select:none}.instance-manager-header:active{cursor:grabbing!important}.instance-manager-header h2{font-size:1.25rem;font-weight:600;margin:0}.header-controls{align-items:center;display:flex;gap:1rem}.instance-manager-header:before{color:#ffffff4d;content:"⋮⋮";font-size:.8rem;left:50%;letter-spacing:2px;pointer-events:none;position:absolute;top:.5rem;transform:translateX(-50%)}.auto-refresh{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:.9rem}.auto-refresh input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px!important;margin-right:.5rem;min-height:20px!important;min-width:20px!important;width:20px!important}.refresh-button{background-color:#d4a76a;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#b8935a}.refresh-button:disabled{background-color:#a0a6ab}.close-button{color:#fff;font-size:1.5rem;padding:.25rem .5rem;transition:background-color .2s}.close-button:hover{background-color:#ffffff1a}.instance-manager-content{background-color:#f5f6f7;flex:1 1;overflow-y:auto;padding:1.5rem}.error-message{background-color:#fee;color:#c00}.error-message p{margin:0}.empty-message,.loading-message{color:#586069;padding:3rem;text-align:center}.loading-message .spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#515f65;height:40px;margin:0 auto 1rem;width:40px}.empty-message p{font-size:1.1rem;margin:0 0 .5rem}.empty-message small{color:#959da5}.instances-table{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.instances-table table{border-collapse:collapse;width:100%}.instances-table th{background-color:#f5f6f7;border-bottom:2px solid #e1e4e8;color:#24292e;font-size:.9rem;font-weight:600;padding:1rem;text-align:left}.instances-table td{border-bottom:1px solid #e1e4e8;font-size:.9rem;padding:1rem}.instances-table tr:hover{background-color:#f5f6f7}.instances-table tr.selected{background-color:#fff9f0}.instance-name{display:flex;flex-direction:column}.instance-name strong{color:#24292e;margin-bottom:.25rem}.instance-name small{color:#586069;font-size:.8rem}.monospace{font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem}.monospace small{color:#586069;display:block;font-size:.75rem;margin-top:.25rem}.state-badge{border-radius:4px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.action-buttons{display:flex;gap:.5rem}.action-button{background-color:#f0f1f3;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.25rem .5rem;transition:all .2s}.action-button:hover:not(:disabled){box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button.view-logs{background-color:#0366d6;color:#fff}.action-button.view-logs:hover{background-color:#0256c7}.action-button.stop{background-color:#ffc107;color:#212529}.action-button.stop:hover{background-color:#e0a800}.action-button.reboot{background-color:#17a2b8;color:#fff}.action-button.reboot:hover{background-color:#138496}.action-button.terminate{background-color:#dc3545;color:#fff}.action-button.terminate:hover{background-color:#c82333}.instance-manager-footer{background-color:#f5f6f7;border-top:1px solid #e1e4e8;padding:1rem 1.5rem}.footer-info{color:#586069;display:flex;font-size:.9rem;justify-content:space-between}.footer-info span{font-weight:500}@media (max-width:1024px){.instances-table{overflow-x:auto}.instances-table table{min-width:800px}}@media (max-width:768px){.instance-manager-modal{min-width:95vw!important}.instance-manager-header{align-items:stretch;flex-direction:column;gap:1rem}.header-controls{justify-content:space-between}}.faq-floating-btn{align-items:center;background-color:#ff5722;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .3s ease;-webkit-user-select:none;user-select:none;width:56px;z-index:999}.faq-floating-btn:hover{background-color:#e64a19;box-shadow:0 6px 20px #0003;transform:scale(1.1)}.faq-floating-btn.has-pending{animation:subtle-pulse 2s ease-in-out infinite}.faq-icon{font-size:24px;font-weight:700}.pending-badge{align-items:center;background-color:#ff6b6b;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:-5px;top:-5px;width:24px}.faq-widget-panel{animation:slideDown .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;max-height:70vh;max-width:calc(100vw - 40px);width:600px;z-index:1000}.faq-widget-header{align-items:center;background-color:#515f65;border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem;-webkit-user-select:none;user-select:none}.faq-widget-header h3{font-size:1.2rem;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.close-btn:hover{background-color:#ffffff1a}.faq-widget-content{flex:1 1;font-family:inherit;overflow-y:auto;padding:1.5rem}.faq-category-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.category-btn{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:20px;cursor:pointer;display:flex;font-size:.85rem;gap:.3rem;padding:.5rem 2.5rem .5rem 1rem;transition:all .2s ease}.category-btn:hover{background-color:#e0e0e0;border-color:#515f65}.category-btn.active{background-color:#515f65;border-color:#515f65;color:#fff}.add-category-btn{background-color:#f0f0f0;border:1px dashed #999;color:#666;font-weight:500}.add-category-btn:hover{background-color:#e8e8e8;border-color:#515f65;color:#515f65}.category-icon{font-size:1rem}.category-btn-wrapper{align-items:center;display:inline-flex;margin-right:8px;position:relative}.category-delete-btn{align-items:center;background-color:initial;border:1px solid #0000;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:400;height:24px!important;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px!important;z-index:1}.category-btn-wrapper:hover .category-delete-btn{opacity:1}.category-delete-btn:hover{background-color:#ffebee;border-color:#ffcdd2;color:#d32f2f}.category-delete-btn:active{background-color:#ffcdd2;transform:translateY(-50%) scale(.95)}.add-faq-btn{background-color:#515f65;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem;transition:all .2s ease;width:100%}.add-faq-btn:hover{background-color:#415055;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.faq-form{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.category-form{padding:1rem}.category-form .form-group{margin-bottom:.75rem}.category-form .form-actions{margin-top:.75rem}.category-form h4{color:#333;font-size:1rem;margin:0 0 1rem}.form-group label{font-family:inherit;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border-radius:4px;font-size:.9rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 2px #515f651a}.form-actions{gap:.5rem;margin-top:1rem}.cancel-btn,.save-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.save-btn{background-color:#27ae60;color:#fff}.save-btn:hover{background-color:#229954}.cancel-btn{background-color:#95a5a6;color:#fff}.cancel-btn:hover{background-color:#7f8c8d}.faq-table{overflow-x:auto}.faq-table table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.faq-table th{background-color:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;text-align:left}.faq-table td,.faq-table th{font-size:.85rem;padding:.75rem}.faq-table td{border-bottom:1px solid #f0f0f0}.faq-row{transition:background-color .2s ease}.faq-row:hover{background-color:#f9f9f9}.faq-row.status-pending{background-color:#fff8e1}.faq-row.status-rejected{background-color:#ffebee}.status-cell{font-size:1.1rem;text-align:center}.question-cell{color:#333;font-weight:500;max-width:200px}.answer-cell{color:#666;max-width:250px}.rejection-reason{background-color:#f443361a;border-radius:4px;color:#c62828;font-size:.8rem;font-style:italic;margin-top:.5rem;padding:.5rem}.creator-cell{color:#999;font-size:.8rem}.actions-cell{white-space:nowrap}.actions-cell button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin:0 .25rem;padding:.25rem .5rem;transition:all .2s ease}.approve-btn:hover{background-color:#e8f5e9}.reject-btn:hover{background-color:#ffebee}.edit-btn:hover{background-color:#fff8e1}.delete-btn:hover{background-color:#fce4ec}.loading,.no-faqs{color:#999;font-style:italic;padding:3rem;text-align:center}.no-categories-msg{color:#666;font-size:.85rem;font-style:italic;margin:.5rem 0}@media (max-width:768px){.faq-widget-panel{max-height:80vh;max-width:none;width:calc(100vw - 20px)}.faq-floating-btn{height:48px;width:48px}.faq-icon{font-size:20px}.faq-table{font-size:.8rem}.answer-cell,.question-cell{max-width:none}.actions-cell button{font-size:.9rem;margin:0 .1rem;padding:.2rem .3rem}}.faq-widget-content::-webkit-scrollbar{width:8px}.faq-widget-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.faq-widget-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.faq-widget-content::-webkit-scrollbar-thumb:hover{background:#555}.faq-mode-toggle{background-color:#f5f5f5;border-radius:6px;display:flex;gap:.5rem;margin-bottom:1rem;padding:.25rem}.mode-btn{background-color:initial;border:none;border-radius:4px;color:#666;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.mode-btn:hover{background-color:#515f651a;color:#515f65}.mode-btn.active{background-color:#515f65;color:#fff}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .2s ease}.faq-item:hover{box-shadow:0 2px 8px #0000001a}.faq-item.status-pending{background-color:#fff8e1;border-color:#ffc107}.faq-item.status-rejected{background-color:#ffebee;border-color:#f44336}.faq-header,.faq-question-row{margin-bottom:.5rem}.faq-question-row{align-items:flex-start;display:flex;gap:.5rem}.faq-question{flex:1 1}.faq-question strong{color:#333;font-size:.95rem;font-weight:700}.attach-icon-btn,.edit-icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;margin-left:.5rem;opacity:.7;padding:.25rem;transition:opacity .2s ease}.attach-icon-btn:hover,.edit-icon-btn:hover{opacity:1}.answer-text-wrapper{align-items:flex-start;display:flex;gap:.5rem;width:100%}.answer-text-wrapper p{flex:1 1;margin:0}.answer-count{color:#666;font-size:.85rem;font-weight:400;margin-left:.5rem}.faq-meta{color:#666;display:flex;font-size:.8rem;gap:1rem}.category-tag{background-color:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.75rem;padding:.2rem .6rem}.faq-answer{background-color:#f5f5f5;border-radius:6px;margin:.5rem 0;padding:.75rem}.faq-answer p{color:#333;font-size:.9rem;line-height:1.5;margin:0}.faq-actions{display:flex;gap:.5rem;margin-top:.75rem}.approve-btn,.reject-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;padding:.3rem .6rem;transition:all .2s ease}.approve-btn{background-color:#4caf50;color:#fff}.approve-btn:hover{background-color:#45a049}.reject-btn{background-color:#f44336;color:#fff}.reject-btn:hover{background-color:#da190b}.answer-btn,.delete-btn,.edit-btn{background-color:#f5f5f5!important;border:1px solid #ddd!important;border-radius:4px!important;color:#515f65!important;cursor:pointer!important;font-size:.75rem!important;font-weight:500!important;padding:.3rem .6rem!important;transition:all .2s ease!important}.answer-btn:hover,.delete-btn:hover,.edit-btn:hover{background-color:#e0e0e0!important;border-color:#bbb!important;color:#515f65!important}.answers-section{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.answers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.answers-header h4{color:#333;font-size:1rem;margin:0}.add-answer-btn{background-color:#515f65;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.4rem .8rem;transition:all .2s ease}.add-answer-btn:hover{background-color:#415055}.answer-form{background-color:#f9f9f9;border-radius:6px;margin-bottom:1rem;padding:1rem}.answer-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.answer-form textarea:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.answer-form-actions{display:flex;gap:.5rem;margin-top:.75rem}.answer-form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s ease}.no-answers{color:#999;font-size:.9rem;font-style:italic;padding:2rem;text-align:center}.answer-item,.answers-list{display:flex;flex-direction:column;gap:.75rem}.answer-item{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1rem;position:relative}.answer-item.accepted{background-color:#e8f5e9;border-color:#4caf50}.answer-item.status-rejected{background-color:#ffebee;border-color:#f44336}.answer-status-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.2rem .6rem;position:absolute;right:.5rem;text-transform:capitalize;top:.5rem}.answer-status-badge.approved{background-color:#e8f5e9;color:#2e7d32}.answer-status-badge.rejected{background-color:#ffebee;color:#c62828}.answer-content{flex:1 1}.accepted-badge{background-color:#4caf50;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:500;margin-bottom:.5rem;padding:.2rem .6rem}.answer-content p{color:#333;font-size:.9rem;line-height:1.5;margin:.5rem 0}.answer-meta{color:#666;display:flex;font-size:.8rem;gap:1rem;margin-top:.5rem}.answer-actions{border-top:1px solid #e0e0e0;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-top:.5rem;padding-top:.75rem}.answer-actions,.answer-actions-right{align-items:center;display:flex;gap:.5rem}.vote-buttons{display:flex;gap:.25rem}.vote-btn{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:.8rem;gap:.3rem;padding:.3rem .6rem;transition:all .2s ease}.vote-btn:hover{background-color:#e0e0e0}.vote-btn.active{background-color:#515f65;border-color:#515f65;color:#fff}.accept-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.3rem .8rem;transition:all .2s ease}.accept-btn:hover{background-color:#45a049}.form-group input[type=checkbox]{margin-right:.5rem;width:auto}.edit-answer-form{margin-top:.5rem;width:100%}.edit-answer-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.edit-answer-textarea:focus{border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.edit-answer-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.edit-answer-actions button{font-size:.85rem;padding:.5rem 1rem}.answer-files{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:10px;padding:12px}.answer-files h5{align-items:center;color:#495057;display:flex;font-size:.875rem;font-weight:600;gap:6px;margin:0 0 10px}.answer-files .file-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.answer-files .file-list li{align-items:center;background-color:#fff;border:1px solid #dee2e6;border-radius:4px;display:flex;gap:10px;padding:8px 12px;transition:all .2s ease}.answer-files .file-list li:hover{border-color:#515f65;box-shadow:0 2px 4px #0000000d}.answer-files .file-list a{align-items:center;color:#515f65;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:6px;text-decoration:none}.answer-files .file-list a:hover{color:#9370db;text-decoration:underline}.answer-files .file-size{color:#6c757d;font-size:.75rem;white-space:nowrap}.openfoam-explorer-panel{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;flex-direction:column;max-height:800px;max-width:600px;min-height:300px;min-width:200px;overflow:hidden;pointer-events:auto;position:fixed;transition:opacity .3s ease;z-index:1000}.openfoam-explorer-panel.collapsed{height:auto;opacity:.95;width:auto}.openfoam-explorer-panel.collapsed .openfoam-explorer-content{display:none}.openfoam-explorer-header{align-items:center;background-color:#515f65;border-bottom:1px solid #415055;color:#fff;cursor:grab;display:flex;justify-content:space-between;padding:1rem 1.5rem;-webkit-user-select:none;user-select:none}.openfoam-explorer-header:active{cursor:grabbing}.openfoam-explorer-header .header-content{display:flex;flex-direction:column;gap:.25rem}.openfoam-explorer-header h3{font-size:1.1rem;font-weight:600;margin:0}.item-count{font-size:.85rem;opacity:.9}.collapse-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.5rem .8rem;transition:all .3s ease}.collapse-toggle:hover{background-color:#ffffff1a}.openfoam-explorer-content{background-color:#fff;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.tree-view{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:.5rem 0}.openfoam-item{-webkit-user-select:none;user-select:none}.item-content{align-items:center;cursor:pointer;display:flex;min-height:32px;padding:.375rem .75rem;position:relative;transition:background-color .15s ease}.item-content:hover{background-color:#f5f5f5}.item-content.selected{background-color:#e3f2fd}.expand-icon{align-items:center;color:#666;cursor:pointer;display:flex;flex-shrink:0;height:16px;justify-content:center;margin-right:4px;width:16px}.expand-icon:hover{color:#333}.expand-placeholder{flex-shrink:0;margin-right:4px;width:16px}.item-icon{color:#2196f3;flex-shrink:0;height:16px;margin-right:6px;width:16px}.item-name{color:#333;flex:1 1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-info{color:#666;flex-shrink:0;font-size:.75rem;margin-left:8px}.visibility-toggle{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-left:4px;padding:0;transition:all .15s ease;width:24px}.visibility-toggle:hover{background-color:#f0f0f0;color:#333}.item-children{animation:expandIn .2s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.empty-state{font-size:.875rem;padding:2rem 1rem}.resize-handle{background:#0000;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background-color .2s ease;width:6px}.resize-handle:hover{background-color:#2196f34d}.resize-handle-vertical{background:#0000;bottom:0;cursor:ns-resize;height:6px;left:0;position:absolute;right:0;transition:background-color .2s ease}.resize-handle-vertical:hover{background-color:#2196f34d}.tree-view::-webkit-scrollbar{width:8px}.tree-view::-webkit-scrollbar-track{background:#f1f1f1}.tree-view::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.tree-view::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.location-ball-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;max-height:90vh;overflow:hidden;position:fixed;width:420px!important;z-index:10000}.location-ball-modal .controls-header{flex-shrink:0;min-height:55px;position:relative;z-index:10}.location-ball-modal.collapsed{min-height:auto;width:300px}.location-ball-modal.collapsed .modal-content{display:none}.location-ball-modal.collapsed .controls-header{border-bottom:none;border-radius:8px}.location-ball-modal .close-btn,.location-ball-modal .collapse-btn{align-items:center;background:none;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;padding:4px;transition:background-color .2s;width:24px}.location-ball-modal .close-btn:hover,.location-ball-modal .collapse-btn:hover{background-color:#ffffff1a}.location-ball-modal .modal-content{background-color:#fff;flex:1 1;max-height:calc(90vh - 70px);overflow-y:auto;padding:1.5rem;position:relative;z-index:1}.location-ball-modal .form-group{margin-bottom:1.5rem}.location-ball-modal .form-group:first-child{margin-top:.5rem}.location-ball-modal .form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.location-ball-modal .form-control{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s;width:100%}.location-ball-modal .form-control:focus{border-color:#2196f3;outline:none}.location-ball-modal .mode-selector{display:flex;gap:12px;margin-bottom:8px}.location-ball-modal .mode-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:14px;gap:8px;padding:10px;transition:all .2s}.location-ball-modal .mode-button:hover{background:#f5f5f5;border-color:#bbb}.location-ball-modal .mode-button.active.inside{background:#2196f3;border-color:#2196f3;color:#fff;font-weight:500}.location-ball-modal .mode-button.active.outside{background:#e91e63;border-color:#e91e63;color:#fff;font-weight:500}.location-ball-modal .mode-preview{background:#e0e0e0;border-radius:50%;height:24px;width:24px}.location-ball-modal .inside-preview{background:#2196f3}.location-ball-modal .outside-preview{background:#e91e63}.location-ball-modal .mode-button.active .mode-preview{box-shadow:0 0 0 2px #fff6}.location-ball-modal .mode-description{color:#666;font-size:12px;font-style:italic;margin-top:4px}.location-ball-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.location-ball-modal .modal-actions button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.75rem;transition:all .2s ease}.project-detail{background-color:#c8cbc5;display:flex;flex-direction:column;height:100vh;overflow:hidden}.project-header{align-items:center;background:#0000;box-shadow:0 4px 20px #515f6526;color:#515f65;display:flex;gap:2rem;overflow:hidden;padding:.75rem 2rem;position:relative;z-index:100}.project-header:before{background:#ffffff0d;content:"";height:200%;left:-10%;position:absolute;top:-50%;transform:rotate(45deg);width:40%}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#f0f5fae6;border:1px solid #c8d2dc66;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#3a4750;cursor:pointer;font-weight:600;padding:.5rem 1rem;pointer-events:auto!important;position:relative;transition:all .3s ease;z-index:1000}.back-button:hover{background-color:#fafafcf2;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-title-section{align-items:center;display:flex;gap:1rem;margin:.5rem 0}.project-header h1{font-size:1.5rem;font-weight:600;margin:0;z-index:1}.project-number-detail{background:#4f46e5;border-radius:20px;box-shadow:0 2px 8px #4f46e54d;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;white-space:nowrap}.project-description{opacity:.9;z-index:1}.model-actions{display:flex;gap:1rem;margin-left:auto;z-index:1}.model-actions button{background-color:#f0f5fae6;border:1px solid #c8d2dc66;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#3a4750;cursor:pointer;font-size:.9rem;font-weight:600;padding:.4rem 1rem;transition:all .3s ease}.model-actions button:hover{background-color:#fafafcf2;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.add-model-btn,.invite-btn{background-color:#f0f5fae6!important;border-color:#c8d2dc66!important;color:#3a4750!important}.add-model-btn:hover,.invite-btn:hover{background-color:#fafafcf2!important;border-color:#dce1e680!important}.delete-model-btn:hover{background-color:#e74c3c33;border-color:#e74c3c4d}.project-content{display:flex;flex:1 1;overflow:hidden;width:100%}.project-info-inline{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:2rem;margin:0 2rem}.project-info-row{align-items:center;display:flex;gap:.5rem}.project-info-label{color:#515f65;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.project-info-value{color:#3a4750;font-size:1rem;font-weight:500}.model-viewer-container{background:linear-gradient(180deg,#ded1d5,#a5b6c8);contain:layout size;display:flex;flex:1 1;min-height:0;min-width:0;overflow:hidden;position:relative}.model-viewer-container canvas{display:block;height:100%!important;width:100%!important}.no-model{color:#515f65;font-size:1.2rem;height:100%;opacity:.6}.invite-modal-overlay,.no-model{align-items:center;display:flex;justify-content:center}.invite-modal-overlay{background-color:#515f6599;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.invite-modal{background:#eaedec;border-radius:16px;box-shadow:0 12px 40px #515f6533;max-width:500px;padding:2rem;width:90%}.invite-modal h2{color:#515f65;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.invite-modal p{color:#515f65;line-height:1.6;margin-bottom:1.5rem}.invite-code-display{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.invite-code-input{background-color:#fff;border:2px solid #c8cbc5;border-radius:8px;color:#515f65;flex:1 1;font-size:1.4rem;font-weight:600;padding:1rem;text-align:center}.invite-code-display button{background:#515f65;border:none;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:1rem 1.5rem;transition:all .3s ease}.invite-code-display button:hover{background:#3e4a4f;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.invite-modal button:last-child{background:#0000;border:2px solid #515f65;border-radius:8px;color:#515f65;cursor:pointer;display:block;font-weight:500;margin:0 auto;padding:.8rem 2rem;transition:all .3s ease}.invite-modal button:last-child:hover{background:#515f65;color:#eaedec}.upload-progress-container{background:#eaedec;border-bottom:1px solid #c8cbc5;padding:1.5rem 2rem}.progress-bar{background-color:#515f651a;height:8px;margin:0 auto .8rem;max-width:600px;width:100%}.progress-bar,.progress-fill{border-radius:4px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#515f65,#3e4a4f);height:100%;position:relative;transition:width .3s ease}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff3 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:#515f65;font-size:.95rem;font-weight:500;margin:0 auto;max-width:600px;text-align:center}@media (max-width:1024px){.project-content{flex-direction:column}.comment-panel{height:400px;max-width:none;width:100%}.project-info-inline{align-items:flex-start;flex-direction:column;gap:1rem;margin:0 1rem}}@media (max-width:768px){.project-detail{padding:0}.project-header{align-items:center;box-shadow:0 2px 4px #0000001a;flex-direction:row;flex-wrap:nowrap;gap:.3rem;height:48px;min-height:auto;padding:.3rem .5rem}.project-header:before{display:none}.back-button{font-size:.75rem;min-width:auto;padding:.25rem .5rem}.project-header h1{flex:1 1;font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;gap:.25rem;order:2}.model-actions,.project-info-inline,.project-info-row{display:none}.model-viewer-container{height:calc(100vh - 48px);min-height:300px}.comment-panel{border-radius:0;height:300px}.action-button,.danger-button{font-size:.75rem;padding:.3rem .5rem}}@media (max-width:480px){.project-header{gap:.2rem;height:40px;padding:.2rem .3rem}.project-header h1{font-size:.9rem}.back-button{font-size:.7rem;padding:.2rem .4rem}.model-viewer-container{height:calc(100vh - 40px);min-height:250px}.comment-panel{height:250px}.action-button,.danger-button{font-size:.7rem;padding:.25rem .4rem}}.invite-options{margin:1.5rem 0;text-align:left}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem;margin-bottom:1rem}.checkbox-label input[type=checkbox]{cursor:pointer}.password-field{margin-top:1rem;padding-left:1.5rem}.invite-password-input{border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.5rem;width:100%}.password-field small{color:#666;font-size:.85rem}.modal-actions{justify-content:center}.create-invite-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.create-invite-btn:hover{background-color:#0056b3}.cancel-btn{border:none;border-radius:5px;padding:.75rem 1.5rem}.join-container{align-items:center;background-color:#c8cbc5;display:flex;justify-content:center;min-height:100vh}.join-box{background:#eaedec;border-radius:12px;box-shadow:0 4px 20px #515f651a;max-width:450px;padding:2.5rem;width:100%}.join-box h1{color:#515f65;font-size:1.8rem;margin-bottom:2rem}.code-verification,.join-box h1{text-align:center}.code-verification p{color:#515f65;font-size:1.1rem;margin-bottom:1.5rem}.code-input-group{display:flex;gap:1rem;margin-bottom:1rem}.code-input{background-color:#fff;border:2px solid #c8cbc5;border-radius:8px;flex:1 1;font-size:1.25rem;letter-spacing:.2em;padding:.75rem;text-align:center;text-transform:uppercase}.code-input:focus{border-color:#515f65;outline:none}.verify-btn{background-color:#515f65;border-radius:8px;color:#eaedec;padding:.75rem 1.5rem;transition:all .3s}.verify-btn:hover{background-color:#3e4a4f}.verify-btn:disabled{cursor:not-allowed;opacity:.7}.project-info{background-color:#f8f8f8;border-radius:8px;margin-bottom:2rem;padding:1.5rem;text-align:center}.project-info h2{color:#515f65;font-size:1.1rem;margin-bottom:.5rem;opacity:.8}.project-info h3{color:#515f65;font-size:1.5rem;margin-bottom:.5rem}.project-info p{color:#515f65;opacity:.7}.form-group input{background-color:#fff;border:1px solid #c8cbc5}.join-btn{background-color:#515f65;border:none;border-radius:6px;color:#eaedec;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1rem;padding:.85rem;transition:all .3s;width:100%}.join-btn:hover{background-color:#3e4a4f}.error{color:#e74c3c;margin:1rem 0;text-align:center}.back-link{margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:#515f65;cursor:pointer;text-decoration:underline}.link-button:hover{color:#3e4a4f}.password-verification{text-align:center}.password-input-group{display:flex;gap:.5rem;margin-top:1rem}.password-input{background-color:#fff;border:2px solid #c8cbc5;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .2s}.password-input:focus{border-color:#515f65;outline:none}.profile-page{padding:2rem}.profile-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #515f651a;max-width:800px;padding:2.5rem;position:relative;width:100%}.profile-container h1{color:#515f65;font-size:2rem;font-weight:600;margin-bottom:2rem;text-align:center}.message{border-radius:8px;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.message.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.message.error{background-color:#ffebee;border:1px solid #f44336;color:#c62828}.profile-sections{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.profile-section{flex:1 1 20%;margin-bottom:1.5rem;min-width:280px}.basic-section{flex:1 1 100%;margin-bottom:2rem}.profile-section form{padding-bottom:1.5rem}@media (max-width:1200px){.profile-sections{flex-direction:row;flex-wrap:wrap}.profile-section{flex:1 1 40%;min-width:280px}}@media (max-width:768px){.profile-sections{flex-direction:column}.profile-section{flex:1 1 100%;width:100%}}.profile-section{background:#f5f5f5;border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:1.5rem;transition:box-shadow .3s ease,transform .3s ease}.profile-section:hover{box-shadow:0 4px 12px #0000001a}.profile-section h2{color:#515f65;font-size:1.25rem;font-weight:500;margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#515f65;outline:none}.form-group textarea{min-height:80px}.submit-btn{display:block;margin:0 auto;max-width:160px;width:auto}.submit-btn:hover{background-color:#415055;box-shadow:0 4px 12px #515f6533;transform:translateY(-1px)}.back-btn{left:2rem;position:absolute;top:2rem}@media (max-width:768px){.profile-sections{grid-template-columns:1fr}.profile-section:first-child{grid-column:1}.profile-container{padding:1.5rem}.back-btn{margin-bottom:1.5rem;position:static}}@media (max-width:1023px){.profile-sections{grid-template-columns:1fr}.profile-section:first-child{grid-column:1}}.read-only input,.read-only textarea{background-color:#f5f5f5;cursor:not-allowed}.read-only input:focus,.read-only textarea:focus{border-color:#ddd;outline:none}.readonly-field{background-color:#f5f5f5!important;border:1px solid #ddd!important;cursor:not-allowed!important}.readonly-field:focus{border-color:#ddd!important;outline:none!important}.company-field{border-bottom:1px dashed #e5e5e5;margin-bottom:2rem;padding-bottom:1rem}.field-note{color:#666;font-size:.85rem;font-style:italic;line-height:1.3;margin-top:.25rem}.verification-section{background-color:#f0f7ff;border:1px solid #cce5ff;border-radius:8px;margin:1.5rem 0;padding:1.5rem}.verification-section h3{color:#06c;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.verification-code-input{font-size:1.5rem;letter-spacing:.5rem;margin-bottom:1rem;padding:.75rem;text-align:center;width:100%}.verification-actions{display:flex;gap:1rem;justify-content:center}.verify-btn{background-color:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .3s ease}.verify-btn:hover{background-color:#05a}.cancel-btn{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .3s ease}.cancel-btn:hover{background-color:#e0e0e0}.expires-text{color:#666;font-size:.85rem;margin-top:1rem;text-align:center}.form-group{margin-bottom:.75rem;position:relative}.modal-content{max-width:600px}.modal-content,.modal-content-100Prozent{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto;width:100%}.modal-content-100Prozent{max-width:100%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#515f65;font-size:1.5rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.close-button:hover{background-color:#f5f5f5;color:#333}form{padding:1.5rem}.form-row{grid-gap:1rem;gap:1rem}.form-group{margin-bottom:1rem}.form-group select{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.helper-text{color:#6c757d;display:block;font-size:.875rem;margin-top:.25rem}.success-message{background-color:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:1.1rem;font-weight:500;margin:1.5rem;padding:1.5rem;text-align:center}.modal-actions{margin-top:1.5rem}.cancel-button,.submit-button{transition:all .3s ease}.cancel-button{background-color:#e0e0e0;color:#515f65}.cancel-button:hover{background-color:#d6d6d6}.submit-button:hover{transform:translateY(-1px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:480px){.form-row{grid-template-columns:1fr}.modal-content{width:95%}}.team-page{background-color:#c8cbc5;min-height:100vh}.team-header-top{align-items:center;background:linear-gradient(135deg,#515f65,#3e4a4f);box-shadow:0 4px 20px #515f6526;color:#eaedec;display:flex;justify-content:space-between;overflow:hidden;padding:1.5rem 2rem;position:relative}.team-header-top:before{background:#ffffff0d;content:"";height:200%;left:-10%;position:absolute;top:-50%;transform:rotate(45deg);width:40%}.team-header-top h1{font-size:2rem;font-weight:600;letter-spacing:-.5px;margin:0;z-index:1}.admin-button,.logout-button,.profile-button,.team-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#515f651a;border:1px solid #515f6533;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.admin-button:hover,.logout-button:hover,.profile-button:hover,.team-button:hover{background-color:#515f6533;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.team-container{margin:0 auto;max-width:1200px;padding:2rem}.team-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.back-btn{background-color:#515f651a;border:1px solid #515f6533;border-radius:6px;color:#515f65;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.back-btn:hover{background-color:#515f6526;transform:translateX(-2px)}.invite-btn{background:#515f65;border:none;border-radius:50px;box-shadow:0 4px 15px #515f654d;color:#eaedec;cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 2rem;transition:all .3s ease}.invite-btn:hover{background:#3e4a4f;box-shadow:0 8px 25px #515f6566;transform:translateY(-2px)}.error,.loading{color:#515f65;font-size:1.1rem;padding:2rem;text-align:center}.error{color:#c62828}.no-members{background:#fff;border-radius:12px;box-shadow:0 4px 20px #515f6514;color:#666;font-size:1.1rem;grid-column:1/-1;padding:3rem 2rem;text-align:center}.team-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.team-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #515f6514;display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease}.team-card.clickable{cursor:pointer}.team-card:hover{box-shadow:0 8px 30px #515f6526;transform:translateY(-2px)}.member-avatar-container{height:60px;margin:0 auto 1rem;position:relative;width:60px}.member-avatar{background:linear-gradient(135deg,#515f65,#6b7980);color:#fff;font-size:1.5rem;font-weight:700;height:60px;width:60px}.company-logo-badge,.member-avatar{align-items:center;border-radius:50%;display:flex;justify-content:center}.company-logo-badge{background:#fff;border:2px solid #fff;bottom:-4px;box-shadow:0 2px 4px #0003;height:24px;overflow:hidden;position:absolute;right:-4px;width:24px}.company-logo-badge img{border-radius:50%;height:100%;object-fit:cover;width:100%}.member-info h3{color:#333;font-size:1.2rem;margin:0 0 .5rem}.member-email{color:#666;font-size:.9rem;margin-bottom:.5rem}.member-company{color:#999;font-size:.85rem;font-style:italic;margin-bottom:1rem}.member-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.role-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.role-badge.administrator{background-color:#ffebee;color:#c62828}.role-badge.project_manager{background-color:#fff3e0;color:#ef6c00}.role-badge.editor{background-color:#e8f5e9;color:#2e7d32}.role-badge.client,.role-badge.viewer{background-color:#e3f2fd;color:#1565c0}.role-badge.reviewer{background-color:#f3e5f5;color:#7b1fa2}.role-badge.customer{background-color:#e3f2fd;color:#1565c0}.join-date{color:#999;font-size:.8rem}.member-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{background-color:#1976d2}.block-btn{background-color:#ff9800;color:#fff}.block-btn:hover{background-color:#f57c00}.unblock-btn{background-color:#4caf50;color:#fff}.unblock-btn:hover{background-color:#388e3c}.delete-btn{background-color:#f44336;color:#fff}.delete-btn:hover{background-color:#d32f2f}.modal{min-width:400px}.modal h2{color:#515f65;font-size:1.5rem;margin:0 0 1rem}.modal p{color:#666;margin-bottom:1.5rem}.role-select{border:1px solid #ddd;border-radius:6px;font-size:1rem;margin-bottom:1.5rem;padding:.75rem;width:100%}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-button,.confirm-button,.save-button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.confirm-button,.save-button{background-color:#4caf50;color:#fff}.confirm-button:hover,.save-button:hover{background-color:#45a049}.status-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:2px 8px}.status-badge.blocked{background-color:#f44336;color:#fff}.user-info{gap:1rem}.user-info button{background:#eaedec;border:none;border-radius:4px;color:#515f65;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.user-info button:hover{background:#d5d8d7}@media (max-width:768px){.team-header{align-items:stretch;flex-direction:column;gap:1rem}.team-grid{grid-template-columns:1fr}.team-card{flex-direction:column;text-align:center}.member-avatar{margin:0 auto}.member-meta{flex-direction:column;gap:.5rem}}.team-register-page{align-items:center;background-color:#c8cbc5;display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-container,.loading-container{align-items:center;display:flex;justify-content:center;width:100%}.loading{color:#515f65}.error-box{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:400px;padding:2rem;text-align:center}.error-box h2{color:#c62828;margin-bottom:1rem}.error-box p{color:#666;margin-bottom:1.5rem}.register-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:600px;padding:3rem;width:100%}.register-header{margin-bottom:2rem;text-align:center}.register-header h1{color:#515f65;font-size:2rem;margin-bottom:.5rem}.register-header p{color:#666;font-size:1.1rem}.register-form{margin:0 auto;max-width:500px}.info-section,.password-section{margin-bottom:2rem}.info-section h3,.password-section h3{color:#515f65;font-size:1.3rem;margin-bottom:1rem}.info-grid{background:#f5f5f5;border-radius:8px;padding:1.5rem}.info-item{display:flex;justify-content:space-between;margin-bottom:.75rem}.info-item:last-child{margin-bottom:0}.info-item label{color:#666;font-weight:500}.info-item span{color:#515f65;font-weight:500}.form-group{margin-bottom:1.25rem}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#515f65;outline:none}.error-message{border:1px solid #ffcdd2;border-radius:6px;margin-bottom:1rem;padding:.75rem;text-align:center}.submit-button{font-size:1.1rem;padding:1rem;transition:all .3s ease;width:100%}.submit-button:hover{background-color:#415055;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.submit-button:disabled{opacity:.6}.primary-button{background-color:#515f65;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.primary-button:hover{background-color:#415055;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.alternative-actions{border-top:1px solid #eee;margin-top:2rem;padding-top:2rem;text-align:center}.alternative-actions p{color:#666}.alternative-actions a{color:#515f65;font-weight:500;text-decoration:none}.alternative-actions a:hover{text-decoration:underline}@media (max-width:600px){.register-container{padding:2rem}.info-item{flex-direction:column;gap:.25rem}.info-item label{font-size:.9rem}}.profile-page{align-items:center;display:flex;justify-content:center;padding:6rem 2rem 2rem}.company-management,.profile-page{background-color:#c8cbc5;min-height:100vh}.company-management{padding:2rem}.company-management-header{align-items:center;background:linear-gradient(135deg,#515f65,#3e4a4f);box-shadow:0 4px 20px #515f6526;color:#eaedec;display:flex;justify-content:space-between;margin:-2rem -2rem 2rem;padding:1.5rem 2rem}.company-management-header h1{font-size:2rem;font-weight:600;margin:0}.logout-button,.profile-button,.team-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#515f651a;border:1px solid #515f6533;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.logout-button:hover,.profile-button:hover,.team-button:hover{background-color:#515f6533;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.create-button{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.create-button:hover{background-color:#45a049;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.companies-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.company-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:1.5rem;padding:2rem;transition:transform .2s ease}.company-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.company-logo{flex-shrink:0}.company-logo img,.logo-placeholder{border-radius:8px;height:100px;object-fit:contain;width:100px}.logo-placeholder{color:#515f65;font-size:2.5rem;font-weight:700}.company-info{flex:1 1}.company-info h3{color:#333;font-size:1.5rem;margin:0 0 .5rem}.company-description{color:#666;line-height:1.5;margin-bottom:1rem}.company-details{margin-bottom:1rem}.detail-item{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.detail-label{color:#555;font-weight:600;min-width:80px}.detail-item a{color:#2196f3;text-decoration:none}.detail-item a:hover{text-decoration:underline}.company-actions{display:flex;gap:.5rem;margin-top:1rem}.delete-button,.edit-button{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.edit-button{background-color:#2196f3;color:#fff}.edit-button:hover{background-color:#1976d2}.delete-button{background-color:#f44336;color:#fff}.delete-button:hover{background-color:#d32f2f}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;width:90%}.modal h2{color:#333;margin:0 0 2rem}.company-form{display:flex;flex-direction:column;gap:2rem}.form-section{border-bottom:1px solid #eee;padding-bottom:2rem}.form-section:last-of-type{border-bottom:none}.form-section h3{color:#555;font-size:1.2rem;margin:0 0 1.5rem}.logo-upload{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.logo-preview img{border:2px solid #ddd;border-radius:8px;height:150px;object-fit:contain;width:150px}.logo-placeholder{align-items:center;background-color:#f5f5f5;border:2px dashed #ddd;border-radius:8px;color:#999;display:flex;height:150px;justify-content:center;width:150px}.logo-controls{display:flex;flex-direction:column;gap:.5rem}.upload-button{background-color:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;text-align:center}.upload-button:hover{background-color:#1976d2}.remove-button{background-color:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.75rem 1.5rem}.remove-button:hover{background-color:#d32f2f}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group.full-width{grid-column:1/-1}.form-group label{color:#555}.form-group input,.form-group textarea{border-radius:6px;font-size:1rem;padding:.75rem}.form-group input:focus,.form-group textarea:focus{border-color:#2196f3}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-button,.submit-button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button{background-color:#f5f5f5;color:#666}.cancel-button:hover{background-color:#e0e0e0}.submit-button{background-color:#4caf50}.submit-button:hover{background-color:#45a049}.empty-state{color:#666;font-size:1.2rem;padding:3rem;text-align:center}.error-message{align-items:center;background-color:#ff5252;border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.error-message button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem}.loading{color:#666;font-size:1.2rem;padding:2rem;text-align:center}.button-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.delete-btn{background-color:#dc3545!important;color:#fff!important}.delete-btn:hover{background-color:#c82333!important;color:#fff!important}@media (max-width:768px){.button-group{flex-direction:column}.button-group button{width:100%}}.pricing-page{background-color:#eaedec;min-height:100vh}.pricing-nav-header{background-color:#f8f8f8;box-shadow:0 2px 4px #515f6514;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pricing-nav-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 1.5rem}.pricing-nav-header .logo{align-items:center;cursor:pointer;display:flex;gap:1rem}.pricing-nav-header .logo-img{display:block;height:40px;width:auto}.pricing-nav-header .logo-text{color:#515f65;font-size:1.1rem;font-weight:600}.pricing-nav-header .nav{align-items:center;display:flex;gap:2rem}.pricing-nav-header .nav a{color:#515f65;font-weight:500;opacity:.8;text-decoration:none;transition:color .3s}.pricing-nav-header .nav a:hover{color:#515f65;opacity:1}.pricing-nav-header .nav a.active{border-bottom:2px solid #515f65;opacity:1}.nav-button{background-color:#515f65;border:none;border-radius:6px;color:#eaedec;cursor:pointer;font-weight:500;padding:.5rem 1.5rem;transition:background-color .3s}.nav-button:hover{background-color:#3e4a4f}.pricing-container{padding:80px 20px 40px}.pricing-header{margin-bottom:60px;text-align:center}.pricing-header h1{color:#515f65;font-size:48px;font-weight:700;margin-bottom:24px}.billing-toggle{background:#515f651a;border-radius:8px;display:flex;gap:0;justify-content:center;margin:0 auto;max-width:400px;padding:4px}.toggle-option{background:#0000;border:none;border-radius:6px;color:#515f65;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.toggle-option.active{background:#515f65;color:#eaedec}.pricing-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1400px;padding:0 20px}.pricing-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #515f6526;padding:40px;position:relative;transition:all .3s ease}.pricing-card:hover{box-shadow:0 8px 30px #515f6540;transform:translateY(-5px)}.pricing-card.addon{border:1px solid #7781891a}.pricing-card.addon:before{background:#778189;border-radius:4px;color:#fff;content:"ADD-ON";font-size:12px;font-weight:600;left:50%;letter-spacing:.5px;padding:4px 12px;position:absolute;top:-10px;transform:translateX(-50%)}.card-header{margin-bottom:40px;text-align:center}.card-header h2{color:#515f65;font-size:32px;margin-bottom:24px}.price{align-items:baseline;display:flex;gap:5px;justify-content:center}.currency{color:#515f65;font-size:28px}.amount{color:#515f65;font-size:56px;font-weight:700}.period{color:#778189;font-size:20px}.features{background-color:#c8cbc5;padding:5rem 0}.pricing-card .features{background-color:initial!important;display:flex;flex-direction:column;gap:16px;list-style:none;margin:0 0 40px;padding:0!important}.pricing-card .features li{align-items:flex-start;background:#dadfde;border:1px solid #515f6514;border-radius:12px;box-shadow:0 2px 8px #515f650f;color:#515f65;cursor:default;display:flex;font-size:16px;gap:20px;overflow:hidden;padding:20px 24px;position:relative;transition:all .3s ease}.pricing-card .features li:before{background:linear-gradient(180deg,#515f65,#778189);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.pricing-card .features li:hover{background:#e5e9e8;border-color:#515f6526;box-shadow:0 4px 16px #515f651f;transform:translateX(4px)}.pricing-card .features li:hover:before{opacity:1}.pricing-card .features li.feature-highlight{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #f39c1233;box-shadow:0 4px 16px #f39c1226;position:relative}.pricing-card .features li.feature-highlight .feature-title{color:#d68910;font-weight:700}.pricing-card .features li.feature-highlight:hover{background:linear-gradient(135deg,#fff8dc,#ffdd59);box-shadow:0 6px 20px #f39c1266;transform:translateX(6px)}.feature-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.feature-title{color:#2c3e50;font-size:18px;font-weight:600;line-height:1.4}.feature-description{color:#778189;font-size:14px;line-height:1.5;opacity:.9}.pricing-card .features li:last-child{margin-bottom:0}.checkmark{color:#515f65;font-size:20px;font-weight:700}.cta-button{border:none;border-radius:8px;cursor:pointer;font-size:18px;font-weight:600;padding:16px 32px;transition:all .3s ease;width:100%}.cta-button.primary{background:#515f65;color:#eaedec}.cta-button.primary:hover{background:#3e4a4f;box-shadow:0 6px 20px #515f6540;transform:translateY(-2px)}.cta-button.secondary{background:#778189;color:#eaedec}.cta-button.secondary:hover{background:#5f6c73;box-shadow:0 6px 20px #77818940;transform:translateY(-2px)}@media (max-width:768px){.pricing-header h1{font-size:36px}.pricing-cards{gap:20px;grid-template-columns:1fr;padding:0 10px}.pricing-card{padding:30px}.amount{font-size:48px}.pricing-nav-header .container{padding:.75rem 1rem}.pricing-nav-header .logo-img{height:35px}.pricing-nav-header .logo-text{font-size:.9rem}.pricing-nav-header .nav{gap:1rem}.nav-button{font-size:.9rem;padding:.4rem 1rem}}.legal-page{background-color:#eaedec;min-height:100vh}.legal-nav-header{background-color:#f8f8f8;box-shadow:0 2px 4px #515f6514;position:-webkit-sticky;position:sticky;top:0;z-index:100}.legal-nav-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 1.5rem}.legal-nav-header .logo{align-items:center;cursor:pointer;display:flex;gap:1rem}.legal-nav-header .logo-img{display:block;height:40px;width:auto}.legal-nav-header .logo-text{color:#515f65;font-size:1.1rem;font-weight:600}.legal-nav-header .nav{align-items:center;display:flex;gap:2rem}.legal-nav-header .nav a{color:#515f65;font-weight:500;opacity:.8;text-decoration:none;transition:color .3s}.legal-nav-header .nav a:hover{color:#515f65;opacity:1}.legal-container{margin:0 auto;max-width:800px;padding:60px 20px}.legal-container h1{color:#515f65;font-size:42px;font-weight:700;margin-bottom:16px}.last-updated{color:#778189;font-size:16px}.last-updated,.legal-container section{margin-bottom:48px}.legal-container h2{color:#515f65;font-size:28px;font-weight:600;margin-bottom:16px}.legal-container p{color:#515f65;font-size:16px;line-height:1.7;margin-bottom:16px}.legal-container ol,.legal-container ul{margin:16px 0;padding-left:32px}.legal-container li{color:#515f65;font-size:16px;line-height:1.7;margin-bottom:12px}.legal-container ul li{list-style-type:disc}.legal-container ol li{list-style-type:decimal}@media (max-width:768px){.legal-nav-header .container{padding:.75rem 1rem}.legal-nav-header .logo-img{height:35px}.legal-nav-header .logo-text{font-size:.9rem}.legal-nav-header .nav{gap:1rem}.legal-nav-header .nav a{font-size:.9rem}.legal-container{padding:40px 20px}.legal-container h1{font-size:32px}.legal-container h2{font-size:24px}}.contact-section{margin:0 auto;max-width:800px}.contact-info{background-color:#f5f5f5;border-radius:8px;margin:20px 0 30px;padding:20px}.contact-info h3{color:#515f65;margin-top:0}.contact-form{margin-top:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:5px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;padding:10px;transition:border-color .3s;width:100%}.submit-button{border-radius:4px;font-weight:500;padding:12px 30px;transition:background-color .3s}.submit-message{border-radius:4px;padding:12px}.submit-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.submit-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.contact-page{background-color:#eaedec;min-height:100vh}.contact-nav-header{background-color:#f8f8f8;box-shadow:0 2px 4px #515f6514;position:-webkit-sticky;position:sticky;top:0;z-index:100}.contact-nav-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 1.5rem}.contact-nav-header .logo{align-items:center;cursor:pointer;display:flex;gap:1rem}.contact-nav-header .logo-img{display:block;height:40px;width:auto}.contact-nav-header .logo-text{color:#515f65;font-size:1.1rem;font-weight:600}.contact-nav-header .nav{align-items:center;display:flex;gap:2rem}.contact-nav-header .nav a{color:#515f65;font-weight:500;opacity:.8;text-decoration:none;transition:color .3s}.contact-nav-header .nav a.active,.contact-nav-header .nav a:hover{color:#515f65;opacity:1}.contact-container{margin:0 auto;max-width:1200px;padding:60px 20px}.contact-header{margin-bottom:60px;text-align:center}.contact-header h1{color:#515f65;font-size:42px;font-weight:700;margin-bottom:16px}.contact-header p{color:#778189;font-size:18px;margin:0 auto;max-width:600px}.contact-content{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1000px}.contact-info-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:32px}.contact-info-section h2{color:#515f65;font-size:24px;font-weight:600;margin-bottom:24px}.contact-info-item{margin-bottom:24px}.contact-info-item h3{color:#515f65;font-size:16px;font-weight:600;margin-bottom:8px}.contact-info-item p{color:#778189;font-size:16px;line-height:1.6;margin:0}.contact-form-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:32px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#515f65;font-size:14px;margin-bottom:8px}.form-group input,.form-group textarea{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .3s}.form-group input:focus,.form-group textarea:focus{background-color:#fff;border-color:#515f65;outline:none}.form-group textarea{font-family:inherit;min-height:120px;resize:vertical}.submit-button{align-self:flex-start;background-color:#515f65;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s}.submit-button:hover:not(:disabled){background-color:#3d474c;box-shadow:0 4px 12px #515f6533;transform:translateY(-1px)}.submit-button:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.submit-message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:16px;text-align:center}.submit-message.success{background-color:#e7f5e7;border:1px solid #b8e0b8;color:#2e7d2e}.submit-message.error{background-color:#ffe5e5;border:1px solid #ffb8b8;color:#d32f2f}@media (max-width:768px){.contact-nav-header .container{padding:.75rem 1rem}.contact-nav-header .logo-img{height:35px}.contact-nav-header .logo-text{font-size:.9rem}.contact-nav-header .nav{gap:1rem}.contact-nav-header .nav a{font-size:.9rem}.contact-container{padding:40px 20px}.contact-header h1{font-size:32px}.contact-content{gap:30px}.contact-content,.form-row{grid-template-columns:1fr}}.iam-checker-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.iam-checker-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.iam-checker-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.iam-checker-header h2{color:#333;margin:0}.iam-checker-header .close-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.iam-checker-header .close-button:hover{color:#000}.iam-checker-content{flex:1 1;overflow-y:auto;padding:20px}.loading-spinner{padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;display:inline-block;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background-color:#ffebee;border-radius:4px;color:#c62828;margin-bottom:20px;padding:15px}.section{margin-bottom:30px}.section h3{color:#333;font-size:18px;margin-bottom:15px;margin-top:0}.identity-info{background-color:#f5f5f5;border-radius:4px;padding:15px}.identity-info p{margin:5px 0}.identity-info code{background-color:#e8e8e8;border-radius:3px;font-size:12px;padding:2px 5px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-item{background-color:#f5f5f5;border-radius:4px;padding:15px;text-align:center}.summary-item.allowed{background-color:#e8f5e9;color:#2e7d32}.summary-item.denied{background-color:#ffebee;color:#c62828}.summary-item.unknown{background-color:#fff3e0;color:#ef6c00}.summary-label{display:block;font-size:14px;margin-bottom:5px}.summary-value{display:block;font-size:24px;font-weight:700}.recommendations{display:flex;flex-direction:column;gap:10px}.recommendation{align-items:center;border-radius:4px;display:flex;gap:10px;padding:10px 15px}.recommendation.error{background-color:#ffebee;color:#c62828}.recommendation.warning{background-color:#fff3e0;color:#f57c00}.recommendation.info{background-color:#e3f2fd;color:#1976d2}.rec-icon{font-size:20px}.permissions-tabs{display:flex;flex-direction:column;gap:10px}.permission-group{background-color:#f5f5f5;border-radius:4px;padding:10px}.permission-group summary{cursor:pointer;font-weight:700;padding:5px;-webkit-user-select:none;user-select:none}.permission-group[open] summary{margin-bottom:10px}.permissions-list{display:flex;flex-direction:column;gap:5px}.permission-item{align-items:center;background-color:#fff;border-radius:4px;display:flex;gap:10px;padding:5px 10px}.permission-icon{font-size:16px}.permission-action{flex:1 1;font-family:monospace;font-size:14px}.permission-error{color:#666;font-size:12px}.roles-list{display:flex;flex-direction:column;gap:10px}.role-item{background-color:#f5f5f5;border-radius:4px;padding:15px}.attached-roles{color:#666;font-size:14px;margin-top:5px}.error-text{color:#c62828}.iam-checker-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:20px}.close-button,.refresh-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 20px}.refresh-button{background-color:#007bff;color:#fff}.refresh-button:hover:not(:disabled){background-color:#0056b3}.refresh-button:disabled{background-color:#ccc;cursor:not-allowed}.iam-checker-footer .close-button{background-color:#6c757d;color:#fff}.iam-checker-footer .close-button:hover{background-color:#5a6268}.show-policy-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.show-policy-button:hover{background-color:#218838}.policy-section{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:20px}.policy-instructions{margin-bottom:20px}.policy-instructions h4{color:#495057;margin-bottom:10px;margin-top:0}.policy-instructions ol{color:#6c757d;margin:0;padding-left:25px}.policy-instructions li{margin-bottom:5px}.policy-instructions code{background-color:#e9ecef;border-radius:3px;color:#d73a49;font-family:monospace;font-size:13px;padding:2px 5px}.policy-container{margin-bottom:15px;position:relative}.policy-header{align-items:center;background-color:#343a40;border-radius:4px 4px 0 0;color:#fff;display:flex;justify-content:space-between;padding:10px 15px}.policy-header span{font-size:14px;font-weight:500}.copy-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:5px 15px;transition:background-color .2s}.copy-button:hover{background-color:#0056b3}.policy-json{background-color:#2d2d2d;border:1px solid #343a40;border-radius:0 0 4px 4px;color:#f8f8f2;margin:0;max-height:400px;overflow-x:auto;padding:20px}.policy-json code{font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;white-space:pre}.policy-notes{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;margin-top:15px;padding:15px}.policy-notes p{color:#856404;font-size:14px;margin:5px 0}.policy-notes code{background-color:#ffeaa7;border-radius:3px;color:#856404;font-family:monospace;font-size:13px;padding:2px 5px}.hpc-settings{background-color:#c8cbc5;min-height:100vh;padding:2rem}.hpc-settings.loading{align-items:center;color:#515f65;display:flex;font-size:1.2rem;justify-content:center}.hpc-header{align-items:center;background:linear-gradient(135deg,#515f65,#3e4a4f);box-shadow:0 4px 20px #515f6526;color:#eaedec;display:flex;justify-content:space-between;margin:-2rem -2rem 2rem;overflow:hidden;padding:1.5rem 2rem;position:relative}.hpc-header:before{background:#ffffff0d;content:"";height:200%;left:-10%;position:absolute;top:-50%;transform:rotate(45deg);width:40%}.hpc-header h1{font-size:2rem;font-weight:600;letter-spacing:-.5px;margin:0;z-index:1}.user-info{align-items:center;display:flex;gap:1.5rem;z-index:1}.user-info span{font-size:1.1rem;opacity:.9}.admin-button,.dashboard-button,.logout-button,.profile-button,.team-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#515f651a;border:1px solid #515f6533;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.admin-button:hover,.dashboard-button:hover,.logout-button:hover,.profile-button:hover,.team-button:hover{background-color:#515f6533;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.hpc-navigation{margin:0 auto 2rem;max-width:1200px;padding:0 2rem}.nav-menu{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1.5rem}.nav-section{margin-bottom:1rem}.nav-section h3{color:#515f65;font-size:1.1rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.nav-subsection{margin-left:1rem}.nav-subsection h4{color:#586069;font-size:.95rem;font-weight:500;margin:0 0 .5rem}.nav-item{background:#f5f6f7;border:1px solid #0000;border-radius:6px;color:#24292e;cursor:pointer;display:block;font-size:.9rem;margin-bottom:.25rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.nav-item:hover{background:#e1e4e8;border-color:#d1d5da}.nav-item.active{background:#515f65;color:#fff;font-weight:500}.nav-item.active:hover{background:#415055}.hpc-content{margin:0 auto;max-width:1200px;padding:0 2rem 2rem}.credentials-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.credentials-section h2{color:#515f65;font-weight:600;margin-bottom:.5rem;margin-top:0}.section-description{color:#666;font-size:.95rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#444;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{background-color:#f8f9fa;border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{background-color:#fff;border-color:#515f65;box-shadow:0 0 0 2px #515f651a;outline:none}.form-group small{color:#666;display:block;font-size:.85rem;margin-top:.25rem}.password-input{display:flex;gap:.5rem;position:relative}.password-input input{flex:1 1}.toggle-password{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:.75rem 1rem;transition:background-color .2s;white-space:nowrap}.toggle-password:hover{background-color:#e0e0e0}.submit-btn{background-color:#515f65;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;min-width:120px;padding:.625rem 1rem;transition:all .3s ease}.submit-btn:hover:not(:disabled){background-color:#415055;box-shadow:0 4px 12px #515f6533;transform:translateY(-1px)}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.status-message{align-items:center;border-radius:4px;display:flex;gap:.5rem;margin-top:1rem;padding:.75rem 1rem}.status-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-message.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message{animation:slideDown .3s ease-out}.pricing-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#515f651a;border:1px solid #515f6533;border-radius:8px;color:#eaedec;cursor:pointer;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.pricing-button:hover{background-color:#515f6533;box-shadow:0 4px 12px #515f6533;transform:translateY(-2px)}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.d6c775ca.css.map*/