@import "https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;display:flex}body,p{margin:0}:root{--primary:#0e700e;--primary-dark:#0a5a0a;--primary-light:#9fd89f;--primary-bg:#f1faf1;--primary-border:#9fd89f;--success:#0e700e;--success-bg:#f1faf1;--danger:#d32f2f;--danger-bg:#d32f2f14;--warning:#ed6c02;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e0e0e0;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#616161;--gray-600:#424242;--gray-700:#374151;--gray-800:#242424;--gray-900:#1a1a1a;--radius:10px;--radius-sm:8px;--radius-xs:4px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--shadow-lg:0 4px 6px -1px #00000012, 0 2px 4px -2px #00000012;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{background:var(--gray-50);color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;font-family:Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex;position:relative}.background-gradient{display:none}.app-header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--gray-200);z-index:100;background:#ffffffb8;padding:.75rem 1.5rem;position:sticky;top:0}.header-content{align-items:center;gap:.75rem;max-width:720px;margin:0 auto;display:flex}.logo{flex-shrink:0}.logo svg{display:block}.title-group{flex:1}.title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.app-header h1{letter-spacing:-.01em;color:var(--gray-800);margin:0;font-size:1rem;font-weight:600}.beta-badge{background:var(--primary-bg);color:var(--primary);border:1px solid var(--primary-border);border-radius:var(--radius-xs);align-items:center;padding:0 5px;font-size:.6875rem;font-weight:600;display:inline-flex}.app-header p{color:var(--gray-500);margin:.125rem 0 0;font-size:.75rem}main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.5rem 1.5rem 2rem}.wizard-container{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--gray-200);background:#fff;padding:1.5rem 2rem}.wizard-progress{justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex;position:relative}.wizard-progress:before{content:"";background:var(--gray-200);z-index:0;border-radius:2px;height:2px;position:absolute;top:14px;left:8%;right:8%}.wizard-progress:after{content:"";background:var(--primary);z-index:1;border-radius:2px;height:2px;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;top:14px;left:8%}.progress-step{z-index:2;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-number{border:2px solid var(--gray-200);width:30px;height:30px;color:var(--gray-400);transition:var(--transition);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:flex}.progress-step.active .step-number{background:var(--primary);color:#fff;border-color:#0000;transform:scale(1.05);box-shadow:0 2px 8px #0e700e4d}.progress-step.completed .step-number{background:var(--success);color:#fff;border-color:#0000;box-shadow:0 2px 8px #0e700e33}.progress-step.completed .step-number:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;margin-bottom:2px;transform:rotate(-45deg)}.progress-step.completed .step-number{font-size:0}.step-label{color:var(--gray-500);text-align:center;transition:var(--transition);font-size:.6875rem;font-weight:500}.progress-step.active .step-label,.progress-step.completed .step-label{color:var(--primary);font-weight:600}.wizard-step{animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-step h2{color:var(--gray-900);letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.step-description{color:var(--gray-500);margin-bottom:1.25rem;font-size:.8125rem;line-height:1.5}.form-group{margin-bottom:1rem}.form-group label{color:var(--gray-700);text-transform:none;letter-spacing:0;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number],.form-group input[type=password],.form-group select,.form-group textarea{border:1px solid var(--gray-200);border-radius:var(--radius-sm);width:100%;transition:var(--transition);color:var(--gray-800);background:#fff;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray-400)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--gray-300)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0e700e1f}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-group small{color:var(--gray-500);margin-top:.5rem;font-size:.8125rem;display:block}.input-error{border-color:var(--danger)!important;background:var(--danger-bg)!important}.input-error:focus{border-color:var(--danger)!important;box-shadow:0 0 0 4px #ef444426!important}.field-error{color:var(--danger);margin-top:.375rem;font-size:.8125rem;font-weight:500;display:block}.checkbox-group{background:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);padding:.625rem 1rem}.checkbox-group label{cursor:pointer;text-transform:none;letter-spacing:0;align-items:center;gap:.625rem;margin:0;font-weight:500;display:flex}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;border-radius:4px}.subnet-row{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.subnet-row:last-of-type{margin-bottom:0}.subnet-input-wrapper{flex:1}.subnet-input-wrapper input{width:100%}.btn-remove{color:var(--danger);border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:#fff;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.btn-remove:hover{background:var(--danger-bg);border-color:var(--danger)}.input-disabled,input:disabled,select:disabled{cursor:not-allowed;background:var(--gray-100)!important;color:var(--gray-500)!important}.traffic-rule{border:1px solid var(--gray-200);border-radius:var(--radius-sm);margin-bottom:.75rem;padding:.75rem 1rem}.traffic-rule-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.traffic-rule-label{color:var(--gray-600);font-size:.75rem;font-weight:600}.traffic-rule-fields{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.traffic-rule-fields .form-group{margin-bottom:0}.review-rule{border-bottom:1px solid var(--gray-100);padding:.5rem 0}.review-rule:last-child{border-bottom:none}.wizard-buttons{border-top:1px solid var(--gray-200);justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow)}.btn-primary:active:not(:disabled){transform:none}.btn-primary:disabled{background:var(--gray-300);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--gray-700);border:1px solid var(--gray-200);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.btn-secondary:disabled{color:var(--gray-400);cursor:not-allowed}.review-section{border-radius:var(--radius-sm);border:1px solid var(--gray-200);transition:var(--transition);background:#fff;margin-bottom:.75rem;padding:.875rem 1rem}.review-section:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.review-section h3{color:var(--gray-900);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin:0 0 .625rem;font-size:.75rem;font-weight:600;display:flex}.review-section h3:before{content:"";background:var(--primary);border-radius:2px;width:3px;height:1em}.review-section dl{grid-template-columns:130px 1fr;gap:.375rem 1rem;margin:0;display:grid}.review-section dt{color:var(--gray-500);font-size:.75rem;font-weight:500}.review-section dd{color:var(--gray-800);margin:0;font-size:.8125rem;font-weight:500}.review-section ul{color:var(--gray-800);margin:0;padding-left:1.25rem;font-size:.8125rem}.review-section li{margin-bottom:.25rem;font-weight:500}.error-message{background:var(--danger-bg);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #ef444433;align-items:center;gap:.5rem;margin-top:1rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;display:flex}.error-message:before{content:"!";background:var(--danger);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:800;display:flex}.success-message{text-align:center;padding:2rem 1.5rem;position:relative}.success-message:before{content:"";background:var(--success);border-radius:50%;width:56px;height:56px;margin:0 auto 1rem;display:block;box-shadow:0 4px 12px #0e700e40}.success-message:after{content:"";border-bottom:3px solid #fff;border-left:3px solid #fff;width:18px;height:10px;position:absolute;top:41px;left:calc(50% - 9px);transform:rotate(-45deg)}.success-message h2{color:var(--gray-900);margin-bottom:.375rem;font-size:1.25rem;font-weight:600}.success-message p{color:var(--gray-600);margin-bottom:1.5rem;font-size:.875rem}.success-message .btn-primary{margin-bottom:.75rem;margin-right:.75rem;text-decoration:none;display:inline-flex}.success-message .btn-secondary{margin-bottom:.75rem}.app-footer{text-align:center;color:var(--gray-500);padding:1.25rem 1.5rem 1.75rem;font-size:.8125rem}.footer-content{justify-content:center;align-items:center;gap:.75rem;display:flex}.footer-divider{background:var(--gray-300);border-radius:50%;width:4px;height:4px}@media (width<=640px){.app-header{padding:1rem 1.25rem}.header-content{text-align:center;flex-direction:column;gap:1rem}.title-row{justify-content:center}.app-header h1{font-size:1.25rem}main{padding:1.5rem 1rem 2rem}.wizard-container{border-radius:var(--radius-sm);padding:1.25rem}.wizard-progress{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.wizard-progress:before,.wizard-progress:after{display:none}.progress-step{flex:0 0 calc(33.333% - .5rem)}.step-number{width:26px;height:26px;font-size:.6875rem}.step-label{font-size:.625rem}.wizard-step h2{font-size:1rem}.review-section dl{grid-template-columns:1fr;gap:.25rem}.review-section dt{margin-top:.5rem}.review-section dt:first-of-type{margin-top:0}.wizard-buttons{flex-direction:column-reverse;gap:.75rem}.btn-primary,.btn-secondary{width:100%;padding:.5rem}}
