:root{color:#1f2328;font-synthesis:none;background:#f7f8f9;font-family:Microsoft YaHei,PingFang SC,Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f7f8f9;min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.62;cursor:not-allowed}input,textarea{color:#1f2328}input:focus,textarea:focus{outline:2px solid #d5d9dd;border-color:#6fa884!important}.app-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e4e6e4;flex-direction:column;flex:0 0 256px;width:256px;min-width:0;min-height:100vh;padding:28px 16px 18px;transition:width .26s cubic-bezier(.2,.8,.2,1),flex-basis .26s cubic-bezier(.2,.8,.2,1),padding .26s cubic-bezier(.2,.8,.2,1),opacity .16s,transform .26s cubic-bezier(.2,.8,.2,1),border-color .26s;display:flex;overflow:hidden}.brand{color:#1f2328;align-items:center;gap:11px;display:flex}.brand>span:last-child{gap:2px;display:grid}.brand b{font-size:15px}.brand small{color:#778b7d;font-size:11px}.brand-mark{color:#fff;background:#2e7c57;border-radius:14px;place-items:center;width:42px;height:42px;font-size:24px;font-weight:700;display:grid}.brand-mark.small{border-radius:11px;width:34px;height:34px;font-size:19px}.sidebar-label{letter-spacing:.08em;color:#849688;padding:31px 11px 9px;font-size:11px;font-weight:700}.nav-label{padding-top:26px}.current-group{color:#1f2328;text-align:left;background:#fafbfa;border:1px solid #e2e4e2;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.current-group>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.current-group b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.current-group small{color:#78907e;font-size:11px}.group-avatar,.avatar{color:#4b5563;background:#e9ebed;border-radius:14px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:inline-grid;overflow:hidden}.group-avatar img{object-fit:cover;width:100%;height:100%}.group-avatar.mini{border-radius:10px;width:32px;height:32px;font-size:13px}nav{gap:5px;display:grid}.nav-item{color:#6e8475;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;padding:12px;font-size:14px;display:flex}.nav-item:hover{color:#1f2328;background:#f5f6f7}.nav-item.active{color:#1f2328;background:#eef0f2;font-weight:700}.sidebar-bottom{margin-top:auto}.sidebar-account-dock{background:#fcfefcfa;border:1px solid #ddebdf;border-radius:17px;margin:0 2px 2px;padding:15px 14px 13px 17px;position:relative;box-shadow:0 10px 24px #212b261a}.sidebar-account-dock:before{content:"";background:#d5d9dd;border-radius:5px;width:5px;position:absolute;top:16px;bottom:16px;left:-1px}.sidebar-account-label{color:#809586;letter-spacing:.08em;padding:0 4px 9px;font-size:10px;font-weight:700}.user-line{background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:3px 4px;transition:color .15s,background-color .15s;display:flex}.user-line:hover{background:#f6f7f6}.user-line>span:last-child{gap:2px;min-width:0;display:grid}.user-line b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.user-line small{color:#819485;font-size:11px}.avatar{border-radius:50%;width:30px;height:30px;font-size:12px}.logout-button,.ghost-button{color:#6f767d;background:0 0;border:0;align-items:center;gap:7px;font-size:13px;display:inline-flex}.logout-button{text-align:left;border-top:1px solid #e7e9e7;border-radius:0;width:100%;margin-top:12px;padding:11px 4px 0}.logout-button:hover{color:#b75850;background:#fff5f3}.ghost-button:hover{color:#2e7c57}.main-content{width:min(1420px,100%);min-width:0;margin:0 auto;padding:47px 54px 42px;transition:width .26s cubic-bezier(.2,.8,.2,1),padding .26s cubic-bezier(.2,.8,.2,1)}.mobile-header{display:none}.module-page{max-width:1360px;margin:auto}.page-title-row{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.eyebrow{color:#6f767d;letter-spacing:.07em;margin-bottom:8px;font-size:12px;font-weight:700}.page-title-row h1,.module-page h1{letter-spacing:-.04em;margin:0;font-size:27px}.muted{color:#6f767d}.page-title-row p{margin:9px 0 0;font-size:14px}.card{background:#fff;border:1px solid #e4e6e4;border-radius:18px}.primary-button,.secondary-button,.ghost-button,.text-button,.icon-button,.add-link,.add-group-link,.back-link{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#2e7c57;box-shadow:0 2px 4px #0f172a24}.primary-button:hover{background:#256b4a}.secondary-button{color:#374151;background:#fff;border-color:#dde2e6}.secondary-button:hover{background:#f3f4f5}.wide{width:100%;padding:13px 16px}.icon-button{color:#6f767d;background:0 0;padding:6px}.icon-button:hover{color:#1f2328;background:#f2f3f4}.danger-icon:hover{color:#c84b42;background:#fff0ee}.member-plan-layout{grid-template-columns:263px minmax(0,1fr);gap:20px;display:grid}.member-list{align-self:start;max-height:calc(100vh - 185px);padding:18px 11px 13px;overflow:auto}.card-heading{color:#1f2328;justify-content:space-between;align-items:center;padding:0 8px 13px;display:flex}.card-heading h2,.editor-top h2,.form-section-heading h2{color:#1f2328;margin:0;font-size:16px}.card-heading span{color:#6f767d;font-size:12px}.search-input{background:#fafbfa;border:1px solid #e4e6e4;border-radius:9px;width:100%;margin-bottom:10px;padding:9px 10px;font-size:12px}.member-row{color:#1f2328;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;padding:10px 8px;display:flex}.member-row:hover{background:#f6f7f6}.member-row.selected{background:#eef0f2}.member-info{flex:1;gap:2px;min-width:0;display:grid}.member-info b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.member-info small,.member-status{color:#6f767d;font-size:11px}.member-status{color:#6f767d}.plan-editor{min-height:600px;padding:22px}.editor-top{border-bottom:1px solid #e9ebe9;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.editor-top>div:first-child{gap:5px;display:grid}.editor-top .muted{font-size:12px}.editor-actions{flex-wrap:wrap;gap:9px;display:flex}.phase-stack{gap:16px;padding-top:18px;display:grid}.phase-card{background:#fcfcfd;border:1px solid #dde0dd;border-radius:14px;padding:15px}.phase-header{align-items:center;gap:11px;display:flex}.phase-number{color:#4b5563;background:#e9ebed;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid}.phase-title-block{flex:1;gap:3px;min-width:150px;display:grid}.inline-title{color:#1f2328;background:0 0;border:0;width:100%;padding:0;font-size:16px;font-weight:800}.tiny{font-size:11px}.phase-dates{gap:7px;display:flex}.phase-dates label,.offset-fields label{color:#6f767d;gap:3px;font-size:10px;display:grid}.phase-dates input,.offset-fields input{color:#1f2328;background:#fff;border:1px solid #d7dbde;border-radius:7px;padding:6px 7px;font-size:12px}.group-stack{gap:10px;padding-top:15px;display:grid}.plan-group{background:#f8f9f8;border:1px solid #e6e8e6;border-radius:11px;padding:10px}.group-heading{align-items:center;gap:8px;display:flex}.group-heading input{color:#1f2328;background:0 0;border:0;flex:1;padding:4px 5px;font-size:14px;font-weight:700}.task-list{gap:4px;padding:5px 0;display:grid}.task-row{align-items:center;gap:7px;min-height:31px;display:flex}.task-dot{background:#b9c0c6;border-radius:50%;width:7px;height:7px;margin-left:5px}.task-row input{color:#3a4148;background:0 0;border:0;flex:1;padding:4px;font-size:13px}.add-link,.add-group-link{color:#4b5563;background:0 0;justify-content:flex-start;padding:5px 4px;font-size:12px}.add-group-link{margin-top:8px}.add-link:hover,.add-group-link:hover{text-decoration:underline}.template-layout{grid-template-columns:310px minmax(0,1fr);gap:20px;display:grid}.template-list{align-self:start;padding:18px 11px}.template-row{text-align:left;color:#1f2328;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:12px 9px;display:flex}.template-row:hover{background:#f6f7f6}.template-row.selected{background:#eef0f2}.template-row>span:last-child{gap:4px;display:grid}.template-row b{font-size:13px}.template-row small{color:#6f767d;font-size:11px}.template-icon{color:#4b5563;background:#e9ebed;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.template-preview{min-height:560px;padding:22px}.template-detail{gap:16px;padding-top:20px;display:grid}.template-meta{gap:8px;display:flex}.template-meta span{color:#4b5563;background:#eff0f2;border-radius:99px;padding:5px 10px;font-size:12px}.template-phase{grid-template-columns:38px 1fr;align-items:flex-start;gap:12px;display:grid}.template-phase h3{margin:2px 0 4px;font-size:15px}.template-phase p{margin:0 0 10px}.template-group{background:#f9fafb;border-left:2px solid #d3d7da;gap:6px;margin-top:8px;padding:10px 12px;display:grid}.template-group b{font-size:13px}.template-group span{color:#5b6470;font-size:12px}.template-edit-form{max-width:1060px;padding:24px}.template-edit-form>label{color:#667c6d;gap:7px;margin-bottom:16px;font-size:12px;display:grid}.form-input{resize:vertical;background:#fafbfa;border:1px solid #dde0dd;border-radius:10px;width:100%;padding:10px 12px}.form-section-heading{border-top:1px solid #e7e9e7;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.form-section-heading p{margin:5px 0 0}.offset-fields{gap:7px;display:flex}.offset-fields label{grid-template-columns:auto 48px;align-items:center}.offset-fields input{width:48px}.loading-state{color:#6f767d;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:300px;font-size:14px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:#6f767d;background:#fff9;border:1px dashed #d8dbde;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:355px;display:flex}.empty-state h3{color:#1f2328;margin:4px 0 0}.empty-state p{margin:0;font-size:13px}.empty-state.small{background:0 0;border:0;min-height:275px}.error-box,.form-message{color:#ab3c34;background:#fff0ee;border-radius:10px;margin:0 0 16px;padding:11px 13px;font-size:13px}.form-message.success{color:#2e7c57;background:#e9f5ee}.toast{z-index:30;color:#fff;background:#2e7c57;border-radius:12px;align-items:center;gap:8px;max-width:420px;padding:13px 15px;font-size:13px;display:flex;position:fixed;bottom:24px;right:26px;box-shadow:0 12px 30px #212b2633}.toast.error{background:#b94f46}.auth-page{background:radial-gradient(circle at 78% 20%,#e9ebed 0,#0000 28%),#f6f7f8;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffffff2;border:1px solid #e4e6e4;border-radius:22px;width:min(440px,100%);padding:40px;box-shadow:0 18px 45px #212b261a}.auth-card .brand-mark{margin-bottom:18px}.auth-card h1{margin:0;font-size:25px}.auth-card>p{font-size:13px;line-height:1.8}.auth-form{gap:18px;padding-top:21px;display:grid}.auth-form label{color:#5b6470;gap:7px;font-size:12px;font-weight:700;display:grid}.auth-form input{background:#fafbfa;border:1px solid #d7dbde;border-radius:10px;padding:11px 12px}.code-field{gap:8px;display:flex}.code-field input{width:100%;min-width:0}.text-button{color:#2e7c57;white-space:nowrap;background:0 0;border:0;padding:0 3px;font-size:12px}.auth-note{color:#9aa1a8;padding-top:12px;font-size:11px!important}.group-page{background:#f7f8f9;min-height:100vh}.group-picker-top{justify-content:space-between;align-items:center;max-width:1220px;margin:auto;padding:24px 32px;display:flex}.picker-content{max-width:840px;margin:60px auto;padding:0 24px}.picker-content h1{margin:0;font-size:30px}.picker-content>p{margin:11px 0 27px}.group-grid{gap:12px;display:grid}.group-option{color:#1f2328;text-align:left;background:#fff;border:1px solid #e4e6e4;border-radius:16px;align-items:center;gap:14px;padding:17px;transition:transform .15s,box-shadow .15s;display:flex}.group-option:hover{border-color:#cfd4d8;transform:translateY(-1px);box-shadow:0 8px 18px #212b2614}.group-option-body{flex:1;gap:4px;display:grid}.group-option-body strong{font-size:16px}.group-option-body span{color:#6f767d;font-size:12px}.arrow{color:#9aa3ad;font-size:25px}.back-link{color:#2e7c57;background:0 0;margin-bottom:11px;padding:0}.back-link:hover{text-decoration:underline}@media (width<=980px){.sidebar{display:none}.main-content{padding:22px 20px 40px}.mobile-header{justify-content:space-between;align-items:center;padding-bottom:23px;display:flex}.mobile-header button{color:#374151;background:#fff;border:1px solid #dde0dd;border-radius:8px;padding:7px 9px;font-size:12px}.member-plan-layout,.template-layout{grid-template-columns:1fr}.member-list{max-height:none;display:block}.member-row{border:1px solid #e4e6e4;width:auto;margin:3px;display:inline-flex}.member-status,.search-input{display:none}.page-title-row{align-items:flex-start}.phase-dates{margin-left:auto}.template-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.template-list .card-heading{grid-column:1/-1}.template-row{border:1px solid #e6e8e6}}@media (width<=650px){.main-content{padding:18px 13px 30px}.page-title-row,.editor-top,.phase-header{flex-direction:column;align-items:stretch}.page-title-row .primary-button{align-self:stretch}.editor-actions{grid-template-columns:1fr 1fr;display:grid}.phase-dates,.offset-fields{margin-left:0}.phase-dates label{flex:1}.phase-dates input{width:100%}.template-edit-form,.plan-editor,.template-preview{padding:16px}.auth-card{padding:29px 22px}.picker-content{margin:28px auto}.group-picker-top{padding:20px}.toast{bottom:13px;left:13px;right:13px}.phase-title-block{flex:none}.member-row{width:calc(100% - 6px)}}.template-ready{background:#f1f8f2;border-color:#cde2d2;justify-content:space-between;align-items:center;gap:18px;margin:-10px 0 20px;padding:14px 16px;display:flex}.template-ready>div{align-items:center;gap:10px;display:flex}.template-ready>div:first-child{color:#2e7c57}.template-ready span{gap:3px;display:grid}.template-ready b{color:#1f2328;font-size:13px}.template-ready small{color:#6f767d;font-size:11px}.template-ready>div:last-child{gap:8px}@media (width<=650px){.template-ready{flex-direction:column;align-items:stretch}.template-ready>div:last-child{grid-template-columns:1fr 1fr;display:grid}}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-toggle{color:#557160;background:#fff;border:1px solid #dce9df;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;display:inline-grid}.sidebar-toggle:hover{color:#1f2328;background:#eff0f2}.sidebar-collapsed .sidebar{flex-basis:80px;align-items:center;width:80px;padding:28px 12px 18px}.sidebar-collapsed .sidebar-top{flex-direction:column;width:100%}.sidebar-collapsed .sidebar-copy,.sidebar-collapsed .sidebar-details .sidebar-label,.sidebar-collapsed .group-copy,.sidebar-collapsed .group-chevron,.sidebar-collapsed .nav-item span,.sidebar-collapsed .user-copy,.sidebar-collapsed .logout-button span{display:none}.sidebar-collapsed .sidebar-details{width:100%;margin-top:25px}.sidebar-collapsed .current-group{background:#f5f6f5;border:0;place-items:center;padding:8px;display:grid}.sidebar-collapsed nav{width:100%;margin-top:8px}.sidebar-collapsed .nav-item{justify-content:center;padding:12px 0}.sidebar-collapsed .sidebar-bottom{justify-items:center;width:100%;padding:18px 0 2px;display:grid}.sidebar-collapsed .logout-button{border-radius:9px;margin-top:17px;padding:8px}.sidebar-collapsed .logout-button:hover{background:#f3f8f4}@media (prefers-reduced-motion:reduce){.sidebar,.main-content,.sidebar-hidden .sidebar>*,.sidebar-reopen{transition:none;animation:none}}@media (width<=980px){.sidebar-toggle{display:none}}.sidebar-hidden .sidebar{opacity:0;pointer-events:none;border-right-color:#0000;flex-basis:0;width:0;padding-left:0;padding-right:0;transform:translate(-14px)}.sidebar-hidden .sidebar>*{opacity:0;transition:opacity .1s,transform .16s;transform:translate(-8px)}.sidebar-reopen{z-index:20;color:#374151;background:#fff;border:1px solid #e0e3e6;border-radius:11px;place-items:center;width:38px;height:38px;animation:.18s cubic-bezier(.2,.8,.2,1) .12s both sidebar-reopen-in;display:inline-grid;position:fixed;top:18px;left:18px;box-shadow:0 4px 15px #0f172a1a}@keyframes sidebar-reopen-in{0%{opacity:0;transform:translate(-8px)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}.sidebar-reopen:hover{background:#eff0f2}.sidebar-hidden .main-content{width:min(1480px,100%)}@media (width<=980px){.sidebar-reopen{display:none}}.outline-page{max-width:1480px}.outline-page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.outline-page-header h1{letter-spacing:-.04em;margin:0;font-size:28px}.outline-page-header p{margin:8px 0 0;font-size:13px}.outline-header-actions{align-items:center;gap:10px;display:flex}.new-template-button{white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;flex:none;min-width:96px}.save-plan-button{white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;flex:none;min-width:88px}.member-picker-inline{background:#fff;border:1px solid #d9dcda;border-radius:11px;align-items:center;gap:9px;min-width:210px;height:44px;padding:5px 10px;display:flex}.member-picker-inline .avatar{width:29px;height:29px}.member-picker-inline select{color:#1f2328;cursor:pointer;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px;font-weight:700}.plan-outline{min-height:590px;padding:0 16px 16px;overflow:hidden}.outline-columns{color:#73877a;background:#f5f6f5;border-bottom:1px solid #e7e9e7;grid-template-columns:minmax(0,1fr) 245px 120px;gap:18px;margin:0 -16px 18px;padding:18px 28px;font-size:11px;display:grid}.outline-phase-list{gap:12px;display:grid}.outline-phase{background:#fff;border:1px solid #e0e9e2;border-radius:13px;transition:border-color .16s,box-shadow .16s;overflow:hidden}.outline-phase-summary{color:#1f2328;text-align:left;background:#fafbfa;border:0;grid-template-columns:34px minmax(0,1fr) 245px 120px;align-items:center;gap:18px;width:100%;padding:15px 18px;display:grid}.outline-phase-summary:hover{background:#f1f3f1}.outline-phase-index{color:#4b5563;cursor:pointer;background:#e5e7ea;border:0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;transition:background-color .15s,color .15s,transform .15s;display:grid}.outline-phase-index:hover{background:#d5d9dd;transform:scale(1.06)}.outline-phase-index:focus-visible{outline-offset:3px;outline:2px solid #9aa3ad}.outline-phase.open .outline-phase-index{color:#fff;background:#1f2328}.outline-phase-name{gap:3px;min-width:0;display:grid}.outline-phase-name b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.outline-phase-name small,.outline-phase-time{color:#6f767d;font-size:11px}.outline-phase-time{white-space:nowrap}.outline-phase-action{color:#6f767d;justify-content:flex-end;align-items:center;gap:5px;font-size:11px;display:flex}.outline-phase.open .outline-phase-action svg{transform:rotate(180deg)}.outline-phase-action svg{transition:transform .16s}.outline-phase-body{background:#fff;border-top:1px solid #e4e6e4;padding:16px 18px 18px 69px}.outline-phase-fields{grid-template-columns:minmax(260px,1fr) 180px 180px 34px;align-items:end;gap:10px;margin-bottom:18px;display:grid}.outline-phase-fields label{color:#6f767d;gap:5px;font-size:10px;display:grid}.outline-phase-fields input{color:#1f2328;background:#fafbfa;border:1px solid #dcdfdc;border-radius:8px;min-width:0;height:36px;padding:7px 10px;font-size:12px}.outline-group-list{gap:12px;display:grid;position:relative}.outline-group-list:before{content:"";background:#ccd1d5;width:2px;position:absolute;top:16px;bottom:16px;left:5px}.outline-group{padding-left:27px;position:relative}.outline-group-head{background:#f5f6f5;border:1px solid #e3e5e3;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:4px 8px 4px 10px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}.outline-group-head:focus-within{background:#f1f3f1;border-color:#ccd1d5;box-shadow:0 0 0 2px #64748b24}.outline-rail-dot{background:#80ad8c;border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:12px;left:0;box-shadow:0 0 0 1px #ccd1d5}.outline-group-title,.outline-group-title-input{color:#1f2328;background:0 0;border:0;flex:1;min-width:120px;padding:3px 0;font-size:13px;font-weight:700}.outline-group-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:text;overflow:hidden}.outline-group-title:hover{color:#256b4a}.outline-group-title:disabled{cursor:not-allowed;opacity:.58}.outline-group-title-input,.outline-group-title-input:focus{box-shadow:none!important;border:0!important;outline:none!important}.outline-group-head>small{color:#8a9299;font-size:10px}.outline-group-head .add-link{margin-left:auto}.outline-group-drag-handle{color:#90a297;cursor:grab;background:0 0;border:0;border-radius:7px;flex:0 0 26px;place-items:center;width:26px;height:28px;padding:0;transition:color .15s,background-color .15s,transform .15s;display:inline-grid}.outline-group-drag-handle:hover{color:#1f2328;background:#eceef0}.outline-group-drag-handle:active{cursor:grabbing;transform:scale(.94)}.outline-group-drag-handle:disabled{color:#c3cec6;cursor:not-allowed;background:0 0}.outline-group.can-drag{will-change:transform;transition:opacity .16s,filter .16s}.outline-group.dragging{opacity:.34;filter:saturate(.7)}.outline-group.drag-over{transform:none}.outline-group.drag-over .outline-group-head{background:#eef0f2;border-color:#9aa3ad;box-shadow:0 0 0 3px #64748b29,0 8px 18px #0f172a14}.outline-group.drag-over:before{content:"";z-index:3;background:#4d9a67;border-radius:999px;height:3px;animation:.14s cubic-bezier(.22,1,.36,1) both group-drop-line-in;position:absolute;top:-7px;left:4px;right:4px;box-shadow:0 0 0 3px #4d9a671a}@keyframes group-drop-line-in{0%{opacity:0;transform:scaleX(.82)}to{opacity:1;transform:scaleX(1)}}.outline-task-list{gap:7px;margin:4px 0;display:grid;position:relative}.outline-task{color:#4c6655;background:#f9faf9;border:1px solid #0000;border-radius:9px;grid-template-columns:18px minmax(0,1fr) 74px 30px;align-items:center;gap:7px;min-height:38px;padding:3px 7px 3px 11px;display:grid;position:relative}.outline-task-bullet{color:#9aa3ad;flex:none}.outline-task-bullet.done{color:#3f8e5a}.outline-task>input{color:#1f2328;min-width:0;box-shadow:none;background:0 0;border:0;outline:none;padding:5px 2px;font-size:12px}.outline-task>input:focus{box-shadow:none!important;border:0!important;outline:none!important}.outline-task>small{color:#8a9299;text-align:right;font-size:10px}.outline-task>small.outline-task-status{color:#6f767d;text-align:center;white-space:nowrap;background:#f0f1f3;border:1px solid #e2e5e8;border-radius:999px;justify-content:center;justify-self:end;align-items:center;min-width:56px;height:21px;padding:0 7px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.outline-task>small.outline-task-status.pending{color:#92610f;background:#fdf3e3;border-color:#f0ddba}.outline-task>small.outline-task-status.new{color:#3c6478;background:#ebf3f8;border-color:#d4e4ee}.outline-add-group,.outline-add-phase{color:#4b5563;background:#f0f1f3;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;font-size:12px;font-weight:700;display:flex}.outline-add-group{height:38px;margin-top:14px}.outline-add-phase{height:50px;margin-top:16px}.outline-add-group:hover,.outline-add-phase:hover{background:#e1f0e5}.outline-footer{color:#6f767d;background:#fafbfa;border:1px solid #e6e8e6;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 16px;font-size:11px;display:flex}.outline-footer button{color:#2e7c57;background:0 0;border:0;padding:0;font-size:11px}.outline-empty{color:#6f767d;justify-content:center;align-items:center;gap:12px;min-height:310px;display:flex}.outline-empty>div{gap:4px;display:grid}.outline-empty b{color:#1f2328;font-size:14px}.outline-empty small{font-size:11px}@media (width<=1050px){.outline-page-header{flex-direction:column;align-items:flex-start}.outline-header-actions{width:100%}.member-picker-inline{flex:1}.outline-columns{grid-template-columns:minmax(0,1fr) 190px 80px}.outline-phase-summary{grid-template-columns:34px minmax(0,1fr) 190px 80px}.outline-phase-fields{grid-template-columns:minmax(220px,1fr) 150px 150px 34px}}@media (width<=760px){.outline-header-actions{grid-template-columns:1fr auto auto;display:grid}.member-picker-inline{min-width:0}.outline-columns{display:none}.plan-outline{padding-top:14px}.outline-phase-summary{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}.outline-phase-time{display:none}.outline-phase-action{width:54px}.outline-phase-body{padding-left:18px}.outline-phase-fields{grid-template-columns:1fr 1fr}.outline-phase-fields label:first-child{grid-column:1/-1}.outline-group-list:before,.outline-rail-dot{display:none}.outline-group{padding-left:0}.outline-task{grid-template-columns:18px minmax(0,1fr) 30px}.outline-task>small{display:none}.outline-footer{flex-direction:column;align-items:flex-start}}@media (width>=981px){.app-shell{grid-template-columns:256px minmax(0,1fr);transition:grid-template-columns .32s cubic-bezier(.22,1,.36,1);display:grid;overflow-x:clip}.sidebar{z-index:10;align-self:start;height:100vh;position:fixed;top:0;left:0}.sidebar-account-dock{z-index:30;width:208px;margin:0;position:fixed;bottom:18px;left:14px}.app-shell.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.sidebar{white-space:nowrap;opacity:1;visibility:visible;will-change:transform, opacity;flex:none;grid-area:1/1;width:256px;max-width:256px;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .18s,visibility linear;transform:translate(0)}.main-content{grid-area:1/2}.sidebar-hidden .sidebar{opacity:0;visibility:hidden;pointer-events:none;border-right-color:#0000;flex-basis:auto;width:256px;max-width:256px;padding:28px 16px 18px;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .18s,visibility 0s linear .32s;transform:translate(-100%)}.sidebar-hidden .sidebar>*{opacity:1;transition:none;transform:none}.sidebar-copy,.group-copy,.user-copy,.nav-item span,.logout-button span{white-space:nowrap}}.outline-add-phase:disabled{color:#9cad9f;background:#f2f5f2}@media (width<=980px){.app-shell,.app-shell.sidebar-hidden{display:block}}@media (prefers-reduced-motion:reduce){.app-shell,.sidebar{transition:none!important}}.template-picker-inline{min-width:220px}.template-picker-inline .template-icon{flex:none;width:29px;height:29px}.template-outline{min-height:590px}.template-outline-toolbar{background:#fff;justify-content:space-between;align-items:center;gap:20px;margin:0 -16px;padding:20px 28px;display:flex}.template-outline-toolbar h2{color:#1f2328;margin:0;font-size:17px}.template-outline-toolbar p{color:#6f767d;margin:5px 0 0;font-size:11px}.template-outline-columns{margin-top:0}.template-outline-body{padding-top:14px}.template-phase-description{color:#607565;background:#f8f9f8;border-radius:9px;margin:0 0 14px;padding:10px 12px;font-size:11px}.template-outline .outline-group-head strong{color:#1f2328;flex:1;font-size:13px}.template-outline-task{grid-template-columns:18px minmax(0,1fr) 80px}.template-outline-task>span:nth-child(2){color:#1f2328;font-size:12px}.template-outline-task>small{color:#8a9299;text-align:right;font-size:10px}.danger-button{color:#b94f46;border-color:#edd8d5}.danger-button:hover{color:#a13d36;background:#fff2f0}@media (width<=760px){.template-picker-inline{min-width:0}.template-outline-toolbar{flex-direction:column;align-items:flex-start}.template-outline-toolbar .editor-actions{width:100%}.template-outline-toolbar .editor-actions>button{flex:1}.template-outline-task{grid-template-columns:18px minmax(0,1fr)}.template-outline-task>small{display:none}}.template-editor-shell{overflow:hidden}.template-editor-toolbar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-bottom:1px solid #e5e7e5;justify-content:space-between;align-items:center;gap:24px;padding:20px 26px;display:flex;position:sticky;top:0}.template-editor-heading{min-width:0}.template-editor-heading .back-link{margin-bottom:8px}.template-editor-heading h1{color:#1f2328;letter-spacing:-.03em;margin:0;font-size:24px}.template-editor-heading p{color:#6f767d;margin:6px 0 0;font-size:12px}.template-editor-actions{flex:none;align-items:center;gap:9px;display:flex}.template-editor-basics{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.7fr);gap:18px;padding-bottom:23px;display:grid}.template-editor-basics label{color:#667b6c;gap:7px;font-size:11px;display:grid}.template-editor-basics input,.template-editor-basics textarea{color:#1f2328;resize:vertical;background:#fafbfa;border:1px solid #dbe8de;border-radius:10px;width:100%;min-width:0;padding:10px 12px}.template-editor-section-title{border-top:1px solid #e6e8e6;justify-content:space-between;align-items:center;gap:18px;padding:18px 0 14px;display:flex}.template-editor-section-title h2{margin:0;font-size:17px}.template-editor-section-title p{color:#7a8d7f;margin:5px 0 0;font-size:11px}.template-editor-phase-list{gap:14px;display:grid}.template-edit-phase{background:#fff;border:1px solid #dcdfdc;border-radius:14px;overflow:hidden}.template-edit-phase-head{background:#eff0f2;border-bottom:1px solid #e2e5e2;grid-template-columns:34px minmax(260px,1fr) auto 34px;align-items:end;gap:12px;padding:15px 18px;display:grid}.template-phase-name{color:#708475;gap:4px;font-size:10px;display:grid}.template-phase-name input{color:#1f2328;background:0 0;border:0;min-width:0;padding:5px 0;font-size:15px;font-weight:800}.template-offset-fields label{color:#6f767d;align-items:center;gap:5px;font-size:10px;display:flex}.template-offset-fields input{color:#1f2328;text-align:center;background:#fff;border:1px solid #dadfda;border-radius:8px;width:58px;height:34px;padding:6px 8px}.template-offset-fields small{color:#6f767d;font-size:10px}.template-edit-groups{gap:14px;padding:17px 18px 2px 49px;display:grid;position:relative}.template-edit-groups:before{content:"";background:#a8cdb1;width:2px;position:absolute;top:30px;bottom:12px;left:30px}.template-edit-group{position:relative}.template-edit-group-head{align-items:center;gap:8px;min-height:34px;display:flex}.template-edit-group-head .outline-rail-dot{top:11px;left:-25px}.template-edit-group-head>input{color:#1f2328;background:0 0;border:0;flex:1;min-width:140px;padding:4px 0;font-size:13px;font-weight:700}.template-edit-group-head>small{color:#8a9299;font-size:10px}.template-edit-group-head .add-link{margin-left:auto}.template-edit-task-list{gap:7px;margin-top:5px;display:grid}.template-edit-task{grid-template-columns:18px minmax(0,1fr) 80px 30px}.template-edit-task input{color:#1f2328;background:0 0;border:0;min-width:0;padding:5px 2px;font-size:12px}.template-edit-phase>.outline-add-group{width:calc(100% - 36px);margin:15px 18px 18px}.template-editor-add-phase{margin-top:16px}.template-editor-summary{color:#6f767d;background:#fafbfa;border:1px solid #e6e8e6;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 16px;font-size:11px;display:flex}@media (width<=980px){.template-editor-toolbar{position:static}.template-editor-basics{grid-template-columns:1fr}.template-edit-phase-head{grid-template-columns:34px minmax(180px,1fr) auto 34px}}@media (width<=700px){.template-editor-toolbar{flex-direction:column;align-items:stretch;padding:18px}.template-editor-actions{grid-template-columns:1fr 1fr;display:grid}.template-editor-content{padding:18px}.template-editor-basics{gap:13px}.template-editor-section-title{flex-direction:column;align-items:flex-start}.template-edit-phase-head{grid-template-columns:30px minmax(0,1fr) 32px;align-items:center}.template-offset-fields{grid-column:2/-1}.template-edit-groups{padding-left:18px}.template-edit-groups:before,.template-edit-group-head .outline-rail-dot{display:none}.template-edit-task{grid-template-columns:18px minmax(0,1fr) 30px}.template-edit-task>small{display:none}.template-editor-summary{flex-direction:column;align-items:flex-start}}:root{--font-ui:"PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Segoe UI", sans-serif;font-family:var(--font-ui);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}body,button,input,textarea,select{font-family:var(--font-ui)}body{font-size:14px;line-height:1.55}button,input,textarea,select{letter-spacing:0}input::placeholder,textarea::placeholder{color:#9aa99f;font-weight:400}.outline-page-header h1,.template-editor-heading h1{letter-spacing:-.015em;font-size:26px;font-weight:700;line-height:1.35}.outline-page-header p,.template-editor-heading p{font-size:13px;font-weight:400;line-height:1.7}.eyebrow{letter-spacing:.04em;font-size:12px;font-weight:600;line-height:18px}.brand b{font-size:16px;font-weight:700;line-height:23px}.brand small{font-size:12px;line-height:18px}.sidebar-label{letter-spacing:.04em;font-size:12px;font-weight:600;line-height:18px}.nav-item{font-size:14px;font-weight:500;line-height:22px}.nav-item.active{font-weight:650}.current-group b,.user-line b{font-size:14px;font-weight:600;line-height:21px}.current-group small,.user-line small{font-size:12px;line-height:18px}.primary-button,.secondary-button,.ghost-button,.text-button,.back-link{font-size:13px;font-weight:600;line-height:20px}.outline-columns{font-size:12px;font-weight:500;line-height:18px}.outline-phase-index{font-size:12px;font-weight:700;line-height:18px}.outline-phase-name b{font-size:15px;font-weight:650;line-height:22px}.outline-phase-name small,.outline-phase-time{font-size:12px;font-weight:400;line-height:18px}.outline-phase-action{font-size:12px;font-weight:500;line-height:18px}.outline-group-title,.outline-group-title-input,.template-outline .outline-group-head strong{font-size:14px;font-weight:650;line-height:21px}.outline-group-head>small{font-size:11px;line-height:17px}.outline-task>input,.template-outline-task>span:nth-child(2){font-size:13px;font-weight:400;line-height:20px}.outline-task>small,.template-outline-task>small{font-size:11px;line-height:17px}.outline-add-group,.outline-add-phase{font-size:13px;font-weight:600;line-height:20px}.outline-footer,.outline-footer button,.template-editor-summary{font-size:12px;line-height:19px}.template-editor-basics label,.template-phase-name,.template-offset-fields label{font-size:12px;font-weight:500;line-height:18px}.template-editor-basics input,.template-editor-basics textarea{font-size:14px;font-weight:400;line-height:22px}.template-editor-section-title h2{font-size:18px;font-weight:700;line-height:26px}.template-editor-section-title p{font-size:12px;line-height:19px}.template-phase-name input{font-size:16px;font-weight:650;line-height:23px}.template-offset-fields input{font-size:14px;font-weight:600;line-height:20px}.template-offset-fields small{font-size:12px;line-height:18px}.template-edit-group-head>input{font-size:14px;font-weight:650;line-height:21px}.template-edit-group-head>small{font-size:11px;line-height:17px}.template-edit-task input{font-size:13px;font-weight:400;line-height:20px}.template-outline-toolbar h2{font-size:18px;font-weight:700;line-height:26px}.template-outline-toolbar p,.template-phase-description{font-size:12px;line-height:19px}.member-picker-inline select{font-size:14px;font-weight:600;line-height:21px}@media (width<=700px){.outline-page-header h1,.template-editor-heading h1{font-size:23px;line-height:1.4}.template-editor-section-title h2{font-size:17px}}.module-page,.outline-page,.template-editor-page{width:100%;max-width:none}@media (width>=981px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.app-shell.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.sidebar{flex-basis:236px;width:236px;max-width:236px;padding:24px 14px 16px}.sidebar-hidden .sidebar{width:236px;max-width:236px;padding:24px 14px 16px}.main-content{width:100%;max-width:none;margin:0;padding:24px 28px 22px}.outline-page-header{margin-bottom:18px}.plan-outline,.template-outline{min-height:calc(100vh - 160px)}.template-editor-shell{min-height:calc(100vh - 46px)}.template-editor-toolbar{padding:16px 22px}.template-editor-content{padding:20px 22px 22px}}@media (width>=1500px){.main-content{padding-left:32px;padding-right:32px}}@media (width<=980px){.main-content{width:100%;max-width:none;margin:0}.plan-outline,.template-outline{min-height:calc(100vh - 190px)}}.outline-phase-list{padding-left:36px}.outline-phase{position:relative;overflow:visible}.outline-phase:not(:last-child):after{content:"";z-index:0;background:#a7cdb1;width:2px;height:calc(100% + 14px);position:absolute;top:28px;left:-36px}.outline-phase-summary{z-index:1;grid-template-columns:minmax(0,1fr) 245px 120px;position:relative}.outline-phase-index{z-index:2;border:3px solid #fff;position:absolute;top:14px;left:-50px;box-shadow:0 0 0 1px #d0d4d8}.outline-phase.open .outline-phase-index{box-shadow:0 0 0 1px #1f2328}.outline-phase-body{padding-left:18px}.outline-group-list:before,.outline-group-head .outline-rail-dot{display:none}.outline-group{padding-left:0}.template-editor-phase-list{padding-left:36px}.template-edit-phase{position:relative;overflow:visible}.template-edit-phase:not(:last-child):after{content:"";z-index:0;background:#a7cdb1;width:2px;height:calc(100% + 14px);position:absolute;top:30px;left:-36px}.template-edit-phase-head{z-index:1;grid-template-columns:minmax(260px,1fr) auto 34px;position:relative}.template-edit-groups{padding-left:18px}.template-edit-groups:before,.template-edit-group-head .outline-rail-dot{display:none}@media (width<=1050px) and (width>=761px){.outline-phase-summary{grid-template-columns:minmax(0,1fr) 190px 80px}.template-edit-phase-head{grid-template-columns:minmax(220px,1fr) auto 34px}}@media (width<=760px){.outline-phase-list,.template-editor-phase-list{padding-left:27px}.outline-phase:not(:last-child):after,.template-edit-phase:not(:last-child):after{left:-27px}.outline-phase-index,.template-edit-phase-head>.outline-phase-index{left:-41px}.outline-phase-summary{grid-template-columns:minmax(0,1fr) auto}.outline-phase-body{padding-left:14px;padding-right:14px}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) 32px}.template-offset-fields{grid-column:1/-1}.template-edit-groups{padding-left:14px;padding-right:14px}}@media (width>=981px){.sidebar-hidden .main-content{width:100%;min-width:0;max-width:none;margin:0;padding-left:28px;padding-right:28px}.sidebar-hidden .module-page,.sidebar-hidden .outline-page,.sidebar-hidden .template-editor-page{width:100%;max-width:none;margin-left:0;margin-right:0}.sidebar-hidden .plan-outline,.sidebar-hidden .template-outline,.sidebar-hidden .template-editor-shell{width:100%;max-width:none}.outline-page-header{transition:padding-left .28s cubic-bezier(.22,1,.36,1)}.sidebar-hidden .outline-page-header{padding-left:54px}.template-editor-toolbar{transition:padding-left .28s cubic-bezier(.22,1,.36,1)}.sidebar-hidden .template-editor-toolbar{padding-left:76px}.sidebar-reopen{width:40px;height:40px;top:22px;left:20px}}@media (prefers-reduced-motion:reduce){.outline-page-header,.template-editor-toolbar{transition:none}}.outline-phase{transform-origin:top;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,box-shadow .18s}.outline-phase.open{border-color:#d3d7da;box-shadow:0 7px 20px #212b2617}.outline-phase-summary{transition:background-color .16s,transform .12s}.outline-phase-collapse{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1),opacity .15s,transform .22s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden;transform:translateY(-5px)}.outline-phase-collapse.open{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.outline-phase-collapse>.outline-phase-body{min-height:0;overflow:hidden}.outline-task{transition:background-color .17s,border-color .17s,box-shadow .18s,opacity .16s,filter .16s,transform .18s cubic-bezier(.22,1,.36,1)}.outline-task.task-draggable{cursor:grab}.outline-task.task-draggable:active{cursor:grabbing}.outline-task.task-dragging{z-index:2;opacity:.38;filter:saturate(.68);background:#eff4f0;border-color:#dce8de;transform:scale(.985);box-shadow:0 3px 10px #212b260d}.outline-task.task-drop-target{z-index:1;background:#f0f1f3;border-color:#9dcca9;box-shadow:0 5px 15px #2e7c5717,inset 0 0 0 1px #ffffffb8}.outline-task.task-drop-before:before{content:"";z-index:4;background:linear-gradient(90deg,#4e9b68,#78ba89);border-radius:999px;height:3px;animation:.15s cubic-bezier(.22,1,.36,1) both task-drop-line-in;position:absolute;top:-6px;left:21px;right:9px;box-shadow:0 0 0 3px #4f9b681f}.outline-task-list.task-drop-at-end:after{content:"";z-index:4;background:linear-gradient(90deg,#4e9b68,#78ba89);border-radius:999px;height:3px;animation:.15s cubic-bezier(.22,1,.36,1) both task-drop-line-in;position:absolute;bottom:-5px;left:21px;right:9px;box-shadow:0 0 0 3px #4f9b681f}.outline-task-list.task-drop-empty{background:#f0f9f2;border:1px dashed #a4cfae;border-radius:9px;min-height:36px;margin-top:7px}.outline-task-list.task-drop-empty:after{content:"松开以放入任务";color:#4c9464;letter-spacing:.02em;place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;inset:0}@keyframes task-drop-line-in{0%{opacity:0;transform:scaleX(.78)}to{opacity:1;transform:scaleX(1)}}.outline-task .icon-button{opacity:.12;transition:opacity .14s,transform .14s,color .14s,background-color .14s;transform:translate(3px)}.outline-task:focus-within{background:#f1f3f1;box-shadow:inset 0 0 0 1px #d4e6d8}.outline-add-group,.outline-add-phase,.template-editor-add-phase{transition:background-color .15s,transform .12s,box-shadow .15s}.outline-add-group:active,.outline-add-phase:active,.template-editor-add-phase:active{transform:scale(.997)}.template-edit-phase{transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,box-shadow .18s}@media (hover:hover) and (pointer:fine){.outline-phase:hover{border-color:#c5ddcb;transform:translateY(-1px)scale(1.001);box-shadow:0 6px 18px #212b2613}.outline-phase.open:hover{border-color:#aecdb7;transform:translateY(-2px)scale(1.002);box-shadow:0 11px 28px #212b261f}.outline-task:not(.task-dragging):hover{background:#f0f1f3;transform:translate(1px);box-shadow:inset 0 0 0 1px #d6e8da}.outline-task:hover .icon-button,.outline-task:focus-within .icon-button{opacity:1;transform:translate(0)}.outline-add-group:hover,.outline-add-phase:hover,.template-editor-add-phase:hover{transform:translateY(-1px);box-shadow:0 4px 12px #212b260f}.template-edit-phase:hover{border-color:#c7ddcc;transform:translateY(-1px);box-shadow:0 6px 18px #212b2612}}@media (hover:none),(pointer:coarse){.outline-task .icon-button{opacity:1;transform:none}.outline-phase:hover,.outline-phase.open:hover,.template-edit-phase:hover{transform:none}}@media (prefers-reduced-motion:reduce){.outline-phase,.outline-phase-summary,.outline-phase-collapse,.outline-task,.outline-task .icon-button,.outline-add-group,.outline-add-phase,.template-editor-add-phase,.template-edit-phase{transition:none!important;transform:none!important}.outline-task.task-drop-before:before,.outline-task-list.task-drop-at-end:after{animation:none!important}}.nav-item{border:1px solid #0000;transition:color .15s,background-color .15s,border-color .15s,box-shadow .17s,transform .15s cubic-bezier(.2,.8,.2,1)}.nav-item svg{transition:transform .15s cubic-bezier(.2,.8,.2,1)}.nav-item:active{transform:translate(1px)scale(.99)}@media (hover:hover) and (pointer:fine){.nav-item:hover{color:#1f2328;background:#f1f3f4;border-color:#e5e8ea;transform:translate(3px);box-shadow:0 5px 14px #212b2612}.nav-item:hover svg{transform:scale(1.07)}.nav-item.active:hover{background:#e3f2e6;border-color:#cfe2d3;box-shadow:0 6px 16px #212b2617}}.outline-phase{width:100%;max-width:100%}.outline-phase-summary{border-radius:12px;overflow:hidden}.outline-phase.open .outline-phase-summary{border-radius:12px 12px 0 0}.outline-phase-collapse,.outline-phase-body{border-radius:0 0 12px 12px}.template-edit-phase-head{border-radius:13px 13px 0 0;overflow:hidden}@media (hover:hover) and (pointer:fine){.outline-phase:hover{transform:translateY(-1px)}.outline-phase.open:hover{transform:translateY(-2px)}}@media (hover:none),(pointer:coarse){.nav-item:active{transform:none}}html{scrollbar-width:thin;scrollbar-color:#b8c9bc transparent;scrollbar-gutter:stable}body::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar{width:10px;height:10px}body::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-track{background:0 0}body::-webkit-scrollbar-thumb{background:#b8c9bc padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb{background:#b8c9bc padding-box padding-box;border:3px solid #0000;border-radius:999px}body::-webkit-scrollbar-thumb:hover{background:#8eaa95 padding-box padding-box;border-width:2px}::-webkit-scrollbar-thumb:hover{background:#8eaa95 padding-box padding-box;border-width:2px}body::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-corner{background:0 0}.member-picker{z-index:10;min-width:230px;position:relative}.member-picker-trigger{color:#1f2328;text-align:left;background:#fff;border:1px solid #d9dcda;border-radius:12px;align-items:center;gap:9px;width:100%;min-height:48px;padding:6px 11px;transition:border-color .15s,box-shadow .16s,background-color .15s;display:flex}.member-picker-trigger:hover,.member-picker.open .member-picker-trigger{background:#fcfcfd;border-color:#a9cdb1;box-shadow:0 5px 15px #212b2614}.member-picker-trigger:disabled{color:#85968a;cursor:not-allowed;background:#f5f6f5}.member-picker-trigger>svg{color:#607968;margin-left:auto;transition:transform .18s}.member-picker.open .member-picker-trigger>svg{transform:rotate(180deg)}.member-picker-current{flex:1;gap:1px;min-width:0;display:grid}.member-picker-current b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:20px;overflow:hidden}.member-picker-current small{color:#7b8e80;font-size:11px;line-height:16px}.member-picker-menu{z-index:40;transform-origin:100% 0;background:#fff;border:1px solid #d9dcd9;border-radius:14px;width:300px;max-width:min(300px,100vw - 28px);padding:8px;animation:.15s cubic-bezier(.2,.8,.2,1) both member-picker-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 38px #1e282229}@keyframes member-picker-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.member-picker-menu-title{color:#607668;border-bottom:1px solid #eef0ee;justify-content:space-between;align-items:center;padding:7px 9px 9px;font-size:12px;font-weight:600;display:flex}.member-picker-menu-title small{color:#91a096;font-size:11px;font-weight:400}.member-picker-option{color:#1f2328;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:3px;padding:9px;transition:background-color .14s,transform .12s;display:flex}.member-picker-option:hover{background:#f1f3f1;transform:translate(2px)}.member-picker-option.selected{background:#eef0f2}.member-picker-option>svg{color:#2e7c57;margin-left:auto}.member-picker-option-copy{flex:1;gap:2px;min-width:0;display:grid}.member-picker-option-copy b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:19px;overflow:hidden}.member-picker-option-copy small{text-overflow:ellipsis;white-space:nowrap;color:#7e9082;font-size:11px;line-height:16px;overflow:hidden}@media (width<=1050px){.member-picker{flex:1;min-width:0}}@media (width<=700px){.member-picker-menu{transform-origin:0 0;left:0;right:auto}}@media (prefers-reduced-motion:reduce){.member-picker-trigger,.member-picker-trigger>svg,.member-picker-menu,.member-picker-option{transition:none;animation:none}}.outline-phase-index{box-sizing:border-box;aspect-ratio:1;appearance:none;background:#e5e7ea;padding:0;overflow:visible;box-shadow:0 0 0 2px #fff,0 0 0 3px #d0d4d8;border:0!important;border-radius:999px!important}.outline-phase.open .outline-phase-index{color:#fff;background:#2e7c57;box-shadow:0 0 0 2px #fff,0 0 0 3px #2e7c57}.outline-phase-summary,.template-edit-phase-head{overflow:visible}.outline-phase-delete{z-index:4;color:#8da094;opacity:.72;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;transition:color .14s,background-color .14s,opacity .14s,transform .12s;display:inline-grid;position:absolute;top:16px;right:76px}.outline-phase-delete:hover{color:#b84d45;opacity:1;background:#fff0ee}.outline-phase-delete:disabled{color:#c1ccc4;opacity:.45;cursor:not-allowed;background:0 0}.outline-phase-fields{grid-template-columns:minmax(260px,1fr) 180px 180px}@media (width<=1050px) and (width>=761px){.outline-phase-fields{grid-template-columns:minmax(220px,1fr) 150px 150px}}@media (width<=760px){.outline-phase-delete{width:28px;height:28px;top:13px;right:58px}.outline-phase-fields{grid-template-columns:1fr 1fr}.outline-phase-fields label:first-child{grid-column:1/-1}}@media (hover:none),(pointer:coarse){.outline-phase-delete{opacity:1}}.outline-phase-action{align-items:center;min-height:30px}.outline-phase-delete{top:50%;transform:translateY(-50%)}@media (width<=760px){.outline-phase-delete{top:50%}}@media (prefers-reduced-motion:reduce){.outline-phase-delete,.outline-phase-delete:active{transform:translateY(-50%)!important}}.outline-phase-summary:active{transform:none}.outline-phase-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.outline-phase-main:hover .outline-phase-name b{color:#256b4a}.outline-phase-main:active{opacity:.78}.outline-phase-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;min-height:32px;display:flex}.outline-phase-delete{flex:0 0 30px;width:30px;height:30px;position:static;top:auto;right:auto;transform:none}.outline-phase-delete:active{transform:scale(.94)}.outline-phase-action{color:#2e7c57;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:4px 2px;display:inline-flex}.outline-phase-action:active{opacity:.72}@media (width<=760px){.outline-phase-delete{position:static;top:auto;right:auto}.outline-phase-controls{gap:5px}.outline-phase-action{font-size:0}.outline-phase-action svg{width:16px;height:16px}}@media (prefers-reduced-motion:reduce){.outline-phase-delete,.outline-phase-delete:active{transform:none!important}}.template-picker{min-width:250px}.template-picker-menu{width:320px}.template-picker .template-icon{flex:none;width:30px;height:30px}.template-picker .member-picker-option .template-icon{width:32px;height:32px}.template-toolbar-controls{align-items:center}.template-delete-button{opacity:.75;flex-basis:34px;width:34px;height:34px;position:static;top:auto;right:auto}.template-delete-button:hover{color:#b84d45;opacity:1;background:#fff0ee}@media (width<=1050px){.template-picker{flex:1;min-width:0}}.member-plan-workspace{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px;display:grid}.member-plan-editor-column{min-width:0}.learner-preview-panel{background:#fff;border:1px solid #e4e6e8;border-radius:20px;flex-direction:column;min-width:0;height:calc(100vh - 48px);min-height:640px;padding:18px;display:flex;position:sticky;top:24px;box-shadow:0 12px 30px #0f172a14}.learner-preview-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:0 2px 14px;display:flex}.learner-preview-heading>div{gap:3px;min-width:0;display:grid}.learner-preview-heading b{color:#1f2328;font-size:17px;line-height:24px}.learner-preview-heading small{color:#9aa1a8;font-size:11px;line-height:17px}.learner-preview-heading>span{color:#5b6470;background:#f3f4f5;border-radius:999px;flex:none;padding:5px 9px;font-size:10px;font-weight:700}.learner-phone-shell{background:linear-gradient(160deg,#f9fafb,#eef5ef);border:1px solid #bfd6c4;border-radius:31px;flex:1;width:100%;min-height:0;padding:37px 10px 10px;position:relative;box-shadow:0 15px 30px #1c262024,inset 0 0 0 4px #ffffffb8}.learner-phone-speaker{background:#343a40;border-radius:999px;width:76px;height:7px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.learner-phone-screen{overscroll-behavior:contain;scrollbar-gutter:stable;clip-path:inset(0 round 21px);scrollbar-width:thin;scrollbar-color:#a9c8b0 transparent;background:#fff;border:1px solid #e2ebe4;border-radius:21px;height:100%;min-height:0;padding:17px 13px 22px;overflow:hidden auto}.learner-phone-screen::-webkit-scrollbar{width:7px}.learner-phone-screen::-webkit-scrollbar-track{background:0 0;margin-block:15px}.learner-phone-screen::-webkit-scrollbar-thumb{background:#a9c8b0 padding-box content-box;border:2px solid #0000;border-radius:999px;min-height:42px}.learner-phone-screen::-webkit-scrollbar-button{width:0;height:0;display:none}.learner-phone-header{border-bottom:1px solid #e8eee9;gap:2px;padding-bottom:13px;display:grid}.learner-phone-header b{color:#132f20;font-size:20px;line-height:28px}.learner-phone-header small{color:#8b9b90;font-size:10px;line-height:15px}.learner-preview-state{color:#9aa1a8;text-align:center;place-content:center;justify-items:center;gap:5px;min-height:260px;padding:24px;font-size:12px;display:grid}.learner-preview-state b{color:#4b5563;font-size:15px}.learner-preview-state small{max-width:210px;line-height:1.7}.learner-preview-timeline{padding-top:14px}.learner-preview-phase{grid-template-columns:22px minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.learner-preview-rail{flex-direction:column;align-items:center;display:flex;position:relative}.learner-preview-rail>span{z-index:1;background:#fff;border:3px solid #fff;border-radius:50%;flex:none;width:15px;height:15px;margin-top:2px;position:relative;box-shadow:0 0 0 2px #cdd3d8}.learner-preview-rail>i{background:#e4e7ea;flex:1;width:2px;min-height:32px;margin-top:6px}.learner-preview-phase-card{background:#fff;border:1px solid #e7e9eb;border-radius:14px;min-width:0;margin:-2px 0 14px;padding:12px}.learner-preview-phase-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.learner-preview-phase-card h3{color:#1f2328;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:800;line-height:20px;overflow:hidden}.learner-preview-materials{color:#5b6470;background:#f3f4f5;border:1px solid #e5e7ea;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.learner-preview-phase-dates{color:#8a9299;margin-top:3px;font-size:11px;font-weight:600;display:block}.learner-preview-group{background:#f7f8f9;border:1px solid #edeff1;border-radius:12px;margin-top:9px;padding:4px 11px 6px}.learner-preview-group h4{color:#343a40;text-overflow:ellipsis;white-space:nowrap;margin:6px 0 2px;font-size:12px;font-weight:700;line-height:18px;overflow:hidden}.learner-preview-task{align-items:center;gap:8px;padding:7px 0;display:flex}.learner-preview-task+.learner-preview-task{border-top:1px solid #eceef0}.learner-preview-checkbox{color:#fff;background:#fff;border:1.5px solid #c3c9ce;border-radius:50%;flex:none;place-items:center;width:15px;height:15px;display:grid}.learner-preview-checkbox.checked{background:#2e7c57;border-color:#2e7c57}.learner-preview-task p{overflow-wrap:anywhere;color:#4a5259;min-width:0;margin:0;font-size:11px;line-height:16px}.learner-preview-task p.checked{color:#9aa1a8;text-decoration:line-through}@media (width<=1650px){.member-plan-workspace{grid-template-columns:minmax(0,1fr) 340px;gap:16px}.learner-preview-panel{padding:14px}}@media (width<=1320px){.member-plan-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:13px}.learner-preview-heading>span{display:none}.learner-preview-panel{border-radius:17px;padding:11px}.learner-phone-shell{padding-left:7px;padding-right:7px}}@media (width<=1120px){.member-plan-workspace{grid-template-columns:minmax(0,1fr)}.learner-preview-panel{width:min(420px,100%);height:720px;min-height:0;margin:0 auto;position:relative;top:auto}}.member-plan-editor-column .outline-page-header{flex-direction:column;align-items:stretch;gap:16px}.member-plan-editor-column .outline-header-actions{grid-template-columns:minmax(0,1.05fr) minmax(0,1.28fr) minmax(0,.72fr) minmax(0,.58fr);justify-content:stretch;align-items:stretch;gap:12px;width:100%;display:grid}.member-plan-editor-column .outline-header-actions>*{box-sizing:border-box;width:100%;min-width:0}.member-plan-editor-column .outline-header-actions>.member-picker,.member-plan-editor-column .outline-header-actions>.template-picker{min-width:0}.member-plan-editor-column .outline-header-actions>.new-template-button,.member-plan-editor-column .outline-header-actions>.save-plan-button{min-height:48px}@media (width<=1280px){.member-plan-editor-column .outline-header-actions{grid-template-columns:minmax(0,1.02fr) minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.56fr);gap:9px}}@media (width<=860px) and (width>=721px){.member-plan-editor-column .outline-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (width<=720px){.member-plan-editor-column .outline-header-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.member-plan-workspace .plan-outline{min-height:0}.member-plan-workspace .outline-phase:not(:last-child):after{left:-26px}.member-plan-workspace .outline-phase-index{left:-40px}@media (width<=760px){.member-plan-workspace .outline-phase:not(:last-child):after{left:-21px}.member-plan-workspace .outline-phase-index{left:-35px}}@media (width>=981px){.main-content,.sidebar-hidden .main-content{flex:1 1 0;width:auto}}@media (width>=1200px){.member-plan-workspace,.sidebar-hidden .member-plan-workspace{margin-right:0}.member-plan-workspace .learner-preview-panel{z-index:12;width:390px;height:calc(100dvh - 48px);position:fixed;top:24px;right:20px}}@media (width>=1321px) and (width<=1650px){.member-plan-workspace .learner-preview-panel{width:340px}}@media (width>=1200px) and (width<=1320px){.member-plan-workspace .learner-preview-panel{width:300px}}@media (width>=981px){.sidebar-hidden .outline-page-header{padding-left:0}.sidebar-hidden .template-editor-toolbar{padding-left:22px}.sidebar-reopen{color:#2e7c57;background:#fffffffa;border-color:#d8e8dc;border-radius:0 16px 16px 0;width:54px;height:78px;transition:left .18s cubic-bezier(.22,1,.36,1),background-color .15s,box-shadow .18s;animation:.22s cubic-bezier(.22,1,.36,1) 80ms both sidebar-edge-tab-in;top:50%;left:-16px;transform:translateY(-50%);box-shadow:4px 9px 24px #21493024}.sidebar-reopen:after{content:"展开导航";color:#2e7c57;white-space:nowrap;opacity:0;pointer-events:none;background:#fff;border:1px solid #d8e8dc;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;transition:opacity .15s,transform .18s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:calc(100% + 9px);transform:translate(-6px,-50%);box-shadow:0 8px 18px #2149301c}.sidebar-reopen:hover,.sidebar-reopen:focus-visible{background:#eef8f0;left:-8px;box-shadow:5px 11px 27px #2149302e}.sidebar-reopen:hover:after,.sidebar-reopen:focus-visible:after{opacity:1;transform:translateY(-50%)}.sidebar-reopen:focus-visible{outline-offset:3px;outline:2px solid #9aa3ad}@keyframes sidebar-edge-tab-in{0%{opacity:0;transform:translate(-12px,-50%)scale(.96)}to{opacity:1;transform:translateY(-50%)scale(1)}}}@media (prefers-reduced-motion:reduce){.sidebar-reopen{transition:none!important;animation:none!important}.sidebar-reopen:after{transition:none!important}}@media (width>=981px){.sidebar-hidden .main-content{padding-left:16px}.member-plan-editor-column .outline-page-header{gap:9px;margin-bottom:12px}.member-plan-editor-column .outline-page-header .eyebrow{margin-bottom:5px}.member-plan-editor-column .outline-page-header p{margin-top:5px}.sidebar-reopen{border-radius:0 13px 13px 0;width:42px;height:58px;left:-18px}.sidebar-reopen:hover,.sidebar-reopen:focus-visible{left:-10px}}.member-plan-workspace .outline-columns{margin-bottom:12px;padding-top:11px;padding-bottom:11px}@media (width>=1200px){.app-shell:not(.sidebar-hidden) .main-content{padding-left:22px;padding-right:24px}.app-shell:not(.sidebar-hidden) .member-plan-workspace{gap:18px}}@media (width>=761px){.member-plan-workspace .outline-columns{padding-left:70px;padding-right:34px}.member-plan-workspace .outline-columns,.member-plan-workspace .outline-phase-summary{grid-template-columns:minmax(0,1fr) 205px 120px}.member-plan-workspace .outline-phase-fields{grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr) minmax(0,.76fr)}.member-plan-workspace .outline-phase-fields>label{min-width:0}.member-plan-workspace .outline-phase-fields input{box-sizing:border-box;width:100%;max-width:100%}.member-plan-workspace .outline-columns>:first-child{transform:translate(-42px)}.member-plan-workspace .outline-columns>:last-child{justify-self:end;transform:translate(-10px)}}.member-plan-editor-column .member-picker-menu{transform-origin:0 0;max-width:min(300px,100vw - 24px);left:0;right:auto}.member-plan-editor-column .template-picker-menu{transform-origin:100% 0;left:auto;right:0}.member-plan-editor-column .member-picker.open{z-index:60}.plan-date-picker{min-width:0;position:relative}.plan-date-trigger{color:#1f2328;text-align:left;background:#fafbfa;border:1px solid #dcdfdc;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;height:36px;padding:7px 10px;font-size:12px;line-height:20px;transition:border-color .15s,background-color .15s,box-shadow .16s;display:flex}.plan-date-trigger:hover,.plan-date-picker.open .plan-date-trigger{background:#fff;border-color:#8fbea0;box-shadow:0 0 0 3px #6fa8841f}.plan-date-trigger:disabled{color:#8a9299;cursor:not-allowed;box-shadow:none;background:#f5f6f5}.plan-date-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-date-trigger>svg{color:#557663;flex:none}.plan-date-menu{z-index:80;color:#1f2328;background:#fffffffa;border:1px solid #dadfda;border-radius:16px;width:260px;padding:10px;animation:.15s cubic-bezier(.22,1,.36,1) both plan-date-menu-in;position:fixed;box-shadow:0 16px 38px #1e28222e}@keyframes plan-date-menu-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.plan-date-menu-head{border-bottom:1px solid #eef0ee;grid-template-columns:28px 1fr 28px;align-items:center;gap:3px;padding-bottom:8px;display:grid}.plan-date-menu-head b{text-align:center;font-size:13px;line-height:18px}.plan-date-menu-head button,.plan-date-menu-foot button{color:#5a7663;background:0 0;border:0;border-radius:8px;place-items:center;min-width:28px;height:28px;padding:0;display:inline-grid}.plan-date-menu-head button:hover,.plan-date-menu-foot button:hover{color:#2e7c57;background:#f0f1f3}.plan-date-weekdays,.plan-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.plan-date-weekdays{color:#8b9d90;text-align:center;padding:8px 0 4px;font-size:11px;font-weight:700}.plan-date-grid button{color:#385b46;background:0 0;border:1px solid #0000;border-radius:9px;height:28px;padding:0;font-size:12px;transition:color .12s,background-color .12s,border-color .12s,transform .12s}.plan-date-grid button:hover{color:#256b4a;background:#f0f1f3;border-color:#cce4d1;transform:translateY(-1px)}.plan-date-grid button.outside{color:#b0bdb3}.plan-date-grid button.disabled,.plan-date-grid button:disabled{color:#c9ced4;cursor:not-allowed;background:0 0;border-color:#0000;transform:none}.plan-date-grid button.selected{color:#fff;background:#2e7c57;border-color:#2e7c57;box-shadow:0 4px 9px #2d6a4f2e}.plan-date-menu-foot{border-top:1px solid #eef0ee;justify-content:space-between;align-items:center;gap:6px;margin-top:6px;padding-top:7px;display:flex}.plan-date-menu-foot button{color:#2e7c57;padding:0 6px;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.plan-date-trigger,.plan-date-grid button,.plan-date-menu,.plan-date-menu-head button,.plan-date-menu-foot button{transition:none;animation:none}}.template-outline-page{max-width:1360px}.template-page-header{align-items:flex-end;gap:18px;margin-bottom:14px}.template-page-header h1{letter-spacing:-.025em;font-size:26px;line-height:1.34}.template-page-header p{margin-top:5px}.template-header-actions{flex:0 650px;grid-template-columns:minmax(236px,1.7fr) minmax(112px,.8fr) minmax(112px,.85fr);gap:8px;width:min(100%,650px);display:grid}.template-header-actions .template-picker{width:100%;min-width:0}.template-header-actions>button{white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;justify-content:center;width:100%;min-width:0}.template-empty-page .template-use-button{min-width:112px}.template-outline{border-color:#e2e5e2;min-height:0;padding:0 14px 14px;box-shadow:0 8px 22px #212b260e}.template-outline-toolbar{background:linear-gradient(135deg,#fcfcfd 0%,#f2f8f3 100%);border-bottom:1px solid #e2e5e2;align-items:flex-start;gap:18px;margin:0 -14px;padding:15px 20px 14px;position:relative}.template-outline-toolbar:before{content:"";background:#4f9567;border-radius:0 4px 4px 0;width:4px;position:absolute;top:17px;bottom:17px;left:0}.template-outline-meta{gap:2px;min-width:0;padding-left:3px;display:grid}.template-outline-meta>span{color:#5b8968;letter-spacing:.075em;font-size:10px;font-weight:750}.template-outline-toolbar h2{color:#1f2328;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;font-weight:720;line-height:26px;overflow:hidden}.template-outline-toolbar p{color:#728477;max-width:760px;margin:2px 0 0;font-size:12px;line-height:19px}.template-toolbar-controls{flex:none;gap:7px}.template-toolbar-controls .template-edit-button{min-height:34px;padding-inline:12px}.template-outline-columns{color:#73877a;background:#f6f7f6;grid-template-columns:minmax(0,1fr) 190px 104px;gap:14px;min-height:42px;margin:0 -14px 12px;padding:11px 20px;font-size:11px;font-weight:650}.template-outline-columns>:last-child{justify-self:end}.template-outline .outline-phase-list{gap:10px}.template-outline .outline-phase{border-color:#e2e5e2;border-radius:12px}.template-outline .outline-phase.open{border-color:#d3d7da;box-shadow:0 7px 18px #212b2613}.template-outline .outline-phase-summary{grid-template-columns:minmax(0,1fr) 190px 104px;gap:14px;min-height:58px;padding:10px 18px}.template-outline .outline-phase-main{align-self:center}.template-outline .outline-phase-name b{font-size:14px}.template-outline .outline-phase-time{justify-self:start;font-size:11px}.template-outline .outline-phase-controls{justify-content:flex-end}.template-outline .outline-phase-body{background:#fff;padding:13px 16px 16px}.template-outline .template-phase-description{color:#66806d;background:#f6f7f6;border:1px solid #e7e9e7;border-radius:9px;margin:0 0 12px;padding:9px 11px;font-size:12px;line-height:19px}.template-outline .outline-group-list{gap:10px}.template-outline .outline-group-head{background:#f6f7f8;border-color:#e4e7e9;border-radius:9px;min-height:40px;padding:4px 9px 4px 11px}.template-outline .outline-group-head strong{color:#244534;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:680;overflow:hidden}.template-outline .outline-group-head small{color:#72867a;white-space:nowrap;background:#eff1f2;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:10px}.template-outline .outline-task-list{gap:6px;margin:5px 0 2px}.template-outline-task{background:#fafcfb;border-color:#eef0ee;grid-template-columns:18px minmax(0,1fr) 68px;min-height:36px;padding:3px 8px 3px 11px}.template-outline-task>span:nth-child(2){color:#284535;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.template-task-bullet{color:#77a886}.template-outline-task>small.template-task-tag,.template-edit-task>small.template-task-tag{color:#6f8575;white-space:nowrap;background:#eef4ef;border:1px solid #e0eae2;border-radius:999px;justify-content:center;justify-self:end;align-items:center;min-width:52px;height:20px;padding:0 7px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.template-outline .outline-footer{background:#fafbfa;margin-top:12px;padding:11px 14px}.template-editor-page{max-width:1360px}.template-editor-shell{border-color:#e2e5e2;box-shadow:0 8px 22px #212b260e}.template-editor-toolbar{background:#fffffff7;border-bottom-color:#e2e5e2;gap:18px;padding:14px 20px;top:10px}.template-editor-heading .back-link{margin-bottom:5px;font-size:12px}.template-editor-heading h1{letter-spacing:-.02em;font-size:22px;line-height:29px}.template-editor-heading p{margin-top:3px;font-size:12px;line-height:18px}.template-editor-actions{gap:8px}.template-editor-actions>button{white-space:nowrap;min-height:36px}.template-editor-content{padding:17px 20px 20px}.template-editor-basics{grid-template-columns:minmax(260px,.78fr) minmax(0,1.72fr);gap:12px;padding-bottom:16px}.template-editor-basics label{gap:5px}.template-editor-basics input{height:39px}.template-editor-basics input,.template-editor-basics textarea{border-radius:9px;padding:8px 10px}.template-editor-basics textarea{min-height:39px}.template-editor-section-title{align-items:end;padding:13px 0 11px}.template-editor-section-title h2{font-size:17px;line-height:24px}.template-editor-section-title p{margin-top:2px}.template-editor-phase-list{gap:11px;padding-left:30px}.template-edit-phase:not(:last-child):after{height:calc(100% + 11px);top:28px;left:-30px}.template-edit-phase{background:#fff;border-color:#dcdfdc;border-radius:12px}.template-edit-phase-head{background:#f0f1f3;border-bottom-color:#dcdfdc;grid-template-columns:minmax(0,1fr) auto 32px;gap:10px;min-height:62px;padding:11px 15px}.template-edit-phase-head>.outline-phase-index{top:12px;left:-44px}.template-phase-name{gap:2px}.template-phase-name input{padding:3px 0;font-size:15px;font-weight:680}.template-offset-fields{gap:7px}.template-offset-fields label{gap:4px}.template-offset-fields input{border-radius:8px;width:52px;height:32px;padding:5px 6px}.template-edit-groups{gap:10px;padding:13px 15px 2px}.template-edit-group-head{background:#f6f7f8;border:1px solid #e4e7e9;border-radius:9px;min-height:40px;padding:4px 8px 4px 10px}.template-edit-group-head>input{min-width:0;padding:3px 0;font-size:13px}.template-edit-group-head>small{white-space:nowrap;background:#eff1f2;border-radius:999px;padding:3px 7px}.template-edit-task-list{gap:6px;margin-top:5px}.template-edit-task{background:#fafcfb;border-color:#eef0ee;grid-template-columns:18px minmax(0,1fr) 68px 30px;min-height:36px;padding:3px 7px 3px 11px}.template-edit-task input{padding:5px 2px;font-size:13px}.template-edit-task:focus-within{background:#f0f8f2;border-color:#c6dfcc;box-shadow:inset 0 0 0 1px #ffffffb8}.template-edit-phase>.outline-add-group{width:calc(100% - 30px);height:36px;margin:13px 15px 15px}.template-editor-add-phase{height:44px;margin-top:13px}.template-editor-summary{border-radius:9px;margin-top:11px;padding:10px 13px}@media (hover:hover) and (pointer:fine){.template-outline .outline-group-head:hover,.template-edit-group-head:hover{background:#f1f3f1;border-color:#d2d6da}.template-outline-task:hover,.template-edit-task:hover{background:#f3f4f5;border-color:#d4e7d8;transform:translate(1px)}.template-outline-toolbar .template-edit-button:hover{transform:translateY(-1px)}}@media (width<=1050px){.template-page-header{flex-direction:column;align-items:stretch}.template-header-actions{width:100%;max-width:none}}@media (width<=760px){.template-header-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.template-header-actions .template-picker{grid-column:1/-1}.template-outline-toolbar{flex-direction:column;align-items:stretch;padding:14px 16px}.template-toolbar-controls{width:100%}.template-toolbar-controls>button{flex:1}.template-outline-columns{grid-template-columns:minmax(0,1fr) auto;padding:10px 16px}.template-outline-columns>:nth-child(2){display:none}.template-outline .outline-phase-summary{grid-template-columns:minmax(0,1fr) 74px;padding:9px 13px}.template-outline .outline-phase-time{display:none}.template-outline .outline-phase-body{padding:12px}.template-outline-task{grid-template-columns:18px minmax(0,1fr)}.template-outline-task>small.template-task-tag{display:none}.template-editor-toolbar{flex-direction:column;align-items:stretch;padding:15px;position:static}.template-editor-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.template-editor-content{padding:14px}.template-editor-basics{grid-template-columns:1fr}.template-editor-section-title{flex-direction:column;align-items:flex-start}.template-editor-section-title>button{justify-content:center;width:100%}.template-editor-phase-list{padding-left:0}.template-edit-phase:not(:last-child):after,.template-edit-phase-head>.outline-phase-index{display:none}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) 32px;align-items:center;padding:11px 12px}.template-offset-fields{grid-column:1/-1;justify-content:flex-start;padding-top:3px}.template-edit-groups{padding:11px 12px 2px}.template-edit-task{grid-template-columns:18px minmax(0,1fr) 30px}.template-edit-task>small.template-task-tag{display:none}.template-edit-phase>.outline-add-group{width:calc(100% - 24px);margin:11px 12px 12px}.template-editor-summary{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.template-outline-task,.template-edit-task,.template-outline-toolbar .template-edit-button{transition:none!important;transform:none!important}}.template-schedule-preview{color:#3e7650;white-space:nowrap;background:#e5f4e9d1;border:1px solid #d4e9d9;border-radius:999px;align-items:center;width:fit-content;max-width:100%;margin-top:5px;padding:4px 8px;font-size:10px;font-weight:650;line-height:16px;display:inline-flex}.template-phase-period{color:#587363;white-space:normal;justify-self:start;gap:2px;min-width:0;display:grid}.template-phase-period b{color:#336a48;font-size:12px;font-weight:700;line-height:17px}.template-phase-period small{color:#7e9284;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:15px;overflow:hidden}@media (width>=761px){.template-outline .outline-phase-list{padding-left:52px}.template-outline .outline-phase:not(:last-child):after{left:-36px}.template-outline .outline-phase-index{left:-50px}}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) auto 32px;grid-template-areas:"name offsets remove""preview preview remove";align-items:end}.template-edit-phase-head>.template-phase-name{grid-area:name}.template-edit-phase-head>.template-offset-fields{grid-area:offsets}.template-edit-phase-head>.template-phase-date-preview{grid-area:preview}.template-edit-phase-head>.danger-icon{grid-area:remove;align-self:center}.template-offset-fields{align-items:flex-end;gap:7px;display:flex}.template-offset-fields>label{color:#6f767d;gap:4px;font-size:10px;line-height:15px;display:grid}.template-offset-input{align-items:center;gap:4px;display:inline-flex}.template-offset-input input{text-align:center;flex:0 0 54px;width:54px;min-width:54px;height:32px;padding:5px 6px}.template-offset-input small{color:#708475;font-size:11px;line-height:16px}.template-offset-separator{color:#8a9b8e;padding:0 1px 8px;font-size:11px;line-height:16px}.template-phase-date-preview{color:#78907e;align-items:center;gap:7px;min-width:0;padding-top:1px;font-size:10px;line-height:16px;display:flex}.template-phase-date-preview>span{color:#6b8974;flex:none}.template-phase-date-preview b{color:#365f44;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.template-phase-date-preview small{color:#407553;white-space:nowrap;background:#e7f3e9;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:650}@media (width>=761px){.template-editor-phase-list{padding-left:46px}.template-edit-phase:not(:last-child):after{left:-32px}.template-edit-phase-head>.outline-phase-index{left:-46px}}@media (width<=1050px) and (width>=761px){.template-outline .outline-phase-summary,.template-outline-columns{grid-template-columns:minmax(0,1fr) 176px 96px;gap:10px}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) auto 32px}}@media (width<=760px){.template-schedule-preview{white-space:normal;text-align:center;border-radius:8px;justify-content:center;width:100%}.template-phase-period{display:none}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"name remove""offsets offsets""preview preview"}.template-offset-fields{grid-column:auto;justify-content:flex-start;padding-top:5px}.template-phase-date-preview{flex-wrap:wrap;gap:5px 7px;padding-bottom:2px}}@media (width>=761px){.template-outline .outline-phase-list,.template-editor-phase-list{padding-left:36px}.template-outline .outline-phase:not(:last-child):after,.template-edit-phase:not(:last-child):after{left:-26px}.template-outline .outline-phase-index,.template-edit-phase-head>.outline-phase-index{left:-40px}.template-editor-page .template-editor-phase-list{padding-left:36px!important}.template-editor-page .template-edit-phase:not(:last-child):after{left:-26px!important}.template-editor-page .template-edit-phase-head>.outline-phase-index{left:-40px!important}.template-outline .outline-phase-list,.template-editor-phase-list{transform:translate(5px)}}.template-edit-phase.open{border-color:#d3d7da;box-shadow:0 7px 18px #212b2613}.template-edit-phase:not(.open) .template-edit-phase-head{border-bottom-color:#0000;border-radius:12px}.template-edit-phase-head{grid-template-columns:minmax(0,1fr) auto auto 32px;grid-template-areas:"name offsets toggle remove""preview preview toggle remove"}.template-edit-phase-head>.template-edit-phase-toggle{grid-area:toggle;align-self:center}.template-edit-phase-toggle{color:#6f767d;white-space:nowrap;background:0 0;border:0;border-radius:8px;justify-content:flex-end;align-items:center;gap:4px;min-width:52px;min-height:30px;padding:4px 0 4px 6px;font-size:12px;font-weight:650;transition:color .15s,background-color .15s;display:inline-flex}.template-edit-phase-toggle:hover{background:#e2f1e5}.template-edit-phase-toggle svg{transition:transform .18s cubic-bezier(.22,1,.36,1)}.template-edit-phase.open .template-edit-phase-toggle svg{transform:rotate(180deg)}.template-edit-phase-collapse{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1),opacity .15s,transform .22s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden;transform:translateY(-5px)}.template-edit-phase-collapse.open{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.template-edit-phase-body{min-height:0;overflow:hidden}.template-edit-phase-index{cursor:pointer}@media (width<=1050px) and (width>=761px){.template-edit-phase-head{grid-template-columns:minmax(0,1fr) auto auto 32px}}@media (width<=760px){.template-edit-phase-head{grid-template-columns:minmax(0,1fr) 52px 32px;grid-template-areas:"name toggle remove""offsets offsets offsets""preview preview preview"}.template-edit-phase-toggle{justify-content:center;min-width:0;padding-left:0;font-size:0}.template-edit-phase-toggle svg{width:17px;height:17px}}@media (prefers-reduced-motion:reduce){.template-outline .outline-phase-list,.template-editor-phase-list,.template-edit-phase-collapse,.template-edit-phase-toggle svg{transition:none!important;transform:none!important}}@media (width>=981px){.template-editor-page .template-editor-basics{grid-template-columns:minmax(360px,470px) minmax(320px,620px);justify-content:start}.template-editor-page .template-editor-basics>label{min-width:0}.template-editor-page .template-editor-basics>label:nth-child(2){width:min(620px,100%)}.template-editor-page .template-editor-basics>label:nth-child(2) textarea{resize:both;width:100%;max-width:100%}}@media (width<=980px){.template-editor-page .template-editor-basics{grid-template-columns:minmax(0,1fr)}.template-editor-page .template-editor-basics>label:nth-child(2){width:100%}}.template-editor-page .template-editor-basics>label:nth-child(2) textarea{resize:vertical;height:39px;min-height:39px;max-height:240px;overflow-y:auto}.template-edit-phase-head{cursor:pointer}.template-edit-phase-head input,.template-edit-phase-head button,.template-edit-phase-head textarea,.template-edit-phase-head select{cursor:auto}.template-edit-phase-head .template-edit-phase-toggle,.template-edit-phase-head .template-edit-phase-index{cursor:pointer}.template-edit-phase.open .template-edit-phase-index{color:#fff;background:#1f2328;box-shadow:0 0 0 2px #fff,0 0 0 3px #1f2328}.template-phase-name>span{align-items:center;gap:6px;display:inline-flex}.template-phase-name>span:after{content:"可修改";color:#4c8060;background:#e6f3e8;border:1px solid #d2e8d6;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:650;line-height:15px}@media (prefers-reduced-motion:reduce){.template-edit-phase-index{transition:none!important}}.template-edit-phase-head{grid-template-rows:minmax(0,1fr) auto}.template-edit-phase-head>.template-offset-fields{place-self:center end}.template-edit-phase-head>.template-phase-date-preview{align-self:start}.template-edit-group-head>input:focus,.template-edit-group-head>input:focus-visible{box-shadow:none!important;background:0 0!important;border:0!important;outline:none!important}.template-edit-group-head:focus-within{background:#f1f3f1;border-color:#ccd1d5;box-shadow:0 0 0 2px #6fa88424}@media (width>=761px){.template-edit-phase-head>.template-offset-fields{transform:translateY(6.8px)}}@media (width<=760px){.template-edit-phase-head>.template-offset-fields{transform:none}}.template-phase-name>input{color:#1f2328;cursor:text;background:#f8f9f8;border:1px solid #dcdfdc;border-radius:8px;width:100%;min-width:0;height:38px;padding:7px 10px;transition:background-color .15s,border-color .15s,box-shadow .16s;box-shadow:inset 0 1px 1px #212b2606}.template-phase-name>input:hover{background:#fafbfa;border-color:#b9d8c1}.template-phase-name>input:focus,.template-phase-name>input:focus-visible{background:#fff;box-shadow:0 0 0 3px #6fa88426,inset 0 1px 1px #212b2606;border-color:#6fa884!important;outline:none!important}.template-phase-name>span:after{color:#3f7953;background:#e4f2e7;border-color:#cde5d2}@media (width<=760px){.template-phase-name>input{height:36px}}@media (prefers-reduced-motion:reduce){.template-phase-name>input{transition:none}}.template-outline-phase-index{cursor:pointer}.group-switcher{z-index:30;position:relative}.group-switcher .current-group{transition:border-color .15s,background-color .15s,box-shadow .16s}.group-switcher.open .current-group{background:#fcfcfd;border-color:#a9cdb1;box-shadow:0 5px 15px #212b2614}.group-switcher .group-chevron{transition:transform .18s cubic-bezier(.22,1,.36,1)}.group-switcher.open .group-chevron{transform:rotate(180deg)}.group-switcher-menu{z-index:60;transform-origin:0 0;background:#fff;border:1px solid #d9dcd9;border-radius:14px;width:300px;max-width:min(300px,100vw - 28px);padding:8px;animation:.15s cubic-bezier(.22,1,.36,1) both group-switcher-in;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 38px #1e282229}@keyframes group-switcher-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.group-switcher-menu-head{color:#607668;border-bottom:1px solid #eef0ee;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px 9px;font-size:12px;font-weight:700;display:flex}.group-switcher-menu-head small{color:#91a096;font-size:11px;font-weight:400}.group-switcher-option{color:#1f2328;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:3px;padding:8px 9px;transition:background-color .14s,transform .12s;display:flex}.group-switcher-option:hover{background:#f1f3f1;transform:translate(2px)}.group-switcher-option.selected{background:#eef0f2}.group-switcher-option>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.group-switcher-option b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:19px;overflow:hidden}.group-switcher-option small{color:#7e9082;font-size:11px;line-height:16px}.group-switcher-option>svg{color:#2e7c57;flex:none}@media (width<=700px){.group-switcher-menu{transform-origin:0 0;left:0;right:auto}}@media (prefers-reduced-motion:reduce){.group-switcher-menu,.group-switcher .group-chevron,.group-switcher-option{transition:none;animation:none}}.sidebar .group-switcher-menu{width:100%;max-width:100%}.group-bootstrap-page{background:#f7f8f9;place-items:center;min-height:100vh;padding:28px;display:grid}.group-bootstrap-error{color:#6f767d;text-align:center;background:#fff;border:1px solid #e2e5e2;border-radius:16px;justify-items:center;gap:9px;max-width:420px;padding:28px;display:grid;box-shadow:0 12px 30px #212b2614}.group-bootstrap-error svg{color:#9aa3ad}.group-bootstrap-error b{color:#1f2328;font-size:15px;line-height:23px}.group-bootstrap-error small{font-size:12px;line-height:18px}.group-bootstrap-error .ghost-button{margin-top:4px}.template-insert-preview-card{background:linear-gradient(108deg,#fffaf1,#fffcf7);border-color:#f0d4a3;grid-template-columns:minmax(0,1fr) minmax(260px,.92fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid;box-shadow:0 8px 20px #b0701b0f}.template-insert-preview-card>div{min-width:0}.template-insert-preview-copy{color:#a45c12;align-items:center;gap:10px;display:flex}.template-insert-preview-copy>span{gap:3px;min-width:0;display:grid}.template-insert-preview-copy b{color:#7a4610;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-insert-preview-copy small{color:#9a7b58}.template-insert-preview-stages{background:#ffffffb8;border:1px solid #f1dbb7;border-radius:11px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.template-insert-preview-stages>span{color:#a3621c;white-space:nowrap;flex:none;font-size:11px;font-weight:800}.template-insert-preview-stages>div{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.template-insert-preview-stages b{color:#875017;text-overflow:ellipsis;white-space:nowrap;background:#fff1d7;border:1px solid #f4d5a4;border-radius:999px;max-width:150px;padding:3px 7px;font-size:11px;line-height:16px;overflow:hidden}.template-insert-preview-actions{align-items:center;gap:8px;display:flex}.template-insert-preview-actions button{white-space:nowrap}.template-insert-preview-phase{background:linear-gradient(135deg,#fff7e8fa,#fffcf7fa);border:1px dashed #e2ab60;overflow:visible;box-shadow:0 8px 20px #b0701b0f}.template-insert-preview-phase:before{content:"";z-index:3;background:linear-gradient(#e4a354,#f3c98a);border-radius:4px;width:4px;position:absolute;top:16px;bottom:16px;left:-2px}.template-insert-preview-phase .outline-phase-summary{background:linear-gradient(90deg,#fff0d5,#fff8ec);border-bottom-color:#f1dbb6}.template-insert-preview-phase .outline-phase-summary:hover{background:linear-gradient(90deg,#ffe9c6,#fff5e5)}.template-insert-preview-phase .outline-phase-index{color:#955414;background:#fff0d4;box-shadow:0 0 0 2px #fff,0 0 0 3px #e1aa60}.template-insert-preview-phase.open .outline-phase-index{color:#fff;background:#bb701b;box-shadow:0 0 0 2px #fff,0 0 0 3px #bb701b}.template-preview-phase-icon{color:#b66b16;flex:none}.template-insert-preview-body{padding-top:14px}.template-insert-preview-phase .outline-group-head{background:#fff9efeb;border-color:#f1e1c7}.template-insert-preview-task{background:#fffdf9f0;border-color:#f2e6d2;grid-template-columns:18px minmax(0,1fr);min-height:36px}.template-insert-preview-task>span{color:#644e37;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}@media (width<=1050px){.template-insert-preview-card{grid-template-columns:minmax(0,1fr) auto}.template-insert-preview-stages{grid-column:1/-1}}@media (width<=700px){.template-insert-preview-card{grid-template-columns:1fr}.template-insert-preview-actions{grid-template-columns:1fr 1fr;display:grid}.template-insert-preview-actions button{justify-content:center;width:100%}.template-insert-preview-stages{flex-direction:column;align-items:flex-start}.template-insert-preview-stages b{max-width:100%}}@media (prefers-reduced-motion:reduce){.template-insert-preview-phase{transition:none!important}}.learner-preview-phase.insert-preview .learner-preview-rail>span{box-shadow:0 0 0 2px #d99a3f}.learner-preview-phase.insert-preview .learner-preview-rail>i{background:#ecd9b8}.learner-preview-phase.insert-preview .learner-preview-phase-card{background:#fffdf8;border-color:#efd4a7;box-shadow:inset 3px 0 #e6a653}.learner-preview-phase.insert-preview .learner-preview-phase-card h3{color:#6c4315}.learner-preview-phase.insert-preview .learner-preview-phase-dates{color:#b08b57}.learner-preview-phase.insert-preview .learner-preview-group h4{color:#855820}.learner-preview-phase.insert-preview .learner-preview-task{background:#fffdf9;border-color:#f0e2cc}.learner-preview-phase.insert-preview .learner-preview-checkbox{background:#fffaf0;border-color:#dfb16e}.learner-preview-phase.insert-preview .learner-preview-task p{color:#7d6548}body,.group-bootstrap-page{background:#f7f8f7}.sidebar{border-right-color:#e5e7e5}.card{border-color:#e3e6e3}.nav-item.active,.member-row.selected,.template-row.selected,.member-picker-option.selected,.group-switcher-option.selected{background:#eef0f1}.outline-columns{background:#f5f6f5}.outline-phase.open .outline-phase-summary{background:#eff3f0}.outline-group-head,.template-edit-group-head{background:#f5f6f5}.outline-task,.template-outline-task,.template-edit-task{background:#f8f9f8}.outline-add-group,.outline-add-phase,.template-editor-add-phase{background:#f3f4f5}.outline-add-group:hover,.outline-add-phase:hover,.template-editor-add-phase:hover{background:#e8ebe8}.template-edit-phase-head{background:#eff2f0}.template-edit-phase-head:hover{background:#e9eeea}.template-edit-phase-head:has(input:focus){background:#eef2ef}.template-outline-toolbar{background:#f8f9f8}.learner-phone-shell{background:linear-gradient(160deg,#f7f8f7,#ecefec);border-color:#d3d9d4}.auth-page{background:radial-gradient(circle at 78% 20%,#e4ede7 0,#0000 28%),#f5f6f5}.outline-phase:not(:last-child):after,.template-edit-phase:not(:last-child):after{background:#ccd6cf}.member-plan-editor-column .outline-header-actions{flex-wrap:nowrap;gap:12px;display:flex}.member-plan-editor-column .outline-header-actions>.member-picker{flex:1 1 0;min-width:0}.member-plan-editor-column .outline-header-actions>.template-picker-button{flex:none;min-width:0;margin-left:auto}.member-plan-editor-column .outline-header-actions>.template-picker-button .insert-timeline-button{white-space:nowrap;width:100%;min-height:48px}.member-plan-editor-column .outline-header-actions>.save-plan-button{flex:none}@media (width<=720px){.member-plan-editor-column .outline-header-actions{flex-wrap:wrap}.member-plan-editor-column .outline-header-actions>.member-picker{flex:100%}.member-plan-editor-column .outline-header-actions>.template-picker-button{flex:auto;margin-left:0}}.template-picker-button{position:relative}.insert-timeline-button{gap:6px}.insert-timeline-chevron{opacity:.55}.template-picker-empty{color:#8a9299;text-align:center;padding:12px 9px;font-size:12px}.template-picker-create{color:#374151;background:#fafbfc;border:0;border-top:1px solid #edf0ed;border-radius:0 0 10px 10px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:6px;padding:10px 9px;font-size:12px;font-weight:650;display:flex}.template-picker-create:hover{background:#eef0f2}.member-plan-editor-column .outline-header-actions>*,.member-plan-editor-column .outline-header-actions>.member-picker{width:auto}.template-editor-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.preset-picker{z-index:20;min-width:0;position:relative}.preset-picker-menu{width:280px;right:0}@media (width<=760px){.template-editor-heading-actions{width:100%}.template-editor-heading-actions>button,.template-editor-heading-actions .preset-picker>button{flex:1;justify-content:center}.template-editor-heading-actions .preset-picker{flex:1}.preset-picker-menu{width:min(280px,100vw - 40px);left:0;right:auto}}.outline-group-head>small,.template-edit-group-head>small,.outline-group-head .add-link,.template-edit-group-head .add-link,.outline-group-head .icon-button,.template-edit-group-head .icon-button{white-space:nowrap;flex-shrink:0}.outline-group-head .outline-group-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.phase-materials{background:#f7f8f9;border:1px solid #e8eaec;border-radius:12px;margin:4px 0 12px;padding:10px 12px}.phase-materials-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.phase-materials-title{color:#343a40;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.phase-materials-title small{color:#8a9299;font-size:11px;font-weight:500}.phase-materials-hint{color:#9aa1a8;margin:6px 0 2px;font-size:11px}.phase-materials-upload{color:#374151;cursor:pointer;background:#fff;border:1px solid #d7dbde;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:650;transition:background-color .14s,border-color .14s;display:inline-flex}.phase-materials-upload:hover:not(:disabled){background:#f3f4f5;border-color:#c6ccd1}.phase-materials-upload:disabled{opacity:.6;cursor:default}.phase-materials-list{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.phase-materials-list li{border-radius:8px;align-items:center;gap:8px;padding:6px 6px 6px 0;display:flex}.phase-materials-list li+li{border-top:1px solid #eceef0}.phase-material-ext{color:#5b6470;letter-spacing:.03em;background:#e9ebed;border-radius:6px;flex:none;place-items:center;min-width:34px;height:20px;padding:0 5px;font-size:9px;font-weight:800;display:inline-grid}.phase-material-name{color:#374151;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;min-width:0;padding:0;font-size:12px;overflow:hidden}.phase-material-name:hover{color:#2e7c57;text-decoration:underline}.phase-materials-list small{color:#9aa1a8;flex:none;font-size:10px}.nav-label-inline{margin:14px 8px 2px}.checkin-layout-v2{grid-template-columns:250px minmax(0,1fr) 400px;align-items:start;gap:18px;display:grid}.checkin-summary,.checkin-records,.checkin-editor{padding:18px}.checkin-field{gap:7px;margin-bottom:14px;display:grid}.checkin-field>span{color:#5b6470;font-size:12px;font-weight:700}.checkin-field input:not([type=time]),.checkin-field textarea{resize:vertical;background:#fff;border:1px solid #d7dbde;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}.checkin-field input:focus,.checkin-field textarea:focus{border-color:#2e7c57;outline:2px solid #2e7c5740}.checkin-field-hint{color:#9aa1a8;font-size:11px}.checkin-chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.checkin-chip{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #d7dbde;border-radius:999px;align-items:center;gap:4px;padding:7px 11px;font-size:12px;font-weight:600;transition:all .14s;display:inline-flex}.checkin-chip-expire{color:#9aa1a8;font-size:10px;font-weight:500}.checkin-chip.selected .checkin-chip-expire{color:#ffffffb8}.checkin-chip:hover{border-color:#9aa3ad}.checkin-chip.selected{color:#fff;background:#1f2328;border-color:#1f2328}.checkin-chips .plan-date-picker .plan-date-trigger{border-style:dashed;min-height:0;padding:7px 11px;font-size:12px}.checkin-summary-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.checkin-summary-list li{justify-content:space-between;align-items:center;gap:10px;padding:8px 2px;display:flex}.checkin-summary-list li+li{border-top:1px solid #f0f1f3}.checkin-summary-list b{color:#343a40;font-size:13px}.checkin-summary-list span{color:#6f767d;white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.checkin-dot{border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.checkin-dot.pending{background:#3c6478}.checkin-dot.done{background:#2e7c57}.checkin-dot.expired{background:#b45309}.checkin-filters{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.checkin-filters select{color:#374151;background:#fff;border:1px solid #d7dbde;border-radius:9px;padding:8px 10px;font-family:inherit;font-size:12px}.checkin-filters .plan-date-picker .plan-date-trigger{min-height:0;padding:8px 10px;font-size:12px}.checkin-record-list{margin:0;padding:0;list-style:none;display:grid}.checkin-record-list li{align-items:center;gap:12px;padding:11px 4px;display:flex}.checkin-record-list li+li{border-top:1px solid #f0f1f3}.checkin-record-member{color:#343a40;text-overflow:ellipsis;white-space:nowrap;flex:0 0 76px;font-size:12px;font-weight:700;overflow:hidden}.checkin-record-main{flex:1;gap:2px;min-width:0;display:grid}.checkin-record-main b{color:#1f2328;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.checkin-record-main small{color:#8a9299;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.checkin-record-time{color:#6f767d;font-variant-numeric:tabular-nums;flex:none;font-size:12px}.checkin-status{border-radius:999px;flex:none;padding:3px 9px;font-size:10px;font-weight:700}.checkin-status.status-1{color:#3c6478;background:#ebf3f8}.checkin-status.status-2{color:#2e7c57;background:#e9f5ee}.checkin-status.status-3{color:#92610f;background:#fdf3e3}.checkin-status.status-4{color:#6f767d;background:#f0f1f3}.checkin-cancel{color:#b75850;flex:none;padding:4px 8px;font-size:11px}.checkin-cancel:hover{color:#b75850;background:#fff5f3}.checkin-cancel-placeholder{flex:0 0 44px}@media (width<=1280px){.checkin-layout-v2{grid-template-columns:220px minmax(0,1fr) 340px}}@media (width<=1080px){.checkin-layout-v2{grid-template-columns:1fr}}.checkin-template-rail{align-content:start;gap:12px;min-width:0;display:grid}.checkin-template-new{color:#1f2328;cursor:pointer;background:#fff;border:1px dashed #b9c1c7;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:700;transition:all .14s;display:inline-flex}.checkin-template-new:hover,.checkin-template-new.active{color:#256b4a;background:#f6faf7;border-color:#2e7c57}.checkin-template-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checkin-template-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e6e8;border-radius:12px;gap:3px;width:100%;padding:11px 13px;transition:all .14s;display:grid}.checkin-template-item:hover{border-color:#b9c1c7}.checkin-template-item.active{border-color:#1f2328;box-shadow:0 4px 12px #0f172a12}.checkin-template-item b{color:#1f2328;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.checkin-template-item small{color:#8a9299;font-size:11px}.checkin-template-empty{color:#9aa1a8;text-align:center;padding:14px;font-size:12px}.checkin-editor{min-width:0}.checkin-editor-head{align-items:flex-end;gap:10px;display:flex}.checkin-editor-title{flex:1;margin-bottom:0}.checkin-editor-head .outline-phase-delete{margin-bottom:8px}.checkin-editor>.checkin-field-hint{margin:6px 0 4px;display:block}.checkin-editor-foot{border-top:1px solid #f0f1f3;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:13px;display:flex}.checkin-editor-foot>span{color:#6f767d;font-size:12px}.checkin-editor-foot .primary-button{align-items:center;gap:6px;display:inline-flex}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:12px;display:grid}.slot-card{background:#fafbfc;border:1px solid #e4e6e8;border-radius:14px;padding:12px 13px}.slot-head{align-items:center;gap:9px;margin-bottom:9px;display:flex}.slot-head input[type=time]{color:#1f2328;background:#fff;border:1px solid #d7dbde;border-radius:9px;padding:6px 9px;font-family:inherit;font-size:15px;font-weight:700}.slot-head input[type=time]:focus{border-color:#2e7c57;outline:2px solid #2e7c5740}.slot-range{color:#8a9299;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.slot-add{color:#6f767d;cursor:pointer;background:0 0;border:1px dashed #c3c9ce;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:120px;padding:12px;font-size:13px;font-weight:600;transition:all .14s;display:inline-flex}.slot-add:hover{color:#256b4a;background:#f6faf7;border-color:#2e7c57}.checkin-calendar{-webkit-user-select:none;user-select:none}.checkin-calendar-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.checkin-calendar-head b{color:#343a40;font-size:12px}.checkin-calendar-head button{color:#5b6470;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:24px;height:24px;display:inline-grid}.checkin-calendar-head button:hover{background:#eef0f1}.checkin-calendar-weekdays,.checkin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.checkin-calendar-weekdays{color:#9aa1a8;text-align:center;padding-bottom:3px;font-size:10px;font-weight:700}.checkin-calendar-grid button{color:#374151;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;height:26px;padding:0;font-size:11px;transition:background-color .12s,color .12s}.checkin-calendar-grid button:hover{background:#eef0f1}.checkin-calendar-grid button.outside{color:#c3c9ce}.checkin-calendar-grid button.today{border-color:#d7dbde;font-weight:700}.checkin-calendar-grid button.selected{color:#fff;background:#2e7c57;border-color:#2e7c57;font-weight:700}.checkin-calendar-grid button.disabled,.checkin-calendar-grid button:disabled{color:#d3d7da;cursor:not-allowed;background:0 0;border-color:#0000}
