:root{--bg:#f4f7f4;--card:#fff;--primary:#2e7d32;--danger:#c62828;--text:#1b1b1b;--muted:#667066} *{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)} .wrap{padding:12px 16px 32px} h1{font-size:18px;margin:0} .card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)} label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px} .req:after{content:" *";color:var(--danger)} input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d7ddd7;border-radius:8px;font-size:16px;background:#fff} .btn{display:block;width:100%;border:0;border-radius:10px;padding:12px;font-size:16px;margin-top:12px;background:var(--primary);color:#fff} .btn.ghost{background:#e8f5e9;color:var(--primary)} .btn.danger{background:var(--danger)} .btn.sm{width:auto;display:inline-block;padding:6px 12px;font-size:13px;margin:0;border-radius:8px} .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px} .tile{background:var(--card);border-radius:12px;padding:18px 12px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.06);font-size:15px} .item{padding:10px 0;border-bottom:1px solid #eee} .item:last-child{border-bottom:0} .muted{color:var(--muted);font-size:13px} .ok{color:var(--primary);font-size:18px;text-align:center;padding:24px 0} .err{color:var(--danger);text-align:center;padding:8px} .row{display:flex;gap:8px;align-items:center} .row input{flex:1} .page-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 12px} .back-link{font-size:13px;color:var(--primary);text-decoration:none;white-space:nowrap} .who-bar{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:12px;padding:12px;margin-bottom:12px;box-shadow:0 1px 4px rgba(0,0,0,.06)} .who-center{flex:1;text-align:center} .who-name{font-size:17px;font-weight:700} .sec{margin:16px 0 8px} .sec-title{font-size:14px;font-weight:700;color:var(--primary);padding:4px 2px 8px;border-bottom:2px solid #c8e6c9;margin-bottom:10px} .chip-wrap{display:flex;flex-wrap:wrap;gap:8px} .chip{border:1px solid #c8e6c9;background:#fff;border-radius:20px;padding:8px 12px;font-size:13px} .chip.on{background:var(--primary);color:#fff;border-color:var(--primary)} .preview{background:#f1f8f2;border-radius:8px;padding:8px 10px;margin-top:8px;font-size:13px} .totals{background:#e8f5e9;border-radius:8px;padding:10px;margin-top:10px;font-size:14px}