
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
// 공통
.w_100{
width: 100%;
}
.h_100{
height: 100%;
}
.mb{
&10{
margin-bottom: 1rem;
}
&20{
margin-bottom: 2rem;
}
&30{
margin-bottom: 3rem;
}
&40{
margin-bottom: 4rem;
}
&50{
margin-bottom: 5rem;
}
}
.gap{
&10{
gap: 1rem;
}
&20{
gap: 2rem;
}
&30{
gap: 3rem;
}
&40{
gap: 4rem;
}
&50{
gap: 5rem;
}
}
.layout{
display: flex;
&.center{
align-items: center;
}
&.stretch{
align-items: stretch;
}
.start{
align-items: flex-start;
}
&.space-between{
justify-content: space-between;
}
&.justify-center{
justify-content: center;
}
&.justify-end{
justify-content: flex-end;
}
}
.sec-title{
font-size: 2.2rem;
font-weight: 700;
}
// 콘텐츠
.zone-wrap{
@include flex-layout(flex, center, space-between);
background-color: #4b40b5;
padding: .5rem 4rem 0 6rem;
border-radius: 2rem;
>div{
@include flex-layout(flex, center);
>span{
color: #ffffff;
margin-left: 2rem;
font-size: 2rem;
font-weight: 700;
}
}
>span{
background-color: #ffffff;
border-radius: 50%;
width: 4.4rem;
height: 4.4rem;
@include flex-layout(flex, center, center);
}
}
.box-item{
background-color: #ffffff;
padding: 3rem;
border-radius: 3rem;
.box-title{
font-size: 1.8rem;
font-weight: 700;
}
.date{
font-size: 1.6rem;
font-weight: 500;
}
.alram-item{
background-color: #f4f6f9;
border-radius: 1rem;
padding: 1rem 2rem;
margin-bottom: 1rem;
&:last-child{
margin-bottom: 0rem;
}
}
}
// 모델링
.left-zone,
.right-zone{
background-color: #ffffff;
border-radius: 3rem;
}
.left-zone{
width: 389px;
padding: 3rem;
.prompt-zone{
.tabs{
button {
width: 50%;
background-color: #666666;
border: 2px solid #666666;
border-bottom: none;
color: #ffffff;
padding: 1rem 2rem;
border-radius: 2rem 2rem 0 0;
cursor: pointer;
&.active {
background-color: #f8f8f8;
border: 2px solid #4b40b5;
border-bottom: none;
font-weight: bold;
color: #4b40b5;
}
}
}
.tab-content{
width: 100%;
height: 240px;
padding: 3rem;
border-radius: 0 0 2rem 2rem;
background-color: #f8f8f8;
border: 2px solid #4b40b5;
border-top: none;
.file-icon{
width: 3.5rem;
height: 3.5rem;
border-radius: 50%;
background-color: #8c84d8;
@include flex-layout(flex, center, center);
margin-bottom: 1rem;
}
label{
font-size: 1.6rem;
font-weight: 700;
}
}
}
.btn-zone{
@include flex-layout(flex, center space-between);
button{
width: 50%;
&.ico-reset{
background-color: #666666;
color: #ffffff;
}
}
&.ico-3d{
background-color: #4b40b5;
color: #ffffff;
}
}
.direction-zone{
background-color: #f4f6f9;
padding: 2rem;
border-radius: 2rem;
.button-list{
background-color: #d5dce7;
padding: .8rem 2rem;
border-radius: 1rem;
margin-bottom: 1rem;
&:last-child{
margin-bottom: 0;
}
.icon-wrap{
background-color: #ffffff;
border-radius: 50%;
width: 3rem;
height: 3rem;
@include flex-layout(flex, center, center);
}
.button-font{
font-size: 1.7rem;
font-weight: 700;
}
}
}
.zoom-container {
width: 100%;
display: flex;
align-items: center;
background-color: #f3f5f9;
padding: 1rem 3rem;
border-radius: 2rem;
outline: none;
.zoom-controls {
display: flex;
align-items: center;
gap: 10px;
border-radius: 6px;
button {
background: none;
border: none;
font-size: 3rem;
cursor: pointer;
height: 4rem;
@include flex-layout(flex, center, center)
}
input[type='range'] {
width: 130px;
cursor: pointer;
background: transparent; // 기본 배경 제거
appearance: none; // 기본 스타일 제거
&::-webkit-slider-runnable-track {
height: 6px;
background: #ffffff; // 슬라이더 배경
border-radius: 4px;
}
&::-webkit-slider-thumb {
appearance: none;
height: 16px;
width: 16px;
background-color: #5c4dc5; // 보라색 썸
border-radius: 50%;
margin-top: -5px; // 트랙 가운데로 위치
box-shadow: 0 0 0 6px rgba(92, 77, 197, 0.2); // 퍼지는 효과
}
}
}
.zoom-display {
margin-left: auto;
font-size: 2rem;
font-weight: bold;
}
}
}
.right-zone{
width: calc(100% - 410px);
@include flex-layout(flex, center);
.canvas-zone{
padding: 3rem;
width: calc(100% - 60px);
}
.canvas-zone{
.top-zone{
background-color: #666666;
padding: 1rem 2rem;
border-radius: 2rem 2rem 0 0;
>ul{
>li{
>button{
width: 3rem;
height: 3rem;
border-radius:50%;
background-color: #333333;
}
}
}
}
.bottom-zone{
height: calc(100% - 50px);
background-color: #f4f6f9;
border-radius: 0 0 2rem 2rem;
}
}
.equipment-zone{
.button-collection{
background-color: #4b40b5;
padding: 2rem;
border-radius: 0 2rem 2rem 0;
>ul{
>li{
margin-bottom: 1rem;
>button{
width: 3rem;
height: 3rem;
border-radius:50%;
background-color: #2c2092;
@include flex-layout(flex, center, center);
}
&.active{
button{
background-color: #ffffff;
}
}
.child-buttons{
width: 250px;
position: absolute;
top: 50%;
right: 5rem;
background-color: #333333;
color: #ffffff;
border-radius: 2rem;
transform: translateY(-50%);
padding: 1rem 4rem;
z-index: 10;
>li{
width: 100%;
padding: .5rem 0rem;
list-style: square;
button{
background-color: transparent;
}
}
}
}
}
}
}
&.feedback-detail-zone{
display: block;
padding: 3rem;
}
}
// 자산
.project-container{
.top-zone{
.search-zone{
padding: 2rem 0;
border-radius: 1.2rem;
@include flex-layout(flex, center, center);
margin-bottom: 3rem;
input{
width: 600px;
}
}
}
.bottom-zone {
height: calc(100% - 180px);
display: grid;
grid-template-columns: repeat(auto-fit, minmax(315px, 1fr));
gap: 2.4rem;
.card {
position: relative;
background-color: #ffffff;
border-radius: 1.2rem;
box-shadow: 0 .2rem .8rem rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 320px;
cursor: pointer;
.thumbnail {
background: linear-gradient(135deg, #e0e5ec, #fff);
height: 20rem;
border-radius: .8rem;
img{
width: 100%;
height: 100%;
object-fit: cover;
}
}
.card-footer {
font-size: 1.4rem;
color: #333;
height: calc(100% - 20rem);
padding: 2rem;
@include flex-layout(flex, flex-start, space-between, column);
.title {
font-weight: bold;
font-size: 2rem;
}
.date {
font-size: 1.2rem;
color: #888;
}
}
&.new-card {
background-color: #fff;
text-align: center;
color: #333;
justify-content: center;
align-items: center;
padding: 2rem;
gap: 2rem;
cursor: pointer;
.new-symbol{
display: flex;
justify-content: center;
align-items: center;
width: 100px;
height: 100px;
border-radius: 50%;
background-color: #eaf0ff;
}
.new-text {
font-weight: 600;
line-height: 1.4;
}
.new-icon {
width: 3rem;
height: 3rem;
border: 1px solid;
border-radius: 50%;
background-image: url(#{$url}/component/common/ico_plus_24.svg);
background-position: center;
background-repeat: no-repeat;
}
}
.dropdown-menu{
position: absolute;
bottom: 0;
background-color: #ffffff;
border-radius: 1.2rem;
padding: 2rem;
box-shadow: 0 .2rem .8rem rgba(0, 0, 0, 0.05);
z-index: 10;
@include flex-layout(flex, flex-start, center, column);
>button{
margin-bottom: 1rem;
&:last-child{
margin-bottom: 0;
}
}
&.right {
right : -14rem;
}
&.left {
right: 7rem
}
}
}
}
}
// 피드백
.feedback-list{
background-color: #ffffff;
border-radius: 2rem;
padding: 2rem;
margin-top: 1rem;
height: calc(100% - 119px);
overflow-y: auto;
.feedback-item{
padding: 2rem 0;
border-bottom: 1px solid #e0e5ec;
&:first-child{
padding-top: 0;
}
&:last-child{
border-bottom: none;
padding-bottom: 0;
}
.feedback-card{
padding: 2rem;
background-color: #f4f6f9;
border-radius: 1.2rem;
margin-bottom: 1rem;
h4{
margin-bottom: 1rem;
span{
margin-left: 1rem;
}
}
.feedback-message{
font-size: 1.6rem;
font-weight: 500;
background-color: #ffffff;
padding: 1rem 2rem;
border-radius: 1.2rem;
width: 100%;
margin-bottom: 1rem;
p{
@include ellipsis(1);
word-break: normal;
}
}
.meta{
text-align: center;
span{
display: inline-block;
padding: 0 1.5rem
}
}
}
}
.btn-group{
@include flex-layout(flex, center, center);
gap: 1rem;
button{
width: 100%;
&.purple{
background-color: #4b40b5;
border: 1px solid #4b40b5;
color: #ffffff;
}
&.delete{
background-color: #d70000;
}
}
}
}
.feedback-title{
font-size: 2.5rem;
font-weight: 700;
text-align: right;
}
.summary{
@include flex-layout(flex, center, center);
gap: 3rem;
background-color: #f0f3fa;
border-radius: 1.2rem;
padding: 2rem;
p{
span{
display: inline-block;
padding: .3rem 2rem;
border-radius: 3rem;
font-size: 1.6rem;
font-weight: 500;
}
&:nth-of-type(1){
span{
background-color: #d5dce7;
}
}
&:nth-of-type(2){
span{
background-color: #ffffff;
color: #d70000;
border: 1px solid #d70000;
}
}
&:nth-of-type(3){
span{
background-color: #ffffff;
color: var(--tk-primary);
border: 1px solid var(--tk-primary);
}
}
strong{
font-weight: 700;
margin-left: 3rem;
}
}
}
.feedback-detail{
padding-top: 3rem;
height: calc(100% - 72px);
&.first-view{
width: 100%;
@include flex-layout(flex, center, center, column);
p{
text-align: center;
&:nth-of-type(1){
font-size: 3.5rem;
font-weight: 700;
margin-bottom: 1rem;
margin-top: 2rem;
}
}
}
.top-zone{
padding-bottom: 1rem;
border-bottom: 1px solid;
.project-name{
display: inline-block;
padding: .3rem 2rem;
border: 1px solid;
border-radius: 1rem;
font-size: 1.6rem;
font-weight: 700;
}
}
>ul{
height: calc(100% - 43px - 40px);
overflow-y: auto;
>li{
padding: 2rem 0;
border-bottom: 1px solid #e0e5ec;
&:last-child{
border-bottom: 0;
}
.right-content{
width: calc(100% - 300px);
p{
padding: 1rem 3rem;
width: 100%;
background-color: #f1f7ff;
border-radius: 1rem;
}
}
>p{
margin-top: 1rem;
span{
padding: 1rem;
};
}
}
}
.send-btn{
position: absolute;
top: 50%;
right: 3rem;
transform: translateY(-50%);
}
}