:root{--sky: #5fcbef;--blue: #2e83c3;--ink: #2c3c43;--muted: #76858d;--line: #d5e3ea;--pale: #eaf7fd;--bg: #f7fafc;--white: #fff;--ok: #2f855a;--ok-bg: #e6f4ea;--warn: #a86a00;--warn-bg: #fdf3e2;--danger: #c00000;--danger-bg: #fdecec;--radius: 10px;--shadow: 0 1px 2px rgba(44, 60, 67, .06), 0 4px 12px rgba(44, 60, 67, .05)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--blue)}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:8px;padding:.5rem 1rem;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--pale);border-color:var(--sky)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}button.primary:hover:not(:disabled){background:#1f2c31;border-color:#1f2c31}input,select{font:inherit;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);width:100%}input:focus,select:focus{outline:2px solid var(--sky);outline-offset:-1px;border-color:var(--sky)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#dce6ea;padding:1.5rem .75rem;display:flex;flex-direction:column;gap:.25rem}.brand{padding:0 .75rem 1.25rem}.brand strong{display:block;color:var(--white);font-size:15px;letter-spacing:.02em}.brand span{color:#8fa3ac;font-size:12px}.nav-item{display:block;width:100%;text-align:left;border:0;background:transparent;color:#c3d3da;padding:.55rem .75rem;border-radius:8px}.nav-item:hover{background:#ffffff12;border-color:transparent}.nav-item.active{background:var(--sky);color:#12242b;font-weight:600}.sidebar-foot{margin-top:auto;padding:0 .75rem;font-size:12px;color:#8fa3ac}.sidebar-foot button{width:100%;margin-top:.75rem;background:transparent;color:#c3d3da;border-color:#44565e}.sidebar-foot button:hover{background:#ffffff12;border-color:#5d7079}.main{padding:2rem 2.25rem 4rem;max-width:1180px}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:20px;margin:0 0 .25rem}.page-head p{margin:0;color:var(--muted)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.card h2{font-size:14px;margin:0 0 .85rem;letter-spacing:.02em}.grid{display:grid;gap:1rem}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.shell{grid-template-columns:1fr}.grid.cols-4,.grid.cols-2{grid-template-columns:1fr 1fr}}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-size:28px;font-weight:600;line-height:1.2;margin-top:.15rem}.stat .value small{font-size:13px;font-weight:400;color:var(--muted);margin-left:.25rem}.badge{display:inline-block;font-size:11.5px;padding:.12rem .5rem;border-radius:999px;white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warning{background:var(--warn-bg);color:var(--warn)}.badge.missing{background:var(--danger-bg);color:var(--danger)}.badge.neutral{background:var(--pale);color:var(--blue)}.tag{display:inline-block;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--pale);color:#1d5f88;border-radius:5px;padding:.1rem .4rem;margin:.1rem .2rem .1rem 0}.tag.invalid{background:var(--danger-bg);color:var(--danger)}.tag.plain{background:#f0f2f4;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}tr:last-child td{border-bottom:0}.thumb{width:44px;height:56px;object-fit:cover;border-radius:6px;background:var(--pale)}.toolbar{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.toolbar input{max-width:260px}.toolbar select{max-width:200px}.notice{border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:1.25rem;border:1px solid}.notice.info{background:var(--pale);border-color:#b8e4f7}.notice.warn{background:var(--warn-bg);border-color:#f0d9ab;color:var(--warn)}.notice.error{background:var(--danger-bg);border-color:#f3c4c4;color:var(--danger)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.right{text-align:right}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center;gap:1rem}.bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden;display:flex}.bar span{display:block;height:100%}.bar .s-ok{background:#48a06f}.bar .s-warning{background:#e0a33a}.bar .s-missing{background:#d16a6a}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:100%;max-width:380px}.login-card h1{font-size:18px;margin:0 0 .25rem}.login-card .field{margin-bottom:.85rem}.login-card label{display:block;font-size:12px;color:var(--muted);margin-bottom:.25rem}.login-card button{width:100%}.spinner{color:var(--muted);padding:2rem 0}.small{font-size:12px}.badge.plain{background:#f0f2f4;color:var(--muted)}.thumb.sm{width:34px;height:44px;flex-shrink:0}.empty{color:var(--muted);text-align:center;padding:2rem 1rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:.6rem 1rem;color:var(--muted)}.tab:hover:not(:disabled){background:transparent;color:var(--ink);border-color:transparent;border-bottom-color:var(--line)}.tab.active{color:var(--ink);font-weight:600;border-bottom-color:var(--sky)}.checklist{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.checklist li{display:flex;gap:.75rem;align-items:flex-start}.checklist .check{width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:1px;border:2px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:700}.checklist li.done .check{background:var(--ok);border-color:var(--ok);color:#fff}.checklist li.done .title{color:var(--muted)}.checklist .title{font-weight:600;font-size:13.5px}.checklist .detail{font-size:12.5px}.switch{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:13px}.switch input{width:auto;accent-color:var(--blue)}.compose{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1rem;align-items:start}.compose-products{position:sticky;top:1rem}.product-pick{list-style:none;margin:.75rem 0 0;padding:0;max-height:62vh;overflow:auto}.product-pick button{display:flex;gap:.6rem;width:100%;text-align:left;align-items:center;border:1px solid transparent;padding:.4rem;border-radius:8px;background:transparent}.product-pick button.selected{border-color:var(--sky);background:var(--pale)}.product-pick .meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.product-pick .name{font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-pick .badge{align-self:flex-start}.controls{display:grid;grid-template-columns:1fr 180px;gap:1rem;margin-bottom:1rem}.controls .label,.field .label{display:block;font-size:12px;color:var(--muted);margin-bottom:.3rem}.controls input[type=range]{padding:0;accent-color:var(--blue)}.field{display:flex;flex-direction:column;gap:.25rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem}.form-grid .row input[type=number]{max-width:90px}.funnel{display:flex;flex-direction:column;gap:.35rem;transition:opacity .15s}.funnel.loading{opacity:.5}.funnel-row{display:grid;grid-template-columns:200px 1fr 70px;gap:.75rem;align-items:center;font-size:12.5px}.funnel-bar{height:10px;background:var(--pale);border-radius:999px;overflow:hidden}.funnel-bar span{display:block;height:100%;background:var(--sky);border-radius:999px;min-width:2px}.funnel-value{text-align:right;font-variant-numeric:tabular-nums}.funnel-result{margin-top:.5rem;padding:.7rem .9rem;border-radius:8px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.funnel-result strong{font-size:18px;margin-left:.25rem}.funnel-result .muted{color:#b9c8ce}.histogram-wrap{margin-top:1rem}.histogram{display:flex;align-items:flex-end;gap:3px;height:70px;margin-top:.4rem;border-bottom:1px solid var(--line)}.hbar{flex:1;background:var(--line);border-radius:3px 3px 0 0;min-height:1px}.hbar.on{background:var(--blue)}.histogram-axis{display:flex;justify-content:space-between;font-size:11px;margin-top:2px}.sample{margin-top:1rem;font-size:13px}.sample summary{cursor:pointer;color:var(--blue)}.sample td{padding:.4rem .5rem}.compose-message{display:grid;grid-template-columns:1fr 260px;gap:1.25rem;align-items:start}.send-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.line-phone{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#8cabd9}.line-bar{background:#2b3a4f;color:#fff;font-size:12px;padding:.45rem .75rem;font-weight:600}.line-talk{display:flex;gap:.4rem;padding:.75rem .6rem 1rem}.line-avatar{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--ink);flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:700}.flex-bubble{background:#fff;border-radius:14px;overflow:hidden;width:100%;max-width:210px;box-shadow:0 1px 2px #0000001f}.flex-hero{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;background:var(--pale)}.flex-hero.empty{display:grid;place-items:center;color:var(--muted);font-size:12px}.flex-body{padding:.7rem .8rem .4rem;display:flex;flex-direction:column;gap:.25rem}.flex-headline{font-size:11px;color:#8c6a72;line-height:1.45}.flex-title{font-weight:700;font-size:13.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.flex-price{font-size:13.5px}.flex-footer{padding:.4rem .8rem .8rem}.flex-button{display:block;text-align:center;color:#fff;border-radius:6px;padding:.55rem;font-size:13px;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c3c4373;display:grid;place-items:center;padding:1rem;z-index:50}.modal{width:100%;max-width:520px;max-height:90vh;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.radio-group{display:flex;flex-direction:column;gap:.55rem}.radio-group label{display:flex;gap:.5rem;align-items:flex-start;cursor:pointer}.radio-group input{width:auto;margin-top:4px;accent-color:var(--blue)}.summary-strip{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:13px;padding:.85rem 1.25rem}.summary-strip strong{font-size:15px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fafcfd}tr.active-row td{background:var(--pale)!important}tr.highlight-row td{background:#f6fbfe}table.kv th{width:90px}.pref-row{display:grid;grid-template-columns:150px 1fr;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--line);align-items:baseline}.pref-type{font-size:12.5px}.chip{font-size:12px;padding:.2rem .6rem;border-radius:999px;margin:.15rem .25rem .15rem 0}.chip.like{background:#fde8ef;border-color:#f2a7bf;color:#a3345a}.chip.dislike{background:#eceff1;border-color:#b8c3c8;color:var(--muted);text-decoration:line-through}@media(max-width:1100px){.compose{grid-template-columns:1fr}.compose-products{position:static}.product-pick{max-height:320px}}@media(max-width:760px){.compose-message,.form-grid,.controls{grid-template-columns:1fr}.funnel-row{grid-template-columns:1fr 70px}.funnel-bar{grid-column:1 / -1;order:3}}.compose-products .toolbar{flex-wrap:nowrap}.compose-products .toolbar input{max-width:none;flex:1;min-width:0}.compose-products .toolbar button,.card .spread>button,td>button{white-space:nowrap}
