:root{--color-primary: #00d4ff;--color-primary-dark: #0099cc;--color-primary-light: #33e0ff;--color-secondary: #0066ff;--color-accent: #00ffaa;--color-bg-primary: #0a0e1a;--color-bg-secondary: #0f1425;--color-bg-tertiary: #151b30;--color-bg-card: rgba(15, 20, 37, .8);--color-text-primary: #e6eeff;--color-text-secondary: #9ca9c4;--color-text-muted: #6b7a99;--color-border: rgba(0, 212, 255, .2);--color-divider: rgba(0, 212, 255, .1);--shadow-sm: 0 2px 8px rgba(0, 212, 255, .1);--shadow-md: 0 4px 16px rgba(0, 212, 255, .15);--shadow-lg: 0 8px 32px rgba(0, 212, 255, .2);--shadow-glow: 0 0 20px rgba(0, 212, 255, .3);--gradient-primary: linear-gradient(135deg, #0066ff 0%, #00d4ff 100%);--gradient-secondary: linear-gradient(135deg, #0a0e1a 0%, #151b30 100%);--gradient-overlay: linear-gradient(180deg, rgba(10, 14, 26, 0) 0%, rgba(10, 14, 26, .8) 100%);font-family:Microsoft YaHei,微软雅黑,PingFang SC,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary);overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}a{color:var(--color-primary);text-decoration:none;transition:all .3s ease}a:hover{color:var(--color-primary-light);text-shadow:0 0 8px rgba(0,212,255,.5)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:600;line-height:1.3}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}button{border-radius:8px;border:1px solid var(--color-border);padding:.75rem 1.5rem;font-size:1rem;font-weight:500;font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-tertiary);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}button:hover{border-color:var(--color-primary);background:var(--color-bg-secondary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button-primary{background:var(--gradient-primary);border:none;color:#fff;font-weight:600}.button-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px) scale(1.02)}a.button-primary,a.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;transition:all .3s ease}a.button-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}a.button-outline:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-glow);transform:translateY(-2px)}a.button-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600}p{color:var(--color-text-secondary);line-height:1.8}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@media(max-width:768px){:root{font-size:14px}.container{padding:0 1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px #00d4ff33}50%{box-shadow:0 0 20px #00d4ff80}}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-effect{animation:glow 2s ease-in-out infinite}.app{position:relative;min-height:100vh}.bg-decoration{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.grid-lines{position:absolute;width:100%;height:100%;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite}.glow-orb{position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(100px);opacity:.2;animation:float 10s ease-in-out infinite}.glow-orb-1{top:10%;left:10%;background:radial-gradient(circle,#0066ff,transparent)}.glow-orb-2{bottom:10%;right:10%;background:radial-gradient(circle,#00d4ff,transparent);animation-delay:5s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(50px,50px) scale(1.1)}}.navbar{position:sticky;top:0;z-index:1000;background:#0a0e1acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:1rem 0}.nav-content{display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.logo-icon{font-size:1.5rem;color:var(--color-primary)}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{font-size:.95rem;transition:color .3s ease}.nav-links a:hover{color:var(--color-primary-light)}.nav-links .button-primary{padding:.6rem 1.5rem;border-radius:25px;font-size:.95rem}.nav-auth{display:flex;align-items:center;gap:.75rem}.nav-auth .btn-login{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;border-radius:25px;font-size:.9rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);text-decoration:none;transition:all .3s ease}.nav-auth .btn-login:hover{background:#00d4ff1a;box-shadow:var(--shadow-sm);transform:translateY(-1px);text-shadow:none}.nav-auth .btn-register{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;border-radius:25px;font-size:.9rem;font-weight:600;color:#fff;background:var(--gradient-primary);border:none;text-decoration:none;transition:all .3s ease}.nav-auth .btn-register:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px);text-shadow:none}.nav-user-info{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;color:var(--color-primary);background:#00d4ff14;border:1px solid var(--color-border);border-radius:25px;white-space:nowrap}.btn-logout{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:all .3s ease}.btn-logout:hover{color:#f87171;border-color:#f87171;background:#ef444414;transform:translateY(-1px)}.hero{padding:8rem 0 4rem;text-align:center;position:relative}.hero-content{max-width:900px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:#00d4ff1a;border:1px solid var(--color-border);border-radius:50px;color:var(--color-primary);font-size:.9rem;margin-bottom:2rem}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.2;margin-bottom:1.5rem}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--color-text-secondary);margin-bottom:3rem;line-height:1.8}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}.button-large{padding:1rem 2rem;font-size:1.1rem;display:inline-flex;align-items:center;gap:.5rem}.button-outline{background:transparent;border:2px solid var(--color-border);color:var(--color-text-primary)}.button-outline:hover{border-color:var(--color-primary);background:#00d4ff0d}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:3rem;max-width:600px;margin:0 auto}.stat-item{text-align:center}.stat-number{font-size:2.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{color:var(--color-text-secondary);font-size:.9rem}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{margin-bottom:1rem}.section-header p{font-size:1.1rem}.features{padding:6rem 0;background:var(--color-bg-secondary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:2rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-card:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.feature-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:12px;font-size:1.75rem;color:#fff;margin-bottom:1.5rem}.feature-card h3{font-size:1.35rem;margin-bottom:1rem}.feature-card p{line-height:1.7}.advantages{padding:6rem 0}.advantages-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem}.advantage-item{position:relative;padding:2rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;transition:all .3s ease}.advantage-item:hover{border-color:var(--color-primary);transform:translate(8px)}.advantage-number{font-size:3rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.5;margin-bottom:1rem}.advantage-item h3{font-size:1.5rem;margin-bottom:1rem}.advantage-item p{line-height:1.7}.pricing{padding:6rem 0;background:var(--color-bg-primary)}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.pricing-cards-three{grid-template-columns:repeat(3,1fr);gap:1.5rem}.pricing-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;padding:2.5rem 2rem;text-align:center;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column}.pricing-card:hover{transform:translateY(-8px) scale(1.05);border-color:var(--color-primary);box-shadow:var(--shadow-lg);z-index:10}.pricing-cards:has(.pricing-card:hover) .pricing-card:not(:hover){transform:scale(.95);opacity:.6}.pricing-badge{position:absolute;top:1.5rem;right:1.5rem;background:#00d4ff26;border:1px solid var(--color-primary);color:var(--color-primary);padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.pricing-badge-popular{background:var(--gradient-primary);border:none;color:#fff;box-shadow:var(--shadow-glow)}.pricing-card-featured{border:2px solid var(--color-primary);box-shadow:var(--shadow-lg);transform:scale(1.05)}.pricing-card-featured:hover{transform:scale(1.08) translateY(-8px)}.pricing-icon{width:70px;height:70px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:#00d4ff1a;border-radius:16px;font-size:2rem;color:var(--color-primary)}.pricing-icon-featured{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow)}.pricing-card h3{font-size:1.8rem;margin-bottom:1rem;color:var(--color-text-primary)}.pricing-price{margin-bottom:1.5rem;min-height:80px;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap}.price-currency{font-size:1.5rem;color:var(--color-text-secondary);vertical-align:top;margin-right:.25rem}.price-amount{font-size:3rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.price-period{font-size:.95rem;color:var(--color-text-secondary);margin-left:.25rem}.price-label{font-size:2rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-description{color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.6;min-height:48px}.pricing-features{list-style:none;text-align:left;margin-bottom:2rem;flex-grow:1}.pricing-features li{padding:.75rem 0;color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;line-height:1.5}.pricing-features li svg{color:var(--color-primary);font-size:1rem;margin-top:.15rem;flex-shrink:0}.pricing-features .feature-disabled{color:var(--color-text-muted);opacity:.5}.pricing-note{text-align:center;padding-top:2rem;border-top:1px solid var(--color-divider)}.pricing-note p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:.5rem}.cta{padding:6rem 0;background:var(--color-bg-secondary)}.cta-content{text-align:center;background:var(--gradient-secondary);border:1px solid var(--color-border);border-radius:24px;padding:4rem 2rem;position:relative;overflow:hidden}.cta-content:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,212,255,.1),transparent);pointer-events:none}.cta-content h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}.cta-content p{font-size:1.25rem;margin-bottom:2.5rem}.cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h4{font-size:1.1rem;margin-bottom:1rem;color:var(--color-text-primary)}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.75rem}.footer-section ul li a{color:var(--color-text-secondary);transition:color .3s ease}.footer-section ul li a:hover{color:var(--color-primary)}.footer-logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.footer-logo svg{font-size:1.5rem;color:var(--color-primary)}.footer-section p{color:var(--color-text-muted);font-size:.9rem}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--color-divider)}.footer-bottom p{color:var(--color-text-muted);font-size:.9rem}@media(max-width:768px){.hero{padding:4rem 0 2rem}.hero-buttons{flex-direction:column;align-items:center}.hero-buttons button{width:100%;max-width:300px}.nav-links{gap:1rem;font-size:.9rem}.nav-links a:not(.btn-login):not(.btn-register){display:none}.features-grid,.advantages-content{grid-template-columns:1fr}.hero-stats{gap:2rem}.footer-content{grid-template-columns:1fr;gap:2rem}.pricing-cards,.pricing-cards-three{grid-template-columns:1fr}.pricing-card-featured{transform:scale(1)}.pricing-card-featured:hover{transform:translateY(-8px)}}@media(max-width:1024px){.pricing-cards-three{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.pricing-cards-three{grid-template-columns:1fr}}@media(max-width:480px){.nav-links a:not(.btn-login):not(.btn-register){display:none}.hero-badge{font-size:.8rem;padding:.4rem 1rem}.button-large{padding:.875rem 1.5rem;font-size:1rem}.price-amount{font-size:2.5rem}.price-currency{font-size:1.2rem}.price-period{font-size:.85rem}}.auth-page{min-height:100vh;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,102,255,.12) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,212,255,.1) 0%,transparent 50%);pointer-events:none}.auth-page .grid-lines{position:absolute;width:100%;height:100%;background-image:linear-gradient(rgba(0,212,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.02) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;pointer-events:none}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-container-wide{max-width:580px}.auth-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.auth-back:hover{border-color:var(--color-primary);transform:translate(-4px)}.auth-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;padding:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.auth-logo svg{font-size:2rem;color:var(--color-primary)}.auth-header h1{font-size:1.75rem;margin-bottom:.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--color-text-secondary);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.form-field label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary);font-weight:500;font-size:.9rem}.form-field label svg{color:var(--color-primary);font-size:.9rem}.form-field .required{color:#ef4444;font-size:.8rem}.form-field input{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;padding:.8rem 1rem;color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease;width:100%}.form-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-field input::placeholder{color:var(--color-text-muted)}.form-field select{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;padding:.8rem 1rem;color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease;width:100%;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca9c4' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-field select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-section-title{font-size:.85rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.5rem;border-bottom:1px solid var(--color-divider);margin-top:.5rem}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.form-options label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);cursor:pointer}.form-options label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.form-options a{color:var(--color-primary);font-size:.9rem}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.4);color:#f87171;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center}.auth-success{background:#10b9811a;border:1px solid rgba(16,185,129,.4);color:#34d399;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-submit{width:100%;padding:.9rem;font-size:1.05rem;font-weight:600;border-radius:10px;background:var(--gradient-primary);border:none;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.auth-submit:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--color-text-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-footer{text-align:center;margin-top:2rem;font-size:.95rem;color:var(--color-text-secondary)}.auth-footer a{color:var(--color-primary);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-page:has(.auth-container-wide){align-items:flex-start;padding:2rem;overflow:visible}@media(max-width:600px){.form-row{grid-template-columns:1fr}.auth-container-wide{max-width:100%}}@media(max-width:480px){.auth-page{padding:1rem}.auth-card{padding:2rem 1.5rem;border-radius:16px}.auth-header h1{font-size:1.5rem}.auth-logo{font-size:1.25rem}.auth-logo svg{font-size:1.5rem}}.form-page{min-height:100vh;background:var(--color-bg-primary);padding:4rem 0;position:relative}.form-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,102,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,212,255,.1) 0%,transparent 50%);pointer-events:none}.back-button{margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.back-button:hover{border-color:var(--color-primary);transform:translate(-4px)}.form-container{max-width:600px;margin:0 auto;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;padding:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md)}.form-header{text-align:center;margin-bottom:3rem}.form-header h1{font-size:2.5rem;margin-bottom:1rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-header p{color:var(--color-text-secondary);font-size:1.1rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary);font-weight:500;font-size:.95rem}.form-group label svg{color:var(--color-primary);font-size:1rem}.required{color:#ef4444}.form-group input,.form-group textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:.875rem 1rem;color:var(--color-text-primary);font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:120px}.submit-button{margin-top:1rem;width:100%;font-size:1.1rem;padding:1rem}.success-container{text-align:center;padding:4rem 3rem}.success-icon{width:80px;height:80px;margin:0 auto 2rem;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;font-weight:700;animation:successPop .5s ease}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-container h2{font-size:2rem;margin-bottom:1rem;color:var(--color-text-primary)}.success-container p{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:.5rem}.redirect-text{margin-top:2rem;color:var(--color-primary);font-weight:500}@media(max-width:768px){.form-container{padding:2rem 1.5rem}.form-header h1{font-size:2rem}.form-header p{font-size:1rem}}@media(max-width:480px){.form-page{padding:2rem 0}.form-container{padding:1.5rem 1rem}.form-header h1{font-size:1.75rem}.success-container{padding:3rem 2rem}.success-icon{width:60px;height:60px;font-size:2rem}}.onboarding-overlay{position:fixed;inset:0;z-index:9000;background:#0000008c;display:flex;align-items:center;justify-content:center}.welcome-modal{position:relative;width:520px;max-width:92vw;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;box-shadow:0 24px 80px #00000059}.welcome-modal-accent{height:4px;background:linear-gradient(90deg,var(--color-primary),#6366f1,var(--color-primary));background-size:200% 100%;animation:accentShimmer 3s ease infinite}@keyframes accentShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.welcome-modal-body{padding:2rem 2rem 1.25rem;min-height:280px;display:flex;flex-direction:column}.welcome-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.welcome-step-icon{width:64px;height:64px;border-radius:16px;background:#6366f11f;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--color-primary);margin-bottom:.25rem}.welcome-step-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary)}.welcome-step-content{font-size:.925rem;line-height:1.65;color:var(--color-text-secondary);max-width:420px}.welcome-progress{height:3px;background:#ffffff0f;border-radius:2px;margin:1rem 0 .75rem;overflow:hidden}.welcome-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .35s ease}.welcome-footer{display:flex;align-items:center;justify-content:space-between;padding:0 2rem 1.5rem}.welcome-dots{display:flex;gap:6px}.welcome-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;cursor:pointer;transition:all .25s ease;border:none;padding:0}.welcome-dot.active{background:var(--color-primary);transform:scale(1.25)}.welcome-actions{display:flex;gap:.5rem}.welcome-btn{padding:.5rem 1.25rem;border-radius:8px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.welcome-btn-skip{background:transparent;color:var(--color-text-muted)}.welcome-btn-skip:hover{color:var(--color-text-secondary)}.welcome-btn-prev{background:#ffffff0f;color:var(--color-text-secondary)}.welcome-btn-prev:hover{background:#ffffff1a}.welcome-btn-next{background:var(--color-primary);color:#fff}.welcome-btn-next:hover{filter:brightness(1.15)}.spotlight-highlight{position:fixed;z-index:9001;border-radius:8px;box-shadow:0 0 0 9999px #0009;pointer-events:none;transition:border-color .3s ease;border:2px solid var(--color-primary)}.spotlight-tooltip{position:fixed;z-index:9002;width:340px;max-width:90vw;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;box-shadow:0 12px 40px #0000004d}.spotlight-tooltip-title{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.4rem}.spotlight-tooltip-content{font-size:.85rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:1rem}.spotlight-tooltip-footer{display:flex;align-items:center;justify-content:space-between}.spotlight-counter{font-size:.8rem;color:var(--color-text-muted)}.spotlight-actions{display:flex;gap:.5rem}.spotlight-btn{padding:.4rem 1rem;border-radius:6px;border:none;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.spotlight-btn-skip{background:transparent;color:var(--color-text-muted)}.spotlight-btn-skip:hover{color:var(--color-text-secondary)}.spotlight-btn-prev{background:#ffffff0f;color:var(--color-text-secondary)}.spotlight-btn-prev:hover{background:#ffffff1a}.spotlight-btn-next{background:var(--color-primary);color:#fff}.spotlight-btn-next:hover{filter:brightness(1.15)}.spotlight-complete{position:fixed;z-index:9002;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;max-width:90vw;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;padding:2.5rem 2rem;text-align:center;box-shadow:0 24px 80px #00000059}.spotlight-complete-icon{width:72px;height:72px;border-radius:50%;background:#10b98126;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#10b981;margin:0 auto 1rem}.spotlight-complete-title{font-size:1.35rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.spotlight-complete-text{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:1.5rem}.spotlight-complete-btn{padding:.6rem 2rem;border-radius:8px;border:none;background:var(--color-primary);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:filter .2s ease}.spotlight-complete-btn:hover{filter:brightness(1.15)}.onboarding-trigger-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.15rem .6rem;border-radius:4px;font-size:.75rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:all .2s ease}.onboarding-trigger-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.dashboard-root{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}.dash-header{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);padding:.65rem 1.5rem;position:sticky;top:0;z-index:50}.dash-header-left{display:flex;align-items:center;gap:1.5rem}.dash-brand{display:flex;align-items:center;gap:.6rem;color:var(--color-primary);text-decoration:none}.dash-brand svg{font-size:1.6rem}.dash-brand span{font-size:1.05rem;font-weight:700;color:var(--color-text-primary)}.dash-nav{display:flex;align-items:center;gap:2px;background:var(--color-bg-secondary);border-radius:8px;padding:3px}.dash-nav-item{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:all .2s;cursor:pointer;border:none;background:none}.dash-nav-item:hover{color:var(--color-text-primary);text-shadow:none}.dash-nav-item.active{background:var(--color-bg-tertiary);color:var(--color-primary);box-shadow:0 1px 3px #0003;font-weight:600}.dash-nav-item svg{font-size:1rem}.dash-header-right{display:flex;align-items:center;gap:.75rem}.dash-search{display:flex;align-items:center;background:var(--color-bg-secondary);border-radius:8px;padding:0 .75rem;height:34px;min-width:200px}.dash-search svg{color:var(--color-text-muted);font-size:.9rem;margin-right:.5rem}.dash-search input{background:none;border:none;outline:none;color:var(--color-text-primary);font-size:.85rem;width:100%}.dash-search input::placeholder{color:var(--color-text-muted)}.dash-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--color-bg-secondary);border:none;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;font-size:1rem}.dash-icon-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:none;box-shadow:none}.dash-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;cursor:pointer;position:relative;transition:box-shadow .2s}.dash-avatar:hover{box-shadow:0 0 0 3px #00d4ff33}.dash-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:220px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 30px #0006;overflow:hidden;z-index:60}.dash-dropdown-info{padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.dash-dropdown-info .name{font-size:.85rem;font-weight:600;color:var(--color-text-primary)}.dash-dropdown-info .email{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.dash-dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem 1rem;font-size:.85rem;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;transition:background .2s;text-align:left}.dash-dropdown-item:hover{background:var(--color-bg-tertiary);transform:none;box-shadow:none}.dash-dropdown-item.danger{color:#f87171}.dash-dropdown-overlay{position:fixed;inset:0;z-index:55}.dash-main{display:flex;flex:1;overflow:hidden}.dash-sidebar{width:210px;border-right:1px solid var(--color-border);background:var(--color-bg-primary);padding:1rem;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;overflow-y:auto}.dash-sidebar-title{font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem;margin-bottom:.25rem}.dash-sidebar-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:8px;font-size:.85rem;color:var(--color-text-muted);text-decoration:none;transition:all .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.dash-sidebar-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);text-shadow:none}.dash-sidebar-item.active{background:#00d4ff14;color:var(--color-primary);font-weight:600}.dash-sidebar-item svg{font-size:1.1rem}.dash-storage{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;padding:.75rem}.dash-storage-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.dash-storage-header span{font-size:.7rem;font-weight:600}.dash-storage-header span:first-child{color:var(--color-text-muted)}.dash-storage-header span:last-child{color:var(--color-primary)}.dash-progress-track{width:100%;height:5px;background:var(--color-bg-tertiary);border-radius:10px;overflow:hidden}.dash-progress-fill{height:100%;background:var(--gradient-primary);border-radius:10px}.dash-storage-text{font-size:.65rem;color:var(--color-text-muted);margin-top:.4rem}.dash-content{flex:1;overflow-y:auto;padding:1.5rem}.dash-footer{height:36px;border-top:1px solid var(--color-border);background:var(--color-bg-primary);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.68rem;color:var(--color-text-muted);flex-shrink:0}.dash-footer-left,.dash-footer-right{display:flex;align-items:center;gap:1rem}.dash-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.dash-status-dot.online{background:#10b981}.dash-status-dot.warning{background:#f59e0b}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:4px}.stat-card.accent-left{border-left:3px solid var(--color-primary)}.stat-card.accent-green{border-left:3px solid #10b981}.stat-card-top{display:flex;align-items:center;justify-content:space-between}.stat-card-label{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.stat-card-icon{font-size:.9rem}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.stat-card-trend{font-size:.68rem;display:flex;align-items:center;gap:3px}.trend-up{color:#10b981}.trend-primary{color:var(--color-primary)}.trend-muted{color:var(--color-text-muted)}.trend-danger{color:#f43f5e}.dut-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dut-section-header h2{font-size:1.15rem;font-weight:700}.dut-section-header p{font-size:.8rem;color:var(--color-text-muted);margin-top:2px}.dut-actions{display:flex;gap:.5rem}.dash-btn{display:flex;align-items:center;gap:6px;padding:.45rem .9rem;border-radius:8px;font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.dash-btn:hover{transform:none;box-shadow:none}.dash-btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.dash-btn-secondary:hover{background:var(--color-bg-card)}.dash-btn-primary{background:var(--gradient-primary);color:#fff}.dash-btn-primary:hover{opacity:.9}.dash-btn-accent{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.dash-table-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.dash-table{width:100%;text-align:left;border-collapse:collapse}.dash-table thead tr{background:#0f142580;border-bottom:1px solid var(--color-border)}.dash-table th{padding:.75rem 1.25rem;font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.dash-table tbody tr{border-bottom:1px solid var(--color-divider);transition:background .15s}.dash-table tbody tr:last-child{border-bottom:none}.dash-table tbody tr:hover{background:#00d4ff08}.dash-table td{padding:.75rem 1.25rem;font-size:.85rem;color:var(--color-text-secondary)}.dash-table .cell-id{font-weight:700;color:var(--color-text-primary);font-size:.85rem}.dash-table .cell-sub{font-size:.72rem;color:var(--color-text-muted)}.dash-table .cell-mono{font-family:monospace;color:var(--color-text-muted);font-style:italic}.dash-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:50px;font-size:.72rem;font-weight:700}.dash-badge-blue{background:#3b82f626;color:#60a5fa}.dash-badge-amber{background:#f59e0b26;color:#fbbf24}.dash-badge-green{background:#10b98126;color:#34d399}.dash-badge-red{background:#f43f5e26;color:#fb7185}.dash-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor;animation:pulse 1.5s infinite}.dash-table-action{font-size:.72rem;font-weight:700;background:none;border:none;cursor:pointer;padding:0;transition:opacity .2s}.dash-table-action:hover{opacity:.8;transform:none;box-shadow:none}.dash-table-footer{padding:.6rem 1.25rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--color-text-muted)}.dash-pagination{display:flex;align-items:center;gap:4px}.dash-page-btn{padding:3px 8px;border-radius:4px;font-size:.72rem;font-weight:700;background:none;border:none;color:var(--color-text-muted);cursor:pointer;transition:background .15s}.dash-page-btn:hover{background:var(--color-bg-tertiary);transform:none;box-shadow:none}.dash-page-btn.active{background:var(--color-primary);color:#fff}.dash-bottom-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.monitor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.monitor-header h3{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700}.monitor-header h3 svg{color:var(--color-primary)}.monitor-link{font-size:.72rem;font-weight:700;color:var(--color-primary);background:none;border:none;cursor:pointer}.monitor-link:hover{text-decoration:underline}.monitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.monitor-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1rem}.monitor-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.monitor-id-group{display:flex;align-items:center;gap:.5rem}.monitor-id-icon{width:30px;height:30px;border-radius:8px;background:#0066ff1a;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--color-primary)}.monitor-id-text .lbl{font-size:.65rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase}.monitor-id-text .val{font-size:.85rem;font-weight:700;color:var(--color-text-primary)}.monitor-healthy{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;background:#10b98126;color:#34d399}.monitor-row{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;margin-bottom:.4rem}.monitor-row .lbl{color:var(--color-text-muted)}.monitor-row .val{color:var(--color-text-secondary);font-family:monospace}.monitor-progress{margin-top:.5rem}.monitor-progress-bar{width:100%;height:6px;background:var(--color-bg-tertiary);border-radius:10px;overflow:hidden}.monitor-progress-fill{height:100%;background:var(--gradient-primary);border-radius:10px}.monitor-progress-info{display:flex;justify-content:space-between;margin-top:4px;font-size:.62rem}.monitor-progress-info .elapsed{color:var(--color-text-muted)}.monitor-progress-info .pct{font-weight:700;color:var(--color-primary)}.quick-start h3{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;margin-bottom:.75rem}.quick-start-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.quick-field label{display:block;font-size:.7rem;font-weight:700;color:var(--color-text-muted);margin-bottom:.35rem}.quick-field select,.quick-field input{width:100%;padding:.5rem .75rem;border-radius:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.85rem;font-family:inherit;transition:border-color .2s}.quick-field select:focus,.quick-field input:focus{outline:none;border-color:var(--color-primary)}.quick-field select option{background:var(--color-bg-secondary)}.quick-start-btn{width:100%;padding:.6rem;background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:0 4px 12px #0066ff4d;transition:opacity .2s}.quick-start-btn:hover{opacity:.9;transform:none}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-muted);gap:.75rem}.placeholder-page svg{font-size:3rem;color:var(--color-border)}.placeholder-page h2{font-size:1.25rem;color:var(--color-text-secondary)}.placeholder-page p{font-size:.85rem}.quick-field textarea{width:100%;padding:.5rem .75rem;border-radius:8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.85rem;font-family:inherit;transition:border-color .2s;resize:vertical;min-height:60px}.quick-field textarea:focus{outline:none;border-color:var(--color-primary)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.product-detail-panel{animation:slideInRight .2s ease-out}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(3,1fr)}.dash-bottom-grid,.monitor-grid{grid-template-columns:1fr}}@media(max-width:768px){.dash-sidebar{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.dash-nav,.dash-search{display:none}}.sc-product-panel{width:280px;flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.sc-product-card{padding:.6rem .75rem;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px;border:1px solid transparent}.sc-product-card:hover{background:var(--color-bg-tertiary)}.sc-product-card.selected{background:#00d4ff0f;border-color:var(--color-primary)}.sc-mindmap-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;min-height:500px;position:relative}.sc-mindmap-node{border-radius:10px;cursor:pointer;transition:all .2s;background:var(--color-bg-secondary);border:1px solid var(--color-border);height:100%;box-sizing:border-box;overflow:hidden}.sc-mindmap-node:hover{border-color:var(--color-primary);box-shadow:0 0 12px #00d4ff26}.sc-node-dimmed{opacity:.25}.sc-node-product{position:relative}.sc-node-product-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);border-radius:10px 0 0 10px}.sc-node-bom{border-left:3px solid var(--color-border)}.sc-node-bom:hover{border-left-color:var(--color-primary)}.sc-node-supplier{border-left:3px solid transparent}.sc-quality-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-text-muted);flex-shrink:0}.sc-quality-dot.good{background:#10b981;box-shadow:0 0 4px #10b98180}.sc-quality-dot.warn{background:#f59e0b;box-shadow:0 0 4px #f59e0b80}.sc-quality-dot.bad{background:#f43f5e;box-shadow:0 0 4px #f43f5e80}.sc-legend{position:absolute;bottom:12px;right:16px;display:flex;gap:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:6px 12px}.sc-node-popover{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-height:80%;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:14px;padding:1.25rem;box-shadow:0 20px 60px #00000080;z-index:20}.react-grid-item>.react-resizable-handle:after{border-right-color:#3b82f699;border-bottom-color:#3b82f699}.react-grid-item:hover>.react-resizable-handle:after{border-right-color:#3b82f6;border-bottom-color:#3b82f6}.react-grid-item>.react-resizable-handle{width:24px;height:24px;opacity:0;transition:opacity .15s}.react-grid-item.react-grid-placeholder{background:#3b82f626;border:2px dashed rgba(59,130,246,.5);border-radius:12px;opacity:1}.react-grid-item.resizing{box-shadow:0 0 0 2px #3b82f680,0 8px 24px #0003;border-radius:12px}.react-grid-item.react-draggable-dragging{box-shadow:0 0 0 2px #3b82f680,0 12px 32px #0000004d;border-radius:12px;opacity:.9}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
