:root{--blue: #1a73e8;--blue-dark: #1557b0;--blue-soft: #e8f0fe;--green: #1e8e3e;--green-soft: #e6f4ea;--red: #d93025;--red-soft: #fce8e6;--amber: #e37400;--amber-soft: #fef7e0;--bg: #f8f9fa;--surface: #ffffff;--line: #dadce0;--line-soft: #e8eaed;--hover: #f1f3f4;--text: #202124;--text-mid: #3c4043;--muted: #5f6368;--faint: #80868b;--radius: 8px;--radius-lg: 12px;--sidebar-w: 256px;--shadow-1: 0 1px 2px 0 rgba(60,64,67,.08), 0 1px 3px 1px rgba(60,64,67,.06);--shadow-2: 0 1px 2px 0 rgba(60,64,67,.16), 0 2px 6px 2px rgba(60,64,67,.1);--font: "Google Sans", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:24px;font-weight:400;letter-spacing:0;margin:0 0 6px;color:var(--text)}h2{font-size:16px;font-weight:500;letter-spacing:.01em;margin:0 0 6px;color:var(--text)}h3{font-size:14px;font-weight:500;margin:0 0 8px}.sub{color:var(--muted);margin:0 0 28px;font-size:14px;max-width:78ch}.card-desc{margin:0 0 22px;font-size:13px;color:var(--muted);line-height:1.6;max-width:78ch}.panel>h2+*:not(.card-desc):not(.msg),.card>h2+*:not(.card-desc):not(.msg){margin-top:18px}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--line-soft);padding:20px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:4px 12px 28px;font-size:17px;font-weight:500;letter-spacing:0;color:var(--text)}.brand-mark{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:500;flex-shrink:0}.nav{display:flex;flex-direction:column;gap:1px}.nav button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:0 16px;height:40px;border-radius:0 20px 20px 0;margin-right:8px;color:var(--text-mid);font:inherit;font-size:14px;font-weight:500;transition:background .15s}.nav button svg{width:20px;height:20px;flex-shrink:0;opacity:.8}.nav button:hover{background:var(--hover)}.nav button.active{background:var(--blue-soft);color:var(--blue)}.nav button.active svg{opacity:1}.sidebar-foot{margin-top:auto;padding-top:20px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}.sidebar-foot .who{padding:0 16px 12px;word-break:break-all}.sidebar-foot button{width:calc(100% - 16px);margin-left:8px;background:none;border:1px solid var(--line);color:var(--blue);border-radius:4px;padding:8px 12px;cursor:pointer;font:inherit;font-size:14px;font-weight:500}.sidebar-foot button:hover{background:var(--blue-soft);border-color:var(--blue-soft)}.main{flex:1;min-width:0;padding:36px 40px 80px;max-width:1180px}.panel,.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px;margin-bottom:24px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.card-head h2{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-bottom:28px}.stats-grid.last{margin-bottom:0}.panel>.msg:last-child,.card>.msg:last-child{margin-bottom:0}.tile{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px 24px 22px;text-align:left;font:inherit;position:relative}.tile-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.tile-value{font-size:40px;font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-top:14px;color:var(--text);font-variant-numeric:tabular-nums}.tile-sub{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.4}.tile.green .tile-value{color:var(--green)}.tile.red .tile-value{color:var(--red)}.tile.blue .tile-value{color:var(--blue)}.tile.amber .tile-value{color:var(--amber)}.tile.is-zero .tile-value{color:var(--faint)}button.tile{cursor:pointer;width:100%;display:block;transition:box-shadow .15s,background .15s}button.tile:hover{box-shadow:var(--shadow-1);background:#fdfdfd}button.tile:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button.tile.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}button.tile:after{content:"›";position:absolute;top:18px;right:22px;font-size:22px;line-height:1;color:var(--blue);opacity:0;transition:opacity .15s,transform .15s}button.tile:hover:after{opacity:.6;transform:translate(2px)}button.tile.active:after{opacity:1}button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:4px;padding:0 24px;height:40px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:.01em;white-space:nowrap;transition:background .15s,box-shadow .15s}button.btn:hover:not(:disabled){background:var(--blue-dark);box-shadow:var(--shadow-1)}button.btn:disabled{opacity:.38;cursor:not-allowed}button.btn svg{width:18px;height:18px}button.btn.secondary{background:var(--surface);color:var(--blue);border-color:var(--line)}button.btn.secondary:hover:not(:disabled){background:var(--blue-soft);border-color:var(--blue-soft);box-shadow:none}button.btn.danger{background:var(--red)}button.btn.danger:hover:not(:disabled){background:#b3261e}button.btn.ghost{background:none;color:var(--blue);border-color:transparent;padding:0 12px}button.btn.ghost:hover:not(:disabled){background:var(--blue-soft);box-shadow:none}button.btn.sm{height:32px;padding:0 16px;font-size:13px}button.btn.danger-ghost{background:none;color:var(--red);border-color:transparent;padding:0 12px}button.btn.danger-ghost:hover:not(:disabled){background:var(--red-bg);box-shadow:none}button.link{background:none;border:0;color:var(--red);cursor:pointer;padding:0;font:inherit;font-size:14px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--surface)}.segmented button{background:none;border:0;border-right:1px solid var(--line);padding:0 20px;height:36px;cursor:pointer;color:var(--text-mid);font:inherit;font-size:14px;font-weight:500;white-space:nowrap}.segmented button:last-child{border-right:0}.segmented button:hover{background:var(--hover)}.segmented button.active{background:var(--blue-soft);color:var(--blue)}.row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.row>.field{margin-bottom:0}.row+table,.row+.table-wrap,.row+.scroll{margin-top:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}.panel>.field>input:not([type=file]),.panel>.field>select,.card>.field>input:not([type=file]),.card>.field>select{max-width:520px}.field.wide>input,.field.wide>select,.field.wide>textarea{max-width:none}.field label{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:.01em}input,select,textarea{font:inherit;font-size:14px;width:100%;border:1px solid var(--line);border-radius:4px;padding:0 14px;height:40px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}textarea{height:auto;padding:12px 14px;font-family:var(--mono);font-size:13px;resize:vertical;line-height:1.6}input:hover,select:hover,textarea:hover{border-color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}input::placeholder,textarea::placeholder{color:var(--faint)}input[type=file]{padding:0;display:flex;align-items:center;font-size:13px;color:var(--muted);border-style:dashed;cursor:pointer}input[type=file]::file-selector-button{height:38px;margin:0 14px 0 0;padding:0 18px;border:0;border-right:1px solid var(--line);border-radius:3px 0 0 3px;background:var(--hover);color:var(--text-mid);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}input[type=file]:hover{border-color:var(--faint)}input[type=file]:hover::file-selector-button{background:#e4e6e9}.checks{display:flex;gap:24px;align-items:center;height:40px;flex-wrap:wrap}.check{display:inline-flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap;cursor:pointer}.check input{width:auto;height:auto;accent-color:var(--blue)}.sched-input{width:auto;margin-right:8px;height:32px;padding:0 10px;font-size:13px}.table-wrap{overflow-x:auto;margin:0 -28px;padding:0 28px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:0 16px 12px;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line-soft);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--text-mid)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--hover)}.scroll{max-height:520px;overflow:auto}th.num,td.num{text-align:right;width:1%;white-space:nowrap;font-variant-numeric:tabular-nums}th.actions,td.actions{text-align:right;width:1%;white-space:nowrap}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}.tag{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;letter-spacing:.01em}.tag.sent,.tag.active,.tag.confirmed,.tag.delivered{background:var(--green-soft);color:#137333}.tag.queued,.tag.draft,.tag.accepted{background:var(--blue-soft);color:var(--blue-dark)}.tag.sending,.tag.scheduled,.tag.skipped,.tag.warn{background:var(--amber-soft);color:#b06000}.tag.failed,.tag.bounced,.tag.unsubscribed,.tag.complained,.tag.hardbounce,.tag.complaint{background:var(--red-soft);color:#c5221f}.tag.manual{background:var(--hover);color:var(--muted)}.msg{padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;font-size:14px;white-space:pre-wrap;border-left:4px solid transparent}.msg.ok{background:var(--green-soft);color:#137333;border-left-color:var(--green)}.msg.err{background:var(--red-soft);color:#c5221f;border-left-color:var(--red)}.msg.info{background:var(--blue-soft);color:var(--blue-dark);border-left-color:var(--blue)}.msg.warn{background:var(--amber-soft);color:#b06000;border-left-color:var(--amber)}.cap-banner{padding:14px 18px;border-radius:var(--radius);margin-bottom:24px;font-size:14px;border-left:4px solid transparent}.cap-banner.warn{background:var(--amber-soft);color:#b06000;border-left-color:var(--amber)}.cap-banner.stop{background:var(--red-soft);color:#c5221f;border-left-color:var(--red)}.stepper{display:flex;align-items:center;gap:0;margin-bottom:28px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:10px;background:none;border:0;padding:6px 4px;font:inherit;font-size:14px;color:var(--faint);cursor:default}.step.done,.step.current{color:var(--text)}.step.done{cursor:pointer}.step-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--faint)}.step.current .step-num{background:var(--blue);border-color:var(--blue);color:#fff}.step.done .step-num{background:var(--green-soft);border-color:var(--green);color:var(--green)}.step.done:hover .step-num{border-color:var(--blue)}.step-line{flex:1 1 32px;min-width:24px;height:1px;background:var(--line);margin:0 12px}.choice-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;font:inherit;padding:22px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.choice:hover{border-color:var(--blue);box-shadow:var(--shadow-1)}.choice:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.choice svg{width:24px;height:24px;color:var(--blue)}.choice-title{font-size:15px;font-weight:500;color:var(--text)}.choice-desc{font-size:13px;color:var(--muted);line-height:1.5}.tpl-list{display:flex;flex-direction:column;gap:10px}.tpl{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;text-align:left;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;width:100%;transition:border-color .15s,background .15s}.tpl:hover{border-color:var(--blue);background:var(--blue-soft)}.tpl:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.tpl-name{font-size:14px;font-weight:500;color:var(--text)}.tpl-meta{font-size:12.5px;color:var(--muted);margin-top:2px}.summary{display:grid;grid-template-columns:180px 1fr;gap:0;font-size:14px}.summary dt{color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line-soft)}.summary dd{margin:0;padding:12px 0;color:var(--text);border-bottom:1px solid var(--line-soft);word-break:break-word}.summary dt:last-of-type,.summary dd:last-of-type{border-bottom:0}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line-soft);flex-wrap:wrap}.wizard-actions .right{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:620px){.summary{grid-template-columns:1fr}.summary dt{padding-bottom:0;border-bottom:0}.summary dd{padding-top:4px}.step span:not(.step-num){display:none}.step-line{margin:0 8px}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn,.wizard-actions .right{width:100%}.wizard-actions .right .btn{flex:1}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#20212480;display:flex;align-items:center;justify-content:center;padding:24px;animation:modal-fade .12s ease-out}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f,0 11px 15px -7px #0003;width:100%;max-width:460px;padding:28px 28px 22px;animation:modal-rise .16s cubic-bezier(.2,.7,.4,1)}.modal-title{font-size:18px;font-weight:500;margin:0 0 12px;color:var(--text)}.modal-body{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:22px;white-space:pre-wrap}.modal .field{margin-bottom:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.modal.danger{border-top:3px solid var(--red)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}@media(max-width:520px){.modal{padding:22px 20px 18px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.bar{background:var(--line-soft);border-radius:999px;height:4px;overflow:hidden}.bar>div{height:100%;border-radius:999px;transition:width .4s}.empty{text-align:center;padding:56px 20px;color:var(--muted)}.empty svg{width:40px;height:40px;opacity:.28;margin-bottom:14px}.designer{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:620px}.designer iframe{border:0!important;min-width:100%!important}.preview-wrap{margin:20px 0}.preview-wrap summary{cursor:pointer;font-size:14px;font-weight:500;color:var(--blue);padding:10px 0;-webkit-user-select:none;user-select:none}.preview-frame{width:100%;height:680px;border:1px solid var(--line);border-radius:var(--radius);background:#ebedf0;margin-top:12px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.login .panel{width:100%;max-width:400px;margin:0;padding:44px 40px;border:1px solid var(--line-soft);border-radius:var(--radius-lg)}.login-brand{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:8px;font-weight:500;font-size:20px;color:var(--text)}@media(max-width:960px){.app{flex-direction:column}.sidebar{position:static;height:auto;width:100%;border-right:0;border-bottom:1px solid var(--line-soft);padding:14px 16px}.sidebar .brand{padding:0 0 14px}.nav{flex-direction:row;gap:4px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{width:auto;white-space:nowrap;border-radius:20px;margin-right:0;padding:0 18px}.sidebar-foot{margin-top:14px;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.sidebar-foot .who{padding:0}.sidebar-foot button{width:auto;margin-left:0}.main{padding:28px 20px 64px}.panel,.card{padding:20px}.table-wrap{margin:0 -20px;padding:0 20px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tile{padding:20px}.tile-value{font-size:32px;margin-top:10px}button.tile:after{left:20px;bottom:18px}}@media(max-width:520px){h1{font-size:22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.tile-value{font-size:27px}.tile-label{font-size:11px}.main{padding:22px 14px 56px}.panel,.card{padding:18px 16px}.table-wrap{margin:0 -16px;padding:0 16px}td,th{padding-left:12px;padding-right:12px}.btn{width:100%}.card-head .btn,.row .btn{width:auto}}
