:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#272836;background:#f6f7f9;font-size:14px;font-synthesis:none;--pink:#e94d79;--muted:#8b8e9e;--line:#eceef3;--green:#31977a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ef9ab4;outline-offset:3px}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0;background:none;color:inherit}.sidebar{position:fixed;width:218px;height:100dvh;background:#fff;border-right:1px solid var(--line);padding:32px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 15px;margin-bottom:48px}.brand-mark{display:grid;place-items:center;background:var(--pink);color:white;width:38px;height:42px;border-radius:13px;box-shadow:0 6px 14px #e94d7926}.brand-mark svg{width:25px;height:25px}.brand strong{font-size:23px;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a1a3ae;margin-top:4px}.nav-label{font-size:10px;color:#a3a5b2;letter-spacing:2px;margin:0 18px 15px}.nav-item{display:flex;gap:14px;align-items:center;padding:15px 18px;border-radius:10px;margin-bottom:7px;color:#777b8d;font-weight:500}.nav-item.active{color:var(--pink);background:#fff0f4}.nav-item.active:after{content:"";width:5px;height:5px;background:var(--pink);border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto}.help-box{border:1px solid var(--line);border-radius:12px;padding:17px;margin:15px 4px 22px;background:#fafbfc}.help-box p{font-size:12px;color:var(--muted);line-height:1.8;margin:8px 0 12px}.help-box button{font-size:12px;color:#606779;padding:0}.user{display:flex;align-items:center;gap:10px;padding:0 10px}.user small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.main{margin-left:218px}.topbar{height:77px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:12px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{color:#555c6d;margin-left:13px}.top-actions{display:flex;align-items:center;gap:17px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;border-radius:6px;padding:5px 9px;white-space:nowrap;background:#f2f3f7;color:#858898}.badge.pink{color:#db5177;background:#fff0f4}.badge.green{background:#edf8f3;color:#389d7b}.badge.orange{background:#fff5e7;color:#c28b37}.badge.purple{background:#f1edff;color:#8570b8}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.content{max-width:1300px;padding:35px 42px 25px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:15px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a3a5b1;margin-bottom:9px}.page-heading h1{font-size:25px;letter-spacing:1px;margin:0;font-weight:650}.page-heading p{color:var(--muted);font-size:12px;margin:9px 0 0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid #e6e8ef;border-radius:8px;background:white;font-size:12px;font-weight:500;min-height:37px;transition:.15s}.btn:hover{background:#f8f8fb;border-color:#d8dbe4}.btn.primary{background:var(--pink);color:white;border-color:var(--pink);box-shadow:0 3px 8px #e94d7918}.btn.primary:hover{background:#dc416d}.btn.soft{background:#fff3f6;border-color:#ffe1ea;color:var(--pink)}.btn svg{width:15px;height:15px}.link{color:var(--pink);font-size:12px;padding:4px 0}.card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 5px #202b4c02}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.card-head h2{font-size:14px;margin:0;display:flex;align-items:center;gap:9px;font-weight:600}.card-head h2 svg{width:17px;height:17px;color:#9296a7}.card-head small{color:var(--muted);font-size:11px}.pad{padding:24px}.account-banner{display:flex;align-items:center;padding:22px 26px;gap:15px;margin-bottom:20px}.avatar{height:42px;width:42px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:16px;color:#7d7288;background:#eee8f3;flex-shrink:0}.avatar.large{height:54px;width:54px;font-size:23px;background:#fff0e7;color:#c79367;border:5px solid #fff7f1}.account-banner strong{display:block;font-size:15px;margin-bottom:7px}.account-banner small{color:var(--muted);font-size:11px}.account-banner .divider{height:35px;border-left:1px solid var(--line);margin:0 15px}.account-banner .end{margin-left:auto}.banner-status{display:flex;flex-direction:column;gap:8px;font-size:12px}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{padding:21px 22px;position:relative;overflow:hidden}.stat-label{color:#818598;font-size:12px;margin-bottom:14px}.stat-value{font-size:29px;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;font-weight:400;color:#a4a6b2;letter-spacing:0;margin-left:6px}.stat-foot{color:#a0a3b0;font-size:10px;margin-top:12px}.stat-icon{position:absolute;right:20px;top:19px;display:grid;place-items:center;width:32px;height:32px;background:#fff1f5;border-radius:10px;color:#e786a1}.stat:nth-child(2) .stat-icon{color:#9a8cc4;background:#f4f1fb}.stat:nth-child(3) .stat-icon{color:#e4ab70;background:#fff7ed}.stat:nth-child(4) .stat-icon{color:#69ad9b;background:#edf8f4}.stat-icon svg{width:17px}.grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(265px,1fr);gap:20px}.stack{display:flex;flex-direction:column;gap:20px}.guide{background:linear-gradient(110deg,#faf8ff,#fff);border-color:#eee8f8}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:25px 0 7px}.step{position:relative;text-align:center;font-size:11px;color:#7f7c91}.step:after{content:"";position:absolute;top:15px;left:65%;width:70%;border-top:1px dashed #dcd6ed}.step:last-child:after{display:none}.step-num{position:relative;z-index:1;margin:0 auto 12px;background:#f1edf9;border:4px solid #faf8ff;color:#a18dbf;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:12px}.step.done .step-num{background:#aa91cf;color:white}.step.current .step-num{background:#fff;color:#9870c5;box-shadow:0 0 0 1px #bca5d7}.step small{display:block;font-size:10px;margin-top:7px;color:#aaa5b9}.readiness{display:flex;align-items:center;gap:9px;border-radius:7px;background:#f5faf8;color:#65a28f;padding:10px 12px;font-size:11px;margin-bottom:10px}.status-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:12px;border-bottom:1px solid #f2f3f6;gap:12px}.status-row:last-child{border-bottom:0}.status-row .label{display:flex;align-items:center;gap:9px;color:#818699}.status-row svg{width:15px;height:15px}.small{font-size:11px}.green-text{color:var(--green)}.schedule-summary{padding:17px;background:#fafbfc;border-radius:9px;display:flex;align-items:center;gap:12px;margin-bottom:17px}.schedule-summary svg{color:#9791b1;width:23px;height:23px}.schedule-summary strong{font-size:19px;letter-spacing:.5px}.schedule-summary small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.switch{position:relative;display:inline-block;width:34px;height:20px;flex-shrink:0}.switch input{opacity:0;position:absolute;width:100%;height:100%;margin:0;cursor:pointer}.switch span{display:block;width:34px;height:20px;background:#dfe2e9;border-radius:12px;pointer-events:none;transition:.2s}.switch span:after{content:"";position:absolute;width:14px;height:14px;top:3px;left:3px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:.2s}.switch input:checked+span{background:var(--pink)}.switch input:checked+span:after{transform:translateX(14px)}.switch input:focus-visible+span{outline:3px solid #ed9bb4}.notice{padding:13px 16px;background:#fffbf3;border:1px solid #f6edda;border-radius:9px;color:#a48c62;font-size:11px;line-height:1.8;display:flex;gap:9px}.notice svg{width:16px;height:16px;margin-top:2px}.notice.pale{background:#fafbfc;border-color:var(--line);color:#9296a4}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:#9b9fae;font-size:10px;font-weight:400;background:#fafbfc;padding:11px 14px}td{padding:16px 14px;border-bottom:1px solid #f1f2f6;font-size:11px}tr:last-child td{border-bottom:none}.person{display:flex;gap:11px;align-items:center}.person .avatar{width:35px;height:35px;font-size:13px}.person strong{font-size:12px;font-weight:500}.person small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.pink-text{color:var(--pink)}.progress-track{height:4px;background:#f1f3f7;border-radius:4px;margin-top:7px;min-width:65px}.progress-track span{display:block;background:#70b7a4;height:4px;border-radius:4px}.card-bottom{border-top:1px solid var(--line);padding:14px 24px;text-align:center}.card-bottom .link{color:#9a9eac;font-size:11px}.footer{color:#acafbb;font-size:10px;text-align:center;padding:27px 0 10px;letter-spacing:.5px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:180px;max-width:320px}.search svg{position:absolute;top:11px;left:12px;width:16px;color:#a1a5b4}.search input{padding-left:37px;width:100%}input:not([type=checkbox]),textarea,select{border:1px solid #e4e7ef;border-radius:8px;background:white;color:#596071;padding:10px 12px;font-size:12px;min-height:38px}input[type=checkbox]{accent-color:var(--pink);width:15px;height:15px;cursor:pointer}input:disabled{background:#f8f9fb}.filters{display:flex;background:#f3f4f7;border-radius:8px;padding:3px;gap:2px}.filter{padding:7px 12px;color:#9397a6;border-radius:6px;font-size:11px}.filter.active{background:#fff;color:#e3567f;box-shadow:0 1px 4px #31394d0b}.section-copy{font-size:12px;color:var(--muted);line-height:1.8;margin-top:-12px;margin-bottom:22px}.form-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.form-label{display:block;font-size:12px;margin-bottom:10px}.form-hint{font-size:11px;color:var(--muted);line-height:1.8;margin-top:7px}.field{margin:22px 0}.field textarea{width:100%;resize:vertical;min-height:110px;line-height:1.8}.segmented{display:flex;gap:9px;flex-wrap:wrap}.choice{padding:10px 17px;border:1px solid #e7e9f0;border-radius:8px;color:#9395a5;font-size:12px}.choice.selected{background:#fff4f7;border-color:#f5b6c8;color:var(--pink)}.emoji-grid{display:flex;gap:10px;flex-wrap:wrap}.emoji-choice{width:66px;height:75px;border:1px solid var(--line);border-radius:9px;font-size:26px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.emoji-choice small{font-size:10px;color:#9295a3}.emoji-choice.selected{border-color:#f3a8c0;background:#fff5f8}.preview-chat{background:#f6f7fa;border-radius:10px;padding:20px;min-height:170px;display:flex;align-items:flex-end;flex-direction:column;gap:12px}.bubble{background:#f5dfe7;border-radius:12px 3px 12px 12px;padding:12px 16px;max-width:90%;font-size:12px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.preview-sticker{font-size:45px;padding:0 12px}.preview-chat small{align-self:center;color:#a5a8b5;font-size:10px}.savebar{margin-top:24px;display:flex;justify-content:flex-end;align-items:center;gap:15px}.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.account-tile{padding:24px}.account-top{display:flex;align-items:center;gap:13px;margin-bottom:22px}.account-top .badge{margin-left:auto}.account-top strong{display:block;margin-bottom:6px}.empty{padding:45px 20px;text-align:center;color:#a0a4b2;font-size:12px;line-height:2}.add-account{border:1px dashed #dfe2eb;border-radius:13px;background:#fafbfc;display:flex;min-height:285px;align-items:center;justify-content:center;flex-direction:column;color:#9398a9;gap:14px}.add-account svg{width:31px;height:31px}.add-account small{color:#a7aab6}.detail-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fafbfc;padding:16px;gap:10px;border-radius:8px;margin:20px 0}.detail-summary small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.detail-summary strong{font-size:13px}.mobile-brand{display:none}dialog{border:1px solid var(--line);border-radius:16px;width:min(540px,calc(100% - 32px));padding:27px;color:#303444;box-shadow:0 24px 90px #1c253226;max-height:85dvh;overflow:auto}dialog::backdrop{background:#252c444a;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{font-size:18px;margin:0}.icon-btn{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;color:#949aaa}.icon-btn:hover{background:#f3f4f7}dialog p{font-size:12px;line-height:1.9;color:#858b9b}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.recipient-tags{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.recipient-tags span{background:#f3f4f8;border-radius:5px;padding:7px 9px;font-size:11px;color:#747a8b}.run-progress{height:7px;background:#f7e4eb;border-radius:5px;margin:25px 0}.run-progress span{display:block;background:var(--pink);height:100%;border-radius:5px;transition:width .4s}.storage-warning{margin-bottom:15px}.mobile-nav{display:none}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#31364a;color:#fff;box-shadow:0 5px 25px #20203024;padding:13px 21px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:60;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.run-row:hover{background:#fdfdff}.checkline{display:flex;align-items:center;gap:7px;font-size:11px;color:#9095a5}.unsaved{font-size:11px;color:#c18b44}.full{width:100%}.divider-line{height:1px;background:var(--line);margin:22px 0}
@media(min-width:1500px){.content{padding-top:42px}.sidebar{width:240px}.main{margin-left:240px}.topbar{padding-left:60px;padding-right:60px}}
@media(max-width:1100px){.sidebar{width:180px;padding:30px 12px}.main{margin-left:180px}.content{padding:28px 24px}.topbar{padding:0 24px}.brand{padding:0 10px}.grid-main{grid-template-columns:minmax(0,1.45fr) minmax(235px,1fr)}.pad{padding:20px}.stat{padding:19px 16px}.stat-icon{right:12px}.account-banner{padding:20px}.account-banner .divider{margin:0 2px}.stat-value{font-size:26px}}
@media(max-width:850px){.sidebar{display:none}.main{margin-left:0}.content{padding:25px 22px 90px}.topbar{height:66px;padding:0 22px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:650;font-size:17px}.mobile-brand .brand-mark{width:29px;height:32px;border-radius:9px}.mobile-brand svg{width:20px}.top-actions{gap:9px}.top-actions .date{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));z-index:20;backdrop-filter:blur(10px)}.mobile-nav a{flex:1;display:flex;align-items:center;flex-direction:column;gap:5px;color:#9599a8;font-size:10px;padding:5px;border-radius:8px}.mobile-nav a.active{color:var(--pink)}.mobile-nav a svg{width:20px;height:20px}.grid-main{grid-template-columns:1.35fr 1fr}.account-banner .banner-status{display:none}.account-banner .divider{display:none}#toast{bottom:90px}}
@media(max-width:620px){.content{padding:24px 16px 92px}.topbar{padding:0 18px}.page-heading{align-items:flex-start;margin-bottom:21px}.page-heading h1{font-size:22px}.page-heading p{font-size:11px;line-height:1.8;max-width:245px}.page-heading .actions .secondary-action{display:none}.eyebrow{font-size:9px}.btn{padding:9px 12px;font-size:11px}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat{padding:18px}.stat-value{font-size:27px}.stat-foot{font-size:10px}.grid-main,.account-grid{grid-template-columns:1fr}.stack{gap:16px}.grid-main{gap:16px}.account-banner{padding:17px;margin-bottom:16px;gap:10px}.account-banner .avatar.large{width:45px;height:45px;font-size:18px}.account-banner .end .btn{padding:7px 9px;min-height:32px;font-size:10px}.account-banner strong{font-size:13px}.account-banner small{font-size:10px}.pad{padding:20px}.step{font-size:10px}.step small{font-size:9px}.card-head h2{font-size:13px}.card-head{margin-bottom:18px}.top-actions .badge{font-size:10px}.toolbar{gap:10px}.search{max-width:none;flex-basis:100%}.toolbar .filters{flex:1;justify-content:space-around}.filter{padding:7px 10px}.hide-mobile{display:none}.form-row{gap:12px}.form-row input[type=time]{width:110px}.account-top{flex-wrap:wrap}.add-account{min-height:180px}.footer{line-height:1.9}.savebar{justify-content:space-between}.table-wrap{margin:0 -6px}td,th{padding-left:10px;padding-right:10px}.notice{font-size:10px}.detail-summary{gap:6px;padding:12px}.detail-summary strong{font-size:11px}.card-bottom{padding:13px}.page-heading .actions{padding-top:15px}.status-row{padding:12px 0}}
.btn{white-space:nowrap}.page-heading>.actions{flex-shrink:0}.page-heading>div:first-child{min-width:0}
@media(max-width:620px){#friend-list th:first-child,#friend-list td:first-child{display:none}#friend-list .person strong{white-space:normal;display:block;max-width:145px}.page-heading p{max-width:225px}.page-heading .btn{font-size:10px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Per-recipient controls match the reference teal/gray sliding switches. */
.plan-switch,.plan-switch span{width:40px;height:22px}.plan-switch span{background:#dfe7eb}.plan-switch span:after{width:16px;height:16px}.plan-switch input:checked+span{background:#09877f}.plan-switch input:checked+span:after{transform:translateX(18px)}.plan-switch input:focus-visible+span{outline:3px solid #75c7c0}.plan-switch input:disabled{cursor:not-allowed}.plan-switch input:disabled+span{opacity:.48}.plan-switch{vertical-align:middle}#friend-list td:last-child,#friend-list th:last-child{text-align:center}
