Files
yuthon_base/ks_dashboard_ninja/static/src/scss/common.scss
T
2026-08-07 18:33:00 +08:00

2524 lines
61 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
// [YUTHON] 注释掉全局通配符重置:它会把所有元素(含 Odoo 标准按钮)的 margin/padding 清零,
// 导致「新建」等标准按钮变小、与 dashboard 自带 padding 的按钮大小不一致。已确认卸载此模块无影响。
// body.ks_body_class * {
// margin: 0;
// padding: 0;
// box-sizing: border-box;
// }
body.ks_body_class {
font-family: "Poppins", sans-serif;
-webkit-font-smoothing: antialiased;
/* For Chrome, Safari */
-moz-osx-font-smoothing: grayscale;
/* For Firefox on macOS */
height: 100vh;
background-color: $color-bg-main;
@include custom-scrollbar;
}
// animations
@keyframes fadeInSlideDown {
0% {
opacity: 0;
transform: translateY(90px);
}
100% {
opacity: 1;
transform: translateY(86px);
top: 35px !important;
}
}
//
@keyframes slideUpToCenter {
0% {
opacity: 0;
transform: translate(-49%, 100%);
/* Start fully out of view from bottom */
}
100% {
opacity: 1;
transform: translate(-49%, 0);
/* End at its normal position */
}
}
.ks_body_class .main-box {
height: calc(100vh - 76px);
padding: 14px 40px;
overflow: auto;
@include custom-scrollbar;
@include max-992 {
padding: 20px;
}
@include max-575 {
padding: 16px 10px;
}
}
//
// .ks_body_class .modal-body .img-bg {
// display: none !important;
// }
.ks_body_class .play_buttons {
display: flex;
justify-content: end;
margin-bottom: 12px;
column-gap: 14px;
}
.ks_body_class .img-bg {
display: flex;
justify-content: center;
padding: 0 !important;
align-items: center;
background-color: $color-secondary-bg;
border: 0.5px solid $color-E5E7EB;
border-radius: 50% !important;
height: 40px;
width: 40px;
&.more-img {
svg {
fill: $color-black !important;
stroke: none !important;
}
&.active,
&:hover {
svg {
fill: $color-white !important;
stroke: none !important;
}
}
}
&.info {
background-color: $color-white;
}
&.hover-item {
background-color: $color-bg-main;
&.kpi-tile-img {
background-color: $color-white !important;
margin: 0;
&:hover {
transition: 0.2s linear;
transform: scale(1.1);
cursor: pointer !important;
}
svg {
fill: none !important;
}
}
&:hover {
background-color: $color-white !important;
}
}
&.dropdown-toggle::after {
display: none !important;
}
&.info svg {
fill: none;
stroke: $color-black;
@include max-992 {
width: 16px;
height: 16px;
}
}
&.info.active,
&.info:hover {
border: 0.5px solid transparent !important;
background-color: $color-6789C6 !important;
svg {
stroke: $color-white;
}
}
@include max-992 {
height: 30px;
width: 30px;
& img {
height: 16px;
width: 16px;
}
}
}
.ks_body_class .modal-dialog {
.dash-btn-red {
font-size: 16px;
font-weight: 500;
line-height: 22.4px;
text-align: left;
}
}
.ks_body_class .dash-btn-red {
background-color: $color-primary-main !important;
border: 1px solid $color-primary-main !important;
border-radius: 10px;
min-height: 40px;
padding: 0 12px;
text-align: center !important;
font-size: $font-16;
font-weight: $f-w-400;
line-height: 19.6px;
color: $color-white !important;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
width: fit-content;
&.disabled {
opacity: 50%;
pointer-events: none;
cursor: not-allowed;
}
&:focus-visible {
outline: none !important;
}
&:hover {
background-color: $btn-hover !important;
color: $color-white !important;
}
}
/* 与主题模块冲突:.btn-primary 硬编码红色主题会覆盖 Odoo 主题的主按钮颜色(@image#1:Clipboard_Screenshot.png)
.ks_body_class .btn-primary:not(.btn-link) {
background-color: $color-primary-main !important;
border: 1px solid $color-primary-main !important;
border-radius: 10px;
min-height: 40px;
padding: 0 12px;
text-align: center !important;
font-size: $font-16;
font-weight: $f-w-400;
line-height: 19.6px;
color: $color-white !important;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
width: fit-content;
&.disabled {
opacity: 50%;
pointer-events: none;
cursor: not-allowed;
}
&:focus-visible {
outline: none !important;
}
&:hover {
background-color: $btn-hover !important;
color: $color-white !important;
}
}
*/
.ks_body_class .dash-default-btn {
border: 0.81px solid $color-E5E7EB;
font-size: $font-16;
font-weight: $f-w-500;
line-height: 22.4px;
text-align: left;
color: $color-1E1E1E;
border-radius: 8px;
min-height: 40px;
padding: 0 20px;
background-color: $color-white;
text-align: center;
&:hover {
background-color: $color-secondary-bg !important;
}
&:focus {
border: 1px solid $color-E7495E !important;
}
}
/* 与主题模块冲突:.btn-secondary 硬编码白底黑字等样式会覆盖主题深色模式下的按钮样式(@image#1:Clipboard_Screenshot.png)
.ks_body_class .btn-secondary {
border: 0.81px solid $color-E5E7EB;
font-size: $font-16;
font-weight: $f-w-500;
line-height: 22.4px;
text-align: left;
color: $color-1E1E1E;
border-radius: 8px;
min-height: 40px;
padding: 0 20px;
background-color: $color-white;
text-align: center;
&:hover {
background-color: $color-secondary-bg !important;
}
&:focus {
border: 1px solid $color-E7495E !important;
}
}
*/
.ks_body_class .dash-link {
font-size: $font-16;
font-weight: $f-w-400;
line-height: 18px;
color: $color-E7495E;
cursor: pointer;
.encapsulated-arrow {
background-image: url(../../images/dashboardOverview/arrow-right.svg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
width: 16px;
height: 16px;
}
}
.ks_body_class .row-gap-34 {
row-gap: 34px;
}
.ks_body_class .dash-dd-2 {
.dropdown-toggle {
background-color: $color-white;
border: 0.5px solid $color-E5E7EB;
border-radius: 10px;
padding: 8px;
font-size: $font-16;
font-weight: $f-w-400;
line-height: 24px;
color: $color-black;
display: block;
min-height: 42px;
@include max-575 {
font-size: $font-10;
min-height: 16px;
line-height: 15px;
}
&.save-filter {
.dropdown-toggle::after {
margin-left: 8px;
}
}
@media screen and (max-width:375.8px) {
font-size: $font-8;
line-height: 15px;
min-height: 16px;
}
}
.dropdown-toggle::after {
content: url(/ks_dashboard_ninja/static/images/dashboardOverview/down-arrow.svg);
display: inline-block;
margin-left: 1.285em;
vertical-align: 1px;
border: none !important;
transition: all 0.4s ease-in-out;
}
.dropdown-toggle {
&.show {
&::after {
transform: rotate(-180deg);
}
}
}
.dropdown-menu {
border-radius: 8px;
box-shadow: 0px 4px 12px 0px #00000040;
border: none !important;
width: max-content;
.dropdown-item {
padding: 8px 16px;
font-size: $font-14;
font-weight: $f-w-400;
line-height: 16px;
text-align: left;
// [YUTHON] 注释掉:dash-dd-2 内部下拉文字不应硬编码灰蓝色,交给主题继承
// color: $color-paragraph;
cursor: pointer;
&:hover {
background-color: $color-FFF5F5 !important;
}
}
}
}
.ks_body_class .save-filter {
min-height: 40px;
height: 100%;
display: inline-block;
@include max-992 {
min-height: unset;
}
&.dropdown-toggle::after {
margin-left: 3px;
}
}
.feature-btn {
font-size: $font-16;
font-weight: 500;
line-height: 21px;
text-align: left;
color: $color-paragraph;
padding: 10px 12px;
border-radius: 10px;
border: 1px solid $color-E5E7EB;
outline: none;
background-color: $color-white;
display: flex;
align-items: center;
@include minmax1260 {
font-size: 12px;
}
&:hover {
background-color: $color-secondary-bg;
}
&:focus {
border: 1px solid $color-E7495E;
}
&.light {
background-color: $color-FFF5F5;
@include max-575 {
padding: 6px 10px;
font-size: $font-8;
& img {
height: 12px;
width: 12px;
object-fit: cover;
}
}
}
&.dark {
background-color: $color-D9F1FD;
&:hover {
background-color: #c4e4f3 !important;
}
}
}
.ks_body_class .disabled {
opacity: 50%;
pointer-events: none;
}
.ks_body_class .filters-amount {
background-color: $color-E7495E;
font-size: 8px;
font-weight: 400;
line-height: 16px;
text-align: left;
color: $color-white;
height: 17px;
width: 17px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}
.ks_body_class .filter {
svg {
stroke: $color-black;
fill: none;
}
}
.ks_body_class .filter.active {
svg {
fill: $color-6789C6;
stroke: $color-white;
}
}
.ks_body_class .o-checkbox {
&.form-check .form-check-input {
// [YUTHON] 注释掉:强制 placeholder 灰边框会覆盖 udoo_om_ux 暗色主题下的 checkbox 边框
// border-color: $color-placeholders;
}
.form-check-input[type="checkbox"]:checked {
background-color: $color-E7495E !important;
border-color: $color-E7495E !important;
}
}
.ks_body_class .magic-star-dd {
.feature-btn {
// border-bottom: 1px solid $color-E5E7EB;
border-radius: 0;
border: none;
}
.img-bg {
border-radius: 10px !important;
display: flex;
justify-content: center;
align-items: center;
background-color: $color-FFF5F5 !important;
svg {
path {
fill: $color-ABC8E7;
stroke: $color-6789C6;
}
}
&:hover {
border: 1px solid $color-6789C6 !important;
background-color: $color-FFF5F5 !important;
// svg {
// path {
// fill: $color-white;
// stroke: $color-white;
// }
// }
}
}
}
.ks_font_color {
row-gap: 16px;
}
.border-none {
border: none !important;
}
// [YUTHON] 注释掉 dashboard 对全局 .o_form_button_save / .o_form_button_cancel 的尺寸硬编码
// (min-height:40px; padding:0 20px 等),它会覆盖 Odoo 主题默认按钮尺寸,导致「保存 / 丢弃」变大。
// dashboard 自身编辑工具条的 Save/Discard 由 dash-btn-red / dash-default-btn 类兜底,不受影响。
// .ks_body_class .o_form_button_save {
// margin-right: 8px !important;
// }
//
// .ks_body_class .o_form_button_save,
// .ks_body_class .o_form_button_save_new {
// /* 与主题模块冲突:强制红色主题会覆盖 Odoo 主题的保存按钮颜色 (@image#1:Clipboard_Screenshot.png) */
// // background-color: $color-primary-main;
// // border: 1px solid $color-primary-main;
// border-radius: 10px;
// min-height: 40px;
// padding: 0 20px;
// font-size: $font-14;
// font-weight: $f-w-400;
// line-height: 19.6px;
// /* 与主题模块冲突:强制白色文字会覆盖主题深色模式下的保存按钮文字颜色 (@image#1:Clipboard_Screenshot.png) */
// // color: $color-white;
// cursor: pointer;
// width: auto !important;
//
// &.disabled {
// opacity: 50%;
// pointer-events: none;
// cursor: not-allowed;
// }
//
// &:hover {
// /* 与主题模块冲突:强制红色悬停背景会覆盖主题深色模式下的按钮悬停样式 (@image#1:Clipboard_Screenshot.png) */
// // background-color: $btn-hover;
// // color: $color-white !important;
// }
//
// @include max-575 {
// font-size: $font-12 !important;
// }
// }
//
// .ks_body_class .o_form_button_cancel {
// border: 0.81px solid $color-E5E7EB;
// font-size: $font-16;
// font-weight: $f-w-500;
// line-height: 22.4px;
// text-align: left;
// /* 与主题模块冲突:强制深色文字会覆盖主题深色模式下的取消按钮文字颜色 (@image#1:Clipboard_Screenshot.png) */
// // color: $color-1E1E1E;
// border-radius: 8px;
// min-height: 40px;
// padding: 0 20px !important;
// /* 与主题模块冲突:强制白色背景会覆盖主题深色模式下的取消按钮背景 (@image#1:Clipboard_Screenshot.png) */
// // background-color: $color-white;
// width: auto !important;
//
// &:hover {
// /* 与主题模块冲突:强制浅色悬停背景会覆盖主题深色模式下的按钮悬停样式 (@image#1:Clipboard_Screenshot.png) */
// // background-color: $color-secondary-bg;
// }
//
// &:focus {
// border: 1px solid $color-E7495E;
// }
//
// @include max-575 {
// font-size: $font-12 !important;
// }
// }
.ks_body_class .active-label {
font-size: $font-14 !important;
font-weight: $f-w-400 !important;
line-height: 20.99px !important;
}
.error-modal-ks {
padding: 0;
border-radius: 16px;
.modal-header {
padding: 12px 16px;
/* 与主题模块冲突:强制浅灰背景会覆盖主题深色模式下的弹窗标题栏背景 (@image#1:Clipboard_Screenshot.png) */
// background-color: $color-bg-main;
border-radius: 16px 16px 0 0;
border-bottom: 0;
margin-bottom: 18px;
@include max-575 {
/* 与主题模块冲突:强制浅灰背景会覆盖主题深色模式下的弹窗标题栏背景 (@image#1:Clipboard_Screenshot.png) */
// background-color: $color-bg-main !important;
}
.modal-title {
font-size: $font-16;
font-weight: $f-w-500;
line-height: 22.4px;
text-align: left;
/* 与主题模块冲突:强制黑色文字会覆盖主题深色模式下的弹窗标题颜色 (@image#1:Clipboard_Screenshot.png) */
// color: $color-black;
@include max-575 {
/* 与主题模块冲突:强制黑色文字会覆盖主题深色模式下的弹窗标题颜色 (@image#1:Clipboard_Screenshot.png) */
// color: $color-black !important;
}
}
.btn-close {
background: url("../../images/icons/close-circle.svg") center/1.5em auto no-repeat;
opacity: 1;
&:focus {
box-shadow: none;
}
}
}
.modal-para {
font-size: $font-16;
font-weight: $f-w-500;
line-height: 22.4px;
text-align: center;
/* 与主题模块冲突:强制黑色文字会覆盖主题深色模式下的弹窗正文颜色 (@image#1:Clipboard_Screenshot.png) */
// color: $color-black;
}
}
@include max-992 {
.filter {
& .dropdown-toggle {
min-height: 35px;
padding: 0 8px;
display: flex;
align-items: center;
& img {
width: 16px;
height: 16px;
}
}
&.dash-dd-2 .dropdown-toggle::after {
display: none;
}
}
}
.encapsulated-bottom {
bottom: 5px;
}
// chat-inbox
.chart-sec-modal {
.modal {
background-color: transparent;
.modal-dialog {
height: calc(100% - 2%) !important;
right: 0;
border-radius: 10px !important;
margin: 0 !important;
position: absolute;
@include max-575 {
justify-content: end;
}
.modal-content {
top: 40px !important;
height: 100%;
box-shadow: 0px 0px 10px 5px #9C8B8A26;
right: 0px;
border-radius: 10px !important;
border: none !important;
@include max-575 {
height: 92% !important;
width: 80%;
}
.modal-header {
border-radius: 10px 10px 0 0 !important;
}
.modal-body {
>div {
height: 100%;
>div {
height: 100%;
display: flex;
flex-direction: column;
>* {
height: auto;
}
}
}
}
}
}
}
}
.ks_body_class .dash-dd-2.filter {
cursor: pointer;
.dropdown-toggle {
&[aria-expanded="true"] {
&::after {
transform: rotate(-180deg);
}
}
}
.custom-dash-collapse {
position: absolute;
width: calc(100vw - 53vw);
transition: none 0s ease 0s;
margin-top: 0;
z-index: 99;
.card-body {
border-radius: 20px;
background-color: white !important;
border: none;
padding: 10px 0px 14px;
box-shadow: 0px 0px 10px 0px #9A727240;
// overflow: hidden;
.nav {
border-bottom: 1px solid $color-E5E7EB !important;
.nav-link {
font-size: $font-14;
font-weight: $f-w-600;
line-height: 24px;
letter-spacing: 0.01em;
text-align: left;
color: $color-paragraph !important;
padding: 5px 16px !important;
height: 100%;
&.active {
color: $color-E7495E !important;
background-color: $color-white;
border-bottom: 2px solid $color-E7495E;
border-radius: 0 !important;
border-top-left-radius: 7px !important;
}
}
}
.tab-content {
padding: 0 16px;
}
h4 {
font-size: $font-14;
font-weight: $f-w-500;
line-height: 19.6px;
text-align: left;
color: $color-paragraph;
}
.filter-subtitle {
font-size: $font-12;
font-weight: $f-w-500;
line-height: 16.8px;
text-align: left;
color: $color-paragraph;
}
.clear-all-btn {
font-size: $font-12;
font-weight: $f-w-500;
// line-height: 16.8px;
text-align: left;
color: $color-737791;
background-color: transparent;
outline: none;
border: none;
display: flex;
align-items: center;
}
}
}
}
.ks_body_class .dropdown-menu {
border-radius: 8px;
box-shadow: 0px 4px 12px 0px #00000040;
border: none !important;
// 注释掉:强制白色背景会覆盖 udoo_om_ux 主题的深色下拉框背景
// background-color: $color-white !important;
.dropdown-item {
padding: 8px 16px !important;
font-size: $font-14;
font-weight: $f-w-400;
line-height: 16px;
text-align: left;
// [YUTHON] 注释掉:强制灰蓝色会覆盖 udoo_om_ux 暗色主题的下拉文字颜色,导致发暗不可读
// color: $color-paragraph;
cursor: pointer;
overflow: hidden;
text-wrap: nowrap;
text-overflow: ellipsis;
max-width: 240px;
&.ui-state-active {
// background-color: $color-white !important;
}
&:hover {
// background-color: $color-FFF5F5 !important;
}
}
}
.ks_body_class .favorite-btn {
border: 0.81px solid $color-E5E7EB;
border-radius: 5px;
font-size: $font-12;
font-weight: $f-w-500;
line-height: 16.8px;
text-align: left;
color: $color-1E1E1E;
padding: 10px 8px;
background-color: $color-white;
}
.ks_body_class .dadsh-dlt-btn {
width: 24px;
height: 24px;
border: 0.81px solid $color-D1D5DB;
display: flex;
justify-content: center;
align-items: center;
border-radius: 6px;
margin-left: 24px;
background-color: $color-white;
}
.ks_body_class .predefined-filters {
.ks_dn_filter_applied_container {
width: 100% !important;
margin-left: 0 !important;
padding: 0;
max-height: calc(100vh - 200px);
overflow: auto;
// max-height: calc(100vh - 270px);
// overflow: auto;
// @include custom-scrollbar;
}
label {
font-size: $font-12;
font-weight: $f-w-500;
line-height: 16.8px;
text-align: left;
color: $color-paragraph;
margin-bottom: 10px;
}
.dropdown-toggle {
border: 0.81px solid $color-D1D5DB;
border-radius: 6px !important;
padding: 10px;
min-height: 53px;
display: flex;
align-items: center;
padding-right: 21px;
.placeholder-custom {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 18.52px;
text-align: left;
color: $color-placeholders;
display: inline-block;
}
.selcted-opt {
// display: none;
align-items: center;
gap: 4px;
background-color: $color-bg-main;
border-radius: 5px;
padding: 4px 8px;
width: fit-content;
.opt-title {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 18.52px;
text-align: left;
color: $color-black;
text-wrap: wrap;
}
}
&::after {
position: absolute;
right: 18px;
top: 35%;
}
}
.dropdown-menu {
width: 100%;
max-height: 221px;
overflow: auto;
li:not(:nth-child(1)) {
padding-left: 0 !important;
}
li {
&:hover {
background-color: transparent !important;
}
}
.line-seperator-ks {
border: 1px dashed $color-paragraph;
width: 100%;
display: block;
}
.search-input {
padding: 8px 12px;
border: 1px solid var(--Border-Color, #E5E7EB);
border-radius: 4px;
& input[type="search"] {
color: $color-black;
font-size: $font-16;
font-weight: $f-w-400;
line-height: 20px;
text-align: left;
border: none;
width: 100%;
&::-webkit-search-decoration,
&::-webkit-search-cancel-button {
appearance: none;
}
&:focus {
border: none;
outline: none;
}
&::placeholder {
color: $color-placeholders;
}
}
}
}
}
.ks_body_class .opted {
display: flex;
}
.ks_body_class .global-active {
background-color: $color-FFF5F5;
}
// mobile - menu - css
.ks_body_class .ks-mb-dropdown {
padding-top: 8px !important;
padding-bottom: 0px !important;
li {
line-height: 20px;
color: $color-black !important;
padding: 12px 8px 12px 28px;
font-size: 14px;
font-weight: 400;
margin-bottom: 0 !important;
.dash-dd-icons {
svg {
path {
fill: $color-black;
}
}
}
&.active {
background-color: $color-FFF5F5;
color: $color-6789C6 !important;
.dash-dd-icons {
svg {
path {
fill: $color-6789C6;
}
}
}
}
}
}
@include max-1260 {
.ks_body_class .magic-star-dd {
.feature-btn {
border-bottom: 1px solid $color-E5E7EB;
border-radius: 0;
}
}
}
@include max-992 {
.ks_body_class .filter {
& .dropdown-toggle {
min-height: 35px;
padding: 0 8px;
display: flex;
align-items: center;
& img {
width: 16px;
height: 16px;
}
}
&.dash-dd-2 .dropdown-toggle::after {
display: none;
}
}
}
.ks_body_class .encapsulated-bottom {
bottom: 5px;
}
// chat-inbox
.ks_body_class .chart-sec-modal {
.modal {
background-color: transparent;
.modal-dialog {
height: calc(100% - 2%) !important;
right: 0;
border-radius: 10px !important;
margin: 0 !important;
position: absolute;
@include max-575 {
justify-content: end;
}
.modal-content {
top: 40px !important;
height: 100%;
box-shadow: 0px 0px 10px 5px #9C8B8A26;
right: 0px;
border-radius: 10px !important;
border: none !important;
@include max-575 {
height: 92% !important;
width: 80%;
}
.modal-header {
border-radius: 10px 10px 0 0 !important;
}
.modal-body {
>div {
height: 100%;
>div {
height: 100%;
display: flex;
flex-direction: column;
>* {
height: auto;
}
}
}
}
}
}
}
}
// auto-complete-css-start
// chat-inbox
.ks_body_class .chart-sec-modal {
.modal {
background-color: transparent;
.modal-dialog {
height: calc(100% - 2%) !important;
right: 0;
border-radius: 10px !important;
margin: 0 !important;
position: absolute;
@include max-575 {
justify-content: end;
}
.modal-content {
top: 40px !important;
height: 100%;
box-shadow: 0px 0px 10px 5px #9C8B8A26;
right: 0px;
border-radius: 10px !important;
border: none !important;
@include max-575 {
height: 92% !important;
width: 80%;
}
.modal-header {
border-radius: 10px 10px 0 0 !important;
}
.modal-body {
>div {
height: 100%;
>div {
height: 100%;
display: flex;
flex-direction: column;
>* {
height: auto;
}
}
}
}
}
}
}
}
// auto-complete-css-start
// input-common
.ks_body_class .common-input {
border: 0.91px solid $color-D1D5DB;
padding: 14px 12px;
border-radius: 8px;
font-size: $font-14;
font-weight: $f-w-400;
line-height: 20.99px;
text-align: left;
color: $color-black;
&:focus {
border: 1px solid $color-black;
}
&:hover {
border: 1px solid $color-paragraph;
}
&::placeholder {
color: $color-placeholders;
text-align: left;
}
&.error {
border: 1px solid $color-danger;
}
}
// common-checkbox
.ks_body_class .common-checkbox {
&:checked {
background-color: $color-E7495E !important;
border-color: $color-E7495E !important;
}
}
// input-label
.ks_body_class .input-label {
font-size: $font-12;
font-weight: $f-w-400;
line-height: 9.66px;
letter-spacing: 0.0015em;
text-align: left;
color: $color-black;
}
// checkbox-label
.ks_body_class .label-checkbox {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 20.99px;
text-align: left;
color: $color-black;
}
.ks_body_class .table-custom {
display: flex;
flex-direction: column;
overflow: auto;
max-height: calc(100vh - 483px);
@include custom-scrollbar;
.table-row {
display: flex;
align-items: center;
margin-bottom: 11px; // Adjust the spacing between rows if necessary
.table-cell {
padding: 12px 11px 11px 12px;
flex-shrink: 0; // Prevents the cell from shrinking smaller than its content
width: auto; // Allows the cell to take space based on its content
&.form-input-box {
padding-left: 0 !important;
}
& .o_multi_record_selector .o_record_autocomplete_with_caret {
min-width: auto !important;
}
&.o-dropdown {
margin-right: 12px;
}
&::after {
margin-left: 5.2em !important;
}
& .o_record_autocomplete_with_caret {
position: relative;
&::after {
content: url('/ks_dashboard_ninja/static/images/dashboardOverview/down-arrow.svg');
position: absolute;
right: 1em;
/* Adjusts distance from the right edge of the input */
top: 50%;
transform: translateY(-50%);
display: inline-block;
vertical-align: middle;
transition: all 0.4s ease-in-out;
border: none !important;
height: auto !important;
width: auto !important;
}
&:hover {
&::after {
content: url('/ks_dashboard_ninja/static/images/dashboardOverview/down-arrow.svg');
position: absolute;
right: 1em;
/* Adjusts distance from the right edge of the input */
top: 50%;
transform: translateY(-50%);
display: inline-block;
vertical-align: middle;
border: none !important;
height: auto !important;
width: auto !important;
}
}
}
.table-dlt-btn {
border: 0.81px solid $color-D1D5DB;
padding: 10px 14px;
border-radius: 6px;
display: block;
background-color: transparent;
svg {
stroke: $color-black;
fill: none;
}
&.active,
&:focus {
svg {
stroke: $color-danger;
}
}
textarea {
padding-top: 15px;
}
}
.table-dd {
.dropdown-menu {
width: 100%;
}
.dropdown-toggle {
border: 0.81px solid $color-D1D5DB;
padding: 12px 11px;
border-radius: 6px;
font-size: $font-14;
font-weight: $f-w-400;
line-height: 18.52px;
text-align: left;
color: $color-black;
display: block;
&::after {
margin-left: 8.2em;
@include max-992 {
display: inline-block;
}
}
}
}
}
}
}
.ks_body_class .mega-menu {
position: relative !important;
&.o_popover.dropdown-menu {
display: grid !important;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
padding: 12px 8px;
// position: absolute !important;
// top: 47px !important;
// left: 50% !important;
// transform: translateX(-50%);
max-height: 150px;
overflow-y: auto;
overflow-x: hidden;
@include custom-scrollbar;
@include max-992 {
grid-template-columns: 1fr 1fr;
}
.ks-dropdown-item {
border-radius: 10px;
// text-align: center !important;
}
}
// &.show {
// .ks-dropdown-menu {
// animation: slideUpToCenter 0.4s ease forwards !important;
// top: 47px !important;
// }
// }
}
// filter-input-css
.ks_body_class .encapsulated-input-container {
min-height: 45px;
padding-right: 0;
border-radius: 10px;
.common-input {
border: 1px solid $color-D1D5DB !important;
min-height: 45px;
padding: 0 12px !important;
&:focus-visible {
outline: none !important;
}
}
textarea {
resize: none !important;
position: relative;
&::placeholder {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
}
}
.ks_body_class .encapsulated-link {
flex-wrap: wrap;
row-gap: 8px;
max-height: calc(100vh - 757px);
overflow: auto;
@include custom-scrollbar;
}
.ks_body_class .ks_date_filter_dropdown {
border-radius: 10px !important;
}
// no-data-available-css
.no-data-avilable {
.title {
font-size: $font-18;
font-weight: $f-w-500;
line-height: 25.2px;
text-align: left;
color: $color-7B91B0;
}
p {
font-size: $font-12;
font-weight: $f-w-400;
line-height: 16px;
text-align: left;
color: $color-paragraph;
}
}
// company-name-css
.encapsulated-dropdown {
.ks-dropdown-menu {
.border-end {
border: none !important;
}
}
.ks-nav-link {
&.dropdown-toggle::after {
display: none;
}
}
.fa-check-square {
color: $color-E7495E !important;
}
}
.ks_body_class .ks_dashboard_main_content {
@include custom-scrollbar;
}
.ks_body_class .row-gap-3 {
row-gap: 16px;
}
.ks_body_class .ks_date_input_fields {
input {
border: 0.81px solid #D1D5DB !important;
border-radius: 6px;
padding: 12px 10px !important;
font-size: 14px;
font-weight: 400;
line-height: 18.52px;
text-align: left;
color: #241C1D;
background-color: $color-white;
&#ks_btn_middle_child,
&#ks_btn_last_child {
border-radius: 6px !important;
padding: 12px 10px !important;
}
}
}
.ks_body_class .encapsulated-cross {
height: 20px;
width: 20px;
object-fit: fill;
}
// common-tabs-pills-css-start
.encapsulated-tab-box {
.tab-pane {
padding: 26px 0 !important;
}
.nav-tabs {
border-bottom: 1px solid $color-E5E7EB !important;
padding-bottom: 0 !important;
background-color: $color-bg-main !important;
border-radius: 0 !important;
padding-left: 0 !important;
.nav-item {
.nav-link {
font-size: $font-14;
font-weight: $f-w-500;
line-height: 24px;
color: $color-black !important;
padding: 16px !important;
background-color: $color-bg-main !important;
border-radius: 0 !important;
&.active {
border-bottom: 2px solid $color-E7495E !important;
color: $color-E7495E !important;
;
}
}
}
}
.o_renderer.table-responsive {
margin: 20px 0;
table {
thead {
tr {
th {
padding: 12px 6px;
border-bottom: 1px solid $color-EAECF0;
background-color: $color-secondary-bg;
font-size: $font-14;
font-weight: $f-w-500;
line-height: 18px;
text-align: left;
color: $color-paragraph;
.o_list_number_th {
text-align:left !important;
}
&:last-child {
padding: 12px 24px;
}
@include max-768 {
width: fit-content !important;
max-width: fit-content !important;
}
}
}
}
tbody {
tr {
td {
border-bottom: 1px solid $color-EAECF0;
background-color: $color-white !important;
--table-accent-bg: $color-white;
padding: 16px 6px;
position: relative;
text-align: left !important;
a {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 20px;
text-align: left;
color: $color-secondary-main !important;
}
button {
&.fa-trash-o {
display: flex;
justify-content: center;
align-items: center;
background-color: $color-bg-main !important;
border: 0.38px solid $color-CDAAAA;
border-radius: 50% !important;
height: 30px;
width: 30px;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
}
}
}
}
}
}
}
.w-fit-content {
width: fit-content !important;
}
.ks_body_class .bookmark-capture,
.ks_body_class .delete-dashboard{
background-color: $color-white !important;
border: none !important;
height: fit-content;
width: fit-content;
svg {
fill: none;
stroke: $color-black;
}
}
.ks_body_class .cursor-pointer {
cursor: pointer !important;
}
.ks_body_class .removed-link {
.o_external_button {
&::before {
display: none !important;
}
}
}
.ks_body_class .kpi-tile-img {
border: none;
background: transparent;
vertical-align: middle;
display: flex;
justify-content: center;
align-items: center;
margin-left: 8px;
padding: 0;
img {
width: 16px;
height: 16px;
object-fit: contain;
}
}
.ks_body_class .ks_dashboard_item_button_container {
align-items: center !important;
.img-bg {
width: 25px !important;
height: 25px !important;
}
}
.ks_body_class .o-mail-DiscussSystray-class:hover,
.ks_body_class .o-mail-DiscussSystray-class.show {
background-color: transparent !important;
}
.ks_body_class .ks_chart_export_menu {
div {
padding: 5px 14px 5px 14px;
cursor: pointer;
justify-content: flex-start;
color: $color-paragraph !important;
gap: 10px;
img {
height: 16px;
width: 16px;
object-fit: contain;
margin-right: 4px;
}
&:hover {
background-color: $color-FFF5F5 !important;
.kpi-tile-img {
background-color: $color-FFF5F5 !important;
}
}
.kpi-tile-img {
width: 100% !important;
justify-content: flex-start;
gap: 10px;
background-color: transparent !important;
margin: 0 !important;
color: $color-paragraph !important;
border: none !important;
text-align: justify;
&:hover {
transition: none !important;
transform: none !important;
}
}
}
}
.ks_body_class {
.ks_dashboard_menu_container {
&.form-control.form-input-box.encapsulated-form-arrow {
width: auto !important;
&::after {
top: 43% !important;
right: 6px !important;
}
select {
font-size: $font-14;
/* width: 100%; */
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
li {
justify-content: center;
.dash-btn-red {
font-size: $font-12;
font-weight: $f-w-600;
min-height: 32px !important;
height: 100%;
margin-right: 8px;
}
}
}
}
.ks_body_class .ks_list_view_container {
padding: 16px !important;
border-radius: 20px;
border: 1px solid #E5E7EB !important;
@include custom-scrollbar;
.ks_list_item_table {
border: 0.66px solid #EDEDED;
border-radius: 12px;
#ksListViewTable {
&.ks_list_view_layout_1 {
thead {
tr {
th {
background-color: #F4FAFF !important;
font-size: $font-14;
font-weight: $f-w-600;
line-height: 13.88px;
text-align: left;
color: #2C2D35;
top: 0 !important;
border-right: 1px solid #FBFBFB !important;
;
}
}
}
tbody {
tr {
&:nth-of-type(odd)>* {
background-color: $color-white !important;
}
&:nth-of-type(even)>* {
background-color: #F4FAFF !important;
}
td {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 15.86px;
text-align: left;
color: #2C2D35 !important;
border-right: 1px solid #FBFBFB !important;
}
}
}
}
}
}
}
.ks_body_class .encapsulated-kpi-tile {
&.grid-stack-item-content {
padding: 20px 10px !important;
border-radius: 16px !important;
&:hover {
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22) !important;
transition: 0.2s ease;
}
}
.dashboard-item-icon {
// top: 2px !important;
// left: 9px !important;
top: 0 !important;
left: 0 !important;
/* margin-bottom: 16px; */
position: relative;
}
.var-prev {
text-align: center;
position: absolute;
right: 10px;
top: 19px;
}
.img-bg {
background-color: $color-white;
}
.flex-container {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
.ks_dashboard_kpi_count_preview {
margin-top: 16px !important;
text-align: justify;
min-height: 36px;
}
.ks_kpi_main_body {
padding: 0 !important;
// margin-top: 16px;
}
.dashboard-item-name {
text-align: justify !important;
font-size: $font-16 !important;
font-weight: $f-w-500;
line-height: 24px;
text-align: left;
// color: $color-black !important;
margin-top: 10px !important;
margin-left: 0;
}
.dashboard-item-data {
text-align: justify !important;
font-size: $font-24;
font-weight: $f-w-600;
line-height: 32px;
text-align: left;
// color: $color-black !important;
margin-left: 0;
padding: 0 !important;
.ks_dashboard_item_domain_count_l5 {
font-size: inherit !important;
margin-left: 0 !important;
}
}
.dashboard-item-compare {
left: 0;
bottom: 10px;
// padding: 0 12px;
padding: 0;
// position: absolute;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-top: 10px;
>* {
// width: 100%;
// justify-content: space-between !important;
// display: flex !important;
>* {
// width: fit-content !important;
}
}
}
}
// mobile - menu - css
.ks_body_class .o_mobile_menu_toggle {
.ks-mobile-burger-menu {
background-color: $color-D9F1FD;
border-radius: 5px;
width: 30px;
display: flex;
justify-content: center;
align-items: center;
height: 30px;
}
}
// menu - css -brandname
.ks_body_class .ks-apps-menu-icon .img-bg {
svg {
path {
fill: #241C1D !important;
}
}
&:hover {
background-color: #6789C6 !important;
svg {
path {
fill: $color-white !important;
}
}
}
}
// kpi-tile-css
.ks_body_class .target_deviation .fa-arrow-up {
margin-left: 6px;
}
//loader-css
.ks_body_class .o_blockUI {
display: flex !important;
flex-direction: row !important;
align-items: center !important;
background-color: $color-white !important;
opacity: 70% !important;
.o_spinner {
img {
height: 150px;
width: 150px;
}
}
.o_message {
font-size: $font-40;
font-weight: $f-w-500;
line-height: 56px;
text-align: left;
color: $color-E95266;
margin-left: 21px;
}
}
.ks_body_class .dropdown-item:focus {
background-color: transparent !important;
}
.ks_body_class .o_notification_manager {
position: fixed !important;
left: 0 !important;
right: 0 !important;
margin: 0 auto !important;
width: 50% !important;
top: 30px !important;
.o_notification_title {
font-size: $font-18 !important;
font-weight: $f-w-600 !important;
line-height: 25.2px;
text-align: left;
padding: 0 8px !important;
align-self: end;
}
.o_notification_body {
padding: 0 8px !important;
margin-top: 4px !important;
grid-column: 2 / 3;
}
.o_notification_close {
top: 50% !important;
left: auto;
bottom: auto;
right: 20px !important;
transform: translateY(-50%);
border: 1px solid $color-black !important;
border-radius: 50% !important;
height: 29px !important;
width: 29px !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
margin: 0 !important;
}
.border {
border: none !important;
}
.o_notification_content {
font-size: $font-16 !important;
font-weight: $f-w-400 !important;
line-height: 22.4px;
text-align: left;
color: $color-4B5563 !important;
padding-right: 20px;
ul {
padding-left: 0px !important;
display: flex;
align-items: center;
margin-bottom: 0;
flex-wrap: wrap;
li {
list-style: none !important;
&::after {
content: ",\00a0";
}
&:last-child::after {
content: "";
}
}
}
}
.o_notification {
border-radius: 10px !important;
padding: 20px !important;
background-color: $color-white !important;
border: none !important;
border: 3px solid $color-E5E7EB !important;
min-height: 107px;
// display: flex;
// flex-direction: column;
justify-content: center;
display: grid;
width: 100%;
grid-template-columns: 1.4fr 8fr;
grid-template-rows: 1fr;
align-items: center;
svg {
grid-row: 1 / 3;
}
}
}
// company-name-css
.ks_body_class .alert-primary,
.ks_body_class .bg-primary-subtle {
background-color: $color-FFF5F5 !important;
}
.ks_body_class {
& select {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding-right: 40px !important;
}
}
.ks_body_class #ks_dashboard_title_label {
padding: 12px 15px;
border: 0.5px solid #E5E7EB;
color: #241C1D;
// background-color: #D9F1FD;
border-radius: 10px;
font-size: 16px;
font-weight: 400;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
max-width: 187px;
display: block;
}
.dashboard_name_bg {
background-color: #D9F1FD !important;
}
.awesomplete_list_ul {
border-radius: 8px;
box-shadow: 0px 4px 12px 0px #00000040;
border: none !important;
width: max-content;
background-color: $color-white !important;
z-index: 20 !important;
margin-top: -10px;
list-style: none;
padding-left: 0px !important;
li {
padding: 8px 16px !important;
font-size: $font-14;
font-weight: $f-w-400;
line-height: 16px;
text-align: left;
color: $color-paragraph;
cursor: pointer;
&:hover {
background-color: $color-FFF5F5 !important;
}
}
}
.ks_body_class .dn_hide {
display: none !important;
}
.ks_body_class .new-feature-icons {
svg {
fill: none;
stroke: $color-paragraph;
}
}
// .ks_body_class .ks_list_view_container,
// .ks_body_class .encapsulated-list-preview .card {
// padding: 5px 16px !important;
// border-radius: 20px;
// border: 1px solid #E5E7EB !important;
// @include custom-scrollbar;
//
// .ks_list_item_table {
// border: 0.66px solid #EDEDED;
// border-radius: 12px;
// padding: 0 !important;
// @include custom-scrollbar;
//
// #ksListViewTable {
//
// thead {
// tr {
// th {
// background-color: #F4FAFF !important;
// font-size: $font-14;
// font-weight: $f-w-600;
// line-height: 13.88px;
// text-align: left;
// color: #2C2D35;
// top: 0 !important;
// border-right: 1px solid #FBFBFB !important;
// ;
// }
// }
// }
//
// tbody {
// tr {
// &:nth-of-type(odd)>* {
// background-color: $color-white !important;
// }
//
// &:nth-of-type(even)>* {
// background-color: #F4FAFF !important;
// }
//
// td {
// font-size: $font-14;
// font-weight: $f-w-400;
// line-height: 15.86px;
// text-align: left;
// color: #2C2D35 !important;
// border-right: 1px solid #FBFBFB !important;
//
// }
// }
// }
//
// }
// }
// }
.ks_body_class .ks_list_view_container,
.ks_body_class .encapsulated-list-preview .card {
padding: 5px 16px !important;
border-radius: 20px;
border: 1px solid #E5E7EB !important;
@include custom-scrollbar;
.ks_list_item_table {
border: 0.66px solid #EDEDED;
border-radius: 12px;
@include custom-scrollbar;
#ksListViewTable {
&.ks_list_view_layout_1 {
thead {
tr {
th {
background-color: #F4FAFF !important;
font-size: $font-14;
font-weight: $f-w-600;
line-height: 13.88px;
text-align: left;
color: #2C2D35;
top: 0 !important;
border-right: 1px solid #FBFBFB !important;
;
}
}
}
tbody {
tr {
&:nth-of-type(odd)>* {
background-color: $color-white !important;
}
&:nth-of-type(even)>* {
background-color: #F4FAFF !important;
}
td {
font-size: $font-14;
font-weight: $f-w-400;
line-height: 15.86px;
text-align: left;
color: #2C2D35 !important;
border-right: 1px solid #FBFBFB !important;
}
}
}
}
}
}
}
.ks_body_class .grid-stack-item>.grid-stack-item-content {
box-shadow: none !important;
}
.ks_body_class .o_form_button_save.bg-violet {
/* 与主题模块冲突:强制紫色主题会覆盖 Odoo 主题按钮颜色 (@image#1:Clipboard_Screenshot.png) */
// background-color: $color-6789C6 !important;
// border: 1px solid $color-6789C6 !important;
&:hover {
/* 与主题模块冲突:强制紫色悬停背景会覆盖主题深色模式下的按钮悬停样式 (@image#1:Clipboard_Screenshot.png) */
// background-color: $color-597ebe !important;
}
}
.ks_body_class .custom-date-range-selector {
&.magic-star-dd {
.img-bg {
background-color: $color-white !important;
svg {
path {
fill: #6789C6 !important;
stroke: none !important;
}
}
}
}
}
// todo-css
.ks_body_class .ks_to_do_card_body {
.card {
.card-body {
.tab-pane {
table {
tr {
td {
&.ks_custom_check {
.form-check {
margin: 0 !important;
.form-check-input {
&:checked {
&~.form-check-sign {
.check {
background-color: $color-white;
&::before {
color: $color-danger !important;
box-shadow: 0 0 0 10px, 9px -9px 0 10px, 32px 0 0 20px, 0 32px 0 20px, -4px 3px 0 10px, 27px -17px 0 4px !important;
}
}
}
}
}
.form-check-sign {
.check {
width: 18px !important;
height: 18px !important;
border-radius: 5px !important;
border: 1px solid $color-placeholders !important;
top: 2px;
&::before {
margin-top: -4px !important;
margin-left: 6px !important;
}
}
}
}
}
&.td-actions {
width: 102px !important;
}
}
}
}
}
}
}
}
.encapsulated-header-card {
margin-top: 10px !important;
border-radius: 16px 16px 0 0 !important;
.nav-tabs-wrapper {
align-items: center;
}
}
// for preview boc todo css
.encapsulated-card-preview {
border-radius: 16px;
overflow: hidden;
.encapsulated-header-card {
.card-header {
padding: 0 !important;
ul {
padding: 8px 16px;
li {
padding: 0 4px 0 0;
}
}
}
}
.ks_to_do_card_body.card-body.table-responsive {
padding: 8px 16px !important;
}
}
.ks_body_class .ks_chart_heading {
width: 75% !important;
text-align: left;
}
.ks_body_class .ks_dashboard_layout_event {
span.df_selection_text {
padding: 0 6px !important;
}
&.ks_layout_selected {
span {
&::before {
left: -12px !important;
}
}
}
}
// date-filter
.ks_body_class #ks_date_filter_selection,
.ks_body_class #ks_dn_filter_selection {
font-weight: $f-w-400 !important;
}
.ks_body_class {
sup {
position: relative;
top: 0;
.fa-exclamation-circle {
font-size: 12px;
color: $color-placeholders;
}
}
}
.ks_dashboard_main_content {
.ks_dashboard_item_content {
background-color: $color-bg-main;
}
}
.ks_body_class .ks_dashboarditem_chart_container {
border-radius: 16px 16px !important;
}
.ks_body_class .ks_chart_card_body {
top: 65px !important;
}
.ks_body_class .ks_to_do_card_body .ks_description {
border-bottom: 1px solid var(--color-E5E7EB) !important;
}
// [YUTHON] 注释掉 dashboard 对全局 .o_form_button_save 的 padding 硬编码(padding:0 29px !important),
// 它会覆盖 Odoo 主题默认按钮内边距,导致「保存」按钮比标准按钮宽/大。已确认卸载此模块无影响。
// .ks_body_class .o_form_button_save {
// padding: 0 29px !important;
// }
.ks_body_class .modal-body .ks_chart_card_body {
top:53px !important;
}
.ks_body_class .global-active, .ks_body_class .dash-dd-2 .dropdown-menu .dropdown-item.global-active {
background-color: $color-FFF5F5 !important;
}
.o-mail-ChatWindow {
height: 92vh !important;
width: 600px !important;
right: 0 !important;
}
@media screen and (max-width: 1544px) {
.target-show {
display: none;
}
}