*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:12px;color:#333}.container{max-width:1200px;margin:0 auto;background:#fff;padding:24px;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.15)}.container h1{font-size:28px;color:#1f2937;margin-bottom:4px;font-weight:700}.container>p{color:#6b7280;margin-bottom:16px;font-size:13px;line-height:1.5}label{display:block;font-weight:600;margin-bottom:4px;color:#374151;font-size:13px}button,input,select,textarea{width:100%;margin-bottom:10px;padding:8px 10px;border:2px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:inherit;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px rgba(102,126,234,.1);background-color:#f9fafb}input[type=email],input[type=number],input[type=text],select,textarea{background-color:#f9fafb}input[disabled],input[readonly]{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}textarea{min-height:120px;font-family:Courier New,monospace;resize:vertical}button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;font-weight:600;border:none;padding:10px 16px;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.3)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(102,126,234,.4)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed}pre{background:#1f2937;color:#10b981;padding:10px;border:1px solid #374151;overflow-x:auto;border-radius:6px;font-size:12px;line-height:1.4;margin-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px;margin:10px 0 4px}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.container{padding:24px}.container h1{font-size:24px}}.section{margin:14px 0;padding:12px;border:2px solid #e5e7eb;border-radius:12px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);transition:all .3s ease}.section:hover{border-color:#667eea;box-shadow:0 4px 12px rgba(102,126,234,.1)}.section h3{margin:0 0 8px;font-size:15px;color:#1f2937;font-weight:700;border-bottom:2px solid #667eea;padding-bottom:4px}.label-line{display:flex;align-items:center;justify-content:space-between;gap:6px}.badge{display:inline-flex;align-items:center;padding:4px 6px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid transparent;white-space:nowrap}.badge-required{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.badge-optional{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.helper-text{color:#6b7280;margin:-6px 0 8px;font-size:12px;line-height:1.4}input.invalid,textarea.invalid{border-color:#ef4444;background-color:#fef2f2}.error{color:#dc2626;background-color:#fef2f2;border-left:3px solid #dc2626}.error,.success{padding:8px;border-radius:6px;margin-bottom:10px;font-size:12px}.success{color:#059669;background-color:#f0fdf4;border-left:3px solid #10b981}.chips{margin:8px 0 12px;display:grid;grid-gap:6px;gap:6px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip,.chip-row{align-items:center}.chip{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid #d0d7de}.chip-required{background:#ffe6e6;color:#9b1c1c;border-color:#f5b5b5}.chip-optional{background:#e6f4ff;color:#0b5394;border-color:#b5d9f5}.chip-soft{background:#f8f9fa;color:#333}.chip-soft.alt{background:#f0f4ff}.helper-text{color:#555;margin:-8px 0 12px;font-size:13px}input.invalid,textarea.invalid{border-color:#c62828}.error{color:#c62828}.success{color:#2e7d32}.button-row{display:flex;gap:8px;margin:14px 0}.button-row button{flex:1 1;margin-bottom:0;padding:10px 16px;font-size:13px;font-weight:700}.button-row button:first-child{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 12px rgba(6,182,212,.3)}.button-row button:first-child:hover:not(:disabled){box-shadow:0 8px 20px rgba(6,182,212,.4)}@media (max-width:640px){.button-row{flex-direction:column}.button-row button{margin-bottom:8px}button,input,select,textarea{font-size:16px}}@media (max-width:1024px){.container{padding:20px}}@media (max-width:640px){.container{padding:14px}.container h1{font-size:20px}.section{padding:10px}.section h3{font-size:14px}}