Files
frontend/apps/cm/src/app/styles/components.css
T
jcchoi 4efdcfe0fc
Deploy Frontend / deploy (push) Successful in 7m55s
공통 테마 적용
2026-10-12 18:47:26 +09:00

309 lines
5.3 KiB
CSS

/*
* 카드 관련 클래스(.card, .card-border, .card-header, .card-footer, .card_width*, .card_nopadding,
* .card_paddingnone, .card_nomargin, .card_title, .topline, .bottomline)와 테마 색상은
* 공통 @common/components/index.css(layout/common.css) + @common/assets base.css 변수에서 관리.
* 이 파일에는 앱 전용 레이아웃 차이와 페이지 전용 스타일만 둔다.
*/
/* 앱 레이아웃 차이: 카드 헤더를 카드 상단 끝까지 붙임 (공통 .card-header 에 추가) */
.card-header {
margin-top: -0.6rem;
}
/* 자료현황 스타일 */
.mid_info_area {
padding: 10px 5px;
height: 220px;
position: relative;
margin-top: 0;
}
.mi_list_swiper {
height: 100%;
width: 100%;
}
.mi_list {
height: 100%;
}
.ml_box {
position: relative;
width: 90%;
max-width: 90%;
height: 150px;
padding: 12px;
margin: 0 8px;
display: flex;
border-radius: 12px;
background: #f8f9fa;
border: 1px solid #e9ecef;
box-sizing: border-box;
transition: all 0.3s ease;
}
.ml_box:hover {
background: #e3f2fd;
border-color: #2196f3;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.mb_section {
display: flex;
flex-direction: column;
justify-content: center;
width: 100%;
}
.tit {
display: flex;
align-items: center;
margin-bottom: 12px;
}
.tit i {
font-size: 20px;
margin-right: 10px;
color: #2196f3;
}
.tt {
font-size: 16px;
font-weight: 600;
color: #333;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.info_row {
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
}
.info_item {
text-align: center;
width: 100%;
}
.info_label {
font-size: 12px;
color: #666;
margin-bottom: 4px;
}
.info_value {
font-size: 18px;
font-weight: bold;
color: #2196f3;
line-height: 1;
}
/* Swiper 네비게이션 스타일 */
.mi_list_swiper .swiper-button-next,
.mi_list_swiper .swiper-button-prev {
color: #2196f3;
width: 30px;
height: 30px;
margin-top: -15px;
}
.mi_list_swiper .swiper-button-next:after,
.mi_list_swiper .swiper-button-prev:after {
font-size: 16px;
}
.mi_list_swiper .swiper-pagination {
bottom: 5px;
}
.mi_list_swiper .swiper-pagination-bullet {
background: #2196f3;
opacity: 0.3;
}
.mi_list_swiper .swiper-pagination-bullet-active {
opacity: 1;
}
/* 특별시 스타일 */
.ml_box.special-city {
background: linear-gradient(135deg, #ff6b6b, #ff8e8e);
border-color: #ff4757;
color: white;
}
.ml_box.special-city .tt {
color: white;
font-weight: 700;
}
.ml_box.special-city .info_label {
color: rgba(255, 255, 255, 0.8);
}
.ml_box.special-city .info_value {
color: white;
}
.ml_box.special-city:hover {
background: linear-gradient(135deg, #ff5252, #ff7979);
transform: translateY(-3px);
box-shadow: 0 6px 12px rgba(255, 107, 107, 0.3);
}
/* 광역시 스타일 */
.ml_box.metropolitan-city {
background: linear-gradient(135deg, #4facfe, #00f2fe);
border-color: #2196f3;
color: white;
}
.ml_box.metropolitan-city .tt {
color: white;
font-weight: 600;
}
.ml_box.metropolitan-city .info_label {
color: rgba(255, 255, 255, 0.8);
}
.ml_box.metropolitan-city .info_value {
color: white;
}
.ml_box.metropolitan-city:hover {
background: linear-gradient(135deg, #2196f3, #21cbf3);
transform: translateY(-3px);
box-shadow: 0 6px 12px rgba(33, 150, 243, 0.3);
}
/* 광역도 스타일 */
.ml_box.province {
background: linear-gradient(135deg, #a8edea, #fed6e3);
border-color: #00bcd4;
color: #333;
}
.ml_box.province .tt {
color: #333;
font-weight: 600;
}
.ml_box.province .info_label {
color: #666;
}
.ml_box.province .info_value {
color: #00bcd4;
}
.ml_box.province:hover {
background: linear-gradient(135deg, #00bcd4, #26c6da);
color: white;
transform: translateY(-3px);
box-shadow: 0 6px 12px rgba(0, 188, 212, 0.3);
}
.ml_box.province:hover .tt,
.ml_box.province:hover .info_label,
.ml_box.province:hover .info_value {
color: white;
}
/* 네이버 스타일 로그인 박스 */
.login_info_box {
padding: 20px;
background: #fff;
border: 1px solid #e1e5e9;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.login_header {
display: flex;
align-items: center;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #f0f0f0;
width: 100%;
}
.login_avatar {
width: 40px;
height: 40px;
border-radius: 50%;
overflow: hidden;
margin-right: 12px;
border: 2px solid #e1e5e9;
}
.login_avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.login_user_info {
flex: 1;
}
.user_name {
font-size: 14px;
font-weight: 600;
color: #333;
margin-bottom: 2px;
}
.user_status {
font-size: 12px;
color: #03c75a;
font-weight: 500;
}
.login_actions {
width: 100%;
display: flex;
gap: 8px;
}
.login_btn {
flex: 1;
height: 40px;
background: #03c75a;
color: #fff;
border: none;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
}
.login_btn:hover {
background: #02b351;
transform: translateY(-1px);
}
.signup_btn {
flex: 1;
height: 40px;
background: #fff;
color: #03c75a;
border: 1px solid #03c75a;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
}
.signup_btn:hover {
background: #03c75a;
color: #fff;
transform: translateY(-1px);
}