1+ /* Overlay escuro que cobre toda a tela */
2+ .modal-overlay {
3+ position : fixed;
4+ inset : 0 ;
5+ background-color : rgba (2 , 6 , 23 , 0.48 ); /* slightly less opaque */
6+ display : flex;
7+ align-items : center;
8+ justify-content : center;
9+ z-index : 1050 ;
10+ backdrop-filter : blur (4px );
11+ animation : fadeIn 0.18s ease;
12+ }
13+
14+ /* Caixa do modal */
15+ .modal-box {
16+ background : # ffffff ; /* light modal body */
17+ border-radius : 14px ;
18+ width : 100% ;
19+ max-width : 420px ;
20+ box-shadow : 0 20px 40px rgba (2 , 6 , 23 , 0.18 );
21+ overflow : hidden;
22+ animation : slideUp 0.22s cubic-bezier (.2 , .9 , .3 , 1 );
23+ color : # 04263b ; /* dark text for readability */
24+ }
25+
26+ .modal-header-custom {
27+ background : linear-gradient (90deg , rgba (13 , 27 , 45 , 0.98 ), rgba (2 , 6 , 23 , 0.98 ));
28+ color : # e6eef8 ;
29+ padding : 18px 20px ;
30+ display : flex;
31+ gap : 12px ;
32+ align-items : center;
33+ }
34+
35+ .header-icon { background : rgba (125 , 211 , 252 , 0.06 ); padding : 10px ; border-radius : 8px ; display : flex; align-items : center; justify-content : center }
36+ .header-icon .fa-robot { color : # 7dd3fc ; font-size : 1.25rem }
37+ .header-text h5 { margin : 0 ; font-weight : 700 ; color : # e6eef8 }
38+ .header-text .hint { font-size : 0.86rem ; color : # 9aa6b2 }
39+
40+
41+ .modal-body-custom { padding : 20px ; background : # ffffff ; }
42+
43+ .error-box { background : rgba (220 , 38 , 38 , 0.08 ); color : # 6b1414 ; padding : 8px 10px ; border-radius : 8px ; margin-bottom : 12px ; display : flex; align-items : center }
44+
45+ /* Make input area brighter for readability */
46+ .input-password .input-group-text {
47+ background : # f3fbff ;
48+ border : 1px solid rgba (2 , 6 , 23 , 0.06 );
49+ color : # 04263b ;
50+ }
51+ .input-password .form-control {
52+ background : # f7fcff ; /* light input for high contrast */
53+ border : 1px solid rgba (2 , 6 , 23 , 0.06 );
54+ color : # 04263b ; /* dark text for readability */
55+ border-radius : 8px ;
56+ }
57+ .input-password .form-control : focus {
58+ box-shadow : 0 10px 28px rgba (56 , 189 , 248 , 0.08 );
59+ border-color : rgba (56 , 189 , 248 , 0.2 );
60+ outline : none;
61+ }
62+
63+ /* placeholder color */
64+ .input-password .form-control ::placeholder { color : rgba (4 , 38 , 59 , 0.45 ); }
65+ .input-password .form-control : -ms-input-placeholder { color : rgba (4 , 38 , 59 , 0.45 ); }
66+ .input-password .form-control ::-ms-input-placeholder { color : rgba (4 , 38 , 59 , 0.45 ); }
67+
68+ .btn-submit { display : inline-flex; align-items : center; justify-content : center; padding : 10px 14px ; border-radius : 10px ; border : none; font-weight : 700 ; background : linear-gradient (90deg , # 7dd3fc, # 38bdf8 ); color : # 04263b }
69+ .btn-submit : disabled { opacity : 0.6 }
70+
71+ .modal-footer-custom {
72+ padding : 12px 20px ;
73+ text-align : center;
74+ background : transparent;
75+ border-top : 1px solid rgba (2 , 6 , 23 , 0.06 ); /* subtle divider on light background */
76+ color : # 64748b ;
77+ }
78+
79+ /* Footer note layout and separator */
80+ .footer-note { display : inline-flex; align-items : center; gap : 8px ; color : # 64748b ; font-size : 0.9rem }
81+ .footer-note .footer-text { display : inline-block }
82+ .footer-note .footer-separator {
83+ width : 6px ;
84+ height : 6px ;
85+ background : # cbd5e1 ;
86+ border-radius : 50% ;
87+ display : inline-block;
88+ margin : 0 6px ;
89+ }
90+
91+ @keyframes fadeIn { from { opacity : 0 ; } to { opacity : 1 ; } }
92+ @keyframes slideUp { from { transform : translateY (20px ); opacity : 0 ; } to { transform : translateY (0 ); opacity : 1 ; } }
93+
94+ /* small screens */
95+ @media (max-width : 420px ) {
96+ .modal-box { max-width : 92% ; }
97+ .modal-header-custom { padding : 14px }
98+ .modal-body-custom { padding : 14px }
99+ }
0 commit comments