.layout{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e3e5e8;flex-direction:column;flex:0 0 216px;width:216px;height:100vh;display:flex;position:sticky;top:0}.sidebar .brand{border-bottom:1px solid #e3e5e8;align-items:center;gap:9px;height:56px;padding:0 18px;display:flex}.sidebar .brand .mark{background:#f50;border-radius:5px;flex:none;width:18px;height:18px}.sidebar .brand .brand-name{letter-spacing:.02em;font-size:14px;font-weight:800}.sidebar nav{flex-direction:column;gap:2px;padding:12px 10px;display:flex}.sidebar .nav-item{color:#6b7280;border-radius:6px;padding:9px 12px;transition:background .12s,color .12s;display:block}.sidebar .nav-item .nav-label{font-size:13px;font-weight:700;display:block}.sidebar .nav-item .nav-hint{color:#9ca3af;margin-top:1px;font-size:11px;display:block}.sidebar .nav-item:hover{color:#1f2328;background:#fafafa}.sidebar .nav-item.active{color:#d94800;background:#fff1ea}.sidebar .nav-item.active .nav-hint{color:#d94800b3}.sidebar .sidebar-foot{border-top:1px solid #e3e5e8;flex-direction:column;gap:8px;margin-top:auto;padding:14px;display:flex}.sidebar .sidebar-foot .account{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.main{flex:1;min-width:0;padding:28px 32px 64px}@media (width<=860px){.layout{flex-direction:column}.sidebar{border-bottom:1px solid #e3e5e8;border-right:none;flex:none;width:100%;height:auto;position:static}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar .nav-item .nav-hint{display:none}.main{padding:20px 16px 48px}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{width:100%;max-width:380px;padding:28px}.login-card .login-brand{letter-spacing:.02em;align-items:center;gap:9px;font-size:17px;font-weight:800;display:flex}.login-card .login-brand .mark{background:#f50;border-radius:6px;width:20px;height:20px}.login-card .login-lead{color:#6b7280;margin:6px 0 22px;font-size:13px}.login-card .login-submit{width:100%;margin-top:4px}.tag-input{background:#fff;border:1px solid #cdd1d6;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:5px 8px;transition:border-color .12s,box-shadow .12s;display:flex}.tag-input:focus-within{border-color:#f50;box-shadow:0 0 0 3px #ff550024}.tag-input input{background:0 0;border:none;outline:none;flex:1;min-width:120px;padding:2px 0;font-size:13px}.tag-chip{color:#d94800;background:#fff1ea;border-radius:4px;align-items:center;gap:4px;padding:2px 4px 2px 9px;font-size:12px;font-weight:600;display:inline-flex}.tag-chip button{color:inherit;opacity:.55;background:0 0;border:none;padding:0 3px;font-size:14px;line-height:1}.tag-chip button:hover{opacity:1}.placement-selector{border:1px solid #e3e5e8;border-radius:6px;overflow:hidden}.placement-selector.empty-note{color:#9ca3af;background:#fafafa;padding:16px;font-size:13px}.placement-selector .ps-row{border-bottom:1px solid #e3e5e8;align-items:center;gap:12px;padding:10px 14px;display:grid}.placement-selector .ps-row.product{grid-template-columns:38px 1fr 160px}.placement-selector .ps-row.creative{grid-template-columns:38px 1fr 200px 52px}.placement-selector .ps-row:last-child{border-bottom:none}.placement-selector .ps-row.on{background:#ff550008}.placement-selector .ps-row.over{background:#fffaeb}@media (width<=720px){.placement-selector .ps-row.product,.placement-selector .ps-row.creative{grid-template-columns:38px 1fr}.placement-selector .ps-row .ps-weight,.placement-selector .ps-row .ps-max,.placement-selector .ps-row input[type=number]{grid-column:2}}.placement-selector .ps-head{letter-spacing:.04em;color:#6b7280;text-transform:uppercase;background:#fafafa;padding-top:8px;padding-bottom:8px;font-size:11px;font-weight:700}.placement-selector .ps-name{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.placement-selector .ps-name .svc{color:#6b7280}.placement-selector .ps-name .sep{color:#9ca3af}.placement-selector .ps-name .plc{font-weight:600}.placement-selector .over-note{color:#d97706;width:100%;font-size:11px;font-weight:600}.placement-selector .ps-weight{align-items:center;gap:8px;display:flex}.placement-selector .ps-weight input[type=range]{accent-color:#f50;flex:1;min-width:0}.placement-selector .weight-num{text-align:right;font-variant-numeric:tabular-nums;width:56px;min-height:30px;padding:4px 6px}.placement-selector .ps-max{color:#9ca3af;text-align:right;white-space:nowrap;font-size:12px}.placement-selector .ps-foot{color:#9ca3af;background:#fafafa;border-top:1px solid #e3e5e8;padding:10px 14px;font-size:12px}.ab-compare{margin-bottom:20px}.ab-compare .ab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ab-compare .ab-head h2{font-size:15px;font-weight:700}.ab-compare .ab-head .select{width:auto;min-width:220px}.ab-compare .ab-note{color:#9ca3af;margin:6px 0 14px;font-size:12px}.ab-compare .ab-rows{flex-direction:column;gap:6px;display:flex}.ab-compare .ab-row{background:#fff;border:1px solid #e3e5e8;border-radius:6px;grid-template-columns:minmax(0,1fr) 120px 130px 84px 52px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.ab-compare .ab-row.win{background:#fff1ea;border-color:#f50}@media (width<=720px){.ab-compare .ab-row{grid-template-columns:1fr 1fr}}.ab-compare .ab-name{align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.ab-compare .ab-stat{color:#6b7280;font-variant-numeric:tabular-nums}.ab-compare .ab-ctr{text-align:right}.tag.muted{opacity:.5}.tag em{opacity:.65;margin-left:3px;font-style:normal}.image-uploader .iu-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.image-uploader .iu-card{background:#fff;border:1px solid #e3e5e8;border-radius:6px;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.image-uploader .iu-card.dragging{z-index:2;opacity:.95;box-shadow:0 8px 24px #0000001f}.image-uploader .iu-grip{color:#9ca3af;letter-spacing:-2px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:8px;font-size:12px;display:flex}.image-uploader .iu-grip:active{cursor:grabbing}.image-uploader .iu-order{color:#6b7280;letter-spacing:0;background:#fafafa;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:inline-flex}.image-uploader .iu-preview{object-fit:contain;background:#fafafa;border-radius:4px;width:100%;height:110px}.image-uploader .iu-meta{color:#6b7280;flex-direction:column;gap:6px;font-size:11px;display:flex}.image-uploader .iu-duration{align-items:center;gap:5px;display:flex}.image-uploader .iu-duration .input{text-align:right;width:74px;min-height:28px;padding:3px 6px;font-size:12px}.image-uploader .iu-alt{min-height:28px;padding:3px 6px;font-size:12px}.image-uploader .iu-remove{color:#6b7280;background:#ffffffeb;border:1px solid #e3e5e8;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.image-uploader .iu-remove:hover{color:#dc2626;border-color:#dc2626}.image-uploader .iu-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.image-uploader .iu-count{color:#9ca3af;font-size:12px}.image-uploader .iu-hint{color:#9ca3af;margin-top:8px;font-size:12px}.slideshow-preview{background:#fafafa;border:1px solid #e3e5e8;border-radius:6px;padding:12px}.slideshow-preview.empty{text-align:center;color:#9ca3af;padding:32px 12px;font-size:12px}.slideshow-preview .sp-stage{background:repeating-conic-gradient(#eceef0 0% 25%,#f7f8f9 0% 50%) 50%/16px 16px;border-radius:4px;height:200px;position:relative;overflow:hidden}.slideshow-preview .sp-slide{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.slideshow-preview .sp-slide.on{opacity:1;pointer-events:auto}.slideshow-preview .tr-fade .sp-slide{transition:opacity .45s}.slideshow-preview .tr-slide .sp-slide{transition:opacity .35s,transform .35s;transform:translate(12%)}.slideshow-preview .tr-slide .sp-slide.on{transform:translate(0)}.slideshow-preview .sp-controls{align-items:center;gap:12px;margin-top:10px;display:flex}.slideshow-preview .sp-dots{flex-wrap:wrap;flex:1;gap:6px;display:flex}.slideshow-preview .sp-dot{background:#cdd1d6;border:none;border-radius:50%;width:9px;height:9px;padding:0}.slideshow-preview .sp-dot.on{background:#f50}.slideshow-preview .sp-count{color:#6b7280;font-variant-numeric:tabular-nums;font-size:12px}.slideshow-preview .sp-note{color:#d97706;margin-top:8px;font-size:12px}.time-range-editor{background:#fafafa;border:1px solid #e3e5e8;border-radius:6px;padding:14px}.time-range-editor .tre-block+.tre-block{border-top:1px solid #e3e5e8;margin-top:16px;padding-top:16px}.time-range-editor .tre-title{color:#6b7280;margin-bottom:8px;font-size:12px;font-weight:700}.time-range-editor .tre-days{flex-wrap:wrap;gap:6px;display:flex}.time-range-editor .day{color:#6b7280;background:#fff;border:1px solid #cdd1d6;border-radius:6px;width:36px;height:32px;font-size:13px;font-weight:600}.time-range-editor .day:hover{border-color:#9ca3af}.time-range-editor .day.on{color:#fff;background:#f50;border-color:#f50}.time-range-editor .tre-hint{color:#9ca3af;margin-top:6px;font-size:12px}.time-range-editor .tre-hour{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.time-range-editor .tre-hour .input{width:120px;min-height:32px}.time-range-editor .tre-hour .wave{color:#9ca3af}.time-range-editor .cross-note{color:#d97706;font-size:11px;font-weight:700}.time-range-editor .tre-clear{margin-top:14px}.sel-summary{flex-wrap:wrap;gap:32px;margin-bottom:16px;display:flex}.sel-summary strong{font-variant-numeric:tabular-nums;font-size:20px}.sel-summary strong.warn{color:#d97706}.badge.method-ai{color:#2b4c9b;background:#e8eefc}.badge.method-fallback{color:#8a5a00;background:#fff3d6}.badge.method-only-one{color:#6b7280;background:#eef0f2}.sel-detail td{background:#fafafa;padding:0}.sel-detail-body{padding:14px 18px}.sel-detail-body .sel-detail-label{letter-spacing:.04em;color:#6b7280;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.sel-detail-body p{white-space:pre-wrap;font-size:13px;line-height:1.8}.sel-detail-body .sel-meta{color:#9ca3af;flex-wrap:wrap;gap:18px;margin-top:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;display:flex}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{color:#1f2328;-webkit-font-smoothing:antialiased;background:#f5f5f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.card{background:#fff;border:1px solid #e3e5e8;border-radius:10px;box-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f}.card-pad{padding:20px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:.01em;font-size:20px;font-weight:700}.page-head .sub{color:#6b7280;margin-top:2px;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{color:#1f2328;white-space:nowrap;background:#fff;border:1px solid #cdd1d6;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:hover:not(:disabled){background:#fafafa;border-color:#9ca3af}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{color:#fff;background:#f50;border-color:#f50}.btn.primary:hover:not(:disabled){background:#d94800;border-color:#d94800}.btn.danger{color:#dc2626;border-color:#f0c3c3}.btn.danger:hover:not(:disabled){background:#fdf2f2;border-color:#dc2626}.btn.ghost{color:#6b7280;background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){color:#1f2328;background:#0000000d}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.lg{height:40px;padding:0 20px;font-size:14px}.field{margin-bottom:18px;display:block}.field>.label{color:#6b7280;letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.field .req{color:#f50;font-size:11px}.field .hint{color:#9ca3af;margin-top:6px;font-size:12px;line-height:1.5}.field .err{color:#dc2626;margin-top:6px;font-size:12px}.input,.select,.textarea{background:#fff;border:1px solid #cdd1d6;border-radius:6px;outline:none;width:100%;min-height:36px;padding:7px 10px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:#f50;box-shadow:0 0 0 3px #ff550024}.input:disabled,.select:disabled,.textarea:disabled{color:#9ca3af;background:#fafafa}.input.invalid,.select.invalid,.textarea.invalid{border-color:#dc2626}.textarea{resize:vertical;min-height:84px}.select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,#0000 50%);background-position:right 14px center,right 9px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:28px}.radio-group{flex-wrap:wrap;gap:8px;display:flex}.radio-chip{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cdd1d6;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.radio-chip input{accent-color:#f50;margin:0}.radio-chip.on{color:#d94800;background:#fff1ea;border-color:#f50;font-weight:600}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.form-grid .span-2{grid-column:1/-1}@media (width<=720px){.form-grid{grid-template-columns:1fr}}.toggle{cursor:pointer;flex:none;align-items:center;width:38px;height:22px;display:inline-flex;position:relative}.toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.toggle .track{background:#cdd1d6;border-radius:999px;width:100%;height:100%;transition:background .15s}.toggle .thumb,.toggle .thumb-empty{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;left:3px;box-shadow:0 1px 2px #00000040}.toggle input:checked~.track{background:#f50}.toggle input:checked~.thumb,.toggle input:checked~.thumb-empty{transform:translate(16px)}.toggle input:disabled~.track{opacity:.5}.table-wrap{background:#fff;border:1px solid #e3e5e8;border-radius:10px;overflow-x:auto;box-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f}table.table{border-collapse:collapse;width:100%;font-size:13px}table.table th,table.table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e3e5e8;padding:12px 14px}table.table td.wrap{white-space:normal;min-width:160px;max-width:280px}table.table th{letter-spacing:.04em;color:#6b7280;text-transform:uppercase;white-space:nowrap;background:#fafafa;font-size:11px;font-weight:700}table.table tbody tr:last-child td{border-bottom:none}table.table tbody tr:hover{background:#fbfbfc}table.table td.num{text-align:right;font-variant-numeric:tabular-nums}table.table td.actions-cell{white-space:nowrap;text-align:right}.badge{color:#6b7280;white-space:nowrap;background:#eef0f2;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.7;display:inline-flex}.badge.rakuten{color:#bf0000;background:#ffe9e6}.badge.amazon{color:#8a5a00;background:#fff3d6}.badge.direct{color:#2b4c9b;background:#e8eefc}.badge.on{color:#16a34a;background:#e6f6ec}.badge.off{color:#9ca3af;background:#f0f1f3}.badge.win{color:#d94800;background:#fff1ea}.tag{color:#6b7280;white-space:nowrap;background:#eef0f2;border-radius:4px;margin:2px 4px 2px 0;padding:2px 8px;font-size:11px;display:inline-block}.ctr{font-variant-numeric:tabular-nums;font-weight:700}.ctr.high{color:#16a34a}.ctr.mid{color:#1f2328}.ctr.low{color:#9ca3af}.mono{color:#6b7280;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters .input{flex:200px;width:220px}.filters .select{width:auto;min-width:150px}.empty{text-align:center;color:#9ca3af;padding:48px 20px;font-size:13px}.loading{text-align:center;color:#6b7280;padding:40px;font-size:13px}.alert{border:1px solid;border-radius:6px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:11px 14px;font-size:13px;display:flex}.alert.error{color:#9b1c1c;background:#fdf2f2;border-color:#f3c8c8}.alert.warn{color:#8a5a00;background:#fffaeb;border-color:#f6dfa8}.alert.info{color:#2b4c9b;background:#f0f5ff;border-color:#cfdcf7}.alert button{color:inherit;opacity:.6;background:0 0;border:none;margin-left:auto;padding:0 2px}.alert button:hover{opacity:1}.thumb,.thumb-empty{object-fit:contain;background:#fafafa;border:1px solid #e3e5e8;border-radius:4px;width:56px;height:40px}.thumb-empty{color:#9ca3af;justify-content:center;align-items:center;font-size:10px;display:flex}.modal-backdrop{z-index:100;background:#0f121673;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.modal .modal-head{padding:16px 20px 0;font-size:15px;font-weight:700}.modal .modal-body{color:#6b7280;padding:12px 20px 20px;font-size:13px;line-height:1.7}.modal .modal-foot{background:#fafafa;border-top:1px solid #e3e5e8;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}
