282282 margin-top : 8px ;
283283 background-color : var (--surface-popover );
284284 border : 1px solid var (--border-subtle );
285- border-radius : 6px ;
286- min-width : 250px ;
287- max-height : 300px ;
288- overflow-y : auto;
289- box-shadow : 0 14px 28px rgba (24 , 20 , 56 , 0.14 );
285+ border-radius : 12px ;
286+ min-width : 320px ;
287+ box-shadow : 0 16px 32px rgba (24 , 20 , 56 , 0.16 );
290288 z-index : 100 ;
291289 display : flex;
292290 flex-direction : column;
293- transition : all 0.3s ease;
291+ gap : 14px ;
292+ padding : 16px ;
293+ transition : transform 0.2s ease, opacity 0.2s ease;
294294 color : var (--text-primary );
295295}
296296
297- .notification-dropdown .expanded-dropdown {
298- width : 600px ;
299- max-height : 80vh ;
300- position : fixed;
301- top : 50% ;
302- left : 50% ;
303- transform : translate (-50% , -50% );
304- box-shadow : 0 24px 48px rgba (24 , 20 , 56 , 0.18 );
305- padding-top : 30px ;
297+ .notification-dropdown__header {
298+ display : flex;
299+ align-items : center;
300+ justify-content : space-between;
301+ gap : 12px ;
306302}
307303
308- .close-btn {
309- position : absolute;
310- top : 5px ;
311- right : 10px ;
312- background : none;
313- border : none;
314- color : # 888 ;
315- font-size : 1.5rem ;
316- cursor : pointer;
317- z-index : 101 ;
318- padding : 0 ;
319- line-height : 1 ;
304+ .notification-dropdown__title {
305+ font-weight : 700 ;
306+ font-size : 15px ;
320307}
321308
322- .close-btn : hover {
323- color : # 333 ;
309+ .notification-dropdown__badge {
310+ display : inline-flex;
311+ align-items : center;
312+ gap : 4px ;
313+ padding : 4px 10px ;
314+ border-radius : 999px ;
315+ background : rgba (139 , 112 , 255 , 0.15 );
316+ color : var (--accent-primary );
317+ font-size : 12px ;
318+ font-weight : 600 ;
324319}
325320
326- .notification-item {
327- padding : 10px 15px ;
328- border-bottom : 1px solid var (--border-subtle );
329- transition : background-color 0.2s ;
330- font-size : 14px ;
331- line-height : 1.4 ;
332- color : var (--text-primary );
321+ .notification-dropdown__list {
333322 display : flex;
334- align-items : center;
335- gap : 10px ;
336- font-weight : bold;
323+ flex-direction : column;
324+ gap : 8px ;
325+ max-height : 360px ;
326+ overflow-y : auto;
327+ overscroll-behavior : contain;
328+ scrollbar-gutter : stable;
329+ padding-right : 4px ;
337330}
338331
339- .notification-item : last-child {
340- border-bottom : none;
332+ .notification-item {
333+ width : 100% ;
334+ display : flex;
335+ align-items : flex-start;
336+ gap : 12px ;
337+ padding : 12px 14px ;
338+ border-radius : 10px ;
339+ border : 1px solid transparent;
340+ background-color : transparent;
341+ transition : background-color 0.2s ease, border-color 0.2s ease;
342+ color : var (--text-primary );
341343}
342344
343345.notification-item : hover {
344346 background-color : var (--surface-hover );
347+ border-color : var (--border-subtle );
345348}
346349
347350.notification-item .unread {
348- color : var ( --text-primary );
349- font-weight : bold ;
351+ border- color: rgba ( 139 , 112 , 255 , 0.45 );
352+ background-color : rgba ( 139 , 112 , 255 , 0.12 ) ;
350353}
351354
352355.notification-item .read {
353356 color : var (--text-muted );
354- font-weight : normal;
355357}
356358
357359.notification-message {
358- flex-grow : 1 ;
359- margin-right : 10px ;
360+ flex : 1 ;
361+ display : flex;
362+ flex-direction : column;
363+ gap : 6px ;
360364 background : none;
361365 border : none;
362366 text-align : left;
366370 padding : 0 ;
367371}
368372
373+ .notification-text {
374+ font-size : 14px ;
375+ line-height : 1.4 ;
376+ font-weight : 600 ;
377+ }
378+
379+ .notification-item .read .notification-text {
380+ font-weight : 500 ;
381+ color : var (--text-muted );
382+ }
383+
384+ .notification-meta {
385+ display : inline-flex;
386+ align-items : center;
387+ gap : 6px ;
388+ font-size : 12px ;
389+ color : var (--text-muted );
390+ }
391+
392+ .notification-meta__dot {
393+ font-size : 10px ;
394+ line-height : 1 ;
395+ }
396+
397+ .notification-meta time {
398+ color : inherit;
399+ }
400+
369401.notification-read-btn {
370402 background : none;
371403 border : 1px solid var (--border-subtle );
372- border-radius : 4 px ;
373- padding : 4 px 8 px ;
404+ border-radius : 8 px ;
405+ padding : 6 px 12 px ;
374406 font-size : 12px ;
407+ font-weight : 600 ;
375408 cursor : pointer;
376409 color : var (--text-muted );
377410 transition : background-color 0.2s , color 0.2s , border-color 0.2s ;
411+ align-self : flex-start;
378412}
379413
380414.notification-read-btn : hover {
392426}
393427
394428.no-notifications {
395- padding : 20 px 15 px ;
429+ padding : 28 px 18 px ;
396430 text-align : center;
397431 color : var (--text-muted );
432+ border : 1px dashed var (--border-subtle );
433+ border-radius : 12px ;
398434}
399435
400436.notification-footer {
401- padding : 10px ;
402- text-align : center;
437+ padding : 12px ;
403438 border-top : 1px solid var (--border-subtle );
404439}
405440
406- .pagination {
407- display : flex;
441+ .notification-view-all {
442+ width : 100% ;
443+ display : inline-flex;
444+ align-items : center;
408445 justify-content : center;
409- padding : 10px 0 ;
410- border-top : 1px solid var (--border-subtle );
411- }
412-
413- .pagination button {
414- background : none;
415- border : 1px solid var (--border-subtle );
416- padding : 5px 10px ;
417- margin : 0 4px ;
418- cursor : pointer;
419- border-radius : 4px ;
420- transition : background-color 0.2s , color 0.2s , border-color 0.2s ;
421- color : var (--text-muted );
422- }
423-
424- .pagination button .active {
425- background-color : var (--accent-secondary );
446+ gap : 10px ;
447+ padding : 10px 16px ;
448+ border-radius : 8px ;
449+ border : none;
450+ background : linear-gradient (135deg , var (--accent-secondary ), var (--accent-primary ));
426451 color : # ffffff ;
427- border-color : var (--accent-secondary );
452+ font-size : 14px ;
453+ font-weight : 600 ;
454+ cursor : pointer;
455+ transition : transform 0.18s ease, box-shadow 0.18s ease;
456+ box-shadow : 0 12px 24px -16px rgba (139 , 112 , 255 , 0.7 );
428457}
429458
430- .pagination button : hover : not (. active ) {
431- background-color : var ( --surface-hover );
432- color : var ( --text-primary );
459+ .notification-view-all : hover {
460+ transform : translateY ( -1 px );
461+ box-shadow : 0 18 px 30 px -18 px rgba ( 139 , 112 , 255 , 0.8 );
433462}
434463
435464.notification-item .unread {
441470 color : var (--accent-primary );
442471}
443472
444- .dark-mode .pagination button : hover : not (.active ) {
445- background-color : var (--surface-hover );
446- color : var (--text-primary );
447- }
448473.dark-mode .user-nickname {
449474 color : var (--accent-primary );
450475}
453478.dark-mode .user-nickname : hover {
454479 color : # ffffff ; /* hover 시 흰색 */
455480 text-decoration : underline; /* 밑줄 유지 */
481+ }
482+
483+ .dark-mode .notification-view-all {
484+ box-shadow : 0 18px 32px -18px rgba (24 , 20 , 56 , 0.6 );
456485}
0 commit comments