:root { --ink:#21322a; --muted:#718078; --paper:#fff; --mint:#eaf7ed; --green:#19794c; --line:#d8e4dc; --soft:#f6faf7; --danger:#b44848; }
* { box-sizing:border-box; }
body { margin:0; background:linear-gradient(160deg,#edf9f1 0,#f7fbf8 44%,#fffaf1 100%); color:var(--ink); font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif; }
.page-shell { width:min(1180px,calc(100% - 28px)); margin:0 auto; padding:36px 0 64px; }
.hero { padding:20px 6px 26px; }
.eyebrow { margin:0 0 6px; font-size:12px; letter-spacing:.12em; color:var(--green); font-weight:700; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:10px; font-size:clamp(28px,5vw,42px); letter-spacing:.03em; } h2 { margin-bottom:6px; font-size:22px; }
.hero>p:last-child { color:var(--muted); margin-bottom:0; }.build-version{display:inline-block;margin:8px 0 0!important;padding:5px 9px;border-radius:999px;background:#dff2e5;color:#397257!important;font-size:12px!important;font-weight:700}
.card { margin-top:18px; padding:24px; border:1px solid rgba(153,190,166,.42); border-radius:20px; background:rgba(255,255,255,.93); box-shadow:0 12px 36px rgba(54,88,65,.08); }
.upload-card { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; }
.upload-zone { display:flex; min-height:118px; padding:20px; align-items:center; gap:13px; border:1.5px dashed #9dc8ac; border-radius:15px; cursor:pointer; background:#f8fcf9; }
.upload-zone input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.upload-zone strong { display:block; } .upload-zone small { display:block; margin-top:5px; color:var(--muted); }
.upload-icon { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; color:#fff; background:var(--green); font-size:26px; }
button { border:0; border-radius:11px; padding:12px 17px; font:inherit; font-weight:700; cursor:pointer; } button:disabled { opacity:.45; cursor:not-allowed; }
.primary { color:#fff; background:var(--green); box-shadow:0 7px 14px rgba(25,121,76,.17); } .primary:hover:not(:disabled){background:#12663d}.secondary{color:var(--green);background:#e9f5ed}.large{font-size:16px;padding:14px 20px}.message{grid-column:1/-1;margin:0;color:var(--danger);font-weight:600}.message.ok{color:var(--green)}
.hidden { display:none; }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }.badge{padding:7px 10px;border-radius:999px;background:#e9f5ed;color:#23724b;font-weight:700;white-space:nowrap}.hint{color:var(--muted);font-size:13px;margin:0}.rule-grid,.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.rule-grid label,.staff-grid label{display:grid;gap:7px;color:#48564e;font-size:13px;font-weight:700}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;color:var(--ink);font:inherit}.switch-row select{font-size:14px}.staff-list{display:grid;gap:14px;margin-top:18px}.staff-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:var(--soft)}.staff-card-head{display:flex;align-items:center;justify-content:space-between}.include-control{font-size:14px;font-weight:700}.include-control input{width:auto;margin-right:6px;accent-color:var(--green)}.text-button{padding:4px 0;color:var(--danger);background:transparent;font-size:13px}.staff-summary{min-height:18px;margin-top:12px;color:#397257;font-size:13px}.export-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.export-card h2{margin-bottom:4px}
@media (max-width:720px){.page-shell{width:min(100% - 20px,680px);padding-top:18px}.card{padding:17px;border-radius:16px}.upload-card,.export-card{grid-template-columns:1fr;display:grid}.section-heading{align-items:flex-start}.rule-grid,.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-card{padding:13px}.hero{padding:12px 2px 18px}h1{font-size:29px}.large{width:100%}}
@media (max-width:390px){.rule-grid,.staff-grid{grid-template-columns:1fr}}
