
:root{--brand:#1f4e78;--line:#e5e9f2;--panel:#f6f8fb;--ok:#e9f7ef}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#fff;color:#222}
header{background:var(--brand);color:#fff;padding:16px 18px;position:relative}
h1{font-size:20px;margin:0}
.ribbon{position:absolute;right:14px;top:10px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);padding:6px 10px;border-radius:999px;font-size:12px}
main{max-width:1280px;margin:0 auto;padding:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}
.row{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}
.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}
label{font-size:12px;color:#445;display:block;margin:2px 0 4px}
input,select,button,textarea{width:100%;padding:8px;border:1px solid #cdd6e6;border-radius:8px;background:#fff}
textarea{resize:vertical;min-height:36px}
.btn{background:var(--brand);color:#fff;border:none;cursor:pointer}
.btn.ghost{background:#e9edf3;color:#234}
.btn.warn{background:#b35c00}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.note{font-size:12px;color:#556}
table{width:100%;border-collapse:collapse;margin-top:10px;background:#fff}
th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:middle}
th{background:#f0f4fb}
.right{text-align:right}.center{text-align:center}
.pill{display:inline-flex;gap:6px;align-items:center;background:#f6f8fb;padding:6px 10px;border-radius:20px;border:1px solid var(--line);font-size:12px}
.step{border:2px solid var(--brand);border-radius:14px;padding:12px;margin:16px 0;background:#fbfdff;position:relative}
.step .badge{position:absolute;top:-12px;left:-12px;background:var(--brand);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700}
.ok{background:var(--ok)}
#watermark{position:fixed;right:12px;bottom:12px;background:rgba(31,78,120,.9);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;z-index:10;user-select:none;pointer-events:none}
.ro{opacity:.9}
.badge{display:flex;align-items:center;justify-content:center}
.small-muted{opacity:.9;font-size:12px}
