*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;background:#0f172a;color:#f1f5f9}*{box-sizing:border-box}body{margin:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;min-height:100vh;background:linear-gradient(135deg,#eef2ff,#e0e7ff,#c7d2fe,#a5b4fc,#818cf8);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none;z-index:0}#app{min-height:100vh;position:relative;z-index:1}a{color:#6366f1;text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font:inherit}.btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:500;transition:.15s}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover{background:#4f46e5}.btn-secondary{background:#e0e7ff;color:#4338ca;border:1px solid rgba(99,102,241,.3)}.btn-secondary:hover{background:#c7d2fe}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-success{background:#16a34a;color:#fff}.btn-success:hover{background:#15803d}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:4px;color:#374151;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1e293b}.card{background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(129,140,248,.18);border-radius:16px;box-shadow:0 4px 20px #6366f11a;padding:1.25rem;margin-bottom:1rem;color:#1e293b}.card h2,.card h3{color:#1e293b;margin-top:0;text-align:center}.container{max-width:1400px;margin:0 auto;padding:.4rem 1.5rem 1.5rem}.container h2{color:#1e293b;font-weight:600;text-align:center}.container input,.container select,.container textarea{background:#fff;color:#1e293b;border:1px solid #cbd5e1}.error{color:#dc2626;font-size:.875rem;margin-top:4px}.hint,p.hint{color:#64748b}table{width:100%;border-collapse:collapse}.table th{background:#f8fafc;color:#1e293b;border:1px solid #e2e8f0;text-align:center;padding:8px;font-weight:500}.table td{border:1px solid #e2e8f0;color:#334155;text-align:center;padding:8px}.table tr:hover td{background:#f8fafc}.text-right{text-align:right}.flex{display:flex;align-items:center;gap:.5rem}.flex-wrap{flex-wrap:wrap}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}
