:root{--k:#002fa7;--k2:#e8eeff;--y:#ffc800;--t:#0f1a3d;--m:#5a6690;--b:#cfd8f5}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--k2);color:var(--t)}
header{background:var(--k);color:#fff;padding:22px 18px 26px;border-radius:0 0 28px 28px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--y)}header h1{margin:4px 0 6px;font-size:26px;line-height:1.3}header p{margin:0;opacity:.9}
main{max-width:720px;margin:0 auto;padding:14px}.notice{background:#fff;border:2px solid var(--y);border-radius:16px;padding:14px 16px;font-size:15px}.notice b.h{display:block;color:var(--k);margin-bottom:4px}.notice p{margin:6px 0}
.tabs{display:flex;gap:10px;margin:14px 0}.tab{flex:1;padding:14px 8px;border:2px solid var(--k);border-radius:14px;background:#fff;color:var(--k);font-size:16px;font-weight:700}.tab.on{background:var(--k);color:#fff}
section,.panel{background:#fff;border:1px solid var(--b);border-radius:18px;padding:18px;margin:12px 0}h2{margin:0 0 4px;font-size:20px;color:var(--k)}.muted{color:var(--m);font-size:14px}
label{display:block;margin:14px 0 4px;font-size:15px;font-weight:700}label i{color:#d62839;font-style:normal}
input,textarea,select{width:100%;padding:12px;border:1.5px solid var(--b);border-radius:12px;font:inherit;background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid var(--k);border-color:var(--k)}
.grid{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.grid button{padding:10px 14px;border:1.5px solid var(--b);border-radius:12px;background:#fff;font-size:15px;min-width:82px}.grid button.on{background:var(--k);color:#fff;border-color:var(--k)}.grid button:disabled{background:#eef0f7;color:#9aa3c4;text-decoration:line-through}
.btn{margin-top:16px;width:100%;padding:14px;border:0;border-radius:14px;background:var(--k);color:#fff;font-size:17px;font-weight:700}.btn.sm{width:auto;margin:8px 6px 0 0;padding:7px 14px;font-size:14px}.btn.no{background:#c62828}
.msg{margin-top:12px;padding:12px;border-radius:12px;background:#e6f7ec}.msg.err{background:#fdecec;color:#9b1c1c}.msg.warn{background:#fff6dd;color:#8a5a00}
.card{border:1.5px solid var(--b);border-radius:12px;padding:10px 12px;margin:8px 0}.tag{font-size:12px;padding:2px 9px;border-radius:99px;background:#eef0f7;margin-right:6px}.tag.pending{background:#fff0b3}.tag.confirmed{background:#cdf3d9}.tag.rejected{background:#fcd5d5}.tag.cancelled{background:#e3e3e3}
details{margin-top:14px}summary{color:var(--k);font-weight:700}
