:root{color-scheme:light;--navy:#193d67;--blue:#266fbe;--blue-deep:#15518f;--blue-soft:#edf6ff;--ink:#223247;--muted:#708096;--line:#dfe7f0;--bg:#f4f8fc;--success:#19734c;--danger:#b3261e;--gold:#c99b43;--gold-soft:#fff5df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}.page{width:min(100% - 32px,1160px);margin:0 auto}.hidden{display:none!important}
.site-header{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 10px #193d6708}.site-header .page{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:700;color:var(--navy);font-size:17px}.brand span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}.admin-link{color:var(--blue);text-decoration:none;font-size:14px;font-weight:700}.admin-link:hover{text-decoration:underline}
.form-label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:#304157}.form-control{width:100%;border:1px solid #c7d4e2;border-radius:10px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s}.form-control:focus{border-color:#4d91d5;box-shadow:0 0 0 3px #4d91d520}.form-control:disabled{background:#f4f7fa;color:#93a0ad}textarea.form-control{min-height:104px;resize:vertical}.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:wait;opacity:.7;transform:none}.btn-primary{background:linear-gradient(135deg,#317ccb,#155996);color:#fff;box-shadow:0 7px 15px #1d65ab2e}.btn-secondary{background:#fff;border-color:#c4d2df;color:var(--blue-deep)}.btn-danger{background:#fff;border-color:#efc0bc;color:var(--danger)}.btn-block{width:100%}.notice{display:none;margin-top:16px;padding:11px 12px;border-radius:9px;font-size:13px;line-height:1.55}.notice.is-show{display:block}.notice.error{background:#fff1f0;color:var(--danger)}.notice.success{background:#ebf8f0;color:var(--success)}.file-note{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0 0}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}

/* 家长领取页 */
.claim-page{min-height:100vh;background:radial-gradient(circle at 7% 14%,#d9edff 0,transparent 25rem),radial-gradient(circle at 92% 88%,#fce8bc 0,transparent 28rem),linear-gradient(140deg,#f4f9ff,#f8fbfe 58%,#fff9ef)}.claim-layout{min-height:100vh;display:grid;place-items:center;padding:42px 0}.claim-card{width:min(100%,650px);overflow:hidden;background:#fff;border:1px solid #e0e9f2;border-radius:25px;box-shadow:0 24px 65px #1c4f7a22}.claim-hero{position:relative;overflow:hidden;padding:34px 38px 30px;text-align:center;color:#fff;background:linear-gradient(140deg,#153d6a,#2777be 64%,#4a99dc)}.claim-hero:after{content:"";position:absolute;width:330px;height:330px;right:-165px;bottom:-215px;border-radius:50%;background:#fff1;box-shadow:0 0 0 30px #fff1,0 0 0 60px #fff1}.hero-orbit{position:absolute;border:1px solid #ffffff32;border-radius:50%}.orbit-one{width:280px;height:280px;left:-175px;top:-130px}.orbit-two{width:120px;height:120px;left:-54px;top:-44px;border-color:#ffffff40}.certificate-mark{position:relative;z-index:1;width:50px;height:50px;display:grid;place-items:center;margin:0 auto 13px;border:1px solid #ffffff88;border-radius:50%;background:#ffffff17;box-shadow:inset 0 0 0 5px #ffffff16}.certificate-mark span{font-size:23px;color:#ffe3a2}.eyebrow{position:relative;z-index:1;color:#ffd98b;font-size:11px;font-weight:700;letter-spacing:.16em}.claim-hero h1{position:relative;z-index:1;font-size:28px;letter-spacing:.02em;margin:9px 0 10px}.claim-hero p{position:relative;z-index:1;max-width:470px;margin:0 auto;color:#e9f5ff;line-height:1.7}.hero-caption{position:relative;z-index:1;display:inline-block;margin-top:18px;padding:6px 12px;border-radius:99px;background:#ffffff18;color:#f4faff;font-size:12px}.claim-form{width:min(100%,500px);padding:27px 28px 30px;margin:0 auto}.claim-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:27px;color:#8290a1;font-size:12px;white-space:nowrap}.claim-steps span{display:flex;align-items:center;gap:5px}.claim-steps b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e6eef7;color:#477397;font-size:11px}.claim-steps span:first-child{color:var(--blue-deep);font-weight:700}.claim-steps span:first-child b{background:#d5eaff;color:var(--blue-deep)}.claim-steps i{width:15px;height:1px;background:#d6e0e9}.name-input-wrap{position:relative}.name-input-wrap>span{position:absolute;z-index:1;left:13px;top:50%;color:#5c9bce;transform:translateY(-50%)}.name-input-wrap .form-control{padding-left:35px}.form-help{color:var(--muted);font-size:12px;line-height:1.65;margin:9px 0 18px}.claim-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:47px;font-size:16px}.claim-button b{font-size:21px;font-weight:400;line-height:1}.certificate-result{display:none;margin-top:21px;padding-top:20px;border-top:1px dashed #ccd9e5}.certificate-result.is-show{display:block}.result-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}.result-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5f6ed;color:var(--success);font-weight:700}.result-title strong,.result-title small{display:block}.result-title strong{font-size:15px}.result-title small{margin-top:3px;color:var(--muted);font-size:12px}.certificate-canvas{width:100%;height:auto;display:block;border:1px solid #e5dbc5;background:#fff}.download-button{margin-top:13px;border-color:#bed3e8;background:#f6fbff}.claim-footer{border-top:1px solid #edf1f5;padding:15px;text-align:center;color:#9aa6b3;font-size:12px;letter-spacing:.04em}

/* 后台 */
.admin-shell{padding:34px 0 54px}.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.admin-head .eyebrow{color:#5385b9;margin-bottom:5px}.admin-head h1{font-size:28px;line-height:1.25;color:var(--navy);margin:0 0 7px}.admin-head p{margin:0;color:var(--muted);line-height:1.65}.admin-grid{display:grid;grid-template-columns:minmax(315px,430px) minmax(390px,1fr);gap:18px;align-items:start}.admin-side{display:grid;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 6px 18px #193d6708}.panel h2{font-size:17px;color:var(--navy);margin:0 0 17px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-heading h2{margin:0;color:var(--navy)}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.field{margin-bottom:15px}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.field-row .field{margin-bottom:0}.preview-badge{flex:0 0 auto;border-radius:99px;background:#e9f5ff;color:#2a75bb;padding:5px 9px;font-size:11px;font-weight:700}.preview-stage{position:relative;min-height:225px;display:grid;place-items:center;overflow:auto;border:1px dashed #c8d8e7;border-radius:10px;background:linear-gradient(45deg,#f7fafd 25%,#f1f6fb 25%,#f1f6fb 50%,#f7fafd 50%,#f7fafd 75%,#f1f6fb 75%);background-size:20px 20px}.preview-stage .certificate-canvas{display:none;width:min(100%,450px);margin:0 auto;border:0;box-shadow:0 5px 18px #1b3d5c1c}.preview-stage .certificate-canvas.is-show{display:block}.preview-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#8a9aac;font-size:13px}.preview-empty span{display:grid;place-items:center;width:43px;height:43px;border:1px solid #c8d8e7;border-radius:10px;color:#86a9c7;font-size:28px}.activity-list{display:grid;gap:12px}.activity{border:1px solid var(--line);border-radius:11px;padding:15px;background:#fff}.activity-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.activity h3{margin:0;color:var(--ink);font-size:16px}.activity p{font-size:13px;margin:6px 0;color:var(--muted);line-height:1.5}.badge{display:inline-block;flex:0 0 auto;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:700}.badge.active{background:#eaf8ef;color:var(--success)}.badge.inactive{background:#f1f3f5;color:#6b7783}.activity-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin:12px 0;color:var(--muted)}.activity-actions{display:flex;flex-wrap:wrap;gap:8px}.activity-actions .btn{font-size:13px;padding:7px 10px}.claim-details{margin-top:14px;border-top:1px solid #edf1f5;padding-top:11px}.claim-details summary{color:#2c669d;font-size:13px;font-weight:700;cursor:pointer}.claim-detail-list{display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none;border:1px solid #e7eef5;border-radius:8px;overflow:hidden}.claim-detail-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#fbfdff;font-size:13px}.claim-detail-list li+li{border-top:1px solid #e7eef5}.claim-detail-list strong{font-weight:700;color:#314258}.claim-detail-list time{flex:0 0 auto;color:#8190a1;font-size:12px}.detail-empty{margin:9px 0 0!important;color:#8898a9!important;font-size:12px!important}.empty{color:var(--muted);text-align:center;padding:32px 10px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 5%,#dceefe,transparent 28rem),linear-gradient(145deg,#f6faff,#eff6fc)}.login-card{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:17px;padding:30px;box-shadow:0 18px 45px #193d671b}.login-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border-radius:50%;background:var(--gold-soft);color:var(--gold);font-size:20px}.login-card h1{font-size:23px;color:var(--navy);margin:0 0 22px}
@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-side{grid-template-columns:1fr 1fr}.preview-stage{min-height:190px}}@media(max-width:680px){.page{width:min(100% - 24px,1160px)}.claim-layout{padding:22px 0}.claim-card{border-radius:19px}.claim-hero{padding:29px 20px 26px}.claim-hero h1{font-size:24px}.claim-form{padding:23px 19px 26px}.admin-shell{padding:25px 0 40px}.admin-head{flex-direction:column}.admin-head h1{font-size:25px}.admin-side{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 1fr}.site-header .page{min-height:62px}.brand{font-size:15px}}@media(max-width:430px){.field-row{grid-template-columns:1fr}.claim-steps{gap:5px;font-size:11px}.claim-steps i{width:8px}.claim-steps b{width:17px;height:17px}}

/* 王惠老师证书领取页：红金海报风格 */
.poster-claim-page{background:radial-gradient(circle at 10% 10%,#ffdf97 0,transparent 23rem),radial-gradient(circle at 93% 84%,#801015 0,transparent 31rem),linear-gradient(145deg,#7f1219,#d41921 46%,#8e1118)}.poster-card{width:min(100%,680px);border:0;border-radius:25px;box-shadow:0 26px 70px #31020766;background:#fff2d5}.poster-hero{position:relative;isolation:isolate;min-height:345px;overflow:hidden;background:linear-gradient(128deg,#8e0b16 0%,#dc1921 55%,#a40815 100%);color:#fff}.poster-hero:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.85;background:repeating-linear-gradient(123deg,transparent 0 52px,#ffffff0b 53px 61px,transparent 62px 112px)}.poster-copy{position:relative;z-index:3;width:64%;padding:35px 0 38px 35px;text-shadow:0 3px 0 #850e15}.poster-name{display:inline-flex;align-items:center;padding:5px 11px;border-radius:4px;background:#fff8df;color:#b11118;font-weight:800;font-size:16px;letter-spacing:.04em;box-shadow:0 3px 0 #79060d}.poster-course{margin-top:11px;color:#ffe6a7;font-weight:700;font-size:12px;letter-spacing:.16em}.poster-copy h1{margin:5px 0 11px;font-size:47px;line-height:1.04;letter-spacing:.02em;color:#fffbed;font-weight:900}.poster-copy p{margin:0;color:#fff0cd;line-height:1.72;font-size:14px;font-weight:700}.poster-ribbon{position:absolute;z-index:4;left:32px;bottom:21px;padding:8px 15px;transform:rotate(-2deg);background:#ffdda0;color:#b0131b;font-weight:800;font-size:13px;box-shadow:4px 4px 0 #7d0710}.poster-ribbon:after{content:"";position:absolute;right:-15px;top:0;border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:15px solid #ffdda0}.teacher-portrait{position:absolute;z-index:2;right:-20px;bottom:-70px;width:50%;max-height:118%;object-fit:contain;object-position:bottom right;mix-blend-mode:screen;filter:drop-shadow(-7px 4px 0 #fff1) drop-shadow(0 8px 10px #55000788)}.poster-seal{position:absolute;z-index:4;right:25px;top:23px;display:grid;place-items:center;width:57px;height:57px;border:3px solid #ffd777;border-radius:50%;outline:2px solid #ffe9b5;outline-offset:3px;background:#d51820;color:#fff4d1;font-size:13px;font-weight:900;line-height:1.25;text-align:center;transform:rotate(12deg);box-shadow:0 3px 0 #870c12}.poster-star{position:absolute;z-index:3;color:#ffe7a7;text-shadow:0 2px 0 #a60a12}.star-one{right:139px;top:32px;font-size:24px}.star-two{right:18px;bottom:63px;font-size:17px}.poster-ray{position:absolute;z-index:1;width:330px;height:120px;background:linear-gradient(90deg,#ffbd5d00,#ffdd9088,#ffbd5d00);transform:rotate(-37deg);filter:blur(4px)}.ray-one{left:-70px;top:40px}.ray-two{right:-100px;bottom:27px;transform:rotate(-37deg)}.poster-form{width:100%;max-width:none;padding:28px 38px 31px;background:linear-gradient(180deg,#fffdf8,#fff2d6)}.claim-kicker{display:flex;align-items:center;justify-content:center;gap:10px;color:#b51119;font-size:12px;font-weight:800;letter-spacing:.08em}.claim-kicker span{width:29px;height:1px;background:#d7a23e}.poster-form h2{text-align:center;color:#93121a;font-size:25px;margin:8px 0 7px}.activity-description{margin:0 auto 20px;max-width:510px;text-align:center;color:#7a5c52;font-size:13px;line-height:1.6}.poster-form .claim-steps{margin:0 0 24px;padding:10px 8px;border-top:1px solid #f2dba8;border-bottom:1px solid #f2dba8;color:#a48373}.poster-form .claim-steps span:first-child{color:#c1151e}.poster-form .claim-steps span:first-child b{background:#ffd9a7;color:#a90d16}.poster-form .claim-steps b{background:#f4e4c8;color:#9c7d6f}.poster-form .claim-steps i{background:#e6cfa9}.poster-form .form-label{color:#6b413c}.poster-form .form-control{border-color:#ddc7a6;background:#fffdf9}.poster-form .form-control:focus{border-color:#dc5660;box-shadow:0 0 0 3px #de374220}.poster-form .name-input-wrap>span{color:#cc2730}.poster-form .form-help{color:#946f63}.poster-form .claim-button{background:linear-gradient(135deg,#e53538,#b80f18);box-shadow:0 8px 16px #a7131e38}.poster-form .claim-button:hover{background:linear-gradient(135deg,#ec4748,#c30c17)}.poster-form .certificate-result{border-color:#e9cfa3}.poster-form .download-button{border-color:#e3bc77;background:#fff9ed;color:#b0141b}.poster-card .claim-footer{border:0;background:#f2c86f;color:#8c1b1c;font-weight:700}.poster-card .result-title>span{background:#ffe6bd;color:#b0121b}
@media(max-width:680px){.poster-card{border-radius:19px}.poster-hero{min-height:302px}.poster-copy{padding:27px 0 32px 23px;width:66%}.poster-copy h1{font-size:39px}.poster-copy p{font-size:12px}.teacher-portrait{right:-32px;width:54%;bottom:-57px}.poster-seal{right:20px;top:19px;width:48px;height:48px;font-size:11px}.star-one{right:120px;top:25px}.poster-ribbon{left:22px;bottom:17px;font-size:11px;padding:7px 10px}.poster-form{padding:23px 19px 26px}.poster-form h2{font-size:22px}}@media(max-width:380px){.poster-copy h1{font-size:34px}.poster-copy{width:69%}.teacher-portrait{right:-42px;width:58%}.poster-seal{display:none}.poster-form .claim-steps{font-size:10px}}

/* 保持姓名标识清晰，并将老师人像置于前景 */
.poster-name{line-height:1.2;white-space:nowrap;text-shadow:none}.teacher-portrait{z-index:5;right:14px;mix-blend-mode:normal;filter:drop-shadow(0 8px 10px #55000788)}.poster-seal,.poster-star{z-index:6}@media(max-width:680px){.teacher-portrait{right:8px}}@media(max-width:380px){.teacher-portrait{right:2px}}

/* 降低饱和度，并用暖光衔接人物与海报背景 */
.poster-claim-page{background:radial-gradient(circle at 8% 10%,#efd3ad 0,transparent 25rem),radial-gradient(circle at 92% 85%,#5b252d 0,transparent 31rem),linear-gradient(145deg,#78323a,#9d464b 48%,#6d2c34)}.poster-card{box-shadow:0 26px 70px #3d171d66}.poster-hero{background:linear-gradient(128deg,#813139 0%,#aa4b4e 55%,#783038 100%)}.poster-hero:before{opacity:.42}.poster-hero:after{content:"";position:absolute;z-index:2;right:-38px;bottom:-115px;width:300px;height:360px;border-radius:52% 48% 0 0;background:radial-gradient(ellipse at 42% 34%,#f5ce9b65 0 22%,#edb57428 45%,transparent 72%);filter:blur(7px);pointer-events:none}.poster-ray{opacity:.45}.teacher-portrait{right:18px;filter:drop-shadow(0 14px 18px #3f1b2366) drop-shadow(-1px 0 0 #f6d5aa55)}.poster-form .claim-button{background:linear-gradient(135deg,#bc5356,#8d2730);box-shadow:0 8px 16px #79222c35}.poster-form .claim-button:hover{background:linear-gradient(135deg,#cc6263,#9d2932)}@media(max-width:680px){.teacher-portrait{right:12px}.poster-hero:after{right:-60px}}@media(max-width:380px){.teacher-portrait{right:6px}}

/* 专业化低饱和配色：深蓝灰、暖象牙白与香槟金 */
.poster-claim-page{background:radial-gradient(circle at 8% 10%,#f3dfbd 0,transparent 26rem),radial-gradient(circle at 95% 88%,#405366 0,transparent 31rem),linear-gradient(145deg,#e7e4dd,#ccd5da 52%,#b7c3cc)}.poster-card{box-shadow:0 26px 70px #24394a42;background:#f8f4eb}.poster-hero{background:linear-gradient(128deg,#283b4d 0%,#425b6e 56%,#30495a 100%)}.poster-hero:before{opacity:.28;background:repeating-linear-gradient(123deg,transparent 0 52px,#fbefcf12 53px 61px,transparent 62px 112px)}.poster-hero:after{right:-42px;bottom:-108px;width:320px;height:372px;background:radial-gradient(ellipse at 43% 31%,#f4d59b79 0 19%,#c69e6940 42%,transparent 74%);filter:blur(10px)}.poster-name{background:#f7e7c5;color:#2b4d62;box-shadow:0 3px 0 #1d3444;text-shadow:none}.poster-course{color:#efcf91}.poster-copy h1{color:#fff8e9;text-shadow:0 3px 0 #1e3343}.poster-copy p{color:#dce7e8}.poster-ribbon{background:#efd197;color:#294b60;box-shadow:4px 4px 0 #203949}.poster-ribbon:after{border-left-color:#efd197}.poster-seal{background:#38586a;color:#fff3d0;border-color:#f0cb82;box-shadow:0 3px 0 #1f3848}.poster-star{color:#f2d693;text-shadow:0 2px 0 #2c4657}.poster-ray{opacity:.22}.teacher-portrait{right:18px;filter:drop-shadow(0 14px 20px #172b3a73) drop-shadow(0 0 1px #f1d5a77a)}.poster-form{background:linear-gradient(180deg,#fffdf8,#f6eddd)}.claim-kicker{color:#4e6c80}.claim-kicker span{background:#cfaa68}.poster-form h2{color:#284a61}.activity-description{color:#6f7780}.poster-form .claim-steps{border-color:#e5d6bb;color:#8a897e}.poster-form .claim-steps span:first-child{color:#315e79}.poster-form .claim-steps span:first-child b{background:#d9e7e8;color:#315e79}.poster-form .claim-steps b{background:#eee1c9;color:#7b796f}.poster-form .claim-steps i{background:#dac9ac}.poster-form .form-label{color:#344f60}.poster-form .form-control{border-color:#d6c7ad;background:#fffefa}.poster-form .form-control:focus{border-color:#64899b;box-shadow:0 0 0 3px #6c95a022}.poster-form .name-input-wrap>span{color:#507d94}.poster-form .form-help{color:#747b7d}.poster-form .claim-button{background:linear-gradient(135deg,#55798c,#2f5268);box-shadow:0 8px 16px #314e612d}.poster-form .claim-button:hover{background:linear-gradient(135deg,#63889a,#345b72)}.poster-form .certificate-result{border-color:#dfd0b7}.poster-form .download-button{border-color:#d7bc83;background:#fffaf0;color:#315a71}.poster-card .claim-footer{background:#e8c77e;color:#2d5369}.poster-card .result-title>span{background:#e9f0e9;color:#335f73}

/* 参考海报的暖红、金色和奶油白体系：红色只承担顶部主视觉 */
.poster-claim-page{background:radial-gradient(circle at 7% 8%,#f7d898 0,transparent 25rem),radial-gradient(circle at 94% 88%,#f2c96d 0,transparent 30rem),linear-gradient(145deg,#fff1d0,#f6e1b4 58%,#f0c66f)}.poster-card{box-shadow:0 26px 70px #7a251c38;background:#fff6e4}.poster-hero{background:linear-gradient(128deg,#991c24 0%,#d11e22 56%,#ad1920 100%)}.poster-hero:before{opacity:.33;background:repeating-linear-gradient(123deg,transparent 0 52px,#ffe6bd1c 53px 61px,transparent 62px 112px)}.poster-hero:after{background:radial-gradient(ellipse at 43% 31%,#f9d59986 0 18%,#f0a75b3d 43%,transparent 74%)}.poster-name{background:#fff1ce;color:#ad1d25;box-shadow:0 3px 0 #751018}.poster-course{color:#ffe29c}.poster-copy h1{color:#fff9e8;text-shadow:0 3px 0 #7f1118}.poster-copy p{color:#fff0c8}.poster-ribbon{background:#ffe0a0;color:#b01c23;box-shadow:4px 4px 0 #801119}.poster-ribbon:after{border-left-color:#ffe0a0}.poster-seal{background:#cc2025;color:#fff7da;border-color:#ffdc91;box-shadow:0 3px 0 #851018}.poster-star{color:#ffe2a0;text-shadow:0 2px 0 #a3131b}.teacher-portrait{filter:drop-shadow(0 14px 20px #5d111666) drop-shadow(0 0 1px #ffe3b47a)}.poster-form{background:linear-gradient(180deg,#fffdf8,#fff1d5)}.claim-kicker{color:#b42127}.claim-kicker span{background:#e1ad56}.poster-form h2{color:#ab2026}.activity-description{color:#856658}.poster-form .claim-steps{border-color:#efd7a7;color:#a28875}.poster-form .claim-steps span:first-child{color:#c52128}.poster-form .claim-steps span:first-child b{background:#ffe0ad;color:#b71d25}.poster-form .claim-steps b{background:#f8e7c6;color:#a3826e}.poster-form .claim-steps i{background:#e8cea0}.poster-form .form-label{color:#8b292d;font-size:18px;font-weight:900;margin-bottom:10px}.poster-form .form-control{border-color:#e1c39d;background:#fffefa}.poster-form .form-control:focus{border-color:#d65b5f;box-shadow:0 0 0 3px #d9424922}.poster-form .name-input-wrap>span{color:#d02b30}.poster-form .form-help{color:#956e5d}.poster-form .claim-button{background:linear-gradient(135deg,#e53637,#bb171f);box-shadow:0 8px 16px #a4151f35}.poster-form .claim-button:hover{background:linear-gradient(135deg,#ec4c4b,#c71922)}.poster-form .download-button{border-color:#e3bc77;background:#fff9ed;color:#b0141b}.poster-card .claim-footer{background:#f1cb79;color:#921d22}.poster-card .result-title>span{background:#ffe6bd;color:#b0121b}

/* 避免装饰星星遮挡老师五官 */
.star-one{right:174px}.teacher-portrait{filter:drop-shadow(0 14px 20px #5d111666)}@media(max-width:680px){.star-one{right:142px}}

/* 超级管理员账号管理 */
.super-grid{display:grid;grid-template-columns:minmax(290px,380px) minmax(390px,1fr);gap:18px;align-items:start}.user-list{display:grid;gap:11px}.user-row{border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff}.user-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-row strong,.user-row small{display:block}.user-row strong{color:var(--ink);font-size:15px}.user-row small{margin-top:4px;color:var(--muted);font-size:12px}.user-actions{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:8px;margin-top:12px}.user-actions .btn{font-size:13px;padding:8px 10px}@media(max-width:850px){.super-grid{grid-template-columns:1fr}}@media(max-width:580px){.user-actions{grid-template-columns:1fr 1fr}.user-actions .form-control{grid-column:1/-1}}
.owner-note{display:block;margin-top:6px;color:#6f8799;font-size:12px}
.header-actions{display:flex;align-items:center;gap:14px}
.edit-panel{margin:0 0 18px}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.edit-panel .btn-primary{padding-left:20px;padding-right:20px}@media(max-width:620px){.edit-grid{grid-template-columns:1fr}}
.text-button{display:block;margin:14px auto 0;border:0;background:transparent;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer}.text-button:hover{text-decoration:underline}.header-actions{flex-wrap:wrap}

/* 未携带活动专属链接时，只显示简洁提示，不展示任何课程或领取内容 */
.no-activity .poster-hero,.no-activity .claim-kicker,.no-activity .claim-steps,.no-activity .form-label,.no-activity .name-input-wrap,.no-activity .form-help,.no-activity .claim-button,.no-activity .certificate-result,.no-activity .claim-footer{display:none}.no-activity .poster-form{padding:58px 32px 62px;text-align:center;background:linear-gradient(180deg,#fffdf8,#fff0d3)}.no-activity .poster-form:before{content:"✦";display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#fff0cf;color:#c5292f;font-size:22px;box-shadow:0 5px 14px #b9792b25}.no-activity .poster-form h2{margin:0 0 10px;font-size:23px}.no-activity .activity-description{margin-bottom:0;max-width:360px;font-size:14px;line-height:1.8}@media(max-width:680px){.no-activity .poster-form{padding:46px 22px 50px}}

/* 每期活动按所选老师板块写入品牌配色；老师头像为空时展示纯文字海报 */
.poster-claim-page{--brand-primary:#991c24;--brand-accent:#ffe0a0}.poster-hero{background:linear-gradient(128deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 77%,#ee4a42),var(--brand-primary))}.poster-name{color:var(--brand-primary)}.poster-ribbon{background:var(--brand-accent);color:var(--brand-primary)}.poster-ribbon:after{border-left-color:var(--brand-accent)}.poster-seal{background:var(--brand-primary)}.poster-form h2,.claim-kicker{color:var(--brand-primary)}.poster-form .claim-button{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 75%,#ff716a),var(--brand-primary))}.teacher-portrait.is-hidden{display:none}.poster-hero:has(.teacher-portrait.is-hidden) .poster-copy{width:78%}.brand-manager{margin-top:18px}.brand-editor{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,.8fr);gap:22px}.brand-list{display:grid;gap:10px;align-content:start}.brand-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.brand-swatch{width:42px;height:42px;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff66}.brand-row strong,.brand-row small{display:block}.brand-row strong{font-size:14px;color:var(--ink)}.brand-row small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.brand-row .btn{font-size:12px;padding:7px 10px}@media(max-width:850px){.brand-editor{grid-template-columns:1fr}}

/* 老师板块列表：操作按钮与隐藏状态 */
.brand-row{grid-template-columns:42px minmax(0,1fr) auto}
.brand-row.is-hidden{background:#fbf8f6;border-color:#f0ded7}
.brand-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}
.brand-actions .btn{font-size:12px;padding:7px 10px}
.brand-tag{display:inline-block;margin-top:6px;border-radius:99px;background:#fdeeee;color:#a8443f;padding:3px 9px;font-size:11px;font-weight:700}
.brand-note{color:var(--muted);font-size:12px}
