Files
crmPRO/layout/style.scss

1500 lines
26 KiB
SCSS

$cBlue: #6690F4;
$cRed: #cc563d;
$cGreen: #099885;
$cBlack: #4e5e6a;
.default-btn {
display: flex;
align-items: center;
justify-content: center;
height: 40px;
border-radius: .25rem;
padding: 0 15px;
transition: all .3s ease;
&:hover {
text-decoration: none;
}
}
.animate {
animation: mymove 3s infinite;
}
.text-right {
text-align: right;
}
.nowrap {
white-space: nowrap;
}
table {
border-collapse: collapse;
}
small {
font-size: .75em;
}
table {
font-size: 13px;
}
@keyframes mymove {
50% {
opacity: .33;
}
}
/* motion */
@keyframes gradient-animation {
0% {
background-position: 15% 0%;
}
50% {
background-position: 85% 100%;
}
100% {
background-position: 15% 0%;
}
}
@keyframes frame-enter {
0% {
clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - 3px), 3px calc(100% - 3px), 3px 100%, 100% 100%, 100% 0%, 0% 0%);
}
25% {
clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) calc(100% - 3px), calc(100% - 3px) 100%, 100% 100%, 100% 0%, 0% 0%);
}
50% {
clip-path: polygon(0% 100%, 3px 100%, 3px 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 3px, 100% 0%, 0% 0%);
}
75% {
-webkit-clip-path: polygon(0% 100%, 3px 100%, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 3px, 3px 0%, 0% 0%);
}
100% {
-webkit-clip-path: polygon(0% 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 3px 100%, 0% 100%);
}
}
* {
box-sizing: border-box;
}
body {
font-family: "Open Sans", sans-serif;
margin: 0;
padding: 0;
font-size: 15px;
color: #4e5e6a;
}
.btn {
padding: 12px 25px;
transition: all 0.3s ease;
color: #FFF;
border: 0;
border-radius: .25rem;
cursor: pointer;
display: inline-flex;
text-decoration: none;
gap: 5px;
justify-content: center;
align-items: center;
&.btn_small,
&.btn-xs,
&.btn-sm {
padding: 5px 7px;
font-size: 13px;
i {
font-size: 12px;
}
}
&.btn-success {
background: $cGreen;
&:hover {
background: #4a9c3b;
}
}
&.btn-primary {
background: $cBlue;
&:hover {
background: #3164db;
}
}
&.btn-danger {
background: $cRed;
&:hover {
background: #b30000;
}
}
}
.hide {
display: none;
}
.form-error {
color: $cRed;
font-size: 13px;
}
.input-group {
margin-bottom: 10px;
}
input[type="checkbox"] {
border: 1px solid #ebebeb;
}
.form-control {
border: 1px solid #ebebeb;
border-radius: 3px;
height: 35px;
width: 100%;
padding: 5px;
font-family: "Open Sans", sans-serif;
option {
padding: 5px;
}
&:focus {
border: 1px solid $cBlue;
outline: none;
}
}
.unlogged {
background: #EEF1F9;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
.box-login {
background: #FFF;
padding: 25px;
border-radius: .25rem;
width: 400px;
.title {
text-align: center;
padding: 10px 10px 25px;
border-bottom: 1px solid #ebebeb;
font-size: 20px;
margin-bottom: 25px;
}
}
}
body>.top {
background: #FFF;
border-bottom: 1px solid #ebebeb;
display: flex;
justify-content: space-between;
align-items: center;
.logo {
a {
display: inline-flex;
color: $cBlue;
padding: 10px;
text-decoration: none;
span {
font-weight: 600;
}
}
}
.user-nav {
position: relative;
font-size: 14px;
padding: 10px;
.trigger {
cursor: pointer;
i {
color: $cBlue;
}
}
ul {
position: absolute;
top: 100%;
left: 0;
background: #FFF;
margin: 0;
padding: 0;
width: 100%;
list-style-type: none;
border: 1px solid #ebebeb;
display: none;
li {
cursor: pointer;
&:hover {
background: #F8F9FA;
}
a {
color: #333;
display: block;
text-decoration: none;
padding: 10px;
}
}
}
&:hover {
ul {
display: block;
}
}
}
}
.main-menu {
display: flex;
box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
ul {
display: flex;
list-style-type: none;
margin: 0;
padding: 0;
font-size: 14px;
li {
cursor: pointer;
a {
color: #333;
text-decoration: none;
display: inline-flex;
padding: 10px 15px;
}
&:hover {
a {
background: $cBlue;
color: #FFF;
}
}
ul {
display: none;
}
}
}
}
.main {
padding: 25px;
background: #D9DEE2;
min-height: calc(100vh - 80px);
}
.tasks_container {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 20px;
.column {
width: 100%;
h2 {
display: flex;
padding: 10px;
background: #FFF;
margin-bottom: 10px;
font-size: 15px;
font-weight: 300;
border-radius: 3px 3px 0 0;
justify-content: space-between;
align-items: center;
i {
cursor: pointer;
}
}
&.tasks_suspended {
h2 {
border-bottom: 5px solid $cRed;
}
}
&.tasks_fvat {
h2 {
border-bottom: 5px solid #a900fc;
}
}
&.tasks_new {
h2 {
border-bottom: 5px solid #ccc;
}
}
&.tasks_bulk {
h2 {
border-bottom: 5px solid #ff8c00;
}
}
&.tasks_to_do {
h2 {
border-bottom: 5px solid #2aaf47;
}
}
&.tasks_to_review {
h2 {
border-bottom: 5px solid #2535c9;
}
}
&.tasks_closed {
h2 {
border-bottom: 5px solid #000;
}
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
.task {
margin-bottom: 5px;
background: #FFF;
padding: 10px;
border-radius: 0;
display: flex;
position: relative;
border-radius: .25rem;
flex-wrap: wrap;
&.notopened {
border: 2px solid $cRed;
}
.top {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
width: 100%;
._users {
display: flex;
gap: 5px;
flex-wrap: wrap;
.user {
display: flex;
width: 25px;
height: 25px;
border-radius: .25rem;
justify-content: center;
align-items: center;
color: #FFF;
font-size: 12px;
}
}
._timer {
display: flex;
gap: 5px;
.recursively {
color: #FFF;
background: #405189;
border-radius: 3px;
cursor: pointer;
margin-bottom: 5px;
width: 25px;
height: 25px;
text-align: center;
display: block;
i {
font-size: 12px;
}
}
.task_start {
display: block;
background: $cGreen;
color: #FFF;
border-radius: .25rem;
cursor: pointer;
margin-bottom: 5px;
width: 25px;
height: 25px;
text-align: center;
&.hidden {
display: none;
}
i {
font-size: 12px;
}
}
.task_end {
background: $cRed;
display: block;
color: #FFF;
border-radius: .25rem;
cursor: pointer;
margin-bottom: 5px;
width: 25px;
height: 25px;
text-align: center;
&.hidden {
display: none;
}
i {
font-size: 12px;
}
}
}
}
.middle {
width: 100%;
}
.name {
font-size: 14px;
color: #333;
text-decoration: none;
display: block;
margin-bottom: 5px;
}
.bottom {
display: flex;
justify-content: space-between;
}
.client_info,
.current_status {
font-size: 12px;
font-weight: 400;
strong {
font-weight: 600;
}
}
.current_status {
position: relative;
cursor: pointer;
.status_change {
position: absolute;
left: 0;
top: 20px;
background: #fff;
padding: 15px;
border: 1px solid #dfdfdf;
border-radius: 3px;
cursor: pointer;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
z-index: 99;
display: none;
select {
width: 250px;
padding: 10px;
border: 1px solid #ebebeb;
border-radius: 3px;
option {
font-size: 15px;
padding: 3px;
}
}
}
}
.dates {
margin-bottom: 5px;
display: flex;
justify-content: space-between;
font-size: 12px;
.danger {
color: $cRed;
font-weight: 600;
}
.warning {
color: #ff8c00;
}
i {
font-size: 12px;
color: #C9CED4;
margin-right: 5px;
}
}
}
}
}
}
.action_menu {
display: flex;
margin-bottom: 25px;
gap: 20px;
.btn {
display: inline-flex;
padding: 7px 15px;
color: #FFF;
border-radius: 3px;
text-decoration: none;
align-items: center;
justify-content: center;
gap: 5px;
&.btn_add {
background: $cGreen;
&:hover {
background: #4a9c3b;
}
}
&.btn_cancel {
background: $cRed;
&:hover {
background: #b30000;
}
}
&.disabled {
opacity: .5;
}
}
}
.form_container {
background: #FFF;
padding: 25px;
max-width: 1300px;
&.full {
max-width: 100%;
}
.form_group {
margin-bottom: 10px;
display: flex;
>.label {
width: 300px;
display: inline-flex;
align-items: flex-start;
justify-content: right;
padding-right: 10px;
}
.input {
width: calc(100% - 300px);
}
}
}
.fullscreen_description {
position: fixed !important;
top: 25px;
left: 25px;
right: 25px;
bottom: 25px;
z-index: 9999;
background: white;
padding: 20px;
overflow: auto;
border-radius: 0.25rem;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.fullscreen {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
color: #FFF;
background: $cRed;
display: inline-flex;
height: 40px;
width: 40px;
border-radius: .25rem;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
&:hover {
transform: scale(1.05);
text-decoration: none;
}
}
.task_popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: none;
z-index: 9999;
.task_details {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #FFF;
padding: 25px;
border-radius: .25rem;
max-width: 1140px;
width: 100%;
transition: all 0.3s ease;
height: 90vh;
.content {
height: calc(100% - 50px);
}
&.open_works_time {
max-width: 1540px;
.content {
grid-template-columns: 1fr 300px 350px;
.task_work_details {
display: block;
}
}
}
.title {
font-size: 20px;
margin-bottom: 25px;
display: flex;
align-items: center;
gap: 10px;
a {
border: 1px solid $cGreen;
display: inline-flex;
height: 30px;
width: 30px;
border-radius: .25rem;
align-items: center;
justify-content: center;
&:hover {
text-decoration: none;
}
i {
color: $cGreen;
}
&.task-delete {
border: 1px solid $cRed;
i {
color: $cRed;
}
}
i {
font-size: 14px;
}
}
}
.close {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
}
.content {
display: grid;
font-size: 14px;
grid-template-columns: 1fr 300px;
gap: 30px;
transition: all 0.3s ease;
h3 {
width: 100%;
margin-top: 0;
margin-bottom: 5px;
font-weight: 500;
color: #000;
font-size: 17px;
}
.left {
height: 100%;
overflow: hidden;
.users {
display: flex;
gap: 20px;
.user {
display: flex;
gap: 10px;
align-items: center;
margin-bottom: 10px;
.avatar {
height: 30px;
width: 30px;
border-radius: .25rem;
background: #ccc;
display: flex;
justify-content: center;
align-items: center;
color: #FFF;
font-size: 12px;
}
}
}
.comments {
border-radius: 3px;
max-height: 406px;
overflow-y: auto;
.new_comment {
margin-bottom: 10px;
textarea {
height: 75px;
margin-bottom: 10px;
border-radius: .25rem;
}
.add_comment {
background: $cGreen;
color: #FFF;
padding: 10px;
border-radius: .25rem;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
width: 200px;
text-decoration: none;
&:hover {
background: #4a9c3b;
}
}
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
li {
background: #ced4da;
margin-bottom: 5px;
padding: 15px;
border-radius: .25rem;
position: relative;
.delete_comment {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
color: $cRed;
}
.author {
font-weight: 600;
margin-bottom: 5px;
display: inline-flex;
margin-right: 10px;
}
.date {
font-size: 12px;
margin-bottom: 5px;
display: inline-flex;
}
.text {
margin-bottom: 15px;
font-size: 13px;
}
}
}
}
.checklist {
border-radius: 3px;
margin-bottom: 10px;
.new_element {
display: flex;
margin-bottom: 10px;
a {
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
border-radius: 0 .25rem .25rem 0;
text-decoration: none;
width: 35px;
background: $cGreen;
color: #FFF;
}
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
overflow-y: auto;
max-height: calc(90vh - 400px);
li {
display: flex;
gap: 10px;
margin-bottom: 5px;
background: #FFF;
border-radius: 3px;
padding: 10px;
border: 1px solid #ebebeb;
font-size: 13px;
align-items: flex-start;
a {
margin-left: auto;
margin-right: 0;
cursor: pointer;
background: $cRed;
display: flex;
height: 25px;
width: 25px;
min-width: 25px;
justify-content: center;
align-items: center;
border: 0;
border-radius: 3px;
transition: all 0.3s ease;
&:hover {
text-decoration: none;
background: #b30000;
}
i {
color: #FFF;
font-size: 12px;
}
}
}
}
}
.description {
padding: 15px;
border-radius: 0.25rem;
border: 1px solid #ebebeb;
margin-bottom: 15px;
max-height: 202px;
overflow-x: hidden;
position: relative;
}
}
.right {
.box {
margin-bottom: 15px;
}
.time {
a.time_worked_toggle {
@extend .default-btn;
color: #299cdb;
display: inline-flex;
border: 1px solid #299cdb;
&:hover {
background: #dff0fa;
text-decoration: none;
}
&:active,
&:focus {
text-decoration: none;
}
}
a:not(.time_worked_toggle) {
@extend .default-btn;
margin-top: 10px;
text-decoration: none;
gap: 10px;
&.task_start {
background: #0ab39c;
color: #FFF;
&:hover {
background: #099885;
}
}
&.task_end {
background: $cRed;
color: #FFF;
}
&.hidden {
display: none;
}
}
}
.dates {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
.danger {
color: $cRed;
font-weight: 600;
}
.warning {
color: #ff8c00;
}
i {
color: #C9CED4;
margin-right: 5px;
}
}
}
.task_work_details {
display: none;
overflow-y: auto;
max-height: 508px;
width: 100%;
padding-right: 10px;
padding-top: 4px;
._line {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-bottom: 5px;
._user {
width: 100%;
font-size: 13px;
}
input {
width: calc(50% - 25px);
text-align: center;
margin-left: 2px;
margin-right: 2px;
}
}
._work_delete {
display: inline-flex;
height: 35px;
width: 35px;
border-radius: .25rem;
align-items: center;
justify-content: center;
cursor: pointer;
border: 1px solid $cRed;
margin-left: 2px;
transition: all 0.3s ease;
&:hover {
background: $cRed;
i {
color: #FFF;
}
}
i {
transition: all 0.3s ease;
color: $cRed;
}
}
}
}
}
}
.table {
width: 100%;
th,
td {
border: 1px solid #ebebeb;
padding: 5px;
}
td.center {
text-align: center;
}
td.left {
text-align: left;
}
}
.projects_container {
background: #FFF;
padding: 15px;
border-radius: .25rem;
display: flex;
gap: 20px;
.left {
width: calc(100% - 250px);
._projects,
._users {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
}
.right {
width: 250px;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: center;
gap: 20px;
border-left: 1px solid #ebebeb;
padding-left: 15px;
select {
width: 200px;
}
}
}
.default_popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: none;
.popup_content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #FFF;
padding: 25px;
border-radius: .25rem;
max-width: 1140px;
width: 100%;
.close {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
}
}
}
#fg-cron {
margin: 10px 0;
.countdown {
background: $cGreen;
color: #FFF;
padding: 10px;
}
#cron-container {
max-height: 300px;
overflow-x: hidden;
overflow-y: auto;
.msg {
font-size: 13px;
padding: 5px;
border-bottom: 1px solid #e8e8e8;
}
}
}
.card {
background: #FFF;
padding: 25px;
border-radius: .25rem;
color: #000;
font-size: 15px;
max-width: 1280px;
&.mb25 {
margin-bottom: 25px;
}
.card-header {
font-weight: 600;
}
.card-body {
padding-top: 10px;
table {
border-collapse: collapse;
th,
td {
font-size: 14px;
&.bold {
font-weight: 600;
}
&.text-right {
text-align: right;
}
&.text-center {
text-align: center;
}
.close-task {
text-decoration: none;
color: $cBlue;
&:hover {
color: $cRed;
}
}
}
}
}
}
.finance-summary {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 10px;
.panel {
background: #FFF;
border-radius: .25rem;
padding: 15px;
h1 {
font-size: 20px;
margin: 0;
}
span {
font-size: 0.85em;
}
}
}
.finance-manager {
display: grid;
gap: 10px;
grid-template-columns: 200px 1fr 500px;
padding-top: 25px;
.manage-menu {
display: inline-block;
margin-right: 10px;
a {
color: #333333;
text-decoration: none;
font-weight: 300;
display: block;
}
}
.actions {
width: 100px;
text-align: center;
a {
display: inline-flex;
margin: 0 2px;
height: 25px;
width: 25px;
align-items: center;
justify-content: center;
text-decoration: none;
color: #000;
border: 1px solid #e7e7e7;
font-size: 11px;
border-radius: 3px;
transition: all 0.3s ease;
&:hover {
border: 1px solid $cBlue;
}
}
}
}
.bootstrap-tagsinput {
.tag {
background: $cBlue;
font-size: 13px;
padding: 5px 10px;
border-radius: 12px;
[data-role="remove"] {
color: #FFF !important;
&:hover {
box-shadow: none !important;
color: #000 !important
}
}
}
}
.finance-tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
a:not(.btn) {
display: flex;
width: 100%;
text-decoration: none;
color: $cBlack;
&.zoom-100 {
font-size: 130%;
}
&.zoom-90 {
font-size: 120%;
}
&.zoom-80 {
font-size: 110%;
}
&.zoom-70 {
font-size: 100%;
}
&.zoom-60 {
font-size: 95%;
}
&.zoom-50 {
font-size: 85%;
}
&.zoom-40 {
font-size: 80%;
}
&.zoom-30 {
font-size: 75%;
}
&.zoom-20 {
font-size: 75%;
}
&.zoom-10 {
font-size: 70%;
}
&.zoom-0 {
font-size: 70%;
}
}
}
.manage-menu {
position: relative;
.context-menu {
border-left: 4px dotted #000;
width: 1px;
height: 100%;
}
.context-menu-container {
position: absolute;
display: none;
background: #FFF;
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
top: 2px;
left: 2px;
ul {
list-style-type: none;
margin: 0;
padding: 0;
li {
a {
display: block;
padding: 7px 15px;
white-space: nowrap;
&:hover {
background: #f8f8f8;
}
}
}
}
}
&:hover {
.context-menu-container {
display: block;
}
}
}
.wiki-categories {
display: grid;
gap: 10px;
margin-top: 25px;
grid-template-columns: 1fr 1fr 1fr 1fr;
.category {
background: #FFF;
padding: 10px;
.users {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 5px;
.user {
display: flex;
height: 25px;
width: 25px;
border-radius: 50%;
background: #ccc;
justify-content: center;
align-items: center;
color: #FFF;
font-size: 12px;
}
}
.actions {
display: grid;
grid-template-columns: 1fr 1fr;
a {
display: block;
color: $cBlack;
font-size: 13px;
text-align: center;
}
}
.title {
margin-bottom: 5px;
a {
display: block;
color: $cBlack;
font-size: 13px;
font-weight: 600;
}
}
}
}
.bootstrap-datetimepicker-widget .picker-switch {
a {
display: block;
color: #000;
}
}
.gantt_users {
display: flex;
gap: 20px;
}
#g-results {
background: #FFF;
padding: 25px;
}
.g-menu-container {
margin-bottom: 15px;
.right-menu {
display: none;
}
}
.g-center {
text-align: center;
}
.alert {
background: $cGreen;
border: 0;
color: #FFF;
}