1+ .upload-wrapper { max-width : 920px ; }
2+
3+ .upload-card { border-radius : 14px ; overflow : hidden; display : flex; flex-direction : column }
4+
5+ .card-header {
6+ background : linear-gradient (180deg , rgba (13 , 27 , 45 , 0.98 ), rgba (2 , 6 , 23 , 0.98 ));
7+ color : # cbd5e1 ;
8+ border-bottom : 1px solid rgba (255 , 255 , 255 , 0.03 );
9+ padding : 12px 16px ;
10+ display : flex;
11+ justify-content : space-between;
12+ align-items : center;
13+ }
14+
15+ .header-left { display : flex; gap : 12px ; align-items : center }
16+ .avatar-icon { font-size : 1.4rem ; color : # 7dd3fc ; background : rgba (125 , 211 , 252 , 0.05 ); padding : 8px ; border-radius : 8px }
17+ .upload-title { font-weight : 700 ; color : # e6eef8 }
18+ .upload-sub { font-size : 0.82rem ; color : # 9aa6b2 }
19+
20+ .card-body { padding : 18px }
21+
22+ .drop-zone {
23+ border-radius : 12px ;
24+ padding : 36px 24px ;
25+ text-align : center;
26+ cursor : pointer;
27+ transition : background-color 0.15s , box-shadow 0.15s ;
28+ background : linear-gradient (180deg , # f8fafc, # f6f8fb );
29+ border : 1px dashed rgba (2 , 6 , 23 , 0.06 );
30+ }
31+
32+ .drop-zone .dragging { background : rgba (125 , 211 , 252 , 0.04 ); box-shadow : 0 8px 30px rgba (2 , 6 , 23 , 0.04 ) }
33+ .upload-icon { color : # 38bdf8 }
34+
35+ .file-list { display : flex; flex-direction : column; gap : 10px }
36+
37+ .file-item { display : flex; align-items : center; background : # fff ; border-radius : 10px ; padding : 10px 12px ; box-shadow : 0 6px 18px rgba (2 , 6 , 23 , 0.04 ); }
38+ .file-left { width : 44px ; display : flex; align-items : center; justify-content : center; font-size : 1.1rem }
39+ .file-info { display : flex; flex-direction : column; flex : 1 ; min-width : 0 }
40+ .file-name { font-size : 0.95rem ; font-weight : 600 ; white-space : nowrap; overflow : hidden; text-overflow : ellipsis }
41+
42+ .file-actions { display : flex; align-items : center; gap : 12px }
43+ .status-message { font-size : 0.82rem ; color : # 64748b }
44+
45+ .card-footer { background : # fff ; border-top : 1px solid rgba (2 , 6 , 23 , 0.04 ); padding : 12px 16px }
46+
47+ .btn-send { background : linear-gradient (90deg , # 7dd3fc, # 38bdf8 ); border : none; color : # 04263b }
48+
49+ @media (max-width : 575px ) {
50+ .upload-wrapper { padding-left : 8px ; padding-right : 8px }
51+ }
52+
53+ /* Header action button (matches provided design) */
54+ .card-header .header-actions .header-btn {
55+ display : inline-flex;
56+ align-items : center;
57+ gap : 8px ;
58+ padding : 8px 14px ;
59+ border-radius : 10px ;
60+ color : # e6eef8 ;
61+ background : transparent;
62+ border : 1px solid rgba (255 , 255 , 255 , 0.08 );
63+ font-weight : 600 ;
64+ transition : background .12s ease, transform .08s ease;
65+ }
66+
67+ .card-header .header-actions .header-btn i { font-size : 16px }
68+
69+ .card-header .header-actions .header-btn : hover ,
70+ .card-header .header-actions .header-btn : focus {
71+ background : rgba (255 , 255 , 255 , 0.03 );
72+ transform : translateY (-1px );
73+ text-decoration : none;
74+ }
75+
76+ .card-header .header-actions .header-btn [disabled ] {
77+ opacity : 0.6 ;
78+ cursor : not-allowed;
79+ transform : none;
80+ }
0 commit comments