*{box-sizing:border-box}:root{--app-canvas: #f6f5fb;--app-surface: #ffffff;--app-ink: #27283d;--app-muted: #6d6a7f;--app-brand: #6259c7;--app-brand-soft: #f0eef8;--app-coral: #f2867a;--app-mint: #62b7a5;--app-line: #e8e5f0;--login-canvas: var(--app-canvas);--login-surface: var(--app-surface);--login-ink: var(--app-ink);--login-muted: var(--app-muted);--login-brand: var(--app-brand);--login-coral: var(--app-coral);--login-mint: var(--app-mint);--login-line: var(--app-line);--feishu-blue: #3370ff}html,body,#root{min-height:100%;margin:0}body{background:var(--app-canvas);color:var(--app-ink);font-family:PingFang SC,Microsoft YaHei,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{background:var(--app-canvas);min-height:100vh}.app-shell>.ant-layout{background:var(--app-canvas);min-width:0}.sidebar{background:var(--app-brand-soft)!important;border-right:1px solid #ded9ed;color:var(--app-ink)}.sidebar .ant-layout-sider-children{display:flex;flex-direction:column}.brand{align-items:center;display:flex;gap:13px;height:88px;padding:0 22px}.brand-icon{align-items:center;background:var(--app-brand);border-radius:12px;box-shadow:0 7px 18px #6259c733;color:#fff;display:flex;flex:0 0 42px;font-size:19px;height:42px;justify-content:center;width:42px}.brand-title,.brand-subtitle{display:block;line-height:1.2}.brand-title{color:var(--app-ink)!important;font-weight:700;letter-spacing:.02em}.brand-subtitle{color:var(--app-muted)!important;font-size:12px;margin-top:4px}.nav-list{display:flex;flex-direction:column;gap:8px;padding:8px 14px}.nav-item{border-radius:12px;color:var(--app-muted)!important;font-weight:600;height:44px;justify-content:flex-start;padding:0 14px;transition:background .16s ease,color .16s ease,box-shadow .16s ease;width:100%}.nav-item:hover{background:#ffffff94!important;color:var(--app-brand)!important}.nav-item.active{background:#fff!important;box-shadow:0 8px 22px #4139681a;color:var(--app-brand)!important;position:relative}.nav-item.active:before{background:var(--app-coral);border-radius:999px;content:"";height:18px;left:0;position:absolute;top:calc(50% - 9px);width:3px}.topbar{align-items:center;background:#fcfbfe;border-bottom:1px solid var(--app-line);display:flex;height:auto;justify-content:space-between;line-height:1.4;min-height:104px;padding:22px 32px}.topbar h3,.section-header h4{color:var(--app-ink);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-weight:700;letter-spacing:-.035em;margin:0 0 6px}.topbar h3{font-size:28px}.topbar .ant-typography-secondary,.section-header .ant-typography-secondary{color:var(--app-muted)}.topbar>.ant-space{flex-wrap:wrap;justify-content:flex-end;row-gap:10px}.topbar .ant-tag{background:#f3f1f8;border:1px solid var(--app-line);border-radius:999px;color:var(--app-muted);font-size:12px;line-height:24px;margin-inline-end:0;padding:0 9px}.topbar .ant-tag-green{background:#edf8f4;border-color:#62b7a538;color:#377f70}.topbar .ant-btn{border-radius:10px;box-shadow:none;height:40px}.topbar .ant-btn-default,.topbar .ant-btn-color-default.ant-btn-variant-outlined{border-color:#ded9e9;color:#4f4c60}.topbar .ant-btn-default:hover,.topbar .ant-btn-color-default.ant-btn-variant-outlined:hover{border-color:var(--app-brand)!important;color:var(--app-brand)!important}.topbar .ant-btn-primary,.topbar .ant-btn-color-primary.ant-btn-variant-solid{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 8px 18px #6259c733;font-weight:650}.topbar .ant-btn-primary:hover,.topbar .ant-btn-color-primary.ant-btn-variant-solid:hover{background:#554db8!important;border-color:#554db8!important}.topbar .ant-space-item>.ant-typography:not(.ant-typography-secondary){background:var(--app-brand-soft);border-radius:9px;color:#4f477f;display:inline-block;font-size:13px;line-height:34px;max-width:150px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.content{background:var(--app-canvas);padding:32px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h4{font-size:23px}.section-header .ant-typography-secondary{background:#eeecf6;border-radius:8px;display:inline-block;font-size:12px;line-height:26px;padding:0 9px}.content .ant-table-wrapper{background:var(--app-surface);border:1px solid var(--app-line);border-radius:20px;box-shadow:0 14px 36px #342e5212;overflow:hidden}.content .ant-table,.content .ant-table-container{background:transparent;border-radius:20px}.content .ant-table-thead>tr>th{background:#eeecf6;border-bottom:1px solid #dfdaec;color:#4b475c;font-size:13px;font-weight:700;padding:17px 20px}.content .ant-table-thead>tr>th:before{display:none!important}.content .ant-table-tbody>tr>td{border-bottom:1px solid #f0eef5;color:var(--app-ink);padding:19px 20px}.content .ant-table-tbody>tr:last-child>td{border-bottom:0}.content .ant-table-tbody>tr>td:first-child{font-weight:650}.content .ant-table-tbody>tr.ant-table-row:hover>td{background:#faf9fd}.content .ant-tag{background:var(--app-brand-soft);border:0;border-radius:999px;color:#514a8a;line-height:24px;padding:0 9px}.nav-item:focus-visible,.topbar .ant-btn:focus-visible{outline:3px solid rgb(98 89 199 / 22%);outline-offset:3px}.activity-page-alert{border:1px solid var(--app-line);border-radius:14px;margin-bottom:16px}.activity-page-alert.ant-alert-warning{background:#fff8f5;border-color:#f2867a47}.activity-page-alert.ant-alert-warning .ant-alert-icon{color:var(--app-coral)}.activity-page-alert.ant-alert-error{background:#fff7f7;border-color:#f1d5d7}.activity-page-alert .ant-btn{border-color:#d9d4e7;border-radius:8px;color:var(--app-brand)}.activity-title-cell{display:flex;flex-direction:column;gap:7px;min-width:0}.activity-title-cell strong{color:var(--app-ink);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-title-cell span{align-items:center;color:var(--app-muted);display:flex;font-size:12px;font-weight:400;gap:6px}.activity-title-cell .anticon{color:var(--app-coral)}.content .activity-status{font-weight:650;padding:1px 10px}.content .activity-status-draft{background:var(--app-brand-soft);color:#514a8a}.content .activity-status-published{background:#edf8f4;color:#377f70}.content .activity-status-full{background:#fff2ef;color:#b66058}.content .activity-status-closed,.content .activity-status-unknown{background:#f0eff3;color:#6a6675}.activity-count{align-items:center;background:#edf8f4;border:1px solid rgb(98 183 165 / 20%);border-radius:8px;color:#377f70;display:inline-flex;font-variant-numeric:tabular-nums;font-weight:700;height:28px;justify-content:center;min-width:34px;padding:0 8px}.activity-chat{color:#514a8a;display:block;font-size:13px;font-weight:650;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-unpublished{color:#8b8798;font-size:13px}.activity-action-complete{align-items:center;color:#4d8d7f;display:inline-flex;font-size:13px;font-weight:650;gap:6px}.activity-action-complete.activity-action-closed{color:#777287}.content .ant-table-cell .activity-edit-button{border-color:#6259c74d;color:#514a8a;font-weight:650}.content .ant-table-cell .activity-edit-button:hover{background:var(--app-brand-soft)!important;border-color:#aaa2dc!important;color:var(--app-brand)!important}.content .ant-table-cell .activity-close-button{border-color:#f2867a85;color:#b66058;font-weight:650}.content .ant-table-cell .activity-close-button:hover{background:#fff5f2!important;border-color:var(--app-coral)!important;color:#a95048!important}.content .ant-table-cell .activity-sync-button{border-color:#d8d3e8;color:#514a8a;font-weight:650}.content .ant-table-cell .activity-sync-button:hover{background:var(--app-brand-soft)!important;border-color:#aaa2dc!important;color:var(--app-brand)!important}.admin-user-cell{align-items:center;display:flex;gap:12px;min-width:0}.admin-user-cell .ant-avatar{background:var(--app-brand-soft);color:var(--app-brand);flex:0 0 auto}.admin-user-cell strong{color:var(--app-ink);font-size:14px}.admin-user-cell>div>span{color:var(--app-muted);display:block;font-size:12px;margin-top:3px}.admin-open-id{color:#514a8a;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content .admin-role-tag{align-items:center;display:inline-flex;font-weight:650;gap:5px;padding:1px 10px}.content .admin-role-owner{background:#fff2ef;color:#b66058}.content .admin-role-admin,.content .admin-role-operator{background:#edf8f4;color:#377f70}.content .admin-role-user{background:#f0eff3;color:#6a6675}.content .ant-table-cell .ant-btn{border-radius:10px;height:36px}.content .ant-table-cell .ant-btn-primary,.content .ant-table-cell .ant-btn-color-primary.ant-btn-variant-solid{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 7px 16px #6259c729;font-weight:650}.content .ant-table-cell .ant-btn-primary:hover,.content .ant-table-cell .ant-btn-color-primary.ant-btn-variant-solid:hover{background:#554db8!important;border-color:#554db8!important}.section-header>.ant-btn{border-color:#ded9e9;border-radius:10px;color:#4f4c60;height:40px}.section-header>.ant-btn:hover{border-color:var(--app-brand)!important;color:var(--app-brand)!important}.activity-empty{margin:38px 0 34px}.activity-empty .ant-empty-description>span{color:var(--app-ink);display:flex;flex-direction:column;font-weight:650;gap:6px}.activity-empty .ant-empty-description small{color:var(--app-muted);font-size:12px;font-weight:400}.activity-empty .ant-btn-primary,.activity-empty .ant-btn-color-primary.ant-btn-variant-solid{background:var(--app-brand);border-color:var(--app-brand);border-radius:10px;box-shadow:0 8px 18px #6259c72b;font-weight:650;height:40px}.activity-empty .ant-btn-primary:hover,.activity-empty .ant-btn-color-primary.ant-btn-variant-solid:hover{background:#554db8!important;border-color:#554db8!important}.activity-create-modal .ant-modal-content,.activity-publish-modal .ant-modal-content{background:#fff;border:1px solid #e3deed;border-radius:18px;box-shadow:0 24px 70px #2b24482e;overflow:hidden;padding:0}.activity-publish-modal .ant-modal-header{background:linear-gradient(135deg,#f5f1ff,#fff6f3);border-bottom:1px solid var(--app-line);margin:0;padding:24px 28px 22px}.activity-publish-modal .ant-modal-body{padding:24px 28px 28px}.activity-publish-modal .ant-modal-close{border-radius:8px;color:#625d70;right:20px;top:20px}.activity-publish-heading>span{align-items:center;color:var(--app-brand);display:inline-flex;font-size:12px;font-weight:750;gap:7px;letter-spacing:.04em;text-transform:uppercase}.activity-publish-heading h2{color:var(--app-ink);font-size:22px;line-height:1.25;margin:9px 36px 6px 0}.activity-publish-heading p{color:var(--app-muted);font-size:13px;font-weight:400;margin:0}.activity-publish-content{display:flex;flex-direction:column;gap:18px}.activity-publish-summary{background:#faf9fd;border:1px solid var(--app-line);border-radius:14px;padding:18px}.activity-publish-summary>span{color:var(--app-coral);display:block;font-size:11px;font-weight:750;letter-spacing:.08em;margin-bottom:6px}.activity-publish-summary>strong{color:var(--app-ink);display:block;font-size:17px;line-height:1.4;margin-bottom:16px}.activity-publish-summary>div{display:grid;gap:11px}.activity-publish-summary p{align-items:start;display:grid;gap:8px;grid-template-columns:18px 68px minmax(0,1fr);margin:0}.activity-publish-summary p>.anticon{color:var(--app-brand);margin-top:2px}.activity-publish-summary p>span{color:var(--app-muted);font-size:12px}.activity-publish-summary p>b{color:#4f4c60;font-size:12px;font-weight:650;min-width:0;overflow-wrap:anywhere}.activity-publish-error{border-radius:12px}.activity-publish-note{background:#fff8f5;border-radius:10px;color:#776f79;font-size:12px;line-height:1.7;margin:0;padding:10px 12px}.activity-publish-actions{display:flex;gap:10px;justify-content:flex-end}.activity-publish-actions .ant-btn{border-radius:10px;font-weight:650;height:40px;min-width:108px}.activity-publish-actions .ant-btn-primary,.activity-publish-actions .ant-btn-color-primary.ant-btn-variant-solid{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 8px 18px #6259c72e}.activity-publish-actions .ant-btn-primary:hover,.activity-publish-actions .ant-btn-color-primary.ant-btn-variant-solid:hover{background:#554db8!important;border-color:#554db8!important}.registrations-drawer .ant-drawer-content{background:#f7f6fb}.registrations-drawer .ant-drawer-header{background:#fffffff0;border-bottom:1px solid var(--app-line);padding:20px 26px}.registrations-drawer .ant-drawer-body{padding:24px 26px 32px}.registrations-drawer .ant-drawer-close{border-radius:9px;color:var(--app-muted)}.registrations-drawer .ant-drawer-extra .ant-btn{border-color:#ded9e9;border-radius:10px;color:#514a8a;height:38px;font-weight:650}.registrations-drawer .ant-drawer-extra .registration-export-button,.registrations-drawer .ant-drawer-extra .registration-export-button.ant-btn-color-primary{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 7px 16px #6259c72e;color:#fff}.registrations-drawer .ant-drawer-extra .registration-export-button:hover,.registrations-drawer .ant-drawer-extra .registration-export-button.ant-btn-color-primary:hover{background:#554db8!important;border-color:#554db8!important;color:#fff!important}.registrations-drawer .ant-drawer-extra .registration-export-button:disabled,.registrations-drawer .ant-drawer-extra .registration-export-button:disabled:hover{background:#eeecf4!important;border-color:#e1deea!important;box-shadow:none;color:#aaa6b5!important}.registrations-drawer-title{display:flex;flex-direction:column;line-height:1.25}.registrations-drawer-title>span{color:var(--app-ink);font-size:17px;font-weight:750}.registrations-drawer-title>small{color:var(--app-muted);font-size:11px;font-weight:450;margin-top:4px}.registration-activity-card{background:radial-gradient(circle at 90% 0%,rgb(242 134 122 / 18%),transparent 34%),linear-gradient(135deg,#fff,#f2f0fb);border:1px solid #ded9ed;border-radius:20px;box-shadow:0 16px 40px #3d35681a;margin-bottom:22px;overflow:hidden;padding:24px 26px 22px;position:relative}.registration-activity-card:before{background:linear-gradient(180deg,var(--app-brand),#8b82dc 58%,var(--app-coral));content:"";inset:0 auto 0 0;position:absolute;width:5px}.registration-activity-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.registration-activity-eyebrow{color:var(--app-brand);display:block;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:7px}.registration-activity-heading h2{color:var(--app-ink);font-size:22px;line-height:1.35;margin:0}.registrations-drawer .activity-status{border:0;border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:700;margin:2px 0 0;padding:3px 11px}.registrations-drawer .activity-status-published{background:#e8f7f2;color:#377f70}.registrations-drawer .activity-status-full{background:#fff0ed;color:#b66058}.registrations-drawer .activity-status-closed{background:#eceaf2;color:#6a6675}.registration-activity-facts{align-items:flex-end;border-top:1px solid rgb(98 89 199 / 12%);display:grid;gap:24px;grid-template-columns:auto minmax(0,1fr);margin-top:20px;padding-top:18px}.registration-count-block{align-items:baseline;display:flex;min-width:128px}.registration-count-block strong{color:var(--app-brand);font-size:38px;font-variant-numeric:tabular-nums;font-weight:760;letter-spacing:-.05em;line-height:1}.registration-count-block span{color:var(--app-muted);font-size:13px;margin-left:8px}.registration-fact-list{display:grid;gap:8px;min-width:0}.registration-fact-list span{align-items:center;color:#5f5b70;display:flex;font-size:13px;gap:8px;min-width:0}.registration-fact-list .anticon{color:var(--app-coral);flex:0 0 auto}.registration-list-section{background:#fff;border:1px solid var(--app-line);border-radius:18px;box-shadow:0 10px 30px #2c27480f;overflow:hidden}.registration-list-heading{align-items:center;border-bottom:1px solid var(--app-line);display:flex;justify-content:space-between;padding:20px 22px 18px}.registration-list-heading>div{align-items:center;display:flex;gap:12px}.registration-list-heading>div>.anticon{align-items:center;background:var(--app-brand-soft);border-radius:11px;color:var(--app-brand);display:flex;font-size:17px;height:38px;justify-content:center;width:38px}.registration-list-heading h3{color:var(--app-ink);font-size:16px;line-height:1.25;margin:0}.registration-list-heading span{color:var(--app-muted);display:block;font-size:11px;margin-top:3px}.registration-list-heading>strong{align-items:center;background:#edf8f4;border:1px solid rgb(98 183 165 / 20%);border-radius:999px;color:#377f70;display:flex;font-size:13px;height:30px;justify-content:center;min-width:36px;padding:0 10px}.registration-list-error,.registration-export-error{margin:16px 18px 0}.registration-list-table .ant-table{background:transparent}.registration-list-table .ant-table-thead>tr>th{background:#faf9fc;border-bottom-color:var(--app-line);color:#777287;font-size:11px;font-weight:700;letter-spacing:.04em;padding-block:13px}.registration-list-table .ant-table-tbody>tr>td{border-bottom-color:#efedf4;padding-block:14px}.registration-list-table .ant-table-tbody>tr:hover>td{background:#faf9ff!important}.registration-number{align-items:center;background:var(--app-brand-soft);border-radius:9px;color:#514a8a;display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;font-weight:750;height:30px;justify-content:center;min-width:34px}.registration-person{align-items:center;display:flex;gap:11px;min-width:0}.registration-person .ant-avatar{background:linear-gradient(135deg,#7770d8,#6259c7);box-shadow:0 5px 12px #6259c72e;color:#fff;flex:0 0 auto;font-size:12px;font-weight:700}.registration-person strong{color:var(--app-ink);display:block;font-size:14px}.registration-time{color:#5f5b70;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.registration-list-table .ant-empty-description>span{color:var(--app-ink);display:flex;flex-direction:column;font-weight:650;gap:5px}.registration-list-table .ant-empty-description small{color:var(--app-muted);font-size:11px;font-weight:400}.registration-list-table .ant-pagination{margin-inline:20px}@media(max-width:700px){.registrations-drawer.ant-drawer .ant-drawer-content-wrapper{max-width:100vw}.registrations-drawer .ant-drawer-header{padding:16px 18px}.registrations-drawer .ant-drawer-header-title{min-width:0}.registrations-drawer-title small,.registrations-drawer .registration-action-label{display:none}.registrations-drawer .ant-drawer-extra .ant-btn{padding-inline:10px}.registrations-drawer .ant-drawer-body{padding:16px 12px 24px}.registration-activity-card{border-radius:16px;padding:20px 18px 18px}.registration-activity-heading h2{font-size:19px}.registration-activity-facts{align-items:flex-start;gap:16px;grid-template-columns:1fr}.registration-count-block strong{font-size:34px}.registration-list-section{border-radius:15px}.registration-list-heading{padding:17px 16px}}.activity-create-modal .ant-modal-header{background:#fbfafe;border-bottom:1px solid var(--app-line);margin:0;padding:0}.activity-create-modal .ant-modal-title{line-height:normal}.activity-create-modal .ant-modal-close{border-radius:8px;color:#625d70;right:20px;top:20px}.activity-create-modal .ant-modal-close:hover{background:#ffffffa6;color:var(--app-brand)}.activity-create-heading{align-items:center;display:flex;gap:18px;justify-content:space-between;min-height:118px;padding:26px 64px 24px 32px}.activity-create-heading>div>span{color:var(--app-brand);display:block;font-size:11px;font-weight:750;letter-spacing:.12em;margin-bottom:5px}.activity-create-heading h2{color:var(--app-ink);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:25px;letter-spacing:-.035em;line-height:1.25;margin:0}.activity-create-heading p{color:var(--app-muted);font-size:13px;font-weight:400;line-height:1.55;margin:6px 0 0}.activity-create-chip{align-items:center;background:#f1eefb;border:1px solid rgb(98 89 199 / 16%);border-radius:999px;color:#514a8a;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:700;gap:6px;height:34px;padding:0 12px}.activity-create-form{padding:26px 32px 28px}.activity-create-form .ant-form-item{margin-bottom:20px}.activity-create-form .ant-form-item-label>label{color:#454257;font-size:13px;font-weight:650}.activity-create-form .ant-form-item-extra{color:#777287;font-size:11px;line-height:1.5;padding-top:5px}.activity-create-form .ant-input,.activity-create-form .ant-input-affix-wrapper,.activity-create-form .ant-input-number,.activity-create-form .ant-input-number-group-addon,.activity-create-form .ant-select-selector{border-color:#ded9e9}.activity-create-form input.ant-input,.activity-create-form .ant-input-affix-wrapper,.activity-create-form .ant-input-number,.activity-create-form .ant-input-number-input,.activity-create-form .ant-select-single{height:44px}.activity-create-form .ant-input,.activity-create-form .ant-input-affix-wrapper,.activity-create-form .ant-input-number,.activity-create-form .ant-input-number-group-addon,.activity-create-form .ant-select-selector{border-radius:10px}.activity-create-form .ant-select-single .ant-select-selector{align-items:center;display:flex;height:44px}.activity-create-form .ant-input-affix-wrapper>input.ant-input{height:auto}.activity-create-form .ant-input-prefix{color:var(--app-coral);margin-inline-end:8px}.activity-create-form textarea.ant-input{line-height:1.65;padding:11px 12px}.activity-create-form .ant-input:focus,.activity-create-form .ant-input-focused,.activity-create-form .ant-input-affix-wrapper-focused,.activity-create-form .ant-input-number-focused,.activity-create-form .ant-input-number:focus-within,.activity-create-form .ant-select-focused .ant-select-selector{border-color:var(--app-brand);box-shadow:0 0 0 3px #6259c71f}.activity-create-form .ant-input-number-group-wrapper,.activity-create-form .ant-input-number{width:100%}.activity-create-form .ant-input-number-group-addon{background:#f5f3fa;color:var(--app-muted)}.activity-capacity-addon{align-items:center;display:inline-flex;gap:5px}.activity-capacity-addon .anticon{color:var(--app-coral);font-size:12px}.activity-form-row{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(170px,.56fr)}.activity-form-row-narrow{grid-template-columns:minmax(170px,220px)}.activity-form-alert{border-radius:11px;margin-bottom:20px}.activity-form-actions{align-items:center;border-top:1px solid var(--app-line);display:flex;gap:10px;justify-content:flex-end;margin-top:4px;padding-top:22px}.activity-form-actions .ant-btn{border-radius:10px;height:40px;min-width:92px}.activity-form-actions .ant-btn-default,.activity-form-actions .ant-btn-color-default.ant-btn-variant-outlined{border-color:#ded9e9;color:#555164}.activity-form-actions .ant-btn-primary,.activity-form-actions .ant-btn-color-primary.ant-btn-variant-solid{background:var(--app-brand);border-color:var(--app-brand);box-shadow:0 8px 18px #6259c72e;font-weight:650}.activity-form-actions .ant-btn-primary:hover,.activity-form-actions .ant-btn-color-primary.ant-btn-variant-solid:hover{background:#554db8!important;border-color:#554db8!important}.activity-create-modal .ant-modal-close:focus-visible,.activity-create-form .ant-btn:focus-visible,.activity-empty .ant-btn:focus-visible{outline:3px solid rgb(98 89 199 / 22%);outline-offset:3px}.login-page{align-items:center;background:var(--login-canvas);color:var(--login-ink);display:flex;font-family:PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif;justify-content:center;min-height:100vh;min-height:100dvh;padding:clamp(20px,4vw,56px);position:relative}.login-canvas{background:var(--login-surface);border:1px solid rgb(98 89 199 / 13%);border-radius:32px;box-shadow:0 30px 90px #312a5224;display:grid;grid-template-areas:"brand access" "intro access";grid-template-columns:minmax(0,1.35fr) minmax(380px,.85fr);grid-template-rows:auto 1fr;min-height:min(720px,calc(100vh - 64px));max-width:1180px;overflow:hidden;position:relative;width:100%}.login-brand{align-items:center;background:#f0eef8;display:flex;gap:13px;grid-area:brand;padding:36px 56px 0}.login-brand-mark{align-items:center;background:var(--login-brand);border-radius:14px;box-shadow:0 8px 20px #6259c738;color:#fff;display:flex;font-size:22px;height:46px;justify-content:center;position:relative;width:46px}.login-brand-mark:after{background:var(--login-coral);border:2px solid #f0eef8;border-radius:50%;content:"";height:11px;position:absolute;right:-3px;top:-3px;width:11px}.login-brand-copy{display:flex;flex-direction:column;gap:3px}.login-brand-copy strong{color:var(--login-ink);font-size:16px;font-weight:700;letter-spacing:.03em}.login-brand-copy small{color:var(--login-muted);font-size:11px;letter-spacing:.06em}.login-intro{background:#f0eef8;grid-area:intro;min-width:0;padding:clamp(38px,5vh,62px) 56px 42px}.login-eyebrow{align-items:center;color:var(--login-brand);display:flex;font-size:12px;font-weight:700;gap:9px;letter-spacing:.14em;margin:0}.login-eyebrow span{background:var(--login-coral);border-radius:999px;height:7px;width:7px}.login-intro h1{color:var(--login-ink);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(46px,4.15vw,62px);font-weight:700;letter-spacing:-.055em;line-height:1.14;margin:18px 0 20px}.login-intro h1 em{color:var(--login-brand);font-style:normal;position:relative}.login-intro h1 em:after{background:var(--login-coral);border-radius:999px;bottom:-7px;content:"";height:4px;left:3px;position:absolute;transform:rotate(-1.5deg);width:48%}.login-intro-copy{color:var(--login-muted);font-size:15px;line-height:1.8;margin:0;max-width:500px}.activity-ticket-stack{height:226px;list-style:none;margin:clamp(30px,4.5vh,48px) 0 0;max-width:540px;padding:0;position:relative;width:100%}.activity-ticket{--ticket-color: var(--login-brand);--ticket-halo: rgb(98 89 199 / 13%);--ticket-rotation: -1.2deg;align-items:center;animation:ticket-arrive .62s cubic-bezier(.22,1,.36,1) both;background:#fff;border:1px solid rgb(98 89 199 / 18%);border-radius:18px;box-shadow:0 12px 28px #362f581a;display:grid;gap:16px;grid-template-columns:54px minmax(0,1fr) 12px;left:0;min-height:84px;padding:15px 20px;position:absolute;top:0;transform:rotate(var(--ticket-rotation));width:76%;z-index:3}.activity-ticket:before,.activity-ticket:after{background:#f0eef8;border-radius:50%;content:"";height:18px;position:absolute;top:calc(50% - 9px);width:18px}.activity-ticket:before{left:-10px}.activity-ticket:after{right:-10px}.activity-ticket-coral{--ticket-color: var(--login-coral);--ticket-halo: rgb(242 134 122 / 14%);--ticket-rotation: .8deg;animation-delay:90ms;background:#fff5f3;border-color:#f2867a47;left:12%;top:68px;z-index:2}.activity-ticket-mint{--ticket-color: var(--login-mint);--ticket-halo: rgb(98 183 165 / 14%);--ticket-rotation: -.35deg;animation-delay:.18s;background:#f1faf7;border-color:#62b7a547;left:24%;top:136px;z-index:1}.activity-ticket-number{border-right:1px dashed rgb(39 40 61 / 16%);color:var(--ticket-color);font-size:12px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.1em;padding:12px 14px 12px 0}.activity-ticket-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.activity-ticket-copy strong{color:var(--login-ink);font-size:15px;font-weight:700}.activity-ticket-copy small{color:var(--login-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-ticket-dot{background:var(--ticket-color);border-radius:50%;box-shadow:0 0 0 5px var(--ticket-halo);height:8px;width:8px}.login-access{align-items:center;background:#fcfbfe;border-left:1px solid var(--login-line);display:flex;flex-direction:column;grid-area:access;justify-content:center;padding:56px}.login-card{background:#fff;border:1px solid var(--login-line);border-radius:24px;box-shadow:0 20px 48px #27283d14;overflow:hidden;padding:40px;position:relative;width:min(100%,390px)}.login-card:before{background:var(--login-brand);content:"";height:4px;inset:0 0 auto;position:absolute}.login-card-kicker{color:var(--login-brand);display:block;font-size:12px;font-weight:700;letter-spacing:.14em;margin-bottom:12px}.login-card h2{color:var(--login-ink);font-size:31px;font-weight:700;letter-spacing:-.04em;line-height:1.25;margin:0 0 12px}.login-card>p{color:var(--login-muted);font-size:14px;line-height:1.75;margin:0}.feishu-login-button.ant-btn{align-items:center;background:var(--feishu-blue);border:0;border-radius:14px;box-shadow:0 10px 22px #3370ff38;display:flex;font-size:15px;font-weight:650;gap:10px;height:54px;justify-content:flex-start;margin-top:28px;padding:0 18px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.feishu-login-button.ant-btn:hover{background:#2864ed;box-shadow:0 13px 26px #3370ff45;transform:translateY(-1px)}.feishu-login-button.ant-btn:active{transform:translateY(0)}.feishu-login-button.ant-btn:focus-visible{outline:3px solid rgb(51 112 255 / 25%);outline-offset:3px}.feishu-login-arrow{margin-left:auto}.login-security-note{align-items:flex-start;color:var(--login-muted);display:flex;font-size:12px;gap:8px;line-height:1.55;margin-top:20px}.login-security-note .anticon{color:var(--login-mint);font-size:15px;margin-top:1px}.login-loading-status{align-items:center;color:var(--login-muted);display:flex;flex-direction:column;font-size:13px;gap:14px;height:110px;justify-content:center;margin-top:20px}.login-access-footer{color:#7f7b90;font-size:11px;letter-spacing:.08em;margin:22px 0 0;text-align:center}@keyframes ticket-arrive{0%{opacity:0;transform:translateY(14px) rotate(var(--ticket-rotation))}to{opacity:1;transform:translateY(0) rotate(var(--ticket-rotation))}}@media(max-width:860px){.app-shell{display:flex;flex-direction:column}.sidebar{border-bottom:1px solid #ded9ed;border-right:0;flex:0 0 auto!important;max-width:none!important;min-width:100%!important;width:100%!important}.sidebar .ant-layout-sider-children{align-items:center;flex-direction:row;justify-content:space-between}.brand{height:72px}.nav-list{padding:8px 18px}.nav-item{min-width:140px;width:auto}.topbar{align-items:flex-start;flex-direction:column;gap:18px;padding:22px 24px}.topbar>.ant-space{justify-content:flex-start;width:100%}.content{padding:24px}.login-page{align-items:flex-start;overflow:auto}.login-canvas{grid-template-areas:"brand" "intro" "access";grid-template-columns:1fr;grid-template-rows:auto auto auto;margin:auto;max-width:680px;min-height:auto}.login-brand{padding:32px 42px 0}.login-intro{padding:48px 42px 36px}.login-intro h1{font-size:clamp(42px,8vw,56px)}.activity-ticket-stack{max-width:520px}.login-access{border-left:0;border-top:1px solid var(--login-line);padding:48px 42px}.login-card{width:min(100%,460px)}}@media(max-width:600px){.brand{height:64px;padding:0 16px}.brand-icon{border-radius:10px;flex-basis:38px;font-size:17px;height:38px;width:38px}.brand-subtitle{display:none}.nav-list{padding:7px 12px}.nav-item{height:40px;min-width:122px}.topbar{padding:20px 16px}.topbar h3{font-size:27px}.content{padding:20px 12px}.section-header{margin-bottom:16px}.content .ant-table-wrapper{overflow-x:auto}.content .ant-table{min-width:680px}.activity-page-alert .ant-alert-content{min-width:0}.activity-page-alert .ant-alert-action{margin-inline-start:8px}.activity-create-modal,.activity-publish-modal{max-width:calc(100vw - 24px)}.activity-create-modal .ant-modal-content,.activity-publish-modal .ant-modal-content{border-radius:19px}.activity-publish-modal .ant-modal-header{padding:22px 48px 20px 22px}.activity-publish-modal .ant-modal-body{padding:22px 20px 24px}.activity-publish-heading h2{font-size:20px}.activity-publish-summary p{grid-template-columns:18px 62px minmax(0,1fr)}.activity-publish-actions .ant-btn{flex:1;min-width:0}.activity-create-heading{align-items:flex-start;flex-direction:column;gap:14px;min-height:0;padding:24px 48px 22px 22px}.activity-create-heading h2{font-size:21px}.activity-create-form{padding:24px 20px}.activity-form-row{gap:0;grid-template-columns:1fr}.activity-form-row-narrow{grid-template-columns:1fr}.activity-form-actions .ant-btn{flex:1}.login-page{padding:12px}.login-canvas{border-radius:24px}.login-brand{padding:26px 24px 0}.login-brand-mark{border-radius:12px;font-size:19px;height:42px;width:42px}.login-intro{padding:40px 24px 28px}.login-intro h1{font-size:clamp(34px,11vw,44px);letter-spacing:-.06em;margin-top:14px}.login-intro-copy{font-size:14px}.activity-ticket-stack{height:212px;margin-top:30px}.activity-ticket{gap:12px;grid-template-columns:45px minmax(0,1fr) 10px;min-height:78px;padding:12px 15px;width:86%}.activity-ticket-coral{left:7%;top:65px}.activity-ticket-mint{left:14%;top:130px}.activity-ticket-number{padding-right:10px}.activity-ticket-copy strong{font-size:14px}.login-access{padding:34px 20px 38px}.login-card{border-radius:20px;padding:30px 24px}.login-card h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.activity-ticket{animation:none}.feishu-login-button.ant-btn,.nav-item{transition:none}}.activity-cover-row{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(230px,.9fr)}.activity-cover-row>.ant-form-item{margin-bottom:20px}.activity-cover-row textarea.ant-input{min-height:202px!important;resize:none}.cover-picker{min-width:0}.cover-picker-label{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;min-height:22px}.cover-picker-label>span{color:#454257;font-size:13px;font-weight:650}.cover-picker-label>small{background:#f1eefb;border-radius:999px;color:#6259a7;font-size:10px;font-weight:700;padding:3px 8px}.cover-picker-input{display:none}.cover-picker-stage{aspect-ratio:4 / 3;background:linear-gradient(135deg,#6259c70a,#f2867a0f),#fbfafe;border:1px dashed #c9c2dc;border-radius:12px;overflow:hidden;position:relative}.cover-picker-stage:before,.cover-picker-stage:after{border-color:#6259c74d;border-style:solid;content:"";height:16px;pointer-events:none;position:absolute;width:16px;z-index:2}.cover-picker-stage:before{border-width:2px 0 0 2px;left:8px;top:8px}.cover-picker-stage:after{border-width:0 2px 2px 0;bottom:8px;right:8px}.cover-picker-empty{align-items:center;background:transparent;border:0;color:var(--app-muted);cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:18px;width:100%}.cover-picker-icon{align-items:center;background:#eeebfa;border-radius:12px;color:var(--app-brand);display:flex;font-size:21px;height:43px;justify-content:center;margin-bottom:12px;width:43px}.cover-picker-empty strong{color:#4a465d;font-size:12px;font-weight:700}.cover-picker-empty strong .anticon{color:var(--app-coral);margin-right:4px}.cover-picker-empty small{font-size:10px;line-height:1.5;margin-top:6px}.cover-picker-stage.has-image{border-style:solid}.cover-picker-stage.has-existing-cover{border-color:#6259c73d;border-style:solid}.cover-picker-existing{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:18px;text-align:center}.cover-picker-existing .cover-picker-icon{background:#edf8f4;color:#377f70}.cover-picker-existing>strong{color:#454257;font-size:12px;font-weight:700}.cover-picker-existing>small{color:var(--app-muted);font-size:10px;line-height:1.5;margin-top:5px}.cover-picker-existing>div{display:flex;gap:7px;margin-top:14px}.cover-picker-existing .ant-btn{border-radius:8px}.cover-picker-stage img{display:block;height:100%;object-fit:cover;width:100%}.cover-picker-overlay{align-items:flex-end;background:linear-gradient(transparent 45%,#1e1b2db8);display:flex;gap:7px;justify-content:flex-end;inset:0;opacity:0;padding:12px;position:absolute;transition:opacity .15s ease}.cover-picker-stage:hover .cover-picker-overlay,.cover-picker-stage:focus-within .cover-picker-overlay{opacity:1}.cover-picker-overlay .ant-btn{background:#ffffffeb;border:0;border-radius:8px}.cover-picker-file-name{color:var(--app-muted);font-size:10px;margin:6px 2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-picker-error{color:#d4380d;font-size:11px;margin:6px 2px 0}@media(max-width:700px){.activity-cover-row{display:block}.activity-cover-row textarea.ant-input{min-height:132px!important}.activity-cover-row>.cover-picker{margin-bottom:20px}}@media(hover:none){.cover-picker-stage.has-image .cover-picker-overlay{opacity:1}}
