:root{--violet: #5433eb;--violet-soft: rgba(69, 36, 219, .16);--ink: #000000;--text: #111111;--muted: #707070;--soft: #c9cbcc;--border: #ebebeb;--ghost: #f4f4f5;--danger: #c22b10;--ok: #10a24b;--r-card: 12px;--r-input: 10px}*{margin:0;box-sizing:border-box}html,body,#root{height:100%}body{background:#fff;color:var(--text);font:14px/1.45 Inter,-apple-system,Segoe UI,Roboto,sans-serif;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}button{font:inherit;letter-spacing:inherit;cursor:pointer}input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}a{color:var(--violet);text-decoration:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:-.02em;color:var(--ink)}.brand .dot{color:var(--violet)}.topbar .user{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.page{max-width:1240px;margin:0 auto;padding:32px 28px 80px}@media (max-width: 640px){.topbar{padding:12px 16px}.brand{white-space:nowrap;font-size:15px}.topbar .user span{display:none}.page{padding:24px 16px 64px}}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 20px;font-weight:600;font-size:14px;border:1px solid transparent;transition:transform .06s ease,box-shadow .15s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--violet);color:#fff;box-shadow:0 4px 24px var(--violet-soft)}.btn-primary:not(:disabled):hover{box-shadow:0 6px 28px #4524db47}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--border)}.btn-secondary:not(:disabled):hover{border-color:var(--soft)}.btn-ghost{background:transparent;color:var(--muted);padding:9px 12px}.btn-sm{padding:6px 14px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field .hint{font-size:12px;color:var(--muted)}.field .hint a{font-weight:600}.input{border:1px solid var(--border);border-radius:var(--r-input);padding:9px 12px;background:#fff;width:100%}.input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-card);padding:20px}.callout{display:flex;gap:10px;align-items:flex-start;background:#f5f3ff;border:1px solid #e4defc;border-radius:10px;padding:10px 14px;font-size:13px;color:#3b2f80;margin-bottom:14px}.error-banner{background:#fdf1ee;border:1px solid #f3cfc6;color:var(--danger);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px}.success-banner{background:#eefaf2;border:1px solid #c9ecd6;color:#0b7a38;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.badge-draft{background:var(--ghost);color:var(--muted)}.badge-active{background:#eefaf2;color:#0b7a38}.badge-step{background:var(--ghost);color:var(--muted)}.badge-done{background:#eefaf2;color:#0b7a38}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:400px;max-width:100%;text-align:center;padding:40px 32px;border:1px solid var(--border);border-radius:16px}.login-card h1{font-size:22px;letter-spacing:-.02em;margin:14px 0 8px}.login-card p{color:var(--muted);margin-bottom:24px}.pulse{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-top:16px}.pulse:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--violet);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.intro{max-width:720px;margin:0 auto;text-align:center;padding:48px 0 0}.intro h1{font-size:34px;line-height:1.15;letter-spacing:-.03em;margin-bottom:14px}.intro .lead{color:var(--muted);font-size:15px;line-height:1.6;max-width:560px;margin:0 auto 28px}.btn-lg{padding:13px 30px;font-size:15px}.intro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:44px 0 20px;text-align:left}@media (max-width: 640px){.intro h1{font-size:26px}.intro-grid{grid-template-columns:1fr}}.intro-card{border:1px solid var(--border);border-radius:var(--r-card);padding:16px 18px}.intro-card .ic{width:34px;height:34px;border-radius:10px;background:var(--ghost);display:flex;align-items:center;justify-content:center;font-size:17px;margin-bottom:10px}.intro-card b{display:block;font-size:14px;margin-bottom:3px}.intro-card span{color:var(--muted);font-size:13px;line-height:1.5}.intro-foot{color:var(--muted);font-size:13px}.shops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px}.shop-card{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.shop-card:hover{border-color:#d9d4f7;box-shadow:0 4px 24px var(--violet-soft)}.shop-card h3{font-size:16px;letter-spacing:-.015em;margin-bottom:4px}.shop-card .slug{color:var(--muted);font-size:13px;margin-bottom:12px}.shop-card .meta{display:flex;justify-content:space-between;align-items:center}.shop-card .bot{font-size:13px;color:var(--muted)}.shop-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}.shop-head h1{font-size:24px;letter-spacing:-.025em}.shop-sub{color:var(--muted);font-size:13px;margin-bottom:22px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}@media (max-width: 1100px){.layout{grid-template-columns:1fr}.phone-col{display:none}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:22px}.tab{border:none;background:none;padding:9px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--ink);border-bottom-color:var(--violet)}.progress-row{display:flex;align-items:center;gap:18px;margin-bottom:20px}.dial{position:relative;width:64px;height:64px;flex:none}.dial svg{transform:rotate(-90deg)}.dial .num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.progress-row .txt b{display:block;font-size:16px;letter-spacing:-.015em}.progress-row .txt span{color:var(--muted);font-size:13px}.step{border:1px solid var(--border);border-radius:var(--r-card);margin-bottom:10px;overflow:hidden}.step-head{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;background:#fff}.step-head:hover{background:#fafafa}.step-num{width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--ghost);color:var(--muted)}.step.done .step-num{background:#eefaf2;color:#0b7a38}.step-head .t{flex:1;min-width:0}.step-head .t b{display:block;font-size:14px}.step-head .t span{color:var(--muted);font-size:13px}.step-body{padding:4px 18px 18px 62px;border-top:1px dashed var(--border)}.step-body .import-report{font-size:13px;color:var(--muted);margin-top:10px}.seg{display:inline-flex;background:var(--ghost);border-radius:999px;padding:3px;margin-bottom:14px}.seg button{border:none;background:transparent;border-radius:999px;padding:6px 16px;font-weight:600;color:var(--muted)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px #00000014}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--border)}.tbl td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.tbl img{width:36px;height:36px;object-fit:cover;border-radius:8px;background:var(--ghost)}.tbl .name{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl input.cell{width:84px;border:1px solid transparent;border-radius:8px;padding:5px 8px;background:transparent}.tbl input.cell:hover{border-color:var(--border)}.tbl input.cell:focus{outline:none;border-color:var(--violet);background:#fff}.switch{position:relative;width:36px;height:21px;border-radius:999px;border:none;background:var(--soft);transition:background .15s}.switch.on{background:var(--violet)}.switch:after{content:"";position:absolute;top:2.5px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.switch.on:after{left:17px}.phone-col{position:sticky;top:84px}.phone{border:1px solid var(--border);border-radius:36px;padding:10px;box-shadow:0 12px 48px #4524db1a;background:#fff}.phone .notch{width:96px;height:22px;border-radius:999px;background:var(--ghost);margin:2px auto 8px}.phone iframe{width:100%;height:560px;border:none;border-radius:26px;background:var(--ghost)}.phone-cap{text-align:center;color:var(--muted);font-size:12px;margin-top:10px}.phone-cap a{font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a081e73;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:#fff;border-radius:16px;padding:26px;width:440px;max-width:100%}.modal h2{font-size:18px;letter-spacing:-.02em;margin-bottom:16px}.modal .foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.empty{text-align:center;color:var(--muted);padding:48px 20px}.spin{color:var(--muted);padding:40px;text-align:center}.step.off .step-head .t{opacity:.5}.order-btns{display:flex;flex-direction:column;gap:2px}.order-btns button{border:1px solid var(--border);background:#fff;border-radius:6px;width:22px;height:18px;font-size:10px;line-height:1;color:var(--muted);padding:0}.order-btns button:disabled{opacity:.3}.switch.locked{opacity:.5;cursor:default}.swatches{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.swatch{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);padding:0;position:relative;background:#fff}.swatch.sel{box-shadow:0 0 0 3px var(--violet-soft);border-color:var(--violet)}.swatch.auto:after{content:"A";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted)}.swatch.picker{overflow:hidden;cursor:pointer}.subcard{border:1px dashed var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px}.subcard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}input[type=range]{accent-color:var(--violet);width:100%}.savebar{position:fixed;left:50%;bottom:-80px;transform:translate(-50%);display:flex;align-items:center;gap:18px;z-index:40;background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 12px 10px 20px;font-size:13px;color:var(--muted);box-shadow:0 8px 32px #4524db2e;transition:bottom .2s ease}.savebar.show{bottom:20px}.copy-row{display:flex;gap:8px;align-items:stretch}.copy-row code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;border:1px solid var(--border);border-radius:var(--r-input);padding:9px 12px;background:var(--ghost);font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.6;-webkit-user-select:all;user-select:all;cursor:text}.copy-row .btn{flex:none}.guide{border:1px solid var(--border);border-radius:10px;margin:4px 0 16px;background:#fafafa}.guide summary{cursor:pointer;padding:10px 14px;font-weight:600;font-size:13px;color:var(--violet);list-style:none;display:flex;align-items:center;gap:8px}.guide summary::-webkit-details-marker{display:none}.guide summary:before{content:"📖"}.guide[open] summary{border-bottom:1px dashed var(--border)}.guide-body{padding:14px 18px 16px;font-size:13px;line-height:1.65;color:#333}.guide-body h4{font-size:13px;margin:14px 0 6px;letter-spacing:-.01em}.guide-body h4:first-child{margin-top:0}.guide-body ol,.guide-body ul{padding-left:18px;margin:6px 0}.guide-body li{margin-bottom:5px}.guide-body .note{background:#f5f3ff;border:1px solid #e4defc;border-radius:8px;padding:8px 12px;margin:10px 0;color:#3b2f80;font-size:12.5px}.guide-body .warn{background:#fff8ef;border:1px solid #f3e3c6;border-radius:8px;padding:8px 12px;margin:10px 0;color:#7a5b0b;font-size:12.5px}.guide-body code{background:#efeef5;border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.faq-item{border-top:1px dashed var(--border);padding:8px 0}.faq-item b{display:block;font-size:12.5px}.faq-item span{color:var(--muted);font-size:12.5px}
