login.css 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. /* Core viewport and baseline coordinates layout framework */
  2. .auth-page-container {
  3. min-height: 100vh;
  4. width: 100%;
  5. background-color: #0b0b11;
  6. display: flex;
  7. align-items: center;
  8. justify-content: center;
  9. box-sizing: border-box;
  10. font-family: 'Inter', sans-serif;
  11. overflow-x: hidden;
  12. }
  13. .auth-split-matrix-layout {
  14. display: flex;
  15. width: 100%;
  16. min-height: 100vh;
  17. /* Translucent overlay background for the whole split split screen framework */
  18. background-color: rgba(20, 20, 30, 0.2);
  19. }
  20. /* ==========================================================================
  21. LEFT PANEL STYLES: Now styled directly as the floating layout card container
  22. ========================================================================== */
  23. .auth-left-brand-panel {
  24. flex: 1.2;
  25. /* Seamless blending: deep radial gradient fade over the core image texture asset */
  26. background-image:
  27. linear-gradient(135deg, rgba(15, 15, 22, 0.85) 0%, rgba(11, 11, 17, 0.92) 100%),
  28. url('../../assets/background-register-login.png');
  29. background-size: cover;
  30. background-position: center center;
  31. background-repeat: no-repeat;
  32. /*border-right: 1px solid rgba(255, 255, 255, 0.05);*/
  33. padding: 60px 80px;
  34. display: flex;
  35. flex-direction: column;
  36. justify-content: center;
  37. box-sizing: border-box;
  38. position: relative;
  39. overflow: hidden;
  40. }
  41. /* Enhancing cosmic atmospheric light projection effect matching Webflow specifications */
  42. .auth-left-brand-panel::before {
  43. content: '';
  44. position: absolute;
  45. top: -10%;
  46. left: -10%;
  47. width: 300px;
  48. height: 300px;
  49. background-color: rgba(126, 91, 216, 0.15); /* Soft ambient nebula reflection purple */
  50. border-radius: 50%;
  51. filter: blur(80px);
  52. pointer-events: none;
  53. z-index: 1;
  54. }
  55. /* Ensure all semantic components inside the left sidebar sit safely above the ambient backdrop mask layer */
  56. .brand-identity-anchor,
  57. .heading-text-white,
  58. .paragraph-text-nexus-muted,
  59. .feature-bullets-stack-group {
  60. position: relative;
  61. z-index: 2;
  62. }
  63. @media (max-width: 960px) {
  64. .auth-left-brand-panel { display: none; } /* Adaptive responsive collapse layout grid rule */
  65. }
  66. .brand-identity-anchor {
  67. display: flex;
  68. align-items: center;
  69. gap: 12px;
  70. margin-bottom: 48px;
  71. text-decoration: none;
  72. }
  73. .brand-gradient-logo-box {
  74. width: 44px;
  75. height: 44px;
  76. border-radius: 0.75rem;
  77. display: flex;
  78. align-items: center;
  79. justify-content: center;
  80. background-image: linear-gradient(to bottom right, #7E5BD8, #00d2ff); /* Blueprint gradient track config */
  81. color: #ffffff;
  82. box-shadow: 0 0 20px rgba(126, 91, 216, 0.4);
  83. }
  84. .logo-svg-vector {
  85. width: 30px;
  86. height: 30px;
  87. }
  88. .brand-name-text {
  89. font-family: 'Rajdhani', sans-serif;
  90. font-weight: 700;
  91. font-size: 1.875rem;
  92. letter-spacing: 0.1em;
  93. color: #ffffff;
  94. }
  95. .heading-text-white {
  96. font-family: 'Rajdhani', sans-serif;
  97. font-size: 3.75rem;
  98. font-weight: 700;
  99. line-height: 1.25;
  100. color: #ffffff;
  101. margin: 0 0 16px 0;
  102. }
  103. .gradient-accent-text {
  104. background-image: linear-gradient(to right, #7E5BD8, #00d2ff);
  105. -webkit-background-clip: text;
  106. -webkit-text-fill-color: transparent;
  107. }
  108. .paragraph-text-nexus-muted {
  109. font-size: 1rem;
  110. line-height: 1.625;
  111. color: #a0a0b8; /* #a0a0b8 text layout palette marker */
  112. max-width: 460px;
  113. margin: 0 0 40px 0;
  114. }
  115. .feature-bullets-stack-group {
  116. display: flex;
  117. flex-direction: column;
  118. gap: 16px;
  119. }
  120. .bullet-row-item {
  121. display: flex;
  122. align-items: center;
  123. gap: 12px;
  124. background-color: rgba(26, 26, 46, 0.6); /* Transparent backdrop card wrapper background */
  125. border: 1px solid #2a2a40;
  126. border-radius: 9999px;
  127. padding: 8px 16px;
  128. width: fit-content;
  129. }
  130. .checkmark-icon-capsule {
  131. color: #00ff88; /* Derived directly from dom-text-nexus green spec */
  132. font-size: 12px;
  133. font-weight: 700;
  134. }
  135. .bullet-label-span {
  136. font-size: 0.75rem;
  137. font-weight: 500;
  138. color: #ffffff;
  139. }
  140. /* ==========================================================================
  141. RIGHT PANEL STYLES: Core credentials entry form module
  142. ========================================================================== */
  143. .auth-right-credentials-panel {
  144. flex: 1;
  145. display: flex;
  146. align-items: center;
  147. justify-content: center;
  148. padding: 64px;
  149. box-sizing: border-box;
  150. background-color: #14141e;
  151. }
  152. .credentials-inner-capsule {
  153. width: 100%;
  154. max-width: 420px;
  155. }
  156. .auth-section-header-box {
  157. margin-bottom: 32px;
  158. }
  159. .auth-main-title {
  160. font-family: 'Rajdhani', sans-serif;
  161. font-size: 1.875rem;
  162. font-weight: 700;
  163. color: #ffffff;
  164. margin: 0 0 4px 0;
  165. }
  166. .auth-subtitle {
  167. font-size: 0.875rem;
  168. color: #a0a0b8;
  169. margin: 0;
  170. }
  171. /* Form structure constraints blueprints mapping */
  172. .native-credential-form-element {
  173. display: flex;
  174. flex-direction: column;
  175. gap: 20px;
  176. }
  177. .input-field-group-stack {
  178. display: flex;
  179. flex-direction: column;
  180. gap: 8px;
  181. }
  182. .input-label-with-action-row {
  183. display: flex;
  184. justify-content: space-between;
  185. align-items: center;
  186. }
  187. .native-input-label {
  188. font-size: 0.75rem;
  189. font-weight: 500;
  190. color: #a0a0b8;
  191. text-transform: uppercase;
  192. letter-spacing: 0.05em;
  193. }
  194. .inner-form-forgot-link {
  195. font-size: 0.75rem;
  196. font-weight: 500;
  197. color: #a27cff; /* Styled to matching link-text-nexus-accent-glow configuration token */
  198. text-decoration: none;
  199. }
  200. .inner-form-forgot-link:hover {
  201. text-decoration: underline;
  202. }
  203. .native-form-text-input {
  204. width: 100%;
  205. background-color: #0f0f16; /* Dark field canvas color #0f0f16 */
  206. border: 1px solid #2a2a40;
  207. border-radius: 0.75rem;
  208. padding: 14px 16px;
  209. font-size: 0.875rem;
  210. color: #ffffff;
  211. outline: none;
  212. box-sizing: border-box;
  213. transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  214. }
  215. .native-form-text-input:focus {
  216. border-color: #7E5BD8;
  217. box-shadow: 0 0 0 2px rgba(126, 91, 216, 0.4);
  218. }
  219. .input-validation-error {
  220. border-color: #ef4444 !important;
  221. }
  222. .validation-tip-msg {
  223. font-size: 0.775rem;
  224. color: #ef4444;
  225. }
  226. /* Gradient primary authentication trigger controller */
  227. .action-submit-btn-gradient {
  228. width: 100%;
  229. padding: 14px;
  230. border: none;
  231. border-radius: 0.75rem;
  232. background-image: linear-gradient(to right, #7E5BD8, #00d2ff); /* Classic linear layout spec wrapper mapping */
  233. color: #ffffff;
  234. font-size: 0.875rem;
  235. font-weight: 700;
  236. cursor: pointer;
  237. box-shadow: 0 0 20px rgba(126, 91, 216, 0.4);
  238. transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  239. margin-top: 10px;
  240. }
  241. .action-submit-btn-gradient:hover:not(:disabled) {
  242. transform: translateY(-1px);
  243. box-shadow: 0 0 30px rgba(126, 91, 216, 0.6);
  244. }
  245. .action-submit-btn-gradient:disabled {
  246. opacity: 0.5;
  247. cursor: not-allowed;
  248. transform: none;
  249. box-shadow: none;
  250. }
  251. /* Bottom footer interface redirects link wrappers */
  252. .auth-footer-redirect-msg {
  253. text-align: center;
  254. font-size: 0.75rem;
  255. color: #a0a0b8;
  256. margin-top: 24px;
  257. }
  258. .redirect-hyperlink-token {
  259. color: #a27cff;
  260. text-decoration: none;
  261. font-weight: 500;
  262. }
  263. .redirect-hyperlink-token:hover {
  264. text-decoration: underline;
  265. }
  266. /* System Alerts Feedback Elements Mappings */
  267. .alert-banner {
  268. padding: 12px 16px;
  269. border-radius: 0.5rem;
  270. font-size: 0.875rem;
  271. margin-bottom: 20px;
  272. font-weight: 500;
  273. }
  274. .alert-success {
  275. background-color: rgba(0, 255, 136, 0.1);
  276. color: #00ff88;
  277. border: 1px solid rgba(0, 255, 136, 0.2);
  278. }
  279. .alert-danger {
  280. background-color: rgba(239, 68, 68, 0.1);
  281. color: #ef4444;
  282. border: 1px solid rgba(239, 68, 68, 0.2);
  283. }