:root { color-scheme: light; font-family: "Microsoft YaHei", system-ui, sans-serif; color: #182230; background: #f4f7fb; }
* { box-sizing: border-box; } body { margin: 0; } .page { max-width: 960px; margin: 0 auto; padding: 48px 20px; }
.auth-card, .portal-card, .admin-card { background: #fff; border: 1px solid #dce4ef; border-radius: 10px; box-shadow: 0 8px 24px #172b4d12; padding: 32px; }
.auth-card { max-width: 420px; margin: 48px auto; } h1 { margin: 0 0 20px; font-size: 26px; } p { line-height: 1.7; } .hint { color: #667085; font-size: 14px; }
.form-stack { display: grid; gap: 16px; } label { display: grid; gap: 7px; font-size: 14px; font-weight: 600; } input { border: 1px solid #b8c4d2; border-radius: 6px; padding: 10px 12px; font: inherit; }
button, .button-link { display: inline-block; border: 0; border-radius: 6px; padding: 10px 15px; background: #1769aa; color: #fff; cursor: pointer; font: inherit; text-decoration: none; } .text-button { background: transparent; color: #1769aa; padding-left: 0; }
a, .secondary-link { color: #1769aa; } .secondary-link { display: inline-block; margin-left: 16px; } .notice { max-width: 600px; margin: 0 auto 18px; padding: 12px 15px; border-radius: 6px; } .notice.success { color: #135a34; background: #e9f8ee; } .notice.error { color: #8a1c1c; background: #fcecec; }
.head { display: flex; align-items: center; justify-content: space-between; gap: 16px; } .table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; margin-top: 16px; } th, td { padding: 11px; border-bottom: 1px solid #e5eaf0; text-align: left; white-space: nowrap; } td form { display: inline; } td button { padding: 6px 10px; font-size: 13px; }
@media (max-width: 600px) { .page { padding: 20px 12px; } .auth-card, .portal-card, .admin-card { padding: 22px; } }
