Files
Naliia_Dev/naliia_sao_custom/sao.less

1638 lines
33 KiB
Plaintext

/* This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. */
@import "bootstrap";
@import "bootstrap-rtl";
@import "sao-variables";
html {
.user-select(none);
}
html[theme="default"] {
@import "theme";
}
.body {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
> .navbar {
margin-bottom: 0;
}
}
// Fix double rtl prefix
.float-rtl-grid-columns(@class, @rtl-prefix) {
.col(@index) { // initial
@item: ~".col-@{class}-@{index}";
.col((@index + 1), @item);
}
.col(@index, @list) when (@index =< @grid-columns) { // general
@item: ~".col-@{class}-@{index}";
.col((@index + 1), ~"@{list}, @{item}");
}
.col(@index, @list) when (@index > @grid-columns) { // terminal
@{list} {
float: right;
}
}
.col(1); // kickstart it
}
// Backport from Bootstrap 4
.stretched-link {
&::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
// Just in case `pointer-events: none` is set on a parent
pointer-events: auto;
content: "";
// IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color
background-color: rgba(0, 0, 0, 0);
}
}
.radio,
.checkbox {
margin-top: 0;
margin-bottom: 0;
}
.btn-horizontal {
.text-overflow()
}
.input-group > .form-control-feedback {
z-index: 3;
}
.input-group-addon {
> .label {
position: absolute;
right: 0px;
top: -5px;
}
}
.navbar-inverse {
.close {
color: @navbar-inverse-link-color;
&:hover,
&:focus {
color: @navbar-inverse-link-hover-color;
background-color: @navbar-inverse-link-hover-bg;
}
}
.active .close {
&,
&:hover,
&:focus {
color: @navbar-inverse-link-active-color;
background-color: @navbar-inverse-link-active-bg;
}
}
}
.navbar {
.icon {
display: inline-block;
height: unit(@line-height-base, em);
vertical-align: middle;
}
}
.navbar-nav {
@media (min-width: @grid-float-breakpoint) {
float:none;
}
}
.btn-primary {
.icon {
filter: brightness(0) invert(1);
}
}
.panel-heading {
a {
color: inherit;
}
}
.modal-header {
background-color: @brand-primary;
color: #fff;
.modal-title {
small {
color: @gray-lighter;
}
}
}
.alert {
.user-select(text);
}
#tablist {
display: flex;
overflow-x: auto;
> li {
flex: auto;
min-width: 9em;
> a {
> span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
/* For IE */
display: block;
margin-right: 15px;
}
[dir="rtl"] & > span {
margin-right: 0;
margin-left: 15px;
}
}
}
}
@media screen and (max-width: @screen-xs-max) {
#tablist {
display: block;
> li {
float: none;
}
}
}
#main {
bottom: 0;
display: flex;
flex-direction: row;
gap: .5rem;
left: 0;
position: absolute;
right: 0;
top: 6rem;
}
#menu, #tabs {
display: flex;
overflow: auto;
.navbar-brand {
.title {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
#tabs {
flex: 1;
overflow-x: hidden;
padding: 0 5px;
}
@media screen and (max-width: @screen-md-max) {
#menu, #tabs {
.navbar-brand {
.title {
max-width: 180px;
}
}
}
}
@media screen and (max-width: @screen-sm-max) {
#menu, #tabs {
.navbar-brand {
.title {
max-width: 170px;
}
}
}
}
@media screen and (max-width: @screen-xs-max) {
#menu, #tabs {
padding-left: 0;
padding-right: 0;
.navbar-brand {
padding-left: 0;
padding-right: 0;
.title {
max-width: 70px;
}
}
}
}
#menu {
overflow-y: auto;
padding: 0;
background-color: @navbar-default-bg;
border-color: @panel-default-border;
border-style: solid;
border-radius: 0 @panel-border-radius @panel-border-radius 0;
border-width: 1px;
.treeview {
height: auto;
.cell {
.user-select(none);
}
}
@media (min-width: @screen-md-min) {
resize: horizontal;
width: 35rem;
min-width: 20ch;
max-width: 100vw;
}
@media (max-width: (@screen-sm-max)) {
width: 100%;
}
}
[dir="rtl"] #menu {
border-right: none;
}
@media screen and (max-width: @screen-sm-max) {
#menu {
border-right: none;
border-left: none;
border-width: none;
}
.active #menu {
border-width: 1px;
}
[dir="rtl"] .active #menu {
border-right: none;
}
}
#tabcontent {
display: flex;
flex: 1;
width: 100%;
> .tab-pane > .panel {
display: flex;
flex-direction: column;
flex: 1;
margin-bottom: 5px;
padding-bottom: 0;
> .panel-body {
display: flex;
flex: 1;
flex-direction: row;
padding: 5px 0;
min-height: 0;
> div {
display: inline-flex;
&:first-child {
flex: 2;
}
}
}
}
> .tab-pane.active {
/* override bootstrap which sets display to block */
display: flex;
flex: 1;
}
.sidebar {
border-color: @panel-default-border;
border-style: solid;
border-width: 0 0 0 1px;
flex: 1;
overflow: unset;
.sidebar-resizer {
display: flex;
flex-direction: column;
height: 100%;
max-width: 100vw;
min-width: 100%;
overflow: hidden;
resize: inline;
transform: scaleX(-1);
}
.sidebar-content {
display: flex;
flex-direction: column;
flex: 1;
transform: scaleX(-1);
height: 100%;
}
}
}
@media screen and (max-width: @screen-xs-max) {
#tabcontent {
.sidebar:not(:empty) {
flex: 2;
> .sidebar-resizer {
resize: none;
}
}
}
}
@media screen and (max-width: @screen-sm-max) {
#tabcontent {
.sidebar {
visibility: collapse;
}
}
#tabcontent[data-view-type="form"] {
display: block;
> .tab-pane > .panel > .panel-body {
flex-direction: column;
}
.sidebar {
visibility: unset;
}
}
}
@media screen and (min-width: @screen-sm-min) {
#global-search-entry {
width: 10em;
-webkit-transition: width .5s ease;
-o-transition: width .5s ease;
transition: width .5s ease;
.global-search-container:focus-within & {
width: 20em;
}
}
}
#user-preferences > a {
max-width: 30em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
> img {
margin: -5px 5px;
width: 30px;
&[src=''] {
width: 0;
}
&.img-badge {
margin-left: -15px;
margin-bottom: -25px;
width: 15px;
}
}
}
.attachment-preview {
border-bottom: 1px solid @hr-border;
display: flex;
flex-direction: column;
flex: 1;
min-height: 200px;
.screen-container {
overflow: auto;
}
.btn-group {
margin-bottom: 10px;
margin-top: 10px;
}
}
.chat {
border-bottom: 1px solid @hr-border;
display: flex;
flex-direction: column;
flex: 1;
height: 100%;
min-height: 200px;
padding-bottom: 20px; // Like .tab-form
padding-left: 5px;
padding-right: 5px;
.chat-messages-outer {
display: flex;
flex-direction: column;
flex: 1;
justify-content: flex-end;
overflow: hidden;
}
.chat-messages {
max-height: 100%;
overflow-y: auto;
}
.chat-message {
margin-top: 5px;
}
.chat-content {
white-space: pre-wrap;
word-wrap: break-word;
}
.chat-content-internal {
color: @text-muted;
}
.media-body.well {
border-radius: .5rem;
margin: 0;
}
hr {
border-style: dotted;
margin-bottom: 5px;
margin-top: 5px;
width: 100%;
}
textarea {
min-height: 60px;
resize: vertical;
}
.checkbox {
margin-bottom: 10px;
margin-top: 10px;
}
}
.list-group-item-variant(selected; @state-selected-bg; @state-selected-text);
.table-row-variant(selected; @state-selected-bg);
/* Duplicate bootstrap variant to have precedence over selected */
.table-row-variant(success; @state-success-bg);
.table-row-variant(warning; @state-warning-bg);
.table-row-variant(danger; @state-danger-bg);
html.accesskey {
*[accesskey] ~ span[data-accesskey]:after,
*[accesskey]:after {
background-color: @brand-info;
color: #fff;
font-size: x-small;
padding: 0 2px;
position: absolute;
text-transform: uppercase;
margin: 0 -1em;
z-index: 5;
}
input[accesskey][type="checkbox"]:after {
background-color: initial;
}
*[accesskey] ~ span[data-accesskey] {
float: right;
position: relative;
&:after {
content: attr(data-accesskey);
}
}
*[accesskey]:after {
content: attr(accesskey);
}
input[accesskey][type="checkbox"],
input[accesskey][type="checkbox"],
select[accesskey] {
& ~ span[data-accesskey] {
bottom: 1em;
}
}
}
.tab-form, .tab-board {
padding-bottom: 20px;
nav.toolbar {
position: -webkit-sticky;
position: sticky;
top: 0px;
z-index: @zindex-navbar - 1;
.close {
margin-right: 5px;
margin-left: 5px;
}
}
.navbar-text {
.badge {
max-width: 7em;
min-width: 7em;
overflow: hidden;
text-overflow: ellipsis;
}
}
.navbar-btn {
.badge {
position: absolute;
top: -5px;
right: -5px;
z-index: 1000;
}
}
.tab-domain {
overflow-x: auto;
max-width: calc(100vw - 10px);
flex: 0 0 content;
> .nav-tabs {
display: inline-flex;
white-space: nowrap;
width: 1px;
}
.badge {
min-width: 3em;
}
}
}
@media screen and (max-height: 750px) {
.tab-form, .tab-board {
.navbar-header > ul {
min-width: 320px;
> li {
float: left;
width: 50%;
}
}
}
}
@media screen and (max-width: @screen-xs-max) {
nav.toolbar {
padding-left: 0;
padding-right: 0;
}
}
.modal-body {
overflow-x: auto;
max-height: calc(100vh - 200px);
}
@media screen and (max-height: 500px) {
.modal-body {
max-height: 300px;
}
}
.modal-lg {
.modal-content {
height: auto;
border-radius: 0;
}
}
@media screen and (min-width: @screen-sm-min) {
.modal-dialog.modal-lg {
width: auto;
margin: 30px;
}
}
input[type='number'] {
text-align: right;
text-align: end;
}
input[type='color'] {
.btn {
height: @line-height-base;
}
.btn-lg {
height: @line-height-large;
}
.btn-sm {
height: @line-height-small;
}
.btn-xs {
height: @line-height-small;
}
}
.input-file {
> input[type='file'] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
li& {
top: auto;
height: auto;
&:hover + a, &:focus + a {
background-color: @dropdown-link-hover-bg;
color: @dropdown-link-hover-color;
text-decoration: none;
}
}
}
}
/* Hide empty image displayed as broken image */
img[src=''],
img:not([src]) {
visibility: hidden;
}
img.icon {
height: unit(@line-height-base, em);
[dir="rtl"] & {
transform: scaleX(-1);
}
}
.screen-container, .board {
display: flex;
flex-direction: column;
flex: 1;
}
.filter-box {
margin: 5px 0;
}
@media screen and (max-width: @screen-sm-max) {
.filter-box {
button[disabled] {
display: none;
}
}
}
.content-box {
display: flex;
flex-direction: column;
flex: 1;
overflow-y: auto;
}
.tree-container {
display: flex;
flex-direction: column;
min-height: 0;
.tree-dragged-image {
display: block;
height: 0;
left: 0;
position: absolute;
top: 0;
width: 0;
}
}
.wizard-form {
width: 100%;
}
.list-form {
overflow-y: auto;
}
.treeview {
overflow-x: auto;
> table.tree {
width: 100%;
table-layout: fixed;
border: 1px solid transparent;
&.table-bordered {
border-color: @table-border-color;
}
col.selection-state, col.favorite, col.tree-menu {
width: 30px;
}
td.draggable-handle, td.optional {
> img {
.center-block();
}
}
td.draggable-handle {
cursor: grab;
}
th.selection-state {
> input {
margin-top: 0;
margin-bottom: 0;
}
}
th.selection-state, td.selection-state {
> input {
.center-block();
}
}
> thead > tr > th {
position: relative;
padding: 5px;
> label {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin: 0;
&.sortable {
cursor: pointer;
}
}
> div.resizer {
z-index: 1;
position: absolute;
top: 0;
inset-inline-end: -5px;
width: 2px;
height: 100%;
cursor: ew-resize;
padding: 0 4px;
background-color: transparent;
}
&.tree-menu {
cursor: pointer;
overflow: visible;
}
text-align: center;
&.char, &.text, &.many2one, &.one2one, &.date, &.time, &.selection,
&.reference, &.url, &.email, &.callto, &.sip {
text-align: left;
text-align: start;
}
&.timedelta, &.float, &.numeric, &.integer {
text-align: right;
text-align: end;
}
}
> thead > tr:first-child {
position: sticky;
top: 0;
z-index: 100;
th {
border: 1px solid transparent;
border-bottom: 2px solid @table-border-color;
background-color: @body-bg;
}
&:hover th {
border: 1px solid @table-border-color;
border-bottom-width: 2px;
}
}
> tfoot > tr {
bottom: 0;
position: sticky;
z-index: 100;
th {
background-color: @body-bg;
& > label {
display: none;
}
& > div.value {
.user-select(text);
white-space: pre;
}
}
}
> tbody > tr > td {
cursor: pointer;
> * {
vertical-align: middle;
}
}
> tbody > tr.dragged-row {
background-color: @state-info-bg;
}
img.column-affix, a.column-affix > img {
width: unit(@line-height-base, em);
height: unit(@line-height-base, em);
display: block;
}
tr.more-row {
text-align: center;
}
}
.editabletree-char, .editabletree-date, .editabletree-datetime,
.editabletree-integer, .editabletree-float, .editabletree-selection,
.editabletree-timedelta, .editabletree-boolean, .editabletree-many2one,
.editabletree-one2many, .editabletree-reference, .editabletree-time {
width: 100%;
input[type='checkbox'] {
margin-top: 0;
margin-left: auto;
margin-right: auto;
}
> .input-group {
width: 100%;
}
}
@media screen and (min-width: @screen-sm-min) {
.editabletree-reference {
> .input-sm, > .input-group {
width: 50%;
}
}
}
td {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
&.edited {
/* We have to define an overflow:visible in order for the
completion widget to be shown */
overflow: visible;
padding: 0 0;
}
> .column-text {
white-space: pre;
}
}
.cell {
display: flex;
justify-content: space-between;
.user-select(text);
> * {
align-self: center;
}
.widget, .widget-editable {
min-width: 0;
flex-grow: 2;
> * {
width: 100%;
}
}
.widget {
> * {
overflow: hidden;
text-overflow: ellipsis;
}
> input[type="checkbox"],
> input[type="radio"] {
overflow: unset;
}
}
.prefix {
padding-right: .5 * @table-cell-padding;
[dir="rtl"] & {
padding-right: 0;
padding-left: .5 * @table-cell-padding;
}
}
.suffix {
padding-left: .5 * @table-cell-padding;
[dir="rtl"] & {
padding-left: 0;
padding-right: .5 * @table-cell-padding;
}
}
}
.expander {
cursor: pointer;
> img {
float: left;
[dir="rtl"] & {
float: right;
}
width: unit(@line-height-base, em);
height: unit(@line-height-base, em);
}
}
label {
font-weight: normal;
display: inline;
&.required {
font-weight: bold;
}
&.editable {
font-style: italic;
}
}
.btn {
padding-top: 0;
padding-bottom: 0;
}
> table.table-bordered {
border: 1px solid @table-border-color;
> thead,
> tbody,
> tfoot {
> tr:first-child {
> th,
> td {
border: 1px solid @table-border-color;
}
}
}
> thead > tr:first-child {
> th,
> td {
border-bottom-width: 2px;
}
}
}
}
.form, .board {
width: 100%;
height: 100%;
.form-container, .form-hcontainer, .form-vcontainer {
display: grid;
width: 100%;
height: 100%;
column-gap: 5px;
row-gap: 5px;
}
.form-item {
display: flex;
> .btn {
margin: 5px 0;
}
}
.form-notebook {
border-color: @panel-default-border;
border-style: solid;
border-width: 1px;
.nav-tabs {
background: @navbar-default-bg;
margin-bottom: 5px;
}
}
.form-label {
white-space: pre-wrap;
width: max-content;
max-width: 80ch;
}
.form-char, .form-password, .form-color, .form-integer, .form-float,
.form-timedelta, .form-selection, .form-multiselection, .form-url,
.form-email, .form-callto, .form-sip, .form-pyson {
input, select {
min-width: 8ch;
}
}
.form-date {
input {
width: calc(10ch + @input-height-base);
}
}
.form-time {
input {
width: calc(8ch + @input-height-base);
}
}
.form-datetime {
input {
width: calc(19ch + @input-height-base);
}
}
.form-many2one, .form-one2one, .form-reference, .form-binary {
select {
min-width: 8ch;
}
input {
min-width: 12ch;
&[type='file'] {
min-width: unset;
}
}
}
.form-selection {
select.form-control {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
@media screen and (min-width: @screen-sm-min) {
.form-reference {
> .input-sm, > .input-group {
width: 50%;
}
}
}
@media screen and (max-width: @screen-xs-max) {
.form-reference {
> .input-sm, > .input-group {
width: 100%;
}
}
}
.form-url, .form-email, .form-callto, .form-sip {
a > img {
width: 1em;
height: 1em;
}
}
.form-many2one > .input-group {
width: 100%;
}
.form-one2many-menu::after, .form-many2many-menu::after {
content: "";
display: table;
clear: both;
}
.form-one2many-menu, .form-many2many-menu {
.form-one2many-string, .form-many2many-string {
display: inline-table;
float: left;
margin: 5px;
[dir="rtl"] & {
float: right;
}
}
.form-one2many-toolbar, .form-many2many-toolbar {
display: inline-table;
float: right;
[dir="rtl"] & {
float: left;
}
.badge {
max-width: 5em;
min-width: 5em;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
.form-one2many-content, .form-many2many-content {
padding: 5px;
.treeview, .list-form {
height: auto;
min-height: 150px;
max-height: 300px;
}
}
.form-text, .form-richtext {
display: flex;
.input-group {
display: flex;
width: 100%;
textarea, .richtext {
height: 100%;
line-height: 2.5ex;
min-height: 12.5ex;
overflow: auto;
resize: vertical;
}
> span {
flex-basis: fit-content;
}
}
}
.form-richtext {
> .btn-toolbar {
min-width: 450px;
}
}
.form-separator {
label {
margin-top: 10px;
}
hr {
margin-top: 0;
margin-bottom: 5px;
}
}
.form-image {
margin: 2px;
.caption {
min-width: 120px;
}
}
.form-document {
object {
object-fit: scale-down;
object-position: center top;
max-width: 100%;
min-height: 50vh;
height: 100%;
width: 100%;
@media screen and (max-width: @screen-xs-max) {
min-height: 25vh;
}
}
}
label {
font-weight: normal;
display: inline;
padding: 0 5px;
&.required {
font-weight: bold;
}
&.editable {
font-style: italic;
}
}
.nav-tabs {
margin-bottom: 15px;
}
.panel-heading {
padding: 2px 2px;
}
fieldset.form-group_ {
overflow: auto;
> legend {
font-size: @font-size-base;
margin-bottom: 5px;
}
.form-container, .form-hcontainer, .form-vcontainer {
vertical-align: middle;
}
}
.xexpand {
width: 100%;
}
.xfill {
justify-content: stretch;
}
.yexpand {
height: 100%;
}
.xalign-start {
justify-self: start;
justify-content: start;
}
.xalign-center {
justify-self: center;
justify-content: center;
}
.xalign-end {
justify-self: end;
justify-content: end;
}
.yalign-start {
align-items: start;
}
.yalign-center {
align-items: center;
}
.yalign-end {
align-items: end;
}
.yfill {
align-self: stretch;
}
}
.form-binary, .editabletree-binary {
min-width: calc(5 * 2.4em);
input:last-of-type {
text-align: right;
text-align: end;
}
}
.form-multiselection, .dict-multiselection {
select {
option:before {
content: "☐ ";
}
option:checked:before {
content: "☑ ";
}
}
&.yexpand {
select {
min-height: 150px;
max-height: 400px;
}
}
}
.form-integer, .form-float, .form-timedelta,
.dict-integer, .dict-float, .dict-numeric,
.editabletree-integer, .editabletree-float, .editabletree-timedelta {
input {
text-align: right;
text-align: end;
}
}
.column-integer, .column-float, .column-timedelta, .column-binary {
text-align: right;
text-align: end;
}
.column-many2many, .column-one2many {
text-align: center;
}
input.column-boolean {
.center-block();
}
.column-many2one, .column-reference {
a:hover:after {
content: " 🔗";
display: inline-block;
}
}
.form-date, .form-datetime, .form-time,
.dict-date, .dict-datetime,
.input-date, .input-datetime-local, .input-time,
.editabletree-date, .editabletree-datetime, .editabletree-time {
.icon-input {
overflow-y: hidden;
}
input[type="date"], input[type="datetime-local"], input[type="time"] {
min-width: 0;
opacity: 0;
position: absolute;
width: calc(100% + 2em);
left: -2em;
&::-webkit-calendar-picker-indicator {
bottom: 0;
left: 0;
position: absolute;
top: 0;
width: 100%;
height: 100%;
}
}
}
.dict-label {
text-align: right;
text-align: end;
}
.form-dict-container {
display: grid;
grid-template-columns: fit-content(50%) 1fr;
}
.dict-row {
display: grid;
grid-template-columns: subgrid;
grid-column: 1 / span 2;
padding: 2px;
}
.calendar {
width: 100%;
height: 100%;
}
.graph {
min-height: 400px;
}
.progress {
margin-bottom: 0px;
}
.window-form {
.window-form-toolbar {
text-align: right;
text-align: end;
}
}
.csv {
.modal-dialog {
.column-fields {
max-height: 400px;
overflow: auto;
white-space: nowrap;
}
li.dragged-row {
background-color: @state-info-bg;
}
}
}
.email {
.email-richtext {
line-height: 2.5ex;
max-height: 50ex;
min-height: 12.5ex;
overflow: auto;
resize: vertical;
}
input[type='file'] {
display: inline-block;
}
.close {
float: none;
}
}
.filter-window {
select[multiple] {
min-height: 150px;
max-height: 400px;
option:before {
content: "☐ ";
}
option:checked:before {
content: "☑ ";
}
}
}
@media screen and (max-width: @screen-xs-max) {
.form-dict-container {
grid-template-columns: 100%;
}
.dict-row {
grid-column: 1;
}
.dict-label {
text-align: left;
text-align: start;
}
.form-link {
display: none;
}
.form {
.form-container, .form-hcontainer, .form-vcontainer {
display: block;
.form-item {
padding: 2px 0;
}
}
.xalign-end {
justify-self: start;
justify-content: start;
}
}
}
@media screen and (max-width: @screen-xs-max) {
.responsive.scrollbar {
display: none;
> div {
min-width: unset !important;
}
}
table.responsive,
table.responsive > thead,
table.responsive > thead > tr,
table.responsive > thead > tr > th:not(.invisible),
table.responsive > tbody,
table.responsive > tbody > tr,
table.responsive > tbody > tr > td:not(.invisible),
table.responsive > tfoot,
table.responsive > tfoot > tr,
table.responsive > tfoot > tr > td:not(.invisible) {
display: block !important;
}
table.responsive > thead > tr > th.invisible,
table.responsive > tbody > tr > td.invisible,
table.responsive > tfoot > tr > td.invisible {
display: none;
}
table.responsive {
min-width: unset !important;
/* Hide table headers (but not display: none; for accessiblity) */
> thead > tr {
position: absolute !important;
top: -9999px;
left: -9999px;
}
> thead > tr,
> tbody > tr > td {
max-width: unset !important;
text-align: left !important;
text-align: start !important;
/* Force height to empty content */
& > span:empty {
min-height: calc(@line-height-computed + @table-condensed-cell-padding);
display: block;
}
}
.more-row,
.cell {
.btn {
display: block;
width: 100%;
font-size: @font-size-base;
}
}
tfoot {
background-color: @body-bg;
border: 1px solid @table-border-color;
position: sticky;
top: 0;
z-index: 100;
> tr {
& > td:empty,
> td > label {
display: none !important;
}
& th {
border: none;
& > label {
display: inline !important;
}
}
}
}
}
table.responsive-noheader {
> tbody > tr > td {
width: 100% !important;
}
}
table.responsive-header {
> tbody > tr {
border: 1px solid @table-border-color;
}
> tbody > tr > td,
> tfoot > tr > td {
/* Behave like a "row" */
border: none;
position: relative;
}
> tbody > tr,
> tfoot > tr {
> td[data-title]:before {
/* Now like a table header */
position: absolute;
/* Top/left values mimic padding */
top: @table-condensed-cell-padding;
left: @table-condensed-cell-padding;
padding-right: calc(@table-condensed-cell-padding * 2);
[dir="rtl"] & {
left: unset;
right: @table-condensed-cell-padding;
padding-right: 0;
padding-left: calc(@table-condensed-cell-padding * 2);
}
text-align: left;
text-align: start;
overflow: hidden;
text-overflow: ellipsis;
/* Label */
content: attr(data-title);
}
> td.required:before {
font-weight: bold;
}
> td.editable:before {
font-style: italic;
}
}
}
}
@keyframes blink {
50% {
color: transparent;
}
}
#processing {
position: fixed;
top: 0px;
width: 100%;
z-index: 2000;
.dot {
animation: 1s blink infinite;
&:nth-child(2) {
animation-delay: 250ms;
}
&:nth-child(3) {
animation-delay: 500ms;
}
}
}
.scrollbar {
flex: 0 0 content;
overflow: auto;
> div {
height: 5px;
}
}
.btn-code-scanner {
bottom: 0;
margin: 20px;
position: fixed;
right: 0;
text-align: right;
z-index: 1030;
}
.modal .btn-code-scanner {
margin: 5px;
position: sticky;
}
.infobar {
line-height: @line-height-computed;
position: fixed;
top: 30px;
left: 50%;
transform: translateX(-50%);
z-index: 1000;
min-width: 25%;
text-align: center;
font-size: @font-size-large;
}
img.global-search-icon {
width: 2em;
height: 2em;
}
img.favorite-icon {
width: 1em;
height: 1em;
}
@import "input-icon";
@import (optional) "custom.less";