*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#eef4ff 0%,#f7f9fc 42%,#eef7ff 100%);color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}body:before{content:'';position:fixed;right:-180px;top:-180px;width:460px;height:460px;border-radius:50%;background:rgba(69,108,240,.12);pointer-events:none}body:after{content:'';position:fixed;left:-160px;bottom:-180px;width:420px;height:420px;border-radius:50%;background:rgba(45,173,239,.1);pointer-events:none}header{position:sticky;top:0;z-index:2;padding:22px 32px 18px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(219,227,239,.75);box-shadow:0 10px 30px rgba(31,41,55,.05)}h1{margin:0 0 10px;font-size:28px;letter-spacing:.2px;color:#0f172a}.userbar{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;padding:6px 12px;border-radius:999px;background:#eef4ff;color:#4166e8;font-size:13px;font-weight:600}.logout-link{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#fff;color:#ef4444;font-size:12px;font-weight:800}nav{display:flex;flex-wrap:wrap;gap:10px}a{color:#2563eb;text-decoration:none;transition:.18s ease}nav a{display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid #dbe6ff;border-radius:999px;background:#fff;color:#385fe3;font-weight:600;box-shadow:0 4px 12px rgba(56,95,227,.06)}nav a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(56,95,227,.12);background:#f7faff}main{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:28px 32px 70px}h2{margin:30px 0 16px;font-size:20px;color:#0f172a}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.card{display:flex;align-items:center;min-height:92px;padding:22px;border:1px solid rgba(219,227,239,.9);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(31,41,55,.08)}a.card{font-size:17px;font-weight:700;color:#1e3a8a}a.card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(31,41,55,.12);border-color:#bcd0ff}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:24px}.form.card{align-items:end;min-height:auto;padding:24px}label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#64748b;font-weight:600}input,select{height:44px;border:1px solid #dbe3ef;border-radius:12px;padding:0 12px;font-size:15px;background:#fff;color:#111827;outline:none;transition:.16s ease}input:focus,select:focus{border-color:#5b7bea;box-shadow:0 0 0 4px rgba(91,123,234,.12)}button{height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,#416cf0,#2dadef);color:#fff;padding:0 20px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px rgba(65,108,240,.22);transition:.18s ease}button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(65,108,240,.28)}.table-wrap{overflow:auto;background:#fff;border:1px solid rgba(219,227,239,.9);border-radius:18px;box-shadow:0 14px 34px rgba(31,41,55,.08)}table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}th,td{padding:15px 14px;border-bottom:1px solid #eef2f7;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#f8fbff;color:#475569;font-weight:800;font-size:14px}td{font-size:14px;color:#1f2937}tbody tr:hover{background:#f8fbff}tbody tr:last-child td{border-bottom:0}.actions{display:flex;gap:10px;align-items:center}.actions form{margin:0}.actions a{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:8px;background:#eef4ff;color:#385fe3;font-weight:700}.actions button{height:30px;border-radius:8px;background:#ef4444;padding:0 10px;font-size:13px;box-shadow:none}.login{display:flex;align-items:center;justify-content:center;min-height:100vh}.login .card{width:min(420px,calc(100vw - 36px));display:grid;gap:16px;padding:34px}.login h1{margin:0 0 4px;text-align:center}.error{margin:0;padding:10px 12px;border-radius:10px;background:#fff1f2;color:#e11d48;font-weight:700;text-align:center}@media(max-width:720px){header{padding:18px}main{padding:20px 16px 50px}h1{font-size:24px}.card{border-radius:14px}.table-wrap{border-radius:14px}}
