.plain-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.plain-table th,.plain-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}.plain-table th{color:var(--muted);background:var(--surface-raise);font-size:11px}:root{--header-h:54px;--background:#e7eef6;--foreground:#102033;--surface:#f8fbff;--surface-raise:#edf3fa;--border:#cfdae6;--border-subtle:#afbfce;--muted:#516376;--muted-soft:#7f92a5;--cobalt:#17314d;--cobalt-light:#17314d1f;--cobalt-mid:#17314d38;--blue:#2569d8;--green:#157a6e;--amber:#c98713;--red:#b44545;--aqua:#2f88b9;--shadow-sm:0 1px 4px #10203314;--shadow:0 1px 4px #10203317, 0 8px 24px #10203312;--shadow-md:0 14px 32px #17314d1f;--font-display:"Fraunces", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-ui:"Bricolage Grotesque", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", "Consolas", monospace;--font-title:"Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{height:100dvh;color:var(--foreground);background:radial-gradient(circle at top left, #2569d81a, transparent 28%), radial-gradient(circle at right top, #2f88b91a, transparent 24%), var(--background);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex;overflow:hidden}@media (max-width:980px){body{height:auto;min-height:100dvh;display:block;overflow-y:visible}}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--border);background:var(--surface-raise);width:100%;min-height:38px;color:var(--foreground);border-radius:6px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;line-height:1.7}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--cobalt)}input:focus,select:focus,textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-light);outline:none}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s,border-color .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.35;box-shadow:none;transform:none}.button--primary{color:#fff;background:var(--cobalt);box-shadow:0 4px 18px #1b2e5038}.button--primary:hover{background:#223666;box-shadow:0 6px 20px #1b2e5042}.button--secondary{color:var(--foreground);background:var(--surface);border-color:var(--border-subtle);box-shadow:var(--shadow)}.button--secondary:hover:not(:disabled){background:var(--surface-raise);border-color:var(--muted-soft)}.button--success{color:#fff;background:var(--green);box-shadow:0 4px 18px #157a6e33}.button--success:hover{background:#0e6058;box-shadow:0 6px 20px #157a6e47}.button--danger{color:#fff;background:var(--red)}.button--danger:hover{background:#8c3126}.button--sm{padding:4px 10px;font-size:11px}.checkbox-group{border:1px solid var(--border);background:var(--surface-raise);border-radius:12px;margin-top:16px;padding:12px 14px}.checkbox-group-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.checkbox-group-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.checkbox-group-count{color:var(--muted-soft);letter-spacing:0;font-size:11px;font-weight:500}.checkbox-group-filter{min-height:32px;margin-bottom:10px;padding:6px 10px;font-size:13px}.checkbox-group-chips{flex-wrap:wrap;gap:6px;max-height:76px;margin-bottom:10px;display:flex;overflow-y:auto}.checkbox-chip{background:var(--cobalt-light);max-width:100%;color:var(--cobalt);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12px;font-weight:600;display:inline-flex}.checkbox-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.checkbox-chip-remove{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.checkbox-chip-remove:hover:not(:disabled){background:#ffffffb3}.checkbox-chip-remove:disabled{cursor:not-allowed;opacity:.4}.matrix-filter{border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;max-width:220px;padding:5px 9px;font-size:12px}.matrix-legend{color:var(--muted-soft);margin:0 0 8px;font-size:11px;line-height:1.6}.matrix-scroll{border:1px solid var(--border);border-radius:10px;max-height:320px;overflow:auto}.matrix-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.matrix-table th,.matrix-table td{border-bottom:1px solid var(--border);text-align:center;padding:4px 6px}.matrix-table thead th{z-index:2;background:var(--surface-raise);white-space:nowrap;font-size:11px;position:sticky;top:0}.matrix-column-label{margin-bottom:3px;font-weight:700;display:block}.matrix-axis-head{z-index:1;background:var(--surface-raise);text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;font-weight:600;position:sticky;left:0;overflow:hidden}.matrix-table thead .matrix-axis-head{z-index:3}.matrix-cell{border:1px solid var(--border);background:var(--surface);width:34px;height:28px;color:var(--cobalt);cursor:pointer;border-radius:6px;font-size:13px;line-height:1}.matrix-cell--on{background:#3fb3c629;border-color:#2f88b980}.matrix-cell:disabled{background:var(--surface-sunk,#0000000a);color:var(--muted-soft);cursor:not-allowed}.checkbox-group-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:start;gap:6px 12px;max-height:240px;display:grid;overflow-y:auto}.checkbox-option{cursor:pointer;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.checkbox-option input[type=checkbox]{flex:none;width:16px;height:16px;min-height:16px;margin:0;padding:0}.checkbox-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.checkbox-option:has(input:disabled){cursor:not-allowed;opacity:.6}.slot-fixed{gap:4px;min-width:0;display:grid}.slot-fixed select{width:auto;min-width:0;min-height:30px;margin-left:24px;padding:4px 8px;font-size:12px}.auth-page{background:radial-gradient(circle at 0 0,#2569d81f,#0000 34%),linear-gradient(#f3f8fd 0%,#dfe9f3 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:#fffffff0;border-radius:18px;width:min(460px,100%);padding:32px;box-shadow:0 20px 50px #1b2e501a}.auth-eyebrow{background:var(--cobalt-light);color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;margin-bottom:12px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.auth-card h1{color:var(--cobalt);font-family:var(--font-display);margin:0;font-size:34px;font-weight:600;line-height:1.15}.auth-copy,.auth-error{margin-top:12px;font-size:14px;line-height:1.75}.auth-copy{color:var(--muted)}.auth-error{color:var(--red)}.auth-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.content-grid{gap:16px;display:grid}.content-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid--sidebar{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.content-grid--split{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid--master{grid-template-columns:minmax(200px,.36fr) minmax(0,.64fr);align-items:end;margin-bottom:16px}.form-grid--template{grid-template-columns:minmax(180px,.34fr) minmax(120px,.2fr) minmax(0,.46fr)}.stack{gap:12px;display:grid}.section-lead{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.7}.section-actions{margin-top:14px}.batch-completion-actions{gap:12px;display:grid}.field-block{gap:6px;min-width:0;display:grid}.field-label{color:var(--muted);font-size:12px;font-weight:600}.email-list-field{align-content:start;gap:6px;min-width:0;display:grid}.email-list-field-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.email-list-item{gap:4px;display:grid}.email-list-row{align-items:center;gap:6px;display:flex}.email-list-row input{flex:1;min-width:0}.email-list-error{color:var(--red);margin:0;font-size:11px;line-height:1.5}.email-list-add{justify-self:start}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{border:1px solid var(--border);background:var(--surface-raise);min-height:34px;color:var(--muted);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.segmented button:hover{background:var(--cobalt-light);border-color:var(--cobalt-mid);color:var(--cobalt)}.segmented button.active{border-color:var(--cobalt);background:var(--cobalt);color:#fff}.tab-nav{border-bottom:2px solid var(--border);background:var(--surface-raise);gap:0;margin-bottom:5px;display:flex}.tab-nav button{color:var(--muted);cursor:pointer;background:0 0;border:1.5px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:10px 22px;font-size:13px;font-weight:600;transition:color .15s,background .15s,border-color .15s}.tab-nav button:hover{color:var(--cobalt);background:var(--cobalt-light)}.tab-nav button.active{color:var(--cobalt);background:var(--surface);border-color:var(--border);border-bottom-color:var(--surface)}.key-value{gap:4px;display:grid}.key-value span,.muted{color:var(--muted);font-size:13px}.key-value strong{font-size:20px}.inline-list,.summary-list,.mapping-grid{flex-wrap:wrap;gap:8px;display:flex}.summary-list span,.mapping-grid span{border:1px solid var(--border);background:var(--surface-raise);border-radius:6px;min-height:30px;padding:5px 10px;font-size:13px}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary-item{border:1px solid var(--border);background:var(--surface);min-height:116px;box-shadow:var(--shadow);border-radius:12px;padding:16px}.summary-item span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.summary-item strong{font-size:28px;line-height:1.1;display:block}.summary-item .summary-compact{font-size:17px;line-height:1.4}.summary-item small{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.6;display:block}.dropzone{min-height:180px;color:var(--muted);text-align:center;background:#1b2e500f;border:2px dashed #1b2e503d;border-radius:10px;place-items:center;gap:8px;padding:24px;transition:background .15s,border-color .15s;display:grid}.dropzone:hover{border-color:var(--cobalt);background:#1b2e501a}.dropzone strong{color:var(--foreground);font-size:15px}.dropzone small{max-width:360px;line-height:1.6}.subsection-heading{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.subsection-heading h3{margin-bottom:6px;font-size:14px;font-weight:700}.subsection-heading p{color:var(--muted);font-size:13px;line-height:1.7}.preview-stack{gap:10px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.preview-card{border:1px solid var(--border);background:var(--surface-raise);white-space:pre-wrap;border-radius:8px;min-height:180px;padding:16px;font-size:13px;line-height:1.8}.batch-launch-console{border:1px solid var(--border);background:linear-gradient(135deg, #ffffffd6, #edf3fae0), var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;overflow:hidden}.batch-launch-fields{grid-template-columns:minmax(220px,.82fr) minmax(250px,1fr) minmax(310px,1.18fr);align-items:stretch;gap:14px;padding:18px;display:grid}.batch-launch-period,.batch-launch-sync,.batch-launch-mail{border:1px solid var(--border);background:#ffffffa8;border-radius:12px;flex-direction:column;min-width:0;min-height:158px;padding:16px;display:flex;box-shadow:inset 0 1px #ffffffc7}.batch-launch-setting-copy{gap:3px;min-width:0;display:grid}.batch-launch-setting-copy>span,.batch-launch-setting-copy>label{color:var(--foreground);font-size:13px;font-weight:700;display:block}.batch-launch-setting-copy p{min-height:37px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.batch-launch-period input[type=month]{min-height:44px;margin-top:10px;padding:0 14px}.sync-mode-switch{border:1px solid var(--border);background:var(--surface-raise);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;padding:3px;display:grid}.sync-mode-option{min-height:36px;color:var(--muted);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700;transition:background .15s,box-shadow .15s,color .15s;position:relative}.sync-mode-option input{opacity:0;pointer-events:none;width:1px;min-height:1px;position:absolute}.sync-mode-option-label{justify-content:center;align-items:center;gap:7px;min-height:24px;display:flex}.sync-mode-option-indicator{border:1.5px solid;border-radius:999px;width:11px;height:11px;display:block}.sync-mode-option:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.sync-mode-option--selected{color:#fff;background:var(--cobalt);box-shadow:0 2px 7px #10203333}.sync-mode-option--selected .sync-mode-option-indicator{background:var(--cobalt);border:3px solid #fff;box-shadow:0 0 0 1px #fff}.sync-mode-description{margin:0}.sync-mode-warning{border-left:2px solid var(--amber);color:#966414;margin-top:8px;padding-left:10px;font-size:11px;line-height:1.6}.mail-send-setting{flex-direction:column;flex:1;align-items:stretch;gap:10px;display:flex}.mail-send-choice-group{border:1px solid var(--border-subtle);background:var(--surface-raise);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;padding:4px;display:grid}.mail-send-choice{cursor:pointer;min-width:0;display:block;position:relative}.mail-send-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mail-send-choice-label{min-height:38px;color:var(--muted);border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:flex}.mail-send-choice:hover .mail-send-choice-label{border-color:var(--border-subtle);color:var(--cobalt)}.mail-send-choice--selected .mail-send-choice-label{border-color:var(--cobalt);color:#fff;background:var(--cobalt);box-shadow:0 2px 7px #10203338}.mail-send-choice-indicator{border:1.5px solid;border-radius:999px;width:11px;height:11px;display:block}.mail-send-choice--selected .mail-send-choice-indicator{background:var(--cobalt);border:3px solid #fff;box-shadow:0 0 0 1px #fff}.mail-send-choice:has(input:focus-visible) .mail-send-choice-label{outline:2px solid var(--blue);outline-offset:2px}.mail-send-editor-action,.mail-send-editor-hint{border-top:1px solid var(--border);margin:auto 0 0;padding-top:12px}.mail-send-editor-action{align-items:center;gap:8px;display:flex}.mail-send-editor-action .mail-send-preview-button,.mail-send-editor-action .mail-send-editor-hint{flex:1;min-width:0}.mail-send-editor-action .mail-send-editor-hint{border-top:none;margin:0;padding-top:0}.mail-send-editor-action>.button{white-space:nowrap;flex-shrink:0}.mail-send-preview-button{border:1px solid var(--cobalt);width:100%;min-height:40px;color:var(--cobalt);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;border-radius:8px;justify-content:flex-start;align-items:center;gap:9px;padding:8px 12px 8px 9px;font-size:12px;font-weight:700;transition:background .15s,box-shadow .15s,color .15s,transform .15s;display:flex}.mail-send-preview-button:not(:disabled):hover{color:#fff;background:var(--cobalt);transform:translateY(-1px);box-shadow:0 4px 10px #1020332e}.mail-send-preview-button:disabled{cursor:not-allowed;opacity:.48}.mail-send-preview-button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.mail-send-preview-button-icon{width:23px;height:23px;color:var(--cobalt);background:var(--cobalt-light);border-radius:6px;place-items:center;display:grid}.mail-send-preview-button:hover .mail-send-preview-button-icon{color:#fff;background:#ffffff29}.mail-send-preview-button-arrow{color:var(--muted-soft);margin-left:2px;font-size:16px;line-height:1;transition:color .15s,transform .15s}.mail-send-preview-button:not(:disabled):hover .mail-send-preview-button-arrow{color:#fff;transform:translate(2px)}.mail-send-editor-hint{color:var(--muted-soft);font-size:11px;line-height:1.55}.batch-launch-actions{border-top:1px solid var(--border);background:#f8fbffc2;justify-content:space-between;align-items:center;gap:20px;padding:15px 24px;display:flex}.batch-launch-readiness{align-items:baseline;gap:10px;min-width:0;display:flex}.batch-launch-readiness>span{color:var(--aqua);font-family:var(--font-mono);letter-spacing:.12em;flex:none;font-size:9px;font-weight:500}.batch-launch-readiness--ready>span{color:var(--green)}.batch-launch-readiness p{color:var(--muted);font-size:12px;line-height:1.55}.batch-launch-readiness--ready p{color:var(--foreground);font-weight:600}.batch-launch-action-buttons{flex:none;align-items:center;gap:9px;display:flex}.batch-title-check-button,.batch-run-button{min-height:42px}.batch-title-check-button{gap:8px;padding-inline:13px}.batch-title-check-button-icon{width:18px;height:18px;color:var(--aqua);place-items:center;display:grid}.batch-run-button{letter-spacing:.02em;min-width:168px;min-height:44px;padding-inline:22px;font-weight:700;box-shadow:0 6px 16px #1b2e5042,inset 0 1px #ffffff24}.batch-run-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 9px 20px #1b2e504d,inset 0 1px #ffffff29}.mail-preview-layout{flex:1;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:20px;min-height:0;display:grid}.mail-preview-layout--single{grid-template-columns:minmax(0,1fr)}.mail-preview-tabs{border-right:1px solid var(--border);grid-template-rows:minmax(0,1fr) auto;min-height:0;padding-right:16px;display:grid}.mail-preview-template-tab-group{align-content:start;gap:8px;display:grid}.mail-preview-tab-group-label{color:var(--muted-soft);font-family:var(--font-mono);letter-spacing:.12em;font-size:9px;font-weight:500}.mail-preview-tab{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--foreground);cursor:pointer;text-align:left;border-radius:9px;gap:4px;padding:12px 14px;transition:background .15s,border-color .15s,transform .15s;display:grid}.mail-preview-tab:hover{border-color:var(--cobalt-mid);background:var(--surface-raise)}.mail-preview-tab:disabled,.mail-preview-settings-tab:disabled{cursor:not-allowed;opacity:.52}.mail-preview-tab--active{border-color:var(--cobalt);background:var(--cobalt-light);box-shadow:inset 3px 0 0 var(--cobalt)}.mail-preview-tab span{font-size:13px;font-weight:700;line-height:1.45}.mail-preview-tab small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.mail-preview-settings-tab-group{border-top:1px solid var(--border);gap:8px;padding-top:16px;display:grid}.mail-preview-settings-tab{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:linear-gradient(135deg,#17314d12,#2f88b90f);border:1px solid #17314d33;border-radius:9px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:grid}.mail-preview-settings-tab:hover:not(:disabled){background:linear-gradient(135deg,#17314d1a,#2f88b91a);border-color:#17314d66}.mail-preview-settings-tab--active{border-color:var(--cobalt);color:#fff;background:var(--cobalt);box-shadow:0 4px 12px #17314d2e}.mail-preview-settings-tab-icon{width:30px;height:30px;color:var(--cobalt);background:#ffffffc7;border-radius:7px;place-items:center;display:grid}.mail-preview-settings-tab--active .mail-preview-settings-tab-icon{color:#fff;background:#ffffff29}.mail-preview-settings-tab>span:last-child{gap:3px;min-width:0;display:grid}.mail-preview-settings-tab strong{font-size:12px;line-height:1.35}.mail-preview-settings-tab small{color:var(--muted);font-size:10px;line-height:1.4}.mail-preview-settings-tab--active small{color:#ffffffbd}.mail-preview-content{flex-direction:column;flex:1;gap:16px;min-width:0;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.mail-preview-context{border-bottom:1px solid var(--border);align-items:flex-end;gap:28px;padding-bottom:13px;display:flex}.mail-preview-context>div{gap:3px;min-width:0;display:grid}.mail-preview-context span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}.mail-preview-context strong{font-size:16px}.mail-preview-context-target strong{overflow-wrap:anywhere;color:var(--cobalt);font-size:14px}.mail-preview-context--team{align-items:initial;gap:9px;display:grid}.mail-preview-editor{gap:14px;display:grid}.mail-preview-template-editor-panel{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.mail-preview-template-editor-panel .mail-preview-editor{flex:1;grid-template-rows:auto minmax(0,1fr);min-height:0}.mail-preview-template-editor-panel .mail-preview-body-field{grid-template-rows:auto minmax(0,1fr);min-height:0}.mail-preview-body-field{gap:6px;min-width:0;display:grid}.mail-preview-body-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mail-preview-body-heading label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.mail-preview-placeholder-button{border:1px solid var(--cobalt-mid);min-height:30px;color:var(--cobalt);background:var(--cobalt-light);cursor:pointer;font:inherit;border-radius:7px;align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.mail-preview-placeholder-button-icon{min-width:29px;min-height:20px;font-family:var(--font-mono);letter-spacing:-.06em;background:#ffffffb3;border-radius:4px;place-items:center;font-size:9px;font-weight:600;display:grid}.mail-preview-placeholder-button:hover{border-color:var(--cobalt);color:#fff;background:var(--cobalt);transform:translateY(-1px);box-shadow:0 3px 8px #1e58c22e}.mail-preview-placeholder-button:hover .mail-preview-placeholder-button-icon{background:#ffffff29}.mail-preview-placeholder-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.mail-preview-body{height:100%;min-height:380px;font-family:var(--font-mono);font-size:12px;line-height:1.8}.mail-preview-editor input[readonly],.mail-preview-editor textarea[readonly]{background:var(--surface-raise);color:var(--foreground);cursor:default}.mail-preview-editor--editing input,.mail-preview-editor--editing textarea{background:#fffaf0}.mail-preview-editor--editing input:not(:focus),.mail-preview-editor--editing textarea:not(:focus){border-color:#c07a187a}.mail-preview-placeholder-guide{gap:14px;display:grid}.mail-preview-placeholder-intro,.mail-preview-placeholder-note{color:var(--muted-soft);margin:0;font-size:12px;line-height:1.7}.mail-preview-placeholder-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.mail-preview-placeholder-list>div{border:1px solid var(--border);background:var(--surface);border-radius:7px;gap:4px;min-width:0;padding:8px 9px;display:grid}.mail-preview-placeholder-list dt,.mail-preview-placeholder-list dd{margin:0}.mail-preview-placeholder-list dd{color:var(--muted);font-size:11px;line-height:1.5}.mail-preview-placeholder-variant{margin-top:8px;display:block}.mail-preview-placeholder-sample{background:var(--surface-raise);color:var(--foreground);font-family:var(--font-mono);white-space:pre-wrap;border-radius:6px;margin-top:6px;padding:6px 8px;line-height:1.6;display:block}.mail-preview-placeholder-guide code{color:var(--cobalt);font-family:var(--font-mono);background:#1e58c21a;border-radius:4px;padding:1px 4px}.mail-copy-recipient-panel{background:linear-gradient(135deg,#17314d0e,#2f88b90b);border:1px solid #17314d2e;border-radius:10px;gap:12px;padding:15px;display:grid}.mail-copy-recipient-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mail-copy-recipient-header h3{margin:0;font-size:14px}.mail-copy-recipient-header p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.6}.mail-copy-recipient-summary{gap:7px;display:grid}.mail-copy-recipient-summary>div{grid-template-columns:34px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.mail-copy-recipient-summary span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}.mail-copy-recipient-summary strong{overflow-wrap:anywhere;font-size:12px}.mail-copy-recipient-list{gap:7px;max-height:240px;padding-right:3px;display:grid;overflow:auto}.mail-copy-recipient-row{border:1px solid var(--border);background:var(--surface);border-radius:7px;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:12px;padding:9px 10px;display:grid}.mail-copy-recipient-person{gap:2px;min-width:0;display:grid}.mail-copy-recipient-person strong{font-size:12px}.mail-copy-recipient-person small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mail-copy-recipient-row select{min-height:34px;padding:6px 8px;font-size:12px}.mail-copy-recipient-actions{justify-content:flex-end;gap:8px;display:flex}.mail-preview-planned-header{justify-content:space-between;align-items:flex-end;gap:16px;padding-top:4px;display:flex}.mail-preview-planned-header h3{margin:0;font-size:14px}.mail-preview-planned-header p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.6}.mail-preview-message-list{gap:12px;display:grid}.mail-preview-message{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:9px;padding:15px;display:grid}.mail-preview-single-message,.mail-preview-single-message .mail-preview-message,.mail-preview-single-message .mail-preview-editor{flex-direction:column;flex:0 auto;min-height:0;display:flex}.mail-preview-single-message .mail-preview-message pre{flex:0 auto;min-height:0;max-height:min(56vh,620px)}.mail-preview-single-message .mail-preview-body-field{flex:0 auto;grid-template-rows:auto minmax(0,1fr);height:min(56vh,620px);min-height:0}.mail-preview-single-message .mail-preview-body{min-height:0}.mail-preview-message-meta{grid-template-columns:44px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.mail-preview-message-meta span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}.mail-preview-message-meta strong{overflow-wrap:anywhere;font-size:12px;font-weight:600}.mail-preview-message-subject{border-top:1px dashed var(--border);padding-top:8px;font-weight:700;line-height:1.6}.mail-preview-message pre{background:var(--surface-raise);max-height:300px;color:var(--foreground);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:7px;margin:0;padding:12px;font-size:12px;line-height:1.75;overflow:auto}.mail-preview-message a{color:var(--blue);text-underline-offset:2px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.mail-preview-message a:hover{color:var(--cobalt)}.mail-preview-message-header{border-bottom:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:9px;display:flex}.mail-preview-message-identity{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.mail-preview-message-identity strong{overflow-wrap:anywhere;font-size:13px;font-weight:700}.mail-preview-message-actions,.mail-preview-planned-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mail-preview-message .mail-preview-editor{gap:10px}.mail-history-list,.mail-history-message-list{gap:12px;display:grid}.mail-history-batch{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;padding:16px;display:grid}.mail-history-batch-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.mail-history-batch-header h3{margin:0;font-size:14px}.mail-history-batch-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.mail-history-batch-counts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mail-history-message{border:1px solid var(--border);background:var(--surface-raise);border-radius:10px;gap:9px;padding:13px;display:grid}.mail-history-message-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.mail-history-message-summary{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.mail-history-message-title{gap:2px;min-width:0;display:grid}.mail-history-message-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mail-history-message-title small,.mail-history-message-time{color:var(--muted);font-size:11px}.mail-history-message-time{flex-shrink:0}.mail-history-failure-list{color:var(--red);margin:0;padding-left:18px;font-size:11px;line-height:1.7}.mail-history-resend-note{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.mail-history-message pre{background:var(--surface);max-height:300px;color:var(--foreground);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:7px;margin:0;padding:12px;font-size:12px;line-height:1.75;overflow:auto}.mail-history-message a{color:var(--blue);text-underline-offset:2px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.title-check-result{gap:16px;display:grid}.title-check-result>.muted{margin:0}.run-check-notice{margin-top:18px}.history-pager{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-pager{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.table-pager-page{min-width:32px;padding-left:4px;padding-right:4px}.table-pager-ellipsis{color:var(--muted);-webkit-user-select:none;user-select:none;padding:0 2px}.modal-section-header{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;margin-bottom:12px;padding-top:16px;display:flex}.modal-section-header h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.run-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.run-summary-copy{gap:4px;display:grid}.run-summary-copy span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.run-summary-copy strong{font-size:14px;font-weight:600}.combo-card-list{gap:14px;display:grid}.combo-card-list--workbench{margin-top:14px}.combo-sheet{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}.combo-sheet--locked{box-shadow:inset 4px 0 0 var(--blue), var(--shadow-sm);border-color:#2569d870}.combo-sheet-header{border-bottom:1px solid var(--border);background:var(--surface-raise);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.combo-sheet-title{gap:4px;min-width:0;display:grid}.combo-sheet-header strong{font-size:14px;font-weight:700}.combo-sheet-title small{color:var(--muted);font-size:12px;line-height:1.5}.combo-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.combo-pill{border:1px solid var(--border);min-height:26px;color:var(--muted);font-family:var(--font-mono);background:#fffc;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.combo-pill--locked{color:var(--blue);background:#2569d81a;border-color:#2569d847}.combo-sheet-body{padding:16px}.combo-card-flow{gap:14px;display:grid}.combo-card-grid{grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:14px;display:grid}.combo-work-block{gap:10px;padding-top:2px;display:grid}.combo-work-block--templates{border-top:1px solid var(--border);padding-top:14px}.combo-work-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.combo-work-heading strong{margin-bottom:3px;font-size:13px;font-weight:700;display:block}.combo-work-heading small{color:var(--muted);font-size:12px;line-height:1.5}.combo-panel{border:1px solid var(--border);background:var(--surface-raise);border-radius:8px;gap:12px;padding:14px;display:grid}.combo-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.combo-panel-header strong{margin-bottom:3px;font-size:13px;font-weight:700;display:block}.combo-panel-header small{color:var(--muted);font-size:12px;line-height:1.6}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.combo-template-stack{gap:8px;display:grid}.assignment-row{background:var(--surface-raise);border:1px solid #afbfce8c;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.assignment-row:first-child{border-top:1px solid #afbfce8c}.assignment-role-person{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.combo-template-list{border:1px solid var(--border);background:var(--surface-raise);border-radius:8px;display:grid;overflow:hidden}.combo-template-row{border-top:1px solid var(--border);grid-template-columns:minmax(82px,.16fr) minmax(260px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.combo-template-row:first-child{border-top:none}.combo-row-index{color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:600}.combo-template-select{min-width:0}.combo-row-warning{color:var(--amber);grid-column:1/-1;font-size:11px;line-height:1.5}.combo-template-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.combo-template-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.combo-template-head strong{font-size:13px;font-weight:700}.warning-note{color:var(--amber);background:#c07a1814;border:1px solid #c07a183d;border-radius:7px;margin-top:10px;padding:9px 12px;font-size:12px;line-height:1.7}.warning-note--danger{color:var(--red);background:#b4454514;border-color:#b4454547}.combo-warning-stack{gap:8px;margin-top:10px;display:grid}.combo-warning-stack .warning-note{margin-top:0}.combo-section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:min(360px,100%);display:flex}.combo-add-strip{border:1px solid var(--border);background:var(--surface-raise);border-radius:8px;grid-template-columns:minmax(280px,420px) auto auto;align-items:end;gap:10px;margin-top:14px;padding:12px;display:grid}.combo-add-launch{border-style:dashed;border-color:var(--border-subtle);background:#f8fbffb8;width:100%;min-height:48px;margin-top:14px}.combo-representative-select{width:100%}.combo-summary-strip{flex-wrap:wrap;gap:8px;display:flex}.combo-summary-strip span{border:1px solid var(--border);background:var(--surface-raise);min-height:30px;color:var(--muted);font-family:var(--font-mono);border-radius:6px;padding:6px 10px;font-size:11px;font-weight:500}.combo-autoset-note{color:var(--green);background:#157a6e14;border:1px solid #157a6e3d;border-radius:7px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.7}.combo-empty-state{border:1px dashed var(--border-subtle);min-height:180px;color:var(--muted);text-align:center;background:#ffffff73;border-radius:8px;place-items:center;margin-top:14px;display:grid}.combo-empty-state strong{font-size:14px;font-weight:600}.combo-condition-note{margin:12px 0 0}.combo-confirm-list{gap:8px;display:grid}.combo-confirm-row{border:1px solid var(--border);background:var(--surface-raise);border-radius:8px;grid-template-columns:minmax(70px,.12fr) minmax(160px,.22fr) minmax(260px,1fr) minmax(86px,.12fr) minmax(70px,.1fr);align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:grid}.combo-confirm-row span{overflow-wrap:anywhere;min-width:0;color:var(--muted)}.batch-progress-shell{border-top:1px solid var(--border);margin:6px -22px -22px;padding:20px 22px 22px}.batch-progress-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.batch-progress-copy{gap:5px;min-width:0;display:grid}.batch-progress-target-month{align-items:baseline;gap:8px;display:flex}.batch-progress-target-month span{color:var(--muted-soft);font-family:var(--font-mono);letter-spacing:.1em;font-size:9px;font-weight:500}.batch-progress-target-month strong{color:var(--foreground);letter-spacing:.02em;font-size:15px;font-weight:700}.batch-progress-step-name{color:var(--muted);letter-spacing:.03em;font-size:12px;font-weight:600}.batch-progress-pct{font-family:var(--font-mono);align-items:baseline;gap:2px;font-size:26px;font-weight:300;display:inline-flex}.batch-progress-pct small{color:var(--muted-soft);font-size:13px}.batch-progress-pct--processing{color:var(--cobalt)}.batch-progress-pct--success{color:var(--green)}.batch-progress-pct--danger{color:var(--red)}.batch-stepper{align-items:center;display:flex}.batch-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.batch-step:not(:last-child):after{content:"";background:var(--border);z-index:0;width:100%;height:2px;position:absolute;top:10px;left:50%}.batch-step--done:not(:last-child):after{background:var(--blue)}.batch-step--active:not(:last-child):after{background:linear-gradient(90deg, var(--blue), var(--border))}.batch-step--failed:not(:last-child):after{background:linear-gradient(90deg, var(--red), var(--border))}.batch-step-node{border:2px solid var(--border-subtle);background:var(--surface);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .25s;display:flex;position:relative}.batch-step--done .batch-step-node{background:var(--blue);border-color:var(--blue)}.batch-step--active .batch-step-node{border-color:var(--amber);box-shadow:0 0 0 4px #c07a182e}.batch-step--failed .batch-step-node{border-color:var(--red);box-shadow:0 0 0 4px #a43a2d24}.batch-step-check{width:9px;height:9px}.batch-step-dot{border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite alternate batch-step-pulse;display:block}.batch-step--active .batch-step-dot{background:var(--amber)}.batch-step--failed .batch-step-dot{background:var(--red)}.batch-step-label{color:var(--muted-soft);font-family:var(--font-mono);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin-top:7px;font-size:7.5px}.batch-step--done .batch-step-label{color:var(--blue)}.batch-step--active .batch-step-label{color:var(--amber);font-weight:600}.batch-step--failed .batch-step-label{color:var(--red);font-weight:600}@keyframes batch-step-pulse{0%{opacity:.7;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (max-width:980px){.content-grid--two,.content-grid--sidebar,.content-grid--split,.form-grid--three,.form-grid--four,.form-grid--master,.form-grid--template,.batch-launch-fields,.run-summary,.combo-card-grid,.combo-confirm-row,.combo-add-strip,.summary-strip{grid-template-columns:1fr}.batch-launch-actions{flex-direction:column;align-items:flex-start}.batch-launch-period,.batch-launch-sync,.batch-launch-mail{min-height:0}.mail-preview-layout{flex:initial;grid-template-columns:1fr}.mail-preview-tabs{border-right:0;border-bottom:1px solid var(--border);grid-template-rows:none;grid-template-columns:1fr;min-height:0;padding:0 0 14px}.mail-preview-content{flex:initial;padding-right:0;overflow:visible}.mail-preview-template-editor-panel{flex:initial}.mail-preview-template-tab-group{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.mail-preview-tab-group-label{grid-column:1/-1}.mail-preview-settings-tab-group{padding-top:14px}.combo-template-row{grid-template-columns:minmax(70px,.16fr) minmax(220px,1fr) auto}}@media (max-width:680px){.auth-card{padding:24px 20px}.auth-card h1{font-size:25px}.form-grid{grid-template-columns:1fr}.batch-launch-fields{gap:14px;padding:20px}.batch-launch-actions{gap:14px;padding:16px 20px}.mail-send-setting{align-items:stretch}.mail-send-choice-group{width:100%}.batch-launch-action-buttons{grid-template-columns:1fr;width:100%;display:grid}.batch-run-button,.batch-title-check-button{width:100%}.combo-sheet-header,.combo-panel-header{display:grid}.assignment-row,.assignment-role-person,.combo-template-row{grid-template-columns:1fr}.combo-meta{justify-content:flex-start}.combo-section-actions,.combo-representative-select{width:100%}.mail-preview-planned-header,.mail-preview-context,.mail-copy-recipient-header,.mail-send-editor-action{flex-direction:column;align-items:flex-start}.mail-preview-planned-header .button,.mail-copy-recipient-header .button,.mail-send-editor-action>.button{width:100%}.mail-copy-recipient-row,.mail-preview-placeholder-list{grid-template-columns:1fr}}
