:root{--bg: #f5f6f8;--card: #ffffff;--ink: #1c2430;--muted: #6b7785;--line: #e2e6ec;--brand: #2f6fed;--brand-ink: #1b4fc0;--ok: #1a9b5b;--ok-bg: #e6f6ee;--warn: #b9770a;--warn-bg: #fdf3e3;--danger: #c2392f;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.app{max-width:820px;margin:0 auto;padding:0 16px 64px}.app-header{padding:20px 0 8px}.brand{font-weight:700;font-size:18px}.stepper{display:flex;gap:8px;margin:12px 0 24px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--card);border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted);flex:1 1 auto;justify-content:center}.step-dot{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--line);color:var(--ink);font-size:12px;font-weight:700}.step-ready{color:var(--ok);border-color:var(--ok-bg)}.step-ready .step-dot{background:var(--ok);color:#fff}.step-partial{color:var(--warn);border-color:var(--warn-bg)}.step-partial .step-dot{background:var(--warn);color:#fff}.step-current{border-color:var(--brand);box-shadow:0 0 0 2px #2f6fed26;font-weight:600}.step-clickable{cursor:pointer;text-decoration:none;transition:border-color .12s,background .12s}.step-clickable:hover{border-color:var(--brand);background:#f1f5ff}@media(max-width:560px){.stepper{flex-wrap:nowrap;gap:4px}.step{flex-direction:column;gap:3px;padding:7px 4px;border-radius:10px;font-size:11px;text-align:center;min-width:0}.step-dot{width:20px;height:20px}.step-label{line-height:1.15}}.screen{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.screen h1{margin:0 0 4px;font-size:26px}.screen-subtitle{margin:0 0 20px;color:var(--muted)}.start-list{color:var(--ink);padding-left:20px}.start-list li{margin:6px 0}.start-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.uploader{border:2px dashed var(--line);border-radius:var(--radius);padding:28px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fafbfc}.uploader:hover,.uploader-dragover{border-color:var(--brand);background:#f1f5ff}.uploader-loading{cursor:progress}.uploader-inner{display:flex;flex-direction:column;gap:6px;align-items:center}.uploader-icon{font-size:26px}.uploader-label{font-weight:600}.uploader-hint{font-size:13px;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field-grid{display:grid;gap:16px;margin:22px 0 8px}@media(min-width:620px){.field-grid{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:5px}.field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-name{font-weight:600;font-size:14px}.field-input{padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;width:100%}.field-input:focus{outline:2px solid var(--brand);border-color:var(--brand)}.field-invalid .field-input{border-color:var(--warn);background:var(--warn-bg)}.field-empty .field-input{border-color:#d7c0c0}.field-hint{font-size:12px;color:var(--muted)}.field-legend{font-size:12px;color:var(--muted);margin-top:12px}.badge{font-size:12px}.badge-warn{color:var(--warn)}.badge-missing{color:var(--danger);font-weight:600}.alert{padding:12px 14px;border-radius:8px;margin:16px 0 0;font-size:14px}.alert-warn{background:var(--warn-bg);color:var(--warn)}.nav-buttons{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.nav-next{display:flex;align-items:center;gap:12px}.nav-hint{font-size:12px;color:var(--muted)}.btn{padding:10px 18px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;background:#eef0f3;color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{padding:13px 24px;font-size:16px}.btn-sm{padding:6px 12px;font-size:13px}.btn-primary{background:var(--brand);color:#fff}.btn-primary:not(:disabled):hover{background:var(--brand-ink)}.btn-secondary{background:#e9eefb;color:var(--brand-ink)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:transparent}.btn-danger-ghost:hover{background:#fbeae9}.menu-summary{margin:16px 0 4px;font-size:14px;color:var(--ink);font-weight:600}.menu-summary-hint{font-weight:400;color:var(--muted)}.menu-builder{display:flex;flex-direction:column;gap:18px;margin-top:12px}.menu-group{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fcfcfd}.menu-group-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.menu-group-name{flex:1;font-size:17px;font-weight:700;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent}.menu-group-name:hover,.menu-group-name:focus{border-color:var(--line);background:#fff;outline:none}.menu-empty{color:var(--muted);font-size:13px;font-style:italic;margin:4px 0 10px}.menu-item{display:grid;grid-template-columns:22px 1.4fr 2fr 80px 28px 28px;gap:8px;margin-bottom:8px;align-items:center}.drag-handle{border:none;background:transparent;color:var(--muted);cursor:grab;padding:4px;font-size:16px;line-height:1;touch-action:none}.drag-handle:hover{color:var(--ink)}.drag-handle:active{cursor:grabbing}.btn-ghost-icon{background:transparent;border-color:transparent;color:var(--muted);padding:6px;font-size:15px}.btn-ghost-icon:hover{background:#eef0f3;color:var(--ink)}@media(max-width:560px){.menu-group-head{flex-wrap:nowrap;gap:8px}.menu-group-name{flex:1 1 auto;min-width:0}.menu-group-head .btn-danger-ghost{flex:0 0 auto;font-size:0;padding:6px}.menu-group-head .btn-danger-ghost:before{content:"✕";font-size:16px}.menu-item{grid-template-columns:22px 1fr auto auto;gap:6px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.mi-handle{grid-column:1;grid-row:1}.mi-name{grid-column:2;grid-row:1}.mi-copy{grid-column:3;grid-row:1}.mi-remove{grid-column:4;grid-row:1}.mi-desc,.mi-price{grid-column:1 / -1}}.menu-item input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;width:100%}.menu-item input:focus{outline:1px solid var(--brand);border-color:var(--brand)}.mi-remove{padding:6px}.review-block{border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}.review-block-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.review-block-head h2{margin:0;font-size:18px}.pill{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.review-fields{display:grid;gap:10px;margin:0}@media(min-width:620px){.review-fields{grid-template-columns:1fr 1fr}}.review-field{display:flex;flex-direction:column}.review-field dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.review-field dd{margin:2px 0 0;font-size:15px}.placeholder{color:var(--muted);font-style:italic}.value-warn{color:var(--warn)}.value-note{font-size:12px}.review-menu-group{margin-bottom:16px}.review-menu-group h3{margin:0 0 6px;font-size:16px;border-bottom:1px solid var(--line);padding-bottom:4px}.review-menu-group ul{list-style:none;margin:0;padding:0}.review-menu-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:6px 0;border-bottom:1px dashed var(--line);align-items:baseline}.rmi-desc{grid-column:1;color:var(--muted);font-size:13px}.rmi-price{grid-row:1;grid-column:2;font-weight:600;white-space:nowrap}
