:root{color-scheme:light;--primary: #1a7a4c;--primary-hover: #15653f;--primary-strong: #0f4d31;--primary-soft: #d4f0e0;--primary-faint: #eef8f2;--bg: #f4f7f5;--surface: #ffffff;--field: #f1f5f2;--border: #e4ebe7;--text: #14211b;--muted: #5f6f68;--danger: #b3261e;--st-pending-fg: #1d4ed8;--st-pending-bg: #e3edff;--st-sent-fg: #0f4d31;--st-sent-bg: #d4f0e0;--st-failed-fg: #b3261e;--st-failed-bg: #fdecec;--st-cancelled-fg: #4b5a54;--st-cancelled-bg: #eceeed;--st-warn-fg: #8a5300;--st-warn-bg: #fff4e0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 10px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 40, 30, .05);--shadow: 0 1px 2px rgba(16, 40, 30, .04), 0 10px 24px -14px rgba(16, 40, 30, .28);--ring: 0 0 0 3px rgba(26, 122, 76, .18);--navbar-h: 64px;--sidebar-w: 232px;--content-max: 1200px;--content-gutter: var(--sp-5);--field-max: 640px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.shell{min-height:100dvh}.content{max-width:760px;margin:0 auto;padding:0 var(--sp-4) calc(var(--navbar-h) + var(--sp-6) + env(safe-area-inset-bottom))}.center{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.main{padding-top:var(--sp-1)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) 0 var(--sp-3)}.brand{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:var(--r-md);background:var(--primary);color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em}.brand-mark.large{width:52px;height:52px;border-radius:var(--r-lg);font-size:20px;margin:0 auto var(--sp-3)}.brand-name{font-size:17px;font-weight:700;line-height:1.2}.brand-sub{font-size:13px;color:var(--muted);line-height:1.3}.icon-button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:none;border-radius:var(--r-md);background:transparent;color:var(--muted)}.icon-button:hover{background:var(--primary-faint);color:var(--primary)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;align-items:stretch;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2) calc(var(--sp-1) + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.nav-brand{display:none}.nav-item{flex:1 1 0;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:none;background:transparent;color:var(--muted);font-size:11px;line-height:1.2}.nav-item svg{box-sizing:content-box;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);transition:background-color .15s ease}.nav-item.active{color:var(--primary);font-weight:600}.nav-item.active svg{background:var(--primary-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow)}.card .card{box-shadow:none;border-radius:var(--r-md)}.card h1,.card h2{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:18px;letter-spacing:.01em}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.card-head h2{margin:0}.head-icon{color:var(--primary)}.section-title{margin:0 0 var(--sp-2);font-size:15px}.login-bg{background:radial-gradient(120% 60% at 50% 0%,var(--primary-soft) 0%,transparent 60%),var(--bg)}.login{width:100%;max-width:380px;padding:var(--sp-6);text-align:center}.login h1{justify-content:center;margin-bottom:var(--sp-1);font-size:22px}.login-lead{margin:0 0 var(--sp-4)}.login label,.login p.error{text-align:left}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.summary-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:var(--sp-1);border-radius:var(--r-sm)}.summary-value{font-size:24px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.summary-label{font-size:11px;color:var(--muted)}.summary-card.pending .summary-icon{background:var(--st-pending-bg);color:var(--st-pending-fg)}.summary-card.today .summary-icon{background:var(--st-sent-bg);color:var(--st-sent-fg)}.summary-card.failed .summary-icon{background:var(--st-failed-bg);color:var(--st-failed-fg)}label{display:block;margin:var(--sp-4) 0 var(--sp-1);font-size:13px;font-weight:600;color:var(--muted)}input,select,textarea{width:100%;min-height:46px;padding:var(--sp-3) var(--sp-3);border:1px solid transparent;border-radius:var(--r-md);background:var(--field);color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:var(--ring)}textarea{resize:vertical}.shop-filter{margin-top:var(--sp-2)}.checkbox{display:flex;align-items:flex-start;gap:var(--sp-2);margin:var(--sp-4) 0 0;font-size:14px;font-weight:400;color:var(--text)}.checkbox input{width:auto;min-height:auto;margin-top:var(--sp-1);flex:0 0 auto;accent-color:var(--primary)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-3)}button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.primary{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;min-height:50px;margin-top:var(--sp-5);padding:0 var(--sp-4);border:none;border-radius:var(--r-pill);background:var(--primary);color:#fff;font-weight:600;box-shadow:0 6px 16px -8px #1a7a4cb3}.primary:hover:not(:disabled){background:var(--primary-hover)}.danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:44px;padding:var(--sp-2) var(--sp-4);border:1px solid var(--st-failed-bg);border-radius:var(--r-pill);background:var(--st-failed-bg);color:var(--danger);font-size:14px;font-weight:600}.danger:hover:not(:disabled){border-color:var(--danger)}.row>.danger{align-self:flex-start}.ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);flex:0 0 auto;min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:13px}.ghost:hover:not(:disabled){background:var(--primary-faint);border-color:var(--primary-soft);color:var(--primary)}.ghost.remove{min-width:44px;color:var(--danger);border-color:var(--st-failed-bg);background:var(--st-failed-bg)}.link{border:none;background:none;color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:var(--sp-2)}.tabs{display:flex;gap:var(--sp-1);overflow-x:auto;padding:var(--sp-3) 0}.tabs.sub{padding:var(--sp-1);margin-top:var(--sp-1);background:var(--primary-faint);border-radius:var(--r-pill)}.tab{flex:1 0 auto;min-height:40px;padding:var(--sp-2) var(--sp-4);border:none;border-radius:var(--r-pill);background:transparent;color:var(--muted);font-size:14px;white-space:nowrap}.tab.active{background:var(--surface);color:var(--primary-strong);font-weight:600;box-shadow:var(--shadow-sm)}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.row{display:flex;flex-direction:column;gap:var(--sp-3)}.row.card{padding:var(--sp-4)}.row.card>label,.row.card>p,.row.card>.primary{margin:0}.row-main{display:flex;gap:var(--sp-3)}.thumb{width:56px;height:100px;flex:0 0 auto;object-fit:cover;border-radius:var(--r-sm);background:var(--primary-faint)}.thumb.video{display:grid;place-items:center;padding:0 var(--sp-1);background:var(--primary-soft);color:var(--primary-strong);font-size:12px;line-height:1.3;text-align:center}.row-body{min-width:0;flex:1}.row-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.row-actions{display:flex;gap:var(--sp-2);align-items:center}.datetime{margin-top:2px;font-variant-numeric:tabular-nums}.caption{margin:var(--sp-1) 0 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}.row-body .caption{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.preview{display:block;width:100%;max-width:180px;margin-top:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border)}.row.invalid{border-color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-2);border-radius:var(--r-pill);border:none;background:var(--st-cancelled-bg);color:var(--st-cancelled-fg);font-size:12px;font-weight:600}.badge.pending,.badge.processing{background:var(--st-pending-bg);color:var(--st-pending-fg)}.badge.sent{background:var(--st-sent-bg);color:var(--st-sent-fg)}.badge.failed{background:var(--st-failed-bg);color:var(--st-failed-fg)}.badge.cancelled{background:var(--st-cancelled-bg);color:var(--st-cancelled-fg)}.notice{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:13px}.notice-ok{background:var(--st-sent-bg);color:var(--st-sent-fg)}.notice-warn{background:var(--st-warn-bg);color:var(--st-warn-fg)}.composite{margin:var(--sp-3) 0 var(--sp-5);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--primary-faint)}.canvas-wrap{position:relative;width:100%;max-width:240px;margin:var(--sp-3) auto}.canvas-preview{display:block;width:100%;height:auto;border-radius:var(--r-md);border:1px solid var(--border);background:#000}.safe-top,.safe-bottom{position:absolute;left:0;right:0;height:1px;background:#ffffffb3;box-shadow:0 1px #00000073;pointer-events:none}.safe-top{top:13.5%}.safe-bottom{bottom:15.6%}.variants{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.variant{width:100%;text-align:left;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.variant.selected{border-color:var(--primary);background:var(--primary-faint);box-shadow:inset 0 0 0 1px var(--primary)}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}.chips-label{font-size:12px;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:44px;max-width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font-size:13px;text-align:left;overflow-wrap:anywhere}.chip:hover:not(:disabled){background:var(--primary-faint);border-color:var(--primary-soft)}.chip.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);font-weight:600}.chip.add{border-style:dashed;color:var(--primary)}.chip-group{display:inline-flex;align-items:stretch}.chip-group .chip{border-top-right-radius:0;border-bottom-right-radius:0}.chip-x{display:grid;place-items:center;min-width:40px;min-height:44px;padding:0 var(--sp-2);border:1px solid var(--border);border-left:none;border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--surface);color:var(--muted)}.chip-x:hover:not(:disabled){background:var(--st-failed-bg);border-color:var(--st-failed-bg);color:var(--danger)}.param-picker{display:flex;flex-direction:column}.param-picker .calendar{margin-top:var(--sp-2);max-width:var(--field-max)}.calendar{margin-top:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:var(--sp-2)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-1)}.calendar-title{font-weight:600;font-variant-numeric:tabular-nums}.calendar-nav{width:44px;min-height:44px;border:none;border-radius:var(--r-md);background:var(--primary-faint);color:var(--primary);font-size:18px;line-height:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-1)}.calendar-dow{text-align:center;font-size:12px;color:var(--muted);padding:var(--sp-1) 0}.calendar-day{min-height:40px;border:none;border-radius:var(--r-sm);background:var(--field);color:var(--text);font-variant-numeric:tabular-nums;padding:0}.calendar-day:hover:not(:disabled){background:var(--primary-soft)}.calendar-day:disabled{background:transparent;color:var(--muted);opacity:.4}.calendar-day.selected{background:var(--primary);color:#fff;font-weight:600}.selected-dates{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.selected-date{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.selected-date-label{flex:1;min-width:0;font-variant-numeric:tabular-nums}.selected-date-time{width:auto;flex:0 0 auto}.media-picker{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--sp-2);width:100%}.media-item{aspect-ratio:9 / 16;padding:0;border:2px solid transparent;border-radius:var(--r-md);overflow:hidden;background:var(--field)}.media-item img{display:block;width:100%;height:100%;object-fit:cover}.media-item.selected{border-color:var(--primary);box-shadow:var(--ring)}.table-guide{margin-top:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--primary-faint);display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}.guide-steps{margin:0;padding-left:var(--sp-5);font-size:13px;color:var(--text)}.sample-table-wrap{overflow-x:auto;width:100%}.sample-table{border-collapse:collapse;font-size:12px;white-space:nowrap}.sample-table th,.sample-table td{border:1px solid var(--border);padding:var(--sp-1) var(--sp-2);text-align:left;background:var(--surface)}.sample-table th{color:var(--muted);font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);overflow-wrap:anywhere}.mono,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}code{font-size:.9em}.mono{font-size:.95em}@media (min-width: 900px){.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);max-width:none;margin:0}.nav{grid-column:1;grid-row:1;position:sticky;top:0;align-self:start;height:100dvh;flex-direction:column;align-items:stretch;gap:var(--sp-1);padding:var(--sp-5) var(--sp-3);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;border-right:1px solid var(--border)}.nav-brand{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-5)}.nav-item{flex:0 0 auto;min-height:48px;flex-direction:row;justify-content:flex-start;gap:var(--sp-3);padding:0 var(--sp-3);border-radius:var(--r-md);font-size:14px}.nav-item svg{padding:0;border-radius:0}.nav-item:hover{background:var(--primary-faint)}.nav-item.active,.nav-item.active svg{background:var(--primary-soft)}.nav-item.active{color:var(--primary-strong)}.content{grid-column:2;grid-row:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--content-gutter) var(--sp-6)}.header .brand-mark,.header .brand-name{display:none}.header .brand-sub{font-size:20px;font-weight:700;color:var(--text)}.card{padding:var(--sp-6)}.summary{gap:var(--sp-4)}.summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon value" "icon label";align-content:center;column-gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.summary-icon{grid-area:icon;width:44px;height:44px;margin-bottom:0;align-self:center}.summary-value{grid-area:value;align-self:end;font-size:28px}.summary-label{grid-area:label;align-self:start;font-size:13px}.row.card{padding:var(--sp-5)}.thumb{width:72px;height:128px}.canvas-wrap{max-width:300px;margin-inline:0}input,select,textarea{max-width:var(--field-max)}}@media (min-width: 1280px){:root{--sidebar-w: 264px;--content-gutter: var(--sp-6)}}@media (min-width: 1600px){:root{--content-gutter: 40px}}
