login.css 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863
  1. /* 登录页面样式 - 现代化亮色设计 */
  2. * {
  3. box-sizing: border-box;
  4. }
  5. body {
  6. margin: 0;
  7. padding: 0;
  8. font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  9. background: #f8fafc;
  10. overflow-x: hidden;
  11. }
  12. /* 动画背景 */
  13. .animated-background {
  14. position: fixed;
  15. top: 0;
  16. left: 0;
  17. width: 100%;
  18. height: 100%;
  19. z-index: -1;
  20. background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 25%, #f8fafc 50%, #f1f5f9 75%, #e2e8f0 100%);
  21. }
  22. .gradient-overlay {
  23. position: absolute;
  24. top: 0;
  25. left: 0;
  26. width: 100%;
  27. height: 100%;
  28. background: radial-gradient(circle at 20% 80%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
  29. radial-gradient(circle at 80% 20%, rgba(168, 85, 247, 0.1) 0%, transparent 50%),
  30. radial-gradient(circle at 40% 40%, rgba(14, 165, 233, 0.08) 0%, transparent 50%);
  31. }
  32. /* 浮动形状动画 */
  33. .floating-shapes {
  34. position: absolute;
  35. width: 100%;
  36. height: 100%;
  37. overflow: hidden;
  38. }
  39. .shape {
  40. position: absolute;
  41. border-radius: 50%;
  42. background: linear-gradient(45deg, rgba(59, 130, 246, 0.1), rgba(168, 85, 247, 0.08));
  43. animation: float 20s infinite linear;
  44. }
  45. .shape-1 {
  46. width: 80px;
  47. height: 80px;
  48. top: 10%;
  49. left: 10%;
  50. animation-delay: 0s;
  51. animation-duration: 25s;
  52. }
  53. .shape-2 {
  54. width: 120px;
  55. height: 120px;
  56. top: 60%;
  57. right: 10%;
  58. animation-delay: -5s;
  59. animation-duration: 30s;
  60. }
  61. .shape-3 {
  62. width: 60px;
  63. height: 60px;
  64. bottom: 20%;
  65. left: 20%;
  66. animation-delay: -10s;
  67. animation-duration: 20s;
  68. }
  69. .shape-4 {
  70. width: 100px;
  71. height: 100px;
  72. top: 30%;
  73. right: 30%;
  74. animation-delay: -15s;
  75. animation-duration: 35s;
  76. }
  77. .shape-5 {
  78. width: 40px;
  79. height: 40px;
  80. bottom: 60%;
  81. right: 60%;
  82. animation-delay: -20s;
  83. animation-duration: 15s;
  84. }
  85. @keyframes float {
  86. 0% {
  87. transform: translateY(0px) rotate(0deg);
  88. opacity: 0.7;
  89. }
  90. 50% {
  91. transform: translateY(-20px) rotate(180deg);
  92. opacity: 1;
  93. }
  94. 100% {
  95. transform: translateY(0px) rotate(360deg);
  96. opacity: 0.7;
  97. }
  98. }
  99. /* 主容器 */
  100. .login-container {
  101. min-height: 100vh;
  102. display: flex;
  103. align-items: center;
  104. justify-content: center;
  105. padding: 20px;
  106. position: relative;
  107. }
  108. /* 登录卡片 */
  109. .login-card {
  110. width: 100%;
  111. max-width: 595px;
  112. padding: 50px 40px;
  113. text-align: center;
  114. background: rgba(255, 255, 255, 0.9);
  115. backdrop-filter: blur(25px);
  116. border: 1px solid rgba(255, 255, 255, 0.3);
  117. border-radius: 24px;
  118. box-shadow:
  119. 0 25px 45px rgba(0, 0, 0, 0.08),
  120. 0 0 0 1px rgba(255, 255, 255, 0.8),
  121. inset 0 1px 0 rgba(255, 255, 255, 0.9);
  122. position: relative;
  123. overflow: hidden;
  124. animation: cardEntrance 0.8s ease-out;
  125. }
  126. .login-card::before {
  127. content: '';
  128. position: absolute;
  129. top: 0;
  130. left: -100%;
  131. width: 100%;
  132. height: 100%;
  133. background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent);
  134. transition: left 0.6s ease;
  135. }
  136. .login-card:hover::before {
  137. left: 100%;
  138. }
  139. @keyframes cardEntrance {
  140. from {
  141. opacity: 0;
  142. transform: translateY(30px) scale(0.95);
  143. }
  144. to {
  145. opacity: 1;
  146. transform: translateY(0) scale(1);
  147. }
  148. }
  149. /* 装饰元素 */
  150. .card-decoration {
  151. position: absolute;
  152. top: 20px;
  153. left: 50%;
  154. transform: translateX(-50%);
  155. display: flex;
  156. align-items: center;
  157. gap: 8px;
  158. }
  159. .decoration-line {
  160. width: 30px;
  161. height: 2px;
  162. background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.4), transparent);
  163. border-radius: 1px;
  164. }
  165. .decoration-dot {
  166. width: 6px;
  167. height: 6px;
  168. background: rgba(59, 130, 246, 0.6);
  169. border-radius: 50%;
  170. animation: pulse 2s infinite;
  171. }
  172. /* 登录头部 */
  173. .login-header {
  174. margin-bottom: 50px;
  175. position: relative;
  176. }
  177. .logo-container {
  178. position: relative;
  179. display: inline-block;
  180. margin-bottom: 25px;
  181. }
  182. .logo-glow {
  183. position: absolute;
  184. top: 50%;
  185. left: 50%;
  186. transform: translate(-50%, -50%);
  187. width: 120px;
  188. height: 120px;
  189. background: radial-gradient(circle, rgba(59, 130, 246, 0.2) 0%, transparent 70%);
  190. border-radius: 50%;
  191. animation: glow 3s ease-in-out infinite alternate;
  192. }
  193. @keyframes glow {
  194. from {
  195. opacity: 0.5;
  196. transform: translate(-50%, -50%) scale(1);
  197. }
  198. to {
  199. opacity: 0.8;
  200. transform: translate(-50%, -50%) scale(1.1);
  201. }
  202. }
  203. .login-logo {
  204. width: 90px;
  205. height: 90px;
  206. border-radius: 22px;
  207. box-shadow:
  208. 0 8px 32px rgba(0, 0, 0, 0.1),
  209. 0 0 0 1px rgba(255, 255, 255, 0.8);
  210. position: relative;
  211. z-index: 1;
  212. transition: transform 0.3s ease;
  213. }
  214. .login-logo:hover {
  215. transform: scale(1.05);
  216. }
  217. .login-header h1 {
  218. font-size: 32px;
  219. font-weight: 700;
  220. color: #1e293b;
  221. margin-bottom: 12px;
  222. background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  223. -webkit-background-clip: text;
  224. -webkit-text-fill-color: transparent;
  225. background-clip: text;
  226. letter-spacing: -0.5px;
  227. }
  228. .login-subtitle {
  229. font-size: 18px;
  230. color: #64748b;
  231. margin: 0 0 20px 0;
  232. font-weight: 400;
  233. }
  234. .header-underline {
  235. width: 60px;
  236. height: 3px;
  237. background: linear-gradient(90deg, #3b82f6, #8b5cf6);
  238. border-radius: 2px;
  239. margin: 0 auto;
  240. animation: underlineExpand 0.8s ease-out 0.5s both;
  241. }
  242. @keyframes underlineExpand {
  243. from {
  244. width: 0;
  245. opacity: 0;
  246. }
  247. to {
  248. width: 60px;
  249. opacity: 1;
  250. }
  251. }
  252. /* 登录方法 */
  253. .login-methods {
  254. display: flex;
  255. flex-direction: column;
  256. gap: 24px;
  257. margin-bottom: 40px;
  258. }
  259. .login-method {
  260. display: flex;
  261. align-items: center;
  262. padding: 28px;
  263. background: rgba(255, 255, 255, 0.8);
  264. border-radius: 20px;
  265. border: 1px solid rgba(226, 232, 240, 0.8);
  266. transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  267. position: relative;
  268. overflow: hidden;
  269. backdrop-filter: blur(10px);
  270. gap: 24px; /* 增加元素之间的间距 */
  271. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  272. }
  273. .login-method::before {
  274. content: '';
  275. position: absolute;
  276. top: 0;
  277. left: -100%;
  278. width: 100%;
  279. height: 100%;
  280. background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.08), transparent);
  281. transition: left 0.6s ease;
  282. }
  283. .login-method:hover::before {
  284. left: 100%;
  285. }
  286. .login-method:hover {
  287. transform: translateY(-4px);
  288. box-shadow:
  289. 0 20px 40px rgba(0, 0, 0, 0.1),
  290. 0 0 0 1px rgba(59, 130, 246, 0.2);
  291. border-color: rgba(59, 130, 246, 0.3);
  292. }
  293. .method-icon {
  294. width: 56px;
  295. height: 56px;
  296. border-radius: 16px;
  297. display: flex;
  298. align-items: center;
  299. justify-content: center;
  300. margin-right: 0; /* 移除右边距,使用gap控制间距 */
  301. position: relative;
  302. overflow: hidden;
  303. flex-shrink: 0; /* 防止图标被压缩 */
  304. }
  305. .icon-bg {
  306. position: absolute;
  307. top: 0;
  308. left: 0;
  309. width: 100%;
  310. height: 100%;
  311. background: linear-gradient(135deg, #00A6FB, #0582ca); /* 钉钉品牌色渐变 */
  312. border-radius: 16px;
  313. transition: transform 0.3s ease;
  314. }
  315. .method-svg {
  316. width: 32px;
  317. height: 32px;
  318. position: relative;
  319. z-index: 1;
  320. transition: transform 0.3s ease;
  321. /* filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3)); */
  322. }
  323. /* 确保图标在亮色主题下清晰可见 */
  324. .method-svg circle,
  325. .method-svg path {
  326. stroke-width: 2;
  327. }
  328. /* 钉钉图标特殊处理,确保在浅色背景下可见 */
  329. .method-svg[alt="钉钉"] {
  330. filter: drop-shadow(0 2px 6px rgba(50, 150, 250, 0.4));
  331. /* background: rgba(255, 255, 255, 0.95); */
  332. border-radius: 10px;
  333. padding: 6px;
  334. width: 45px;
  335. height: 45px;
  336. transition: all 0.3s ease;
  337. /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
  338. }
  339. .login-method:hover .icon-bg {
  340. transform: scale(1.1);
  341. }
  342. .login-method:hover .method-svg {
  343. transform: scale(1.1);
  344. }
  345. /* 钉钉图标悬停效果 */
  346. .login-method:hover .method-svg[alt="钉钉"] {
  347. /* filter: drop-shadow(0 4px 12px rgba(50, 150, 250, 0.6)); */
  348. transform: scale(1.1) rotate(3deg);
  349. /* background: rgba(255, 255, 255, 1); */
  350. /* box-shadow: 0 4px 16px rgba(50, 150, 250, 0.3); */
  351. }
  352. .method-info {
  353. flex: 1;
  354. text-align: left;
  355. position: relative;
  356. margin-right: 5px; /* 增加与按钮的间距 */
  357. }
  358. .method-info h3 {
  359. font-size: 20px;
  360. font-weight: 600;
  361. color: #1e293b;
  362. margin: 0 0 6px 0;
  363. letter-spacing: -0.3px;
  364. }
  365. .method-info p {
  366. font-size: 15px;
  367. color: #64748b;
  368. margin: 0 0 8px 0;
  369. line-height: 1.4;
  370. }
  371. .method-badge {
  372. display: inline-block;
  373. background: linear-gradient(135deg, #10b981, #059669);
  374. color: white;
  375. font-size: 12px;
  376. font-weight: 600;
  377. padding: 4px 12px;
  378. border-radius: 20px;
  379. text-transform: uppercase;
  380. letter-spacing: 0.5px;
  381. box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
  382. }
  383. /* 登录按钮 */
  384. .login-btn {
  385. width: 165px;
  386. padding: 12px 0;
  387. border: none;
  388. border-radius: 12px;
  389. font-size: 15px;
  390. font-weight: 600;
  391. cursor: pointer;
  392. transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  393. text-transform: uppercase;
  394. letter-spacing: 0.5px;
  395. position: relative;
  396. overflow: hidden;
  397. display: flex;
  398. align-items: center;
  399. gap: 8px;
  400. flex-shrink: 0; /* 防止按钮被压缩 */
  401. min-width: 120px; /* 设置最小宽度 */
  402. justify-content: center; /* 按钮内容居中 */
  403. }
  404. .dingtalk-btn {
  405. background: linear-gradient(135deg, #00a6fb, #0582ca);
  406. color: white;
  407. box-shadow:
  408. 0 8px 24px rgba(0, 166, 251, 0.3),
  409. 0 0 0 1px rgba(0, 166, 251, 0.1);
  410. }
  411. .dingtalk-btn:hover {
  412. transform: translateY(-2px);
  413. box-shadow:
  414. 0 12px 32px rgba(0, 166, 251, 0.4),
  415. 0 0 0 1px rgba(0, 166, 251, 0.2);
  416. }
  417. .dingtalk-btn:active {
  418. transform: translateY(0);
  419. }
  420. .btn-text {
  421. position: relative;
  422. z-index: 1;
  423. }
  424. .btn-icon {
  425. font-size: 18px;
  426. transition: transform 0.3s ease;
  427. }
  428. .dingtalk-btn:hover .btn-icon {
  429. transform: translateX(4px);
  430. }
  431. /* 登录页脚 */
  432. .login-footer {
  433. margin-top: 40px;
  434. padding-top: 25px;
  435. border-top: 1px solid rgba(226, 232, 240, 0.8);
  436. }
  437. .login-footer p {
  438. font-size: 14px;
  439. color: #64748b;
  440. margin: 0;
  441. line-height: 1.5;
  442. }
  443. .terms-link, .privacy-link {
  444. color: #3b82f6;
  445. text-decoration: none;
  446. font-weight: 500;
  447. transition: all 0.3s ease;
  448. position: relative;
  449. }
  450. .terms-link::after, .privacy-link::after {
  451. content: '';
  452. position: absolute;
  453. bottom: -2px;
  454. left: 0;
  455. width: 0;
  456. height: 1px;
  457. background: #3b82f6;
  458. transition: width 0.3s ease;
  459. }
  460. .terms-link:hover::after, .privacy-link:hover::after {
  461. width: 100%;
  462. }
  463. .terms-link:hover, .privacy-link:hover {
  464. color: #1d4ed8;
  465. }
  466. /* 登录状态提示样式 */
  467. .login-status {
  468. position: fixed;
  469. top: 0;
  470. left: 0;
  471. width: 100%;
  472. height: 100%;
  473. background: rgba(0, 0, 0, 0.3);
  474. backdrop-filter: blur(10px);
  475. display: flex;
  476. justify-content: center;
  477. align-items: center;
  478. z-index: 1000;
  479. animation: fadeIn 0.3s ease;
  480. }
  481. @keyframes fadeIn {
  482. from { opacity: 0; }
  483. to { opacity: 1; }
  484. }
  485. .status-content {
  486. text-align: center;
  487. padding: 50px;
  488. background: rgba(255, 255, 255, 0.95);
  489. border-radius: 20px;
  490. backdrop-filter: blur(20px);
  491. border: 1px solid rgba(255, 255, 255, 0.8);
  492. box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  493. animation: slideUp 0.4s ease;
  494. }
  495. @keyframes slideUp {
  496. from {
  497. opacity: 0;
  498. transform: translateY(20px);
  499. }
  500. to {
  501. opacity: 1;
  502. transform: translateY(0);
  503. }
  504. }
  505. .status-icon {
  506. font-size: 56px;
  507. margin-bottom: 24px;
  508. animation: pulse 2s infinite;
  509. }
  510. .status-text {
  511. font-size: 20px;
  512. color: #1e293b;
  513. font-weight: 500;
  514. }
  515. /* 响应式设计 */
  516. @media (max-width: 768px) {
  517. .login-container {
  518. padding: 15px;
  519. }
  520. .login-card {
  521. padding: 40px 25px;
  522. border-radius: 20px;
  523. }
  524. .login-header h1 {
  525. font-size: 28px;
  526. }
  527. .login-subtitle {
  528. font-size: 16px;
  529. }
  530. .login-method {
  531. padding: 24px 20px;
  532. flex-direction: column;
  533. text-align: center;
  534. gap: 20px; /* 移动端增加垂直间距 */
  535. }
  536. .method-icon {
  537. margin-right: 0;
  538. margin-bottom: 0; /* 移除底部边距,使用gap控制 */
  539. }
  540. .method-info {
  541. text-align: center;
  542. margin-right: 0; /* 移动端移除右边距 */
  543. }
  544. .method-badge {
  545. margin-top: 8px;
  546. }
  547. .login-btn {
  548. width: 100%;
  549. justify-content: center;
  550. min-width: auto; /* 移动端移除最小宽度限制 */
  551. }
  552. .shape {
  553. display: none;
  554. }
  555. }
  556. @media (max-width: 480px) {
  557. .login-card {
  558. padding: 30px 20px;
  559. }
  560. .login-header h1 {
  561. font-size: 24px;
  562. }
  563. .login-logo {
  564. width: 70px;
  565. height: 70px;
  566. }
  567. .logo-glow {
  568. width: 100px;
  569. height: 100px;
  570. }
  571. }
  572. /* 加载动画 */
  573. .loading-spinner {
  574. width: 24px;
  575. height: 24px;
  576. border: 3px solid rgba(226, 232, 240, 0.8);
  577. border-top: 3px solid #3b82f6;
  578. border-radius: 50%;
  579. animation: spin 1s linear infinite;
  580. margin: 0 auto;
  581. }
  582. @keyframes spin {
  583. 0% { transform: rotate(0deg); }
  584. 100% { transform: rotate(360deg); }
  585. }
  586. /* 错误提示样式 */
  587. .error-message {
  588. background: rgba(239, 68, 68, 0.1);
  589. color: #dc2626;
  590. padding: 16px 20px;
  591. border-radius: 12px;
  592. margin: 20px 0;
  593. border-left: 4px solid #ef4444;
  594. font-size: 14px;
  595. backdrop-filter: blur(10px);
  596. }
  597. /* 成功提示样式 */
  598. .success-message {
  599. background: rgba(34, 197, 94, 0.1);
  600. color: #16a34a;
  601. padding: 16px 20px;
  602. border-radius: 12px;
  603. margin: 20px 0;
  604. border-left: 4px solid #22c55e;
  605. font-size: 14px;
  606. backdrop-filter: blur(10px);
  607. }
  608. /* 滚动条样式 */
  609. ::-webkit-scrollbar {
  610. width: 8px;
  611. }
  612. ::-webkit-scrollbar-track {
  613. background: rgba(226, 232, 240, 0.8);
  614. border-radius: 4px;
  615. }
  616. ::-webkit-scrollbar-thumb {
  617. background: rgba(148, 163, 184, 0.6);
  618. border-radius: 4px;
  619. }
  620. ::-webkit-scrollbar-thumb:hover {
  621. background: rgba(148, 163, 184, 0.8);
  622. }
  623. /* 登录成功页面专用样式 */
  624. .success-content {
  625. text-align: center;
  626. margin-top: 30px;
  627. }
  628. .success-icon {
  629. width: 80px;
  630. height: 80px;
  631. margin: 0 auto 30px;
  632. background: linear-gradient(135deg, #10b981, #059669);
  633. border-radius: 50%;
  634. display: flex;
  635. align-items: center;
  636. justify-content: center;
  637. box-shadow:
  638. 0 8px 32px rgba(16, 185, 129, 0.3),
  639. 0 0 0 1px rgba(16, 185, 129, 0.1);
  640. animation: successPulse 2s ease-in-out infinite;
  641. }
  642. .success-icon svg {
  643. width: 40px;
  644. height: 40px;
  645. color: white;
  646. stroke-width: 3;
  647. }
  648. @keyframes successPulse {
  649. 0%, 100% {
  650. transform: scale(1);
  651. box-shadow:
  652. 0 8px 32px rgba(16, 185, 129, 0.3),
  653. 0 0 0 1px rgba(16, 185, 129, 0.1);
  654. }
  655. 50% {
  656. transform: scale(1.05);
  657. box-shadow:
  658. 0 12px 40px rgba(16, 185, 129, 0.4),
  659. 0 0 0 1px rgba(16, 185, 129, 0.2);
  660. }
  661. }
  662. .user-info {
  663. background: rgba(255, 255, 255, 0.8);
  664. border-radius: 16px;
  665. padding: 24px;
  666. margin: 30px 0;
  667. border: 1px solid rgba(226, 232, 240, 0.8);
  668. backdrop-filter: blur(10px);
  669. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  670. }
  671. .user-name {
  672. font-size: 24px;
  673. font-weight: 700;
  674. color: #1e293b;
  675. margin-bottom: 8px;
  676. background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
  677. -webkit-background-clip: text;
  678. -webkit-text-fill-color: transparent;
  679. background-clip: text;
  680. }
  681. .user-type {
  682. font-size: 16px;
  683. color: #64748b;
  684. font-weight: 500;
  685. text-transform: uppercase;
  686. letter-spacing: 1px;
  687. background: linear-gradient(135deg, #10b981, #059669);
  688. color: white;
  689. padding: 6px 16px;
  690. border-radius: 20px;
  691. display: inline-block;
  692. box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
  693. }
  694. .redirect-container {
  695. display: flex;
  696. align-items: center;
  697. justify-content: center;
  698. gap: 12px;
  699. margin-top: 30px;
  700. padding: 20px;
  701. background: rgba(255, 255, 255, 0.6);
  702. border-radius: 12px;
  703. border: 1px solid rgba(226, 232, 240, 0.6);
  704. backdrop-filter: blur(10px);
  705. }
  706. .redirect-container span {
  707. font-size: 16px;
  708. color: #64748b;
  709. font-weight: 500;
  710. }
  711. /* 响应式设计 - 登录成功页面 */
  712. @media (max-width: 768px) {
  713. .success-icon {
  714. width: 60px;
  715. height: 60px;
  716. margin-bottom: 20px;
  717. }
  718. .success-icon svg {
  719. width: 30px;
  720. height: 30px;
  721. }
  722. .user-info {
  723. padding: 20px;
  724. margin: 20px 0;
  725. }
  726. .user-name {
  727. font-size: 20px;
  728. }
  729. .user-type {
  730. font-size: 14px;
  731. padding: 4px 12px;
  732. }
  733. .redirect-container {
  734. padding: 16px;
  735. margin-top: 20px;
  736. }
  737. .redirect-container span {
  738. font-size: 14px;
  739. }
  740. }
  741. @media (max-width: 480px) {
  742. .success-icon {
  743. width: 50px;
  744. height: 50px;
  745. }
  746. .success-icon svg {
  747. width: 25px;
  748. height: 25px;
  749. }
  750. .user-info {
  751. padding: 16px;
  752. }
  753. .user-name {
  754. font-size: 18px;
  755. }
  756. }