.ec-panel,.ec-toast,.ec-dock{font:14px/1.7 "Microsoft YaHei",sans-serif;color:#293e37;box-sizing:border-box}
.ec-actions a.ec-primary{display:inline-block;background:#294d39;color:#fff;border:1px solid #294d39;border-radius:7px;padding:9px 13px;text-decoration:none;font:inherit}
.ec-toast .ec-signature{text-align:right;margin-top:12px;font-family:"Freestyle Script","Snell Roundhand","Apple Chancery",cursive;font-size:36px;font-style:normal;font-weight:400;letter-spacing:0;color:#607366;line-height:1.25;transform:scaleX(.88);transform-origin:right center}
@media(max-width:480px){.ec-toast .ec-signature{font-size:33px}}
.ec-panel{position:fixed;inset:4vh 3vw 7vh;z-index:2147483100;background:#fffef9;border:1px solid #b7c7bd;border-radius:14px;box-shadow:0 16px 70px #0005;display:flex;flex-direction:column;overflow:hidden}
.ec-panel button,.ec-toast button,.ec-dock{font:inherit;cursor:pointer;border:1px solid #bbcbbf;background:#eff4ed;color:#294d39;border-radius:7px;padding:9px 13px;min-height:42px}
.ec-toast button.ec-primary,.ec-panel button.ec-primary{background:#294d39;color:#fff;border-color:#294d39}.ec-toast button.ec-primary:hover,.ec-panel button.ec-primary:hover{background:#1e3a2b}
.ec-panel.ec-intro{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px)}.ec-intro .ec-pad{overflow:auto;padding:12px 24px}.ec-intro .ec-actions{flex-shrink:0}
.ec-panel button:focus-visible,.ec-toast button:focus-visible,.ec-dock:focus-visible,.ec-panel select:focus-visible{outline:3px solid #436f9d;outline-offset:2px}
.ec-head{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid #d9e1d9;gap:12px}.ec-head h2{font-size:20px;margin:0}.ec-meta{padding:10px 22px;border-bottom:1px solid #d9e1d9}.ec-meta small{color:#6d7d72}
.ec-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;min-height:0;flex:1;overflow:hidden}.ec-report,.ec-bank{overflow-y:auto;overscroll-behavior:contain;padding:18px 24px}.ec-report h3{font-size:17px;margin:18px 0 10px}.ec-report p{line-height:2.9;margin:8px 0 18px}.ec-bank{background:#f2f4ef;border-left:1px solid #d9e1d9}.ec-bank h3{font-size:16px}.ec-bank h4{font-size:14px;margin:18px 0 8px}.ec-terms{display:flex;flex-wrap:wrap;gap:6px}.ec-terms span{padding:3px 8px;border-radius:5px;border:1px solid #0002}
.ec-panel select{font:inherit;font-size:14px;max-width:100%;border:1px solid #0003;border-radius:5px;padding:5px 4px;margin:0 3px;min-height:36px;width:80px}.ec-panel select.ec-g1{width:68px}.ec-panel select.ec-g2{width:122px}.ec-panel select.ec-g3{width:136px}
.ec-g0{background:#e1edf9;color:#224b74}.ec-g1{background:#fae5de;color:#813c2b}.ec-g2{background:#e1efdf;color:#315f36}.ec-g3{background:#eee4f7;color:#64457c}
.ec-actions{padding:12px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #d9e1d9}.ec-actions span{font-size:13px}.ec-actions span[role]{flex:1;min-width:140px}.ec-toast{position:fixed;bottom:75px;right:18px;width:350px;max-width:calc(100vw - 36px);padding:20px;border:1px solid #bdccc0;border-radius:12px;background:#fffef9;box-shadow:0 8px 40px #0003;z-index:2147483090}.ec-toast>button:first-child{float:right;padding:3px 9px;min-height:30px}.ec-toast h3{font-size:19px;margin:12px 0}.ec-toast>button{margin:5px 4px 0 0}.ec-dock{position:fixed;right:16px;bottom:max(15px,env(safe-area-inset-bottom));z-index:2147483050;box-shadow:0 3px 20px #0002}.ec-dock[hidden]{display:none}.ec-ending{overflow:auto;padding:25px;max-width:850px;line-height:2}.ec-ending small{display:block;margin-bottom:15px}.ec-pad{padding:25px}
@media(max-width:700px){.ec-panel{inset:8px 8px 65px}.ec-layout{grid-template-columns:1fr;overflow:auto;display:block}.ec-report{overflow:visible;padding:10px 15px}.ec-bank{overflow:visible;border-left:0;border-top:1px solid #d9e1d9}.ec-head,.ec-meta{padding:10px 14px}.ec-head h2{font-size:17px}.ec-actions{padding:8px;gap:6px}.ec-actions button{padding:7px 9px}}
.ec-panel .ec-layout{grid-template-columns:minmax(0,1fr)}
.ec-report .ec-period{font-size:20px;margin:22px 0 16px;padding-bottom:10px;border-bottom:1px solid #d9e1d9}
.ec-panel select.ec-error{border:2px solid #bd3030;box-shadow:0 0 0 2px #bd303033}
.ec-panel select.ec-missing{border:2px dashed #ad721e;box-shadow:0 0 0 1px #ad721e22}
.ec-panel [hidden]{display:none!important}
.ec-section{margin:12px 0;border:1px solid #d9e1d9;border-radius:8px;overflow:hidden}
.ec-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:8px 0 20px}
.ec-person-card{min-width:0;border:1px solid #d6dcd1;background:#fffefb;border-radius:7px;padding:14px}
.ec-person-number{font-size:12px;letter-spacing:2px;color:#718075;margin-bottom:10px;text-align:center}
.ec-person-photo{width:min(100%,210px);aspect-ratio:1;margin:0 auto 12px;background-repeat:no-repeat;background-color:#e7e8e0;border-radius:3px}
.ec-report .ec-person-card p{margin:0;line-height:2;text-align:center}.ec-person-card select.ec-major{width:200px}
.ec-person-field{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 0;margin:12px 0}.ec-person-field:last-child{margin-bottom:0}
@media(max-width:1050px){.ec-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ec-people-grid{grid-template-columns:1fr}.ec-person-card{padding:12px}.ec-panel .ec-meta{font-size:12px}.ec-panel .ec-actions{max-height:24dvh;overflow:auto}}
.ec-panel .ec-section-toggle{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 15px;border:0;border-radius:0;background:#f0f3ed;font-weight:600}
.ec-section-name{flex:1}.ec-section-badge{font-size:13px;font-weight:400;color:#86542c;white-space:nowrap}.ec-section-body{padding:10px 16px 18px}
@media(max-width:500px){.ec-section-toggle{flex-wrap:wrap}.ec-section-badge{margin-left:22px}.ec-section-body{padding:8px 10px 14px}}
.ec-panel .ec-check-ok{color:#247241}.ec-panel .ec-check-bad{color:#b52b2b}
.ec-ending{box-sizing:border-box;width:100%;max-width:850px;margin:0 auto;padding:28px 36px 48px;min-height:0;overscroll-behavior:contain;overflow-wrap:anywhere}
.ec-ending-label,.ec-ending-source{font-size:12px;color:#6b7c71;letter-spacing:2px}.ec-ending-title{font-size:27px;margin:12px 0 18px}.ec-ending p{font-size:16px;line-height:2;margin:0 0 20px}.ec-ending-lead{color:#607366;padding-bottom:24px;border-bottom:1px solid #d9e1d9}.ec-ending-headline{font-size:23px;line-height:1.6;margin:10px 0 26px}.ec-ending-subtitle{font-size:18px;margin:28px 0 14px}.ec-ending-closing{margin-top:32px;padding-top:26px;border-top:1px solid #d9e1d9}.ec-ending-fin{text-align:center;color:#607366;margin:30px 0}
@media(max-width:500px){.ec-ending{padding:20px 18px 36px}.ec-ending-title{font-size:23px}.ec-ending-headline{font-size:20px}.ec-ending p{font-size:15px}}
body.ec-standalone{margin:0;background:#f1f0eb;font:15px/1.8 "Microsoft YaHei",sans-serif;color:#293e37;padding-bottom:90px}
.ec-report-welcome{max-width:800px;margin:8vh auto;padding:24px}
.ec-standalone:has(.ec-panel) .ec-report-welcome,.ec-standalone:has(.ec-panel) .ec-dock{display:none}
.ec-standalone .ec-panel{position:relative;inset:auto;transform:none;width:100%;max-width:1100px;max-height:none;min-height:90vh;margin:24px auto;border-radius:10px;overflow:visible;box-shadow:0 8px 30px #0001}
.ec-standalone .ec-layout,.ec-standalone .ec-report,.ec-standalone .ec-ending,.ec-standalone .ec-intro .ec-pad{overflow:visible;max-height:none}
.ec-standalone .ec-actions{max-height:none;overflow:visible}
@media(max-width:700px){.ec-standalone .ec-panel{margin:0;border:0;border-radius:0;min-height:100dvh}.ec-standalone .ec-report{padding:12px}.ec-standalone .ec-head,.ec-standalone .ec-meta{padding:14px}.ec-standalone .ec-actions{padding:14px}.ec-standalone .ec-report p{font-size:15px}}
