*
{
/* Regular */
font-weight: 400;
/* Body-2 */
font-size: 12px;
line-height: 18px;
letter-spacing: 0%;
}

/*
    QTableView
*/
QTableView
{
outline: 0;
border-radius: 5px;
}

QTableView::item
{
border: none;
padding-left: 4px;
}

QTableView::indicator
{
height: 16px;
width: 16px;
border-style: none;
}

/*
    QFileDialog
*/
QFileDialog QAbstractItemView
{
outline: 0;
border-radius: 5px;
}

QFileDialog QAbstractItemView::item
{
border: none;
padding-left: 4px;
}

/*
    QScrollBar
    Scroll handle will be 8px with 4 px padding to the left and right
    making it a total of 16
*/
QScrollBar:vertical
{
width: 18px;
padding: 4px;
}

QScrollBar:horizontal
{
height: 18px;
padding: 4px;
}

QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical, QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical
{
border-style: none;
width: 0px;
height: 0px;
}

QScrollBar::handle:vertical
{
border-style: none;
border-radius: 5px;
min-height: 60px;
}

QScrollBar::handle:horizontal
{
border-style: none;
border-radius: 5px;
min-width: 60px;
}

QScrollBar::left-arrow:horizontal, QScrollBar::right-arrow:horizontal, QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal
{
border-style: none;
width: 0px;
height: 0px;
}

/*
    QHeaderView
*/
QHeaderView
{
padding-top: 2px;
padding-right: 0px;
}

QHeaderView::section
{
border-top: 0px;
border-bottom: 0px;
border-left: 0px;
border-right: 0px;
padding-left: 6px;
}

QHeaderView::section:last
{
border-right: 0px;
}

QHeaderView::up-arrow
{
subcontrol-origin: padding;
subcontrol-position: center right;
padding-right: 6px;
}

QHeaderView::down-arrow
{
subcontrol-origin: padding;
subcontrol-position: center right;
padding-right: 6px;
}

/*
    Temporary rules. It will apply to all headers in a short future
*/
QHeaderView[class="new-design"]::section
{
padding-left: 6px;
}

QHeaderView[class="new-design"]::up-arrow,
QHeaderView[class="new-design"]::down-arrow
{
subcontrol-origin: padding;
subcontrol-position: center left;
padding-left: 2px;
width: 14px;
height: 14px;
}


/*
    QComboBox
*/
QComboBox[type="mega"][dimension=small]
{
height: 22px; /* 26 - 2 * 2 (border size) */
}

QComboBox[type="mega"][dimension=medium]
{
height: 32px; /* 36 - 2 * 2 (border size) */
}

QComboBox[type="mega"]
{
border-width: 2px;
border-style: solid;
border-radius: 6px;
padding-left: 8px;
/* Semi-bold*/
font-weight: 400;
}

QComboBox::on[type="mega"]
{
padding: 1px 1px 1px 5px;
}

QComboBox::drop-down[type="mega"]
{
subcontrol-origin: padding;
subcontrol-position: top right;
padding-right: 8px;
width: 15px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}

QComboBox[type="mega"] QAbstractItemView
{
border-radius: 6px;
padding: 5 5 5 5px;
}

/*
    QRadioButton
*/
QRadioButton
{
spacing: 0;
}

QRadioButton::indicator
{
margin-right: 6px;
}

/*
    QGroupBox
*/
QGroupBox[type="mega"]
{
margin-top: 20px;
border-width: 1px;
border-style: solid;
border-radius: 12px;
}

QGroupBox::title[type="mega"]
{
subcontrol-origin: margin;
subcontrol-position: top left;
padding: 0 0 0 10px;
/* Semi-bold */
font-weight: 600;
/* Body-2 */
font-size: 12px;
}

/*
    QProgressBar
*/
QProgressBar
{
border-style: none;
border-radius: 4px;
max-height: 8px;
}

QProgressBar::chunk
{
border-radius: 4px;
}

/*
    QCheckBox
*/
QCheckBox[type="mega"]
{
spacing: 8px;
min-height: 16px;
max-height: 16px;
}

QCheckBox::indicator[type="mega"]
{
height: 16px;
width: 16px;
border-style: none;
}

/*
    QLabel
*/
QLabel
{
/* Body-2 */
font-size: 12px;
/* Regular */
font-weight: 400;
}

/*
    class = icon-label
    Icon labels > QToolButtons with class icon-label
    Represents an only-icon label without hover, pressed...states.
    We use QToolButton to update the icon when the theme changes, but it is not used as a button, it is just an icon label (no mouse events)
    QPushButton is not used to avoid strange resize events and because it is heavier than QToolButton.
*/
QToolButton.icon-label
{
border: none;
margin:0px;
padding:0px;
min-width: 0px;
}

/*
    Buttons
    We have 2 classes of buttons:
    1) Normal buttons (text or text+icon) > by default all QPushButton will be normal buttons. Ex. NO property class needed
    2) Only-Icon buttons > class = "icon-button"

    Every button (normal or only-icon) can have 5 different types: primary, secondary, outline, ghost and link. Ex. property type = "primary"

    Every button (normal or only-icon) can have 3 different dimensions: small, medium and large. Ex. property dimension = "small"
    The only-icon button have a fixed size depending on the dimension.
    The Normal buttons have a fixed height and a min-width depending on the dimension
    Both types have the same icon (if any) size
*/
QAbstractButton[dimension=small], QAbstractButton[dimension=medium], QAbstractButton[dimension=large]
{
padding-top: 0px;
padding-bottom: 0px;
}

QAbstractButton[dimension=small]
{
border-radius: 6px;
height: 26px;
min-width: 44px; /*min width = 44px + padding-left(8px) + padding-righ(8px) = 60px*/
/* body-2 */
font-size: 12px;
padding-left: 8px;
padding-right: 8px;
qproperty-iconSize:16px;
}

QAbstractButton[dimension=medium]
{
border-radius: 6px;
height: 36px;
min-width: 48px; /*min width = 48px + padding-left(16px) + padding-righ(16px) = 80px*/
/* body-1 */
font-size: 14px;
padding-left: 16px;
padding-right: 16px;
qproperty-iconSize:24px;
}

QAbstractButton[dimension=large]
{
border-radius: 8px;
height: 46px;
min-width: 52px; /*min width = 52px + padding-left(24px) + padding-righ(24px) = 100px*/
/* label-2 */
font-size: 16px;
padding-left: 24px;
padding-right: 24px;
qproperty-iconSize:24px;
}

QAbstractButton[short=false]
{
min-width: -1px;
}

/*
    class = icon-button
    We need to override and reset some common properties for buttons
*/

QToolButton.icon-button
{
border:none;
margin:0px;
padding:0px;
min-width: 0px;
}

QToolButton.icon-button[dimension=small]
{
height: 26px;
width: 26px;
}

QToolButton.icon-button[dimension=medium]
{
height: 36px;
width: 36px;
}

QToolButton.icon-button[dimension=large]
{
height: 48px;
width: 48px;
}

/*
    type = outline. Due to box model paiting we need to substract the border from the width to maintain at its expected height (4px)
*/
QAbstractButton[type="outline"]
{
border-width: 2px;
border-style: solid;
}

QAbstractButton[type="outline"][dimension=small]
{
height: 22px;
}

QAbstractButton[type="outline"][dimension=medium]
{
height: 32px;
}

QAbstractButton[type="outline"][dimension=large]
{
height: 44px;
}

/*  */

QToolButton.icon-button[type="outline"][dimension=small]
{
width: 22px;
}

QToolButton.icon-button[type="outline"][dimension=medium]
{
width: 32px;
}

QToolButton.icon-button[type="outline"][dimension=large]
{
width: 44px;
}

/*
    All types except outline have no borders
*/
QAbstractButton[type = "primary"], QAbstractButton[type = "secondary"], QAbstractButton[type = "ghost"], QAbstractButton[type = "link"]
{
border:none;
}

/*
    common font-weight
*/
QAbstractButton[type="primary"], QAbstractButton[type="secondary"], QAbstractButton[type="outline"]
{
/* semibold */
font-weight: 500;
}

QAbstractButton[type = "ghost"], QAbstractButton[type = "link"]
{
/* regular */
font-weight: 400
}

/*
    QLineEdit
*/

QLineEdit[type="mega"][dimension=small]
{
height: 26px;
}

QLineEdit[type="mega"][dimension=medium]
{
height: 36px;
}

QLineEdit[type="mega"], QTextEdit[type="mega"]
{
padding-right: 10px;
padding-left: 10px;
border-radius: 8px;
border-style: solid;
border-width: 1px;
/* Regular and Body-2 (inherited by general rule)*/
}

/*
    QSpinBox
*/
QSpinBox
{
border-radius: 8px;
border-style: solid;
border-width: 1px;
height: 25px;
padding-left: 5px;
/* Regular and Body-2 (inherited by general rule)*/
}

QSpinBox::up-arrow
{
subcontrol-origin: padding;
subcontrol-position: top right;
padding-right: 4px;
padding-top: 4px;
}

QSpinBox::down-arrow
{
subcontrol-origin: padding;
subcontrol-position: bottom right;
padding-right: 4px;
padding-bottom: 4px;
}

/*
    SwitchButton
    In the constructor of the class we assign the object name switch
*/
#switch
{
border-style: none;
}

#switch::indicator
{
border-style: none;
width: 40px;
height: 19px;
}
/*
    QMenu
*/
QMenu.MegaMenu
{
border-radius: 8px;
border: 1px solid;
padding: 4px;
}
QMenu.MegaMenu::separator
{
height: 1px
}

/*
    Text properties
    Always keep at the end to override possible collisions
*/

/*
    Text properties: Sizes
*/

QWidget[font-size="caption"]
{
font-size: 10px;
}

QWidget[font-size="body-2"]
{
font-size: 12px;
}

QWidget[font-size="body-1"]
{
font-size: 14px;
}

QWidget[font-size="label-2"]
{
font-size: 16px;
}

QWidget[font-size="label-1"]
{
font-size: 18px;
}

QWidget[font-size="subtitle"]
{
font-size: 20px;
}

QWidget[font-size="heading-1"]
{
font-size: 24px;
}

QWidget[font-size="heading-2"]
{
font-size: 32px;
}

QWidget[font-size="heading-3"]
{
font-size: 40px;
}

QWidget[font-size="heading-4"]
{
font-size: 48px;
}

QWidget[font-size="heading-5"]
{
font-size: 60px;
}

/*
    Text properties: font-weight
*/

QWidget[regular]
{
font-weight: 400;
}

QWidget[semibold]
{
font-weight: 500;
}

QWidget[bold]
{
font-weight: 700;
}

/*
    TabSelector
*/
TabSelector.sidebar
{
border-radius:6px;
min-height: 40px;
max-height: 40px;
}

TabSelector[selected = true] #lTitle
{
font-weight: 700;
}

TabSelector.chip[selected = true] #lTitle
{
font-weight: 400;
}

TabSelector.sidebar-icononly
{
border-radius:6px;
min-height: 36px;
max-height: 36px;
min-width: 36px;
max-width: 36px;
}

TabSelector.chip
{
border-radius:12px;
min-height: 24px;
max-height: 24px;
}
