:root{--ob-bg:#fafaf8;--ob-card:#fff;--ob-border:#e8e4df;--ob-text:#1a1714;--ob-text2:#6b6560;--ob-text3:#8a8078;--ob-rosso:#d42b2b;--ob-verde:#1b8c3d;--ob-oro:#d4a853;--ob-radius:12px}.ob-root{min-height:100vh;background:var(--ob-bg);color:var(--ob-text);display:flex;flex-direction:column}.ob-header{padding:1rem 2rem;border-bottom:1px solid var(--ob-border);background:var(--ob-card)}.ob-logo{font-size:1.25rem;font-weight:700;color:var(--ob-rosso);text-decoration:none}.ob-main{flex:1 1;max-width:720px;width:100%;margin:0 auto;padding:2rem 1.5rem}.ob-footer{padding:1.5rem 2rem;text-align:center;color:var(--ob-text3);font-size:.85rem;border-top:1px solid var(--ob-border)}.ob-progress{display:flex;gap:.5rem;margin-bottom:2rem}.ob-progress-step{flex:1 1;height:4px;border-radius:2px;background:var(--ob-border);transition:background .3s}.ob-progress-step.active{background:var(--ob-rosso)}.ob-progress-step.done{background:var(--ob-verde)}.ob-step{animation:ob-fade-in .3s ease}@keyframes ob-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ob-step h2{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.ob-step .ob-subtitle{color:var(--ob-text2);margin:0 0 2rem;font-size:1rem}.ob-field{margin-bottom:1.25rem}.ob-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem;color:var(--ob-text)}.ob-field input,.ob-field select,.ob-field textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--ob-border);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--ob-card);color:var(--ob-text);transition:border-color .2s;box-sizing:border-box}.ob-field input:focus,.ob-field select:focus,.ob-field textarea:focus{outline:none;border-color:var(--ob-rosso)}.ob-field .ob-error{color:var(--ob-rosso);font-size:.8rem;margin-top:.25rem}.ob-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.ob-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.ob-btn{padding:.75rem 2rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,opacity .2s}.ob-btn:disabled{opacity:.5;cursor:not-allowed}.ob-btn-primary{background:var(--ob-rosso);color:#fff}.ob-btn-primary:hover:not(:disabled){background:#b82424}.ob-btn-secondary{background:transparent;color:var(--ob-text2);border:1px solid var(--ob-border)}.ob-btn-secondary:hover:not(:disabled){background:var(--ob-bg)}.ob-radio-group{display:flex;gap:.75rem;margin-top:.25rem}.ob-radio-group label{display:flex;align-items:center;gap:.4rem;font-weight:400;cursor:pointer}.ob-radio-group input[type=radio]{width:auto;accent-color:var(--ob-rosso)}.ob-upload-options{display:flex;flex-direction:column;gap:1.25rem}.ob-upload-card{border:2px solid var(--ob-border);border-radius:var(--ob-radius);padding:1.5rem;background:var(--ob-card);transition:border-color .2s}.ob-upload-card:hover{border-color:var(--ob-rosso)}.ob-upload-card h3{font-size:1.1rem;margin:0 0 .5rem}.ob-upload-card p{color:var(--ob-text2);margin:0 0 1rem;font-size:.9rem}.ob-dropzone{border:2px dashed var(--ob-border);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;color:var(--ob-text2)}.ob-dropzone.dragging,.ob-dropzone:hover{border-color:var(--ob-rosso);background:#fff5f5}.ob-photos-preview{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.ob-photo-thumb{width:60px;height:60px;border-radius:6px;object-fit:cover;border:1px solid var(--ob-border)}.ob-processing{text-align:center;padding:3rem 0}.ob-processing h2{margin-bottom:1.5rem}.ob-progress-bar{width:100%;height:6px;background:var(--ob-border);border-radius:3px;overflow:hidden;margin:1.5rem 0}.ob-progress-fill{height:100%;background:var(--ob-rosso);border-radius:3px;transition:width .5s ease}.ob-processing-steps{list-style:none;padding:0;text-align:left;max-width:300px;margin:1.5rem auto}.ob-processing-steps li{padding:.4rem 0;color:var(--ob-text2);font-size:.9rem}.ob-processing-steps li.done{color:var(--ob-verde)}.ob-processing-steps li.active{color:var(--ob-text);font-weight:600}.ob-menu-review{margin-bottom:2rem}.ob-menu-category{border:1px solid var(--ob-border);border-radius:var(--ob-radius);margin-bottom:1rem;background:var(--ob-card);overflow:hidden}.ob-menu-cat-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;cursor:pointer;background:var(--ob-bg);font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ob-menu-cat-header:hover{background:#f0ede8}.ob-menu-cat-count{font-weight:400;color:var(--ob-text2);font-size:.85rem}.ob-menu-items{padding:.5rem 0}.ob-menu-item{display:grid;grid-template-columns:1fr auto auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.5rem 1rem;font-size:.9rem;border-bottom:1px solid var(--ob-border)}.ob-menu-item:last-child{border-bottom:none}.ob-menu-item-name{font-weight:500}.ob-menu-item-desc{color:var(--ob-text2);font-size:.8rem}.ob-menu-item-price{font-weight:600;white-space:nowrap}.ob-menu-item-small{color:var(--ob-text2);font-size:.8rem;white-space:nowrap}.ob-themes{margin-top:1.5rem}.ob-themes h3{font-size:1.1rem;margin:0 0 .75rem}.ob-theme-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.75rem;gap:.75rem}.ob-theme-card{border:2px solid var(--ob-border);border-radius:8px;padding:.75rem .5rem;text-align:center;cursor:pointer;font-size:.8rem;font-weight:500;transition:border-color .2s,background .2s}.ob-theme-card.selected,.ob-theme-card:hover{border-color:var(--ob-rosso)}.ob-theme-card.selected{background:#fff5f5}.ob-theme-swatch{width:24px;height:24px;border-radius:50%;margin:0 auto .35rem;border:1px solid rgba(0,0,0,.1)}.ob-plans{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin:1.5rem 0}.ob-plan-card{border:2px solid var(--ob-border);border-radius:var(--ob-radius);padding:1.5rem;cursor:pointer;transition:border-color .2s;position:relative}.ob-plan-card.selected,.ob-plan-card:hover{border-color:var(--ob-rosso)}.ob-plan-card.selected{background:#fff5f5}.ob-plan-card h3{margin:0 0 .25rem;font-size:1.1rem}.ob-plan-price{font-size:1.5rem;font-weight:700;color:var(--ob-rosso);margin:.5rem 0}.ob-plan-features{list-style:none;padding:0;margin:.75rem 0 0;font-size:.85rem;color:var(--ob-text2)}.ob-plan-features li{padding:.2rem 0}.ob-plan-badge{position:absolute;top:-10px;right:12px;background:var(--ob-rosso);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:4px}.ob-checkbox{display:flex;align-items:flex-start;gap:.5rem;margin:1.5rem 0;font-size:.9rem;color:var(--ob-text2)}.ob-checkbox input[type=checkbox]{width:auto;margin-top:.15rem;accent-color:var(--ob-rosso)}.ob-password-wrapper{position:relative}.ob-password-wrapper input{padding-right:2.5rem}.ob-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--ob-text3)}.ob-confirmation{text-align:center;padding:2rem 0}.ob-confirmation h2{font-size:2rem;margin-bottom:1rem}.ob-check-list{list-style:none;padding:0;margin:1.5rem auto;max-width:400px;text-align:left}.ob-check-list li{padding:.5rem 0;font-size:.95rem}.ob-urls{background:var(--ob-bg);border:1px solid var(--ob-border);border-radius:var(--ob-radius);padding:1.25rem;margin:1.5rem auto;max-width:400px;text-align:left}.ob-urls p{margin:.3rem 0;font-size:.9rem;color:var(--ob-text2)}.ob-urls code{color:var(--ob-rosso);font-weight:600}.ob-next-steps{background:var(--ob-card);border:1px solid var(--ob-border);border-radius:var(--ob-radius);padding:1.25rem;margin:1.5rem auto;max-width:400px;text-align:left}.ob-next-steps h3{margin:0 0 .75rem;font-size:1rem}.ob-next-steps ol{margin:0;padding-left:1.25rem;font-size:.9rem;color:var(--ob-text2)}.ob-next-steps li{padding:.25rem 0}.ob-error-banner{background:#fff0f0;border:1px solid var(--ob-rosso);border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;color:var(--ob-rosso);font-size:.9rem}@media (max-width:600px){.ob-main{padding:1.5rem 1rem}.ob-row{grid-template-columns:1fr}.ob-theme-grid{grid-template-columns:repeat(3,1fr)}.ob-plans{grid-template-columns:1fr}.ob-step h2{font-size:1.4rem}}