@charset "UTF-8"; .max--w320{ max-width:320px; } .container{ padding-left: 340px; height:100%; .content{ width: 100%; height:100%; display: flex; aside{ width:250px; border-right:1px solid #ccc; .aside--main--title{ padding:20px; background: #33559B; color:#fff; font-size:20px; } .aside--list{ display: flex; flex-direction: column; .v-btn{ padding:15px 10px; font-size:16px; cursor: pointer; justify-content: flex-start; padding-left:20px; &.actv{ background:#e4e4e4; } } } } .main{ padding: 20px; width:calc(100%); .btn--actions--wrap{ &.pb--rem{ padding-bottom: 0.75rem; align-items: flex-end; } display: flex; align-items: center; justify-content: space-between; padding-bottom:25px; } .left--sections{ display: flex; gap: 1rem; } .right--sections{ display: flex; gap: 1rem; .caption--wrap{ display: flex; align-items: center; position: relative; .ico{ font-size: 1rem; width: 2rem; height: 2rem; text-align: center; cursor: pointer; line-height: 2rem; border-radius: 50%; // background-color: #F74F78; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; display: inline-block; position: relative; font-style: normal; } .caption--box{ position: absolute; font-size: 0.875rem; bottom: 100%; border: 2px solid #DFE7EF; background-color: #fff; border-radius: 10px; right:0; line-height: 1.4; padding: 15px 20px; white-space: nowrap; color: #9DA9B6; z-index: 10; display: none; } &:hover{ .caption--box{ display: block; } } } } .data--list--wrap{ width:100%; .item--section{ border: 1px solid #ccc; padding: 2rem; display: flex; gap: 1rem; border-radius: 1rem; margin-bottom: 25px; .item--thumb{ background-color: #d9d9d9; justify-content: center; align-items: center; width: 20%; height: auto; overflow: hidden; display: flex; &.min--240{ min-height: 240px; } img{ width: 100%; height: 100%; object-fit: cover; } } .item--info{ display: flex; flex-direction: column; h2{ font-size: 1.5rem; margin-bottom: 1rem; } p{ font-size: 1rem; line-height: 1.4; } } } } .search--modules{ width:100%; display: flex; align-items: center; justify-content: center; gap:10px; border: 1px solid #eee; border-radius: 15px; padding:20px; margin-top:25px; background: #f0f4ff; &.type2{ flex-direction: column; align-items: flex-start; position: relative; .search--inner{ width: calc(100% - 120px); gap: 10px; display: flex; } .sch--btn{ position: absolute; right: 20px; top: 20px; height: calc(100% - 40px); } } .month--selector{ display: flex; align-items: center; overflow: hidden; border-radius: 10px; margin-left: 10px; background: #fff; border:1px solid #E2E2E2; .v-btn{ color: #666; font-size: 0.8rem; height: 2.25rem; font-style: normal; font-weight: 500; line-height: 100%; /* 12px */ letter-spacing: -0.48px; padding:0 1.2rem; border-radius: 0px; position: relative; &.actv{ color:#fff; background-color:#007aff; &:after{ display: none; } } } } .form--cont--filter{ width:100%; max-width:10.5rem; } .form--cont--text{ width:100%; max-width:calc(100% - 10.5rem); } .sch--btn{ // height:36px; height: 2.25rem; max-width:80px; } } .inner--headers{ display: flex; align-items: center; justify-content: space-between; margin-bottom:20px; > h2{ font-size:1.625rem; } .bread--crumbs--wrap{ display: flex; align-items: center; gap:5px; span{ font-size:.9rem; font-weight: 500; display: flex; align-items: center; gap:5px; &:before{ content:""; display: inline-flex; width:15px; height:15px; background: url(../img/ic_arrow_right_chv.svg) no-repeat center; } &:nth-of-type(1){ &:before{ display: none; } } &:last-child{ font-weight: bold; } } } } .item--list--wrap{ .no--data{ padding-top: 80px; text-align: center; } .item--list{ display: flex; gap: 20px; .item{ position: relative; cursor: pointer; width: calc((100% - 80px) / 5); border-radius: 20px; border: 1px solid #cccccc; padding: 1rem 1rem 1rem 1rem; .item--img { width: 100%; height: 10rem; background-color: #eee; border-radius: 20px; margin-bottom: 1.2rem; overflow: hidden; position: relative; img { width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; top: 0; left: 0; } } h3{ color: #444444; font-size: 1rem; overflow: hidden; line-height: 1.2; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 1rem; } p{ color: #888; line-height: 1.2; font-size: 0.8rem; margin-bottom: 0.8rem; } span{ color: #999; line-height: 1.2; display: block; font-size: 0.8rem; } .sold--out{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.2); border-radius: 18px; display: flex; align-items: center; justify-content: center; &.blue--type{ >span{ background-color: #007aff; } } >span{ color: #ffffff; text-align: center; font-size: 1.2rem; font-weight: 500; display: inline-block; padding: 0.8rem 3rem; background-color: red; border-radius: 50px; } } } } .cs--list--wrap{ border: 1px solid #eee; border-radius: 15px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.05); .cs--header{ background-color: #f0f4ff; padding: 20px 25px; height: 4rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eee; h3{ font-size: 1.2rem; font-weight: 600; color: #555; } .custom-btn{ height: 2.5rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 10px; width: 10%; color:#fff; font-weight: 500; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3); &:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); } } } .cs--list{ .list{ padding: 20px 25px; cursor: pointer; border-bottom: 1px solid #f0f0f0; transition: all 0.3s ease; display: flex; gap: 15px; align-items: center; &:hover { background-color: #f8f9ff; border-left: 4px solid #667eea; padding-left: 21px; } &:last-child { border-bottom: none; } > span, > div, > h3 { font-size: 0.9rem; &.list--seq { // SEQ font-weight: 600; color: #667eea; text-align: center; background: #f0f4ff; padding: 5px 10px; border-radius: 12px; font-size: 0.8rem; } &.list--circle { background: linear-gradient(135deg, #667eea, #764ba2); color: white; padding: 6px 12px; border-radius: 15px; font-size: 0.8rem; font-weight: 500; text-align: center; white-space: nowrap; // 마감 &.status--off { background: linear-gradient(135deg, #727c89 0%, #8ca6ce 100%); color: white; box-shadow: 0 2px 6px rgba(145, 168, 200, 0.3); } } &.list--writer { // NICK_NAME + NAME + COM color: #666; font-weight: 500; font-size: 0.9rem; } &.list--title { // TITLE color: #333; font-weight: 600; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; width: 70%; white-space: nowrap; } &.list--ml { margin-left: auto; } &.status-waiting { color: #ffffff; background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%); padding: 4px 8px; border-radius: 10px; font-size: 0.8rem; font-weight: 600; box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3); } &.status-completed { color: #ffffff; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 4px 8px; border-radius: 10px; font-size: 0.8rem; font-weight: 600; box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3); } &.list--date { // REGDATE color: #999; font-size: 0.8rem; text-align: right; } } } // 데이터가 없을 때 .no-data { padding: 60px 20px; text-align: center; color: #999; &:before { content: "📋"; display: block; font-size: 3rem; margin-bottom: 15px; } h4 { font-size: 1.1rem; color: #666; margin-bottom: 8px; } p { font-size: 0.9rem; color: #999; } } } } .item--pagination{ display: flex; justify-content: center; margin-top: 30px; gap: 30px; .v-pagination{ width: 50%; max-width: 800px; } .v-btn{ padding: 0; width: 50px; height: 50px; border-radius: 100px; min-width: 50px; border: 1px solid #DDD; background: #FFF; &.v-btn--disabled{ opacity: 0.5; } .v-btn__content{ color: #909090; font-size: 16px; font-weight: 400; line-height: 1; } &.prev--btn{ background-image: url(/assets/img/ico_paging_prev.svg); background-repeat: no-repeat; background-position: center; } &.next--btn{ background-image: url(/assets/img/ico_paging_next.svg); background-repeat: no-repeat; background-position: center; } } } } } } } /********************************************** | ag-grid **********************************************/ .tbl-wrap { .ag-paging-panel { padding: 1.25rem 0px; } .ag-header-cell-resize { &:after { width: 1px; height: 1.25rem; top: calc(50% - (1.25rem)*0.5); } } .ag-checkbox-input-wrapper { &:after { content: ''; width: 1rem; height: 1rem; background: url(../img/ico_chk_off.svg); background-repeat: no-repeat; } &.ag-checked { &:after { content: ''; background: url(../img/ico_chk_on.svg); background-repeat: no-repeat; } } &.ag-indeterminate { &:after { content: ''; background: url(../img/ico_check_indeterminate.svg); background-repeat: no-repeat; } } } .ag-root-wrapper { .ag-header-cell { padding: 0rem 1.25rem; } .ag-header-cell-text { text-align: left; } .ag-root-wrapper-body { &.ag-layout-normal { height: 100%; } } .ag-cell-label-container { height: 3.125rem; } .ag-header-cell-text { color: #444; font-size: 0.875rem; font-style: normal; font-weight: 700; } .ag-header { border-top: 0px; .ag-header-container { background: #F2F7FF; } &.ag-header-allow-overflow { .ag-header-row { background: #F2F7FF; } } } .ag-center-cols-container { .ag-row { &.disabled{ opacity: .5; pointer-events: none; } .ag-cell { color: #444; font-size: 0.875rem; font-style: normal; font-weight: 400; text-align: left; justify-content: flex-start; padding: 0px 1.25rem; } } } } .ag-overlay-no-rows-center { display: flex; align-items: center; justify-content: center; gap: 0.62rem; color: #444; text-align: center; font-size: 0.875rem; font-weight: 700; &:before { content: ''; display: inline-flex; width: 1.25rem; height: 1.25rem; background: url(../img/ico_no_data_nw.svg); background-size: contain; } } } .check--box--group{ display: flex; } .form--group--inner{ display: flex; align-items: center; gap:10px; .visible{ display: none; } } .status--box{ display: flex; align-items: center; justify-content: center; padding:5px 25px; border-radius: 35px; background: #e4e4e4; &.actv{ background: #33559B; color:#fff; } } .img--content{ display: flex; align-items: center; } .equip--image--wrap{ display: flex; align-items: center; .equip--image{ width:90px; height: 90px; margin-right: 25px; #preview_image{ width: 90px; height: 90px; position: relative; border: 1px solid rgba(0, 0, 0, 0.2); overflow: hidden; img{ width: 100%; position: absolute; top: 50%; object-fit: contain; left: 50%; transform: translate(-50%, -50%); } } .images-wrapper{ width: 100%; height: 90px; .image{ background-size: cover; width: 100%; height: 90px; background-repeat: none; cursor: pointer; } } .cool-lightbox { .cool-lightbox-toolbar{ top: 30px; right: 30px; .cool-lightbox-toolbar__btn{ border-radius: 50%; width: 56px; height: 56px; display: inline-block; background-image: url(../img/ic_close.svg); background-position: center; background-repeat: no-repeat; svg{ display: none; } } } } } .equip--image--select{ display:flex; flex-direction: column; .form--group{ margin-bottom: 25px; margin-top: 10px; display: flex; .file--btn{ width: 75px; height:33px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0px!important; background: #6C7281!important; cursor: pointer; } } .equip--image--desc{ color: #0131AD; font-size: 12px; font-style: normal; font-weight: 500; letter-spacing: -0.36px; } } } .form--group--inner{ display: flex; align-items: center; justify-content: flex-start; gap:10px; margin-bottom:10px; .text--box{ height:36px; border-radius: 0px; border:1px solid #b5b5b5; white-space: nowrap; display: flex; align-items: center; width:324px; justify-content: flex-start; padding:0 20px; text-overflow: ellipsis; } } .v-file-input{ &.custom-input { .v-input__control { .v-field{ border-radius: 0px; } .v-field__field { input{ &:placeholder { font-size: 0.75rem!important; font-weight: 400; color: #8e8e8e!important; } } .v-field__input { padding:0px; min-height:36px; padding-left: 0.75rem; font-size: 0.75rem !important; font-weight: 400 !important; &::placeholder { font-size: 0.75rem!important; font-weight: 400; color: #8e8e8e!important; } } } } } margin-top: 0px; padding-top: 0px; .v-input__control{ .v-input__slot{ padding: 0 15px; &::before{ display: none; } &::after{ display: none; } .v-file-input__text, .v-file-input__text--placeholder, input::placeholder{ color: #444!important; font-size: 12px!important; font-style: normal!important; font-weight: 300!important; letter-spacing: -0.36px!important; } .v-input__append-inner{ .v-input__icon--clear{ opacity: 1; .mdi-close::before{ content: ''; background-image: url(../static/ic_clear.svg); display: inline-block; width: 16px; height: 16px; background-position: center; } } } } } } .flex--type{ display: flex; align-items: center; gap:12px; } .file--btn{ border-radius: 0px!important; background: #4B5161!important; color: #FFF!important; font-size: 12px!important; font-weight: 500!important; } .radio--group{ .v-selection-control-group{ gap:10px; } } .mdi-radiobox-marked::before{ content:''!important; width:15px; height:15px; display: inline-flex; background: url(../img/ic_radio_on.svg) no-repeat center; } .mdi-radiobox-blank::before{ content:''!important; width:15px; height:15px; display: inline-flex; background: url(../img/ic_radio_off.svg) no-repeat center; } /********************************************** | 문의 등록 팝업 모달 **********************************************/ .inquiry-modal { border-radius: 20px !important; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important; .modal-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 1rem 25px; display: flex; align-items: center; justify-content: space-between; h3 { font-size: 1rem; font-weight: 600; margin: 0; } .close-btn { background: rgba(255, 255, 255, 0.2) !important; color: white !important; border-radius: 50%; width: 40px; height: 40px; &:hover { background: rgba(255, 255, 255, 0.3) !important; } .v-icon { font-size: 20px; } } } .modal-body { padding: 30px; background: #fafafa; .form-group { &:last-child{ margin-bottom: 0; } margin-bottom: 20px; label { display: block; font-size: 0.95rem; font-weight: 600; color: #333; margin-bottom: 8px; .required { color: #ff6b6b; margin-left: 3px; } } .custom-select, .custom-file-input { border-radius: 8px !important; .v-field { max-height: 60px!important; border-radius: 8px !important; background: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); border: 1px solid #e1e5e9 !important; min-height: 60px !important; &.v-field--focused { border-color: #667eea !important; box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1); } .v-field__outline { border-radius: 8px !important; &__start { border-radius: 8px 0 0 8px !important; } &__end { border-radius: 0 8px 8px 0 !important; } } &__field { border-radius: 8px !important; } &__overlay { border-radius: 8px !important; } } .v-field__input { padding: 12px 16px; font-size: 0.9rem; min-height: 60px !important; &::placeholder { color: #9ca3af; } } .v-field__field { border-radius: 8px !important; min-height: 60px !important; max-height: 60px!important; .v-field__input { max-height: 60px!important; min-height: 60px !important; align-items: center; display: flex; } } .v-input__control { min-height: 3.63rem !important; } // Select dropdown .v-select__selection { border-radius: 8px !important; } // Input 요소들 input, textarea { border-radius: 8px !important; } } .custom-title-input { border-radius: 8px !important; .v-field { border-radius: 8px !important; background: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); border: 1px solid #e1e5e9 !important; min-height: 2.25rem !important; &.v-field--focused { border-color: #667eea !important; box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1); } .v-field__outline { border-radius: 8px !important; &__start { border-radius: 8px 0 0 8px !important; } &__end { border-radius: 0 8px 8px 0 !important; } } &__field { border-radius: 8px !important; } &__overlay { border-radius: 8px !important; } } .v-field__input { padding: 12px 16px; font-size: 0.9rem; min-height: 3.63rem !important; &::placeholder { color: #9ca3af; } } .v-field__field { border-radius: 8px !important; min-height: 3.63rem !important; .v-field__input { min-height: 3.63rem !important; align-items: center; display: flex; } } .v-input__control { min-height: 3.63rem !important; } input { border-radius: 8px !important; } } .custom-textarea { border-radius: 8px !important; .v-field { border-radius: 8px !important; background: white; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); border: 1px solid #e1e5e9 !important; &.v-field--focused { border-color: #667eea !important; box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1); } .v-field__outline { border-radius: 8px !important; &__start { border-radius: 8px 0 0 8px !important; } &__end { border-radius: 0 8px 8px 0 !important; } } &__field { border-radius: 8px !important; } &__overlay { border-radius: 8px !important; } } .v-field__input { padding: 16px; font-size: 0.9rem; &::placeholder { color: #9ca3af; } } .v-field__field { border-radius: 8px !important; } input, textarea { border-radius: 8px !important; } } .custom-textarea { .v-field__field { .v-field__input { padding: 16px; line-height: 1.5; resize: none !important; } } textarea { resize: none !important; } } .custom-file-input { .v-file-input__text { display: flex; align-items: center; min-height: 2.25rem; } } .file-info { font-size: 0.8rem; color: #6b7280; margin-top: 8px; margin-bottom: 0; } } } .modal-footer { padding: 20px 30px; background: white; border-top: 1px solid #e5e7eb; display: flex; justify-content: flex-end; gap: 12px; .cancel-btn { background: #f3f4f6 !important; color: #6b7280 !important; border: 1px solid #d1d5db; border-radius: 10px; padding: 0 24px; height: 42px; font-weight: 500; &:hover { background: #e5e7eb !important; } } .submit-btn { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; border-radius: 10px; padding: 0 24px; height: 42px; font-weight: 600; box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); &:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4); } &:disabled { opacity: 0.7; transform: none !important; box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2) !important; } } } } // 모달 배경 오버레이 스타일 .v-overlay__content { .inquiry-modal { max-height: 90vh; overflow-y: auto; } } /********************************************** | CS 디테일 페이지 **********************************************/ .cs--detail--wrap { border: 1px solid #eee; border-radius: 15px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.05); background: white; .cs--detail--header { background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%); padding: 25px 30px; border-bottom: 1px solid #eee; display: flex; align-items: center; justify-content: space-between; .status-badge { padding: 8px 16px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; &.status-waiting { background: linear-gradient(135deg, #ff6b6b 0%, #ee5a5a 100%); color: #ffffff; border: 1px solid #ff6b6b; box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3); font-weight: 600; } &.status-completed { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #ffffff; border: 1px solid #667eea; box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3); font-weight: 600; } } .inquiry-meta { display: flex; align-items: center; gap: 15px; .category-badge { background: linear-gradient(135deg, #667eea, #764ba2); color: white; padding: 6px 12px; border-radius: 15px; font-size: 0.8rem; font-weight: 500; } .date { color: #666; font-size: 0.9rem; } } } .cs--detail--content { padding: 30px; .inquiry-title { font-size: 1.5rem; font-weight: 700; color: #333; margin-bottom: 25px; line-height: 1.4; border-bottom: 2px solid #f0f4ff; padding-bottom: 15px; } .inquiry-info { display: flex; gap: 30px; margin-bottom: 30px; padding: 20px; background: #fafbfc; border-radius: 12px; border-left: 4px solid #667eea; .info-item { display: flex; flex-direction: column; gap: 5px; .label { font-size: 0.85rem; color: #666; font-weight: 500; } .value { font-size: 1rem; color: #333; font-weight: 600; } } } .inquiry-content { margin-bottom: 30px; h4 { font-size: 1.1rem; font-weight: 600; color: #333; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; &:before { content: "📝"; font-size: 1.2rem; } } .content-text { background: white; border: 1px solid #e1e5e9; border-radius: 12px; padding: 25px; line-height: 1.6; color: #333; font-size: 1rem; min-height: 120px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); } } .attachment-section { margin-bottom: 30px; h4 { font-size: 1.1rem; font-weight: 600; color: #333; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; &:before { content: "📎"; font-size: 1.2rem; } } .attachment-item { background: white; border: 1px solid #e1e5e9; border-radius: 12px; padding: 20px; display: flex; align-items: center; gap: 15px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); .mdi-paperclip { font-size: 1.5rem; color: #667eea; } .file-name { flex: 1; font-size: 1rem; color: #333; font-weight: 500; } .download-btn { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; border-radius: 8px; box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3); &:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); } .mdi-download { margin-right: 5px; } } } } .answer-section { border-top: 2px solid #f0f4ff; padding-top: 30px; h4 { font-size: 1.1rem; font-weight: 600; color: #333; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; &:before { content: "💬"; font-size: 1.2rem; } } .answer-content { background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%); border: 1px solid #e1e5e9; border-radius: 12px; padding: 25px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); .answer-meta { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid rgba(102, 126, 234, 0.1); .admin-badge { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 4px 12px; border-radius: 12px; font-size: 0.8rem; font-weight: 600; } .answer-date { color: #666; font-size: 0.9rem; } } .answer-text { line-height: 1.6; color: #333; font-size: 1rem; } } } } } // 하단 버튼 스타일 개선 .view-btm-btn { margin-top: 40px; padding: 25px 0; border-top: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; .btn-l, .btn-r { display: flex; gap: 12px; } .custom-btn { &.btn-list { background: #f3f4f6 !important; color: #6b7280 !important; border: 1px solid #d1d5db; border-radius: 10px; padding: 0 24px; height: 42px; font-weight: 500; &:hover { background: #e5e7eb !important; } .mdi-format-list-bulleted { margin-right: 8px; } } } } // 팝업 내 모든 Vuetify 필드 요소들의 border-radius 강제 적용 .inquiry-modal { .v-field, .v-field__field, .v-field__overlay, .v-field__outline, .v-field__outline__start, .v-field__outline__end, .v-input__control, .v-input__slot, input, textarea, .v-select__slot { border-radius: 8px !important; } .v-field__outline__start { border-radius: 8px 0 0 8px !important; } .v-field__outline__end { border-radius: 0 8px 8px 0 !important; } // 포커스 상태에서도 border-radius 유지 .v-field--focused { .v-field__outline, .v-field__outline__start, .v-field__outline__end { border-radius: 8px !important; } .v-field__outline__start { border-radius: 8px 0 0 8px !important; } .v-field__outline__end { border-radius: 0 8px 8px 0 !important; } } } // ========== 모달 공통 스타일 ========== .v-common-dialog-wrapper { &.custom-dialog { background: #fafafa; overflow: hidden; .modal-tit { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; font-size: 20px; font-weight: 600; position: relative; padding: 2.5rem 1.56rem 2.19rem 1.56rem; &::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.1) 0%, transparent 70%); pointer-events: none; } h3 { margin: 0; position: relative; z-index: 2; } .close-btn { display: inline-block; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, 0.2) !important; color: white !important; z-index: 3; border: none; border-radius: 50%; width: 40px; height: 40px; cursor: pointer; transition: all 0.2s ease; &:hover { background: rgba(255, 255, 255, 0.3) !important; } &::before { content: '×'; font-size: 24px; font-weight: bold; line-height: 1; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .v-icon { font-size: 20px; } } } .v-common-dialog-content { border-top: 1px solid #f3f4f6; justify-content: flex-end; gap: 12px; } .v-btn { border-radius: 10px; font-weight: 500; text-transform: none; padding: 0 24px; height: 44px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.2s ease; &:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } &.cancel-btn { background: #f3f4f6 !important; color: #6b7280 !important; &:hover { background: #e5e7eb !important; } } &.submit-btn { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; &:hover { background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%) !important; } &.v-btn--loading { .v-btn__loader { color: white; } } } } } }