
:root{--ink:#233a31;--green:#1f6048;--green2:#e9f0e9;--paper:#faf9f3;--line:#d9e1d5;--muted:#627568;--amber:#8b5d22;--red:#a33f31;--white:#fffefa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:15px;line-height:1.7}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green)}.shell{max-width:1250px;margin:0 auto;padding:0 40px}.top{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:22px;font-weight:800;letter-spacing:3px;display:flex;gap:13px;align-items:center}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--green);border-radius:11px;font-size:22px;letter-spacing:0}.badge{font-size:12px;color:var(--green);background:var(--green2);border-radius:30px;padding:5px 12px;letter-spacing:.5px}.hero{padding:50px 0 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--muted);font-weight:700}.hero h1{font-size:39px;line-height:1.3;letter-spacing:-1px;margin:10px 0 13px;font-weight:650}.hero p{margin:0;color:var(--muted);max-width:650px}.edition{text-align:right;color:var(--muted);font-size:12px;white-space:nowrap;padding-bottom:4px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px;align-items:start}.workspace{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}.steps{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:23px 30px;background:#f5f7f0}.step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.step b{width:27px;height:27px;display:grid;place-items:center;border:1px solid #b8c8b9;border-radius:50%;font-size:12px}.step.active{color:var(--green);font-weight:700}.step.active b{background:var(--green);color:white;border-color:var(--green)}.step-line{flex:1;align-self:center;height:1px;background:var(--line)}.panel{padding:30px}.panel[hidden]{display:none}h2{font-size:22px;margin:0 0 6px;font-weight:650}h3{font-size:15px;margin:0 0 10px}.sub{color:var(--muted);font-size:13px;margin:0 0 24px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload{position:relative;min-height:230px;border:1px dashed #a5b8a5;border-radius:12px;padding:24px 19px;background:#f9fbf6;display:flex;flex-direction:column;align-items:flex-start}.file-icon{width:43px;height:49px;border:1px solid #a5b8a5;border-radius:5px;background:white;display:grid;place-items:center;color:var(--green);font-size:12px;font-weight:700;margin-bottom:19px}.upload strong{font-size:16px}.upload small{color:var(--muted);margin:4px 0 18px;font-size:12px}.file-input{width:100%;font-size:12px;color:var(--muted)}.file-input::file-selector-button{border:1px solid #b5c7b7;border-radius:6px;background:white;padding:7px 10px;color:var(--green);margin-right:9px;cursor:pointer}.file-name{font-size:12px;color:var(--green);word-break:break-all;margin-top:8px}.actions{display:flex;align-items:center;gap:13px;justify-content:space-between;margin-top:26px}.primary,.secondary,.download{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:11px 18px;text-decoration:none;font-size:14px;line-height:1.5}.primary,.download{background:var(--green);border:1px solid var(--green);color:white;font-weight:650}.primary:hover:not(:disabled),.download:hover{background:#174b39}.secondary{background:transparent;border:1px solid #bfcdbd;color:var(--green)}.micro{font-size:12px;color:var(--muted);margin:0}.aside-card{background:#eef3e9;border:1px solid #dce5d6;border-radius:16px;padding:24px;margin-bottom:18px}.aside-card h3{font-size:16px}.aside-card p,.aside-card li{font-size:13px;color:var(--muted)}.aside-card ul{padding-left:19px;margin:12px 0 0}.aside-card li{margin-bottom:8px}.aside-card.plain{background:transparent}.support-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.support-row:last-child{border-bottom:0}.support-row span:last-child{color:var(--muted)}.local{display:flex;align-items:center;gap:7px;color:var(--green);font-size:12px}.dot{width:7px;height:7px;border-radius:50%;background:#51865a}.alert{margin-top:20px;padding:12px 15px;border-radius:8px;font-size:13px;border:1px solid #decda5;background:#fff8e6;color:var(--amber);white-space:pre-wrap;overflow-wrap:anywhere}.alert.error{background:#fff0ea;color:var(--red);border-color:#efc8bd}.alert[hidden]{display:none}.review-banner{padding:14px 17px;background:#fff9e9;border-left:3px solid #b79752;color:var(--amber);font-size:13px;margin:18px 0}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.meta{padding:13px;background:#f2f5ee;border-radius:8px;font-size:12px;color:var(--muted)}.meta strong{display:block;color:var(--ink);font-size:16px;font-weight:650;overflow-wrap:anywhere}details{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:12px 14px}summary{cursor:pointer;font-size:13px;font-weight:650}pre{white-space:pre-wrap;word-break:break-word;font-family:Consolas,monospace;font-size:12px;line-height:1.6;max-height:290px;overflow:auto;color:var(--muted)}.editor-label{display:flex;justify-content:space-between;align-items:center;margin-top:23px;margin-bottom:7px}.editor-label label{font-weight:650;font-size:14px}.editor-label span{font-size:11px;color:var(--muted)}textarea{display:block;width:100%;height:290px;padding:16px;background:#f8faf5;color:#284538;border:1px solid #b5c7b7;border-radius:8px;resize:vertical;tab-size:2;font-family:Consolas,"Microsoft YaHei",monospace;font-size:12px;line-height:1.7}textarea:focus,input:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #acd2ad;outline-offset:3px}.confirm{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin-top:19px;color:var(--ink)}.confirm input{margin-top:5px;accent-color:var(--green)}.result-title{display:flex;gap:12px;align-items:center}.result-symbol{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--green2);font-size:20px}.downloads{display:flex;gap:11px;flex-wrap:wrap;margin:23px 0}.download.secondary{background:white;color:var(--green);font-weight:400}.checklist{padding:0;list-style:none;font-size:13px}.checklist li{margin:10px 0;display:flex;gap:9px}.checklist li::before{content:"○";color:var(--green)}.foot{padding:31px 0 25px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}.busy{animation:pulse 1s infinite alternate}@keyframes pulse{from{opacity:1}to{opacity:.55}}@media(max-width:900px){.shell{padding:0 22px}.layout{grid-template-columns:1fr}.aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aside-card{margin:0}.hero h1{font-size:32px}.edition{display:none}}@media(max-width:600px){.shell{padding:0 15px}.top{height:70px}.hero{padding:30px 0 24px}.hero h1{font-size:28px}.hero p{font-size:13px}.steps{padding:18px 16px;gap:8px}.step{font-size:11px;gap:5px}.step b{width:23px;height:23px}.panel{padding:21px 17px}.upload-grid,.aside{grid-template-columns:1fr}.upload{min-height:190px}.actions{align-items:flex-start;flex-direction:column}.actions button{width:100%}.meta-grid{grid-template-columns:1fr}.foot{flex-direction:column}.badge{font-size:10px}.editor-label{align-items:flex-start;flex-direction:column;gap:4px}}


.priority-settings{border:1px solid var(--line);border-radius:10px;padding:17px;margin:18px 0;background:#f8faf5}.priority-settings .confirm{margin:9px 0}.priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.priority-grid label{font-size:13px;display:flex;flex-direction:column;gap:4px}.priority-settings select,.priority-settings input:not([type=checkbox]),.rule-row select,.rule-row input:not([type=checkbox]),.decision-row select,.decision-row input{min-width:0;border:1px solid #b5c7b7;border-radius:6px;padding:6px 8px;background:white;color:var(--ink);font:inherit}.rule-group{margin:14px 0}.rule-row{display:grid;grid-template-columns:140px minmax(70px,1fr) minmax(70px,1fr);gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.rule-row label{display:flex;align-items:center;gap:7px}.rule-row input[type=checkbox]{accent-color:var(--green)}.rule-row .rule-note{grid-column:2/-1;color:var(--muted)}.decision-row{border-left:3px solid #b79752;padding:10px 12px;margin:10px 0;background:#fff9e9;font-size:13px}.decision-row p{margin:0 0 8px}.decision-row select,.decision-row input{width:100%;margin:4px 0}.stage-card{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.stage-card strong{display:block}.review-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.review-item .micro{margin-top:5px}.priority-settings :disabled{opacity:.6}@media(max-width:600px){.priority-grid{grid-template-columns:1fr}.rule-row{grid-template-columns:120px minmax(60px,1fr)}.rule-row select{grid-column:2}.rule-row .rule-note{grid-column:1/-1}}


.template-notice{padding:13px 16px;margin:15px 0;background:var(--green2);border:1px solid #c5d8c7;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.template-notice[hidden]{display:none}.table-settings{padding:17px;border:1px solid var(--line);border-radius:10px;background:#f8faf5;margin:18px 0}.table-settings .confirm{margin:0}.table-settings .micro{margin-top:9px}.table-control-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.compact-field{display:flex;align-items:center;gap:8px;font-size:13px}.compact-field input{width:64px;border:1px solid #b5c7b7;border-radius:6px;padding:5px 8px;color:var(--ink);background:white}.table-settings input:disabled{opacity:.5}.table-settings input[type=number]:invalid{border-color:var(--red)}

/* Public beta: quiet paper workspace, never dependent on remote assets. */
[hidden]{display:none!important}.skip-link{position:absolute;left:16px;top:-80px;z-index:20;background:var(--green);color:white;padding:12px}.skip-link:focus{top:10px}.shell{max-width:1320px}.hero{padding-top:43px}.hero h1{font-size:clamp(28px,3.3vw,42px)}.session-strip{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 25px;padding:20px 24px;background:#e8eee2;border:1px solid #d1dccb;border-radius:13px}.session-strip p{margin:4px 0}.session-strip .primary{flex-shrink:0}.session-strip .eyebrow{font-size:10px;letter-spacing:2px}.layout{grid-template-columns:minmax(0,1fr) 300px}.workspace{box-shadow:0 4px 24px #1f604807}.school-fields{margin:0 0 24px}.school-fields .micro{margin-bottom:14px}.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.school-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}.school-grid input,.school-grid select{width:100%;min-width:0;padding:10px 11px;border:1px solid #c9d4c3;border-radius:7px;color:var(--ink);background:#fffefb;font:inherit;font-size:13px;font-weight:400}.required{display:inline;color:var(--green)}.upload{min-height:217px}.consent-box{margin-top:23px;border-top:1px solid var(--line);padding-top:3px}.consent-box .confirm{font-size:12px;margin-top:15px;line-height:1.85}.consent-box .confirm strong{font-weight:600}.consent-box details{font-size:12px;margin-top:17px;background:#f8faf4}.consent-box p{color:var(--muted)}.confirm input{flex:0 0 auto;width:15px;height:15px}.confirm span{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h3{margin:0}.text-button{background:none;border:0;padding:5px 0;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:3px}.history-card{background:#fffefa}.history-card>.micro{margin:8px 0 12px}.history-empty{padding:15px 0;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.job-card{border-top:1px solid var(--line);padding:13px 0}.job-card.active{border-left:3px solid var(--green);padding-left:10px}.job-open{display:block;text-align:left;background:none;border:0;padding:0;width:100%;color:var(--ink);font-size:13px;font-weight:650;overflow-wrap:anywhere}.job-open:hover{text-decoration:underline}.job-meta{color:var(--muted);font-size:11px;margin:5px 0}.job-actions{display:flex;justify-content:space-between;align-items:center}.status-pill{display:inline-block;font-size:10px;border:1px solid #cddac7;padding:2px 7px;border-radius:20px;color:var(--green);background:#f1f5ee}.status-pill.attention{background:#fff8e6;color:var(--amber);border-color:#e6d7b0}.status-pill.failed{background:#fff0ea;color:var(--red);border-color:#efc8bd}.danger-text{color:var(--red)}.delete-card{background:#fff9f2;border-color:#ead5bf}.delete-card .actions{flex-wrap:wrap;margin-top:15px}.delete-card .secondary{font-size:12px;padding:7px 10px}.progress-panel{padding:46px 32px;text-align:center;min-height:390px}.progress-symbol{width:66px;height:66px;border:1px solid #b4c7ad;border-radius:50%;font-size:32px;display:grid;place-items:center;margin:0 auto 23px;background:#f2f6ea;color:var(--green)}.progress-panel h2{margin-top:9px}.progress-panel .sub{margin-bottom:23px}.indeterminate{position:relative;height:5px;border-radius:5px;background:#e1e9db;max-width:330px;margin:0 auto 14px;overflow:hidden}.indeterminate span{position:absolute;inset:0 auto 0 0;width:40%;background:var(--green);border-radius:5px;animation:slide 1.8s ease-in-out infinite alternate}.progress-note{font-size:13px;line-height:1.9;color:var(--muted);max-width:450px;margin:25px auto}.progress-panel .actions{justify-content:center}.feedback-box{margin:26px 0;padding:21px;border:1px solid #d3ddca;background:#f7f9f1;border-radius:12px}.feedback-box>.micro{margin:10px 0 18px}.feedback-box .eyebrow{font-size:9px;letter-spacing:2px}.feedback-box h3{font-size:18px}.feedback-message{display:block;margin-top:14px;font-size:12px;color:var(--muted)}.feedback-message textarea{height:95px;min-height:75px;font-family:inherit;font-size:13px;margin-top:6px;padding:10px}.feedback-box .actions{margin-top:15px}.result-title h2{font-size:21px}.downloads .download{font-size:12px}.foot{align-items:center}.beta-footer-note{max-width:500px}.panel{scroll-margin-top:15px}.error-inline{color:var(--red)}.job-card .text-button:disabled{opacity:.4}.session-strip .badge{white-space:nowrap}@keyframes slide{from{transform:translateX(0)}to{transform:translateX(150%)}}@media(prefers-reduced-motion:reduce){.indeterminate span,.busy{animation:none}}@media(max-width:1000px){.shell{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 265px}.steps{padding:19px 22px}.panel{padding:25px}.aside-card{padding:20px}.rule-row{grid-template-columns:120px minmax(60px,1fr)}}@media(max-width:850px){.layout{grid-template-columns:1fr}.aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.history-card{grid-column:1/-1}.aside-card{margin:0}.history-card #jobList{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.hero{padding-top:31px}.session-strip{padding:18px 20px}.delete-card{grid-column:1/-1}}@media(max-width:600px){.shell{padding:0 15px}.top{height:69px}.hero{padding:29px 0 23px}.hero h1{letter-spacing:-.7px}.session-strip{display:block;padding:17px}.session-strip button,.session-strip .badge{margin-top:14px}.school-grid{grid-template-columns:1fr}.school-fields h3{font-size:14px}.panel{padding:23px 17px}.aside{grid-template-columns:1fr}.history-card #jobList{grid-template-columns:1fr}.steps{padding:17px 15px;gap:7px}.step{font-size:11px;gap:5px}.step b{width:24px;height:24px}.rule-row{grid-template-columns:115px minmax(70px,1fr)}.feedback-box{padding:17px}.feedback-box .section-heading{align-items:flex-start}.feedback-box .badge{font-size:9px;padding:3px 7px}.progress-panel{padding:34px 20px}.progress-panel .actions{flex-direction:column;gap:10px}.session-strip p{font-size:13px}.brand{font-size:20px}.foot{align-items:flex-start}.downloads .download{flex:1 1 auto}.aside-card.plain{margin-top:1px}}
