* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body {
    font-family: 'Poppins',sans-serif;
    background-color: #f0f0f0;
    color: #414141;
    font-size: 18px
}

header {
    border-bottom: 1px solid #c4c4c4;
    background: #3ab601;
    position: sticky;
    top: 0;
    z-index: 99999
}

header.p {
    padding: 8px 10px
}

footer {
    font-size: 16px;
    background: #fff;
    box-shadow: 0 0 8px 0 rgb(0 0 0 / .2);
    position: sticky;
    z-index: 99999;
    bottom: 0
}

svg {
    width: auto;
    height: auto;
    max-width: 100%
}

svg * {
    fill: #000
}

main svg * {
    fill: #FFF;
    stroke: none
}

.link-p svg *,.reorder-p svg * {
    fill: #000;
    stroke: none
}

.hapticsSettings.is-disabled svg * {
    fill:#9c9c9c;
}

#home-icon {
    cursor: pointer;
    height: 40px
}

#home-icon svg * {
    fill: #e7e7e7
}

h2 {
    font-size: 1.2em
}

.article h2 {
    margin-bottom: 10px
}

.article ul {
    margin-bottom: 10px;
    margin-left: 20px
}

.article ul li {
    margin-bottom: 5px
}

.article p {
    margin-bottom: 10px
}

.has-linked {
    position: relative
}

.has-linked:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-top: -10px;
    z-index: 1;
    background: #e7e7e7;
    height: 20px;
    display: block;
    border-left: 1px solid #c4c4c4;
    border-right: 1px solid #c4c4c4;
    width: 8px
}

.checked.has-linked:after {
    background: #a8a8a8
}

.dialog-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / .35);
    z-index: 99999;
}

.link-modal h2,.dialog-box-content h2 {
    margin-bottom: 10px
}

.link-modal .link-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 0 18px 0 rgb(0 0 0 / .3);
    max-width: calc(100% - 40px);
    min-width: 280px
}

.link-modal select,.link-modal input,.dialog-box input {
    width: 100%;
    padding: 8px;
    font-size: 16px;
    border: 1px solid #c4c4c4;
    border-radius: 5px;
    margin-bottom: 10px
}

.link-modal .form-group {
    margin: 12px 0
}

.link-modal label {
    display: block;
    margin-bottom: 4px;
    font-size: .9em
}

.link-modal-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px
}

.link-modal-actions .btn {
    flex: 1;
    padding: 8px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    background: #dadada
}

.link-modal-actions .btn-primary {
    background: #3ab601
}

.link-modal-actions .btn-warning {
    background: red
}

.dialog-box-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 0 18px 0 rgb(0 0 0 / .3);
    max-width: calc(100% - 40px);
    min-width: 250px;
    text-align: center;
    display: block;
    width: auto
}

.dialog-box-content.has-max-width {
    width: calc(100% - 40px);
    max-width: 750px
}

body .dialog-box .dialog-box-content button {
    padding: 7px;
    border: none;
    border-radius: 8px;
    position: relative;
    margin-top: 10px;
    background: #3ab601;
    color: #fff
}

body .dialog-box .dialog-box-content .btn-warning {
    background: #8e8e8e
}

#list,.h-f {
    height: calc(100dvh - 135px);
    overflow-y: auto;
    overflow-x: hidden
}

#list #list-names li {
    padding: 0px;
    border: 1px solid #fff;
    background: #fcfcfc;
    border-radius: 8px;
    margin-bottom: 10px;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / .1);
    cursor: pointer;
    align-items: center;
}

#list #list-names li span {
    display:inline-block;
    padding:9px;
    border-top-left-radius:8px;
    border-bottom-left-radius:8px;
    &:hover {
        background: #eee
    }

    &:active {
        background: #3ab601;
        color: #fff
    }

    &.active {
        background: #3ab601
    }
}

#list #list-names li svg * {
    fill:#000;
    
}

#list #list-names li .active svg * {
    fill:#FFF;
    stroke:transparent;
}

.merge-set {
    display:inline-block;
    width:40px;
    height:40px;
    padding:8px;
    background:#d8d8d8;
    border-top-right-radius:8px;
    border-bottom-right-radius:8px;
    border:none;
    &:hover {
        background: #b5b5b5
    }

    &:active {
        background: #3ab601;
        color: #fff
    }

    &.active {
        background: #3ab601
    }
}

#tbs-list>div {
    display: none
}

#tbs-list>div.act {
    display: block
}

#add-p .list-name {
    margin-left: 6px;
    background: #f4f4f4;
    padding: 3px;
    border-radius: 8px;
    border: 2px solid #fff;
    box-shadow: 0 0 5px rgb(0 0 0 / .2);
    cursor: pointer
}

#add-p .list-name:active {
    background: #3ab601;
    color: #FFF
}

.p-list {
    height: calc(100% - 100px);
    overflow-y: auto
}

.v-mid {
    vertical-align: middle
}

.v-mid svg {
    width: 40px;
    height: 40px
}

.i {
    width: 30px;
    cursor: pointer;
    padding: 4px
}

footer .i {
    width: 40px;
    height: 50px;
    display: inline-block;
    padding: 6px
}

footer .i.active {
    border-top: 2px solid #3ab601
}

.active svg * {
    fill: #3ab601
}

.cont {
    max-width: 760px;
    margin: 0 auto;
    background: #e9e9e9
}

.p {
    padding: 10px 10px
}

.d-fl {
    display: flex;
    flex-direction: column
}

.d-fl-r {
    display: flex;
    flex-direction: row
}

.grp>input,.grp>button {
    padding: 10px;
    border: none
}

.grp {
    border-radius: 8px;
    border: 1px solid #fff;
    overflow: hidden;
    margin-top: 10px;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / .1)
}

.grp .p-qr,.p-qr {
    padding: 0;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    vertical-align: middle;
    line-height: 0
}

#merge-buttons {
    margin-bottom:20px;
}

#merge-buttons button {
    padding:5px;
    border-radius:0;
    background:#e2e2e2;
    border: 1px solid #FFF;
}

#qr-export-list {
    border-radius:8px;
    margin-right:4px;
    cursor:pointer;
    border:1px solid #fff;
    box-shadow: 0px 0px 2px 1px #bdbdbd inset;
}

#qr-export-list:active {
    background:#d0d0d0;
}

.i.p-qr {
    width: 40px;
    min-width: 40px;
    padding: 0
}

.grp .p-qr svg,.p-qr svg {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    max-width: none;
    max-height: none;
    display: block
}

.grp .p-qr *,.p-qr * {
    padding: 0;
    stroke: #000;
    fill: #fff0
}

.qr-modal-content {
    text-align: center
}

.qr-modal-content canvas {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px auto;
    border: 1px solid #e9e9e9;
    border-radius: 8px
}

.qr-modal-content video {
    display: block;
    width: 100%;
    max-height: 320px;
    margin: 12px auto;
    border-radius: 8px;
    background: #000
}

.w-50 {
    width: 50%;
}

.qr-modal-content video.qr-video-front {
    transform: scaleX(-1);
}

.list-name-text {
    vertical-align: middle
}

input,button {
    font-size: 16px
}

.form-control {
    padding: 10px;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    background: #fff;
    color: #000;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    width: 100%
}

input:focus {
    outline: none
}

button {
    cursor: pointer;
    background: #e0e0e0;
    color: #000
}

button:active {
    background: #3ab601
}

.i-group {
    display: flex
}

.i-group .i {
    background: #e0e0e0;
    padding: 0 5px;
    height: 43px;
    width: 35px;
    border: 2px solid #fff;
    border-right: none;
    box-shadow: 0 0 5px rgb(0 0 0 / .2)
}

.i-group .i:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px
}

.i-group .i:last-child {
    border-right: 2px solid #fff;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px
}

.i-group .i sgv {
    margin-top: -5px
}

#s-mid svg * {
    fill: #fff0;
    stroke: #000
}

.f-disabled svg * {
    fill: #3ab601;
    stroke: #3ab601
}

.f-disabled#s-mid svg * {
    fill: #fff0;
    stroke: #3ab601
}

.f-disabled {
    cursor: default
}

.fl-end {
    justify-content: flex-end
}

.tc {
    text-align: center
}

.tr {
    text-align: right
}

.fl-gr {
    flex-grow: 1;
    min-width: 10px
}

.fl-vr {
    align-items: center
}

.btm {
    margin-top: auto
}

.h-100 {
    min-height: 100dvh
}

.tbs {
    list-style: none;
    display: flex;
    flex-direction: row
}

.pos-a {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    z-index: 1000
}

.pos-r {
    position: relative
}

.select-p {
    padding: 10px;
    border-bottom: 1px solid #e9e9e9;
    background: #f0f0f0;
    cursor: pointer
}

.select-p:hover {
    background: #3ab601;
    color: #FFF
}

.select-p .pn-w,.select-p .unit {
    margin-right: 10px
}

.tbs li {
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 5px;
    background: #fff;
    border: 1px solid #e9e9e9
}

.tbs li:active,.tbs li.active {
    background: #3ab601;
    color: #ebebeb
}

.py {
    padding: 10px 0
}

.w-20 {
    width: 95px
}

.mw {
    min-width: 1px
}

main .sep {
    border-right: 1px solid #dedede
}

main .sep-btm {
    border-bottom: 2px solid #c4c4c4;
    margin-bottom: 4px
}

.list-name {
    font-size: 1.4em;
    font-weight: 700;
    margin: 10px 0;
    text-align: center
}

.lst {
    list-style: none;
    margin: 0!important
}

.lst li {
    padding: 10px 0;
    border-bottom: 1px solid #c4c4c4
}

.lst li:last-child {
    border-bottom: none
}

.qnt {
    width: 40px;
    text-align: center
}

.brand {
    width: calc(100% - 150px)
}

.unit {
    text-align: right;
    font-style: italic;
    font-weight: 700;
    margin-right: 10px
}

.d-none {
    display: none;
    opacity: 0;
    transform: translateX(-30px)
}

.page,.article {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 2s ease,transform 2s ease
}

.btn {
    padding: 10px 20px;
    border-radius: 5px;
    border: 1px solid #e9e9e9;
    background: #fff;
    cursor: pointer
}

.btn-sm {
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #e9e9e9;
    background: #fff;
    cursor: pointer
}



.btn:active {
    background: #3ab601;
    color: #FFF
}

.full {
    width: 100%
}

.fs-s {
    font-size: .7em;
    color: #666
}

.edit-p,.del-p,.back-p,.del-prod,.edit-prod {
    margin-left: 6px;
    cursor: pointer;
    background: #3ab601;
    width: 35px;
    height: 35px;
    border-radius: 8px;
    padding: 6px;
    text-align: center
}

.back-p,.del-p,.del-prod {
    margin-left: 0
}

.del-p,.del-prod {
    background: #fd5a55
}

.del-prod {
    margin-right: 8px
}

.reorder-p {
    cursor: grab;
    touch-action: manipulation
}

.reorder-p:active {
    cursor: grabbing
}

#p-list li.dragging {
    opacity: .5
}

#p-list li.reorder-picked {
    position: relative;
    z-index: 2;
    opacity: 1;
    box-shadow: 0 6px 16px rgb(0 0 0 / .22);
    outline: 2px solid #2ab400;
    outline-offset: -2px;
    padding-left: 6px;
    padding-right: 6px
}

#p-list.reorder-pick-mode li:not(.reorder-picked):not(.locked-item) {
    outline: 1px dashed rgb(42 180 0 / .45);
    outline-offset: -1px;
    padding-left: 6px;
    padding-right: 6px
}

#p-list li.reorder-picked::after {
    content: "Tap another item to move there";
    display: block;
    font-size: 14px;
    color: #2ab400;
    background: rgb(0 0 0 / .7);
    padding: 5px;
    border-radius: 8px;
    width: 70%;
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.edit-i {
    display: inline-block;
    font-style: normal;
    font-size: 25px;
    transform: rotate(45deg)
}

.edit-i::before {
    content: "\270F";
    font-family: "Segoe UI Symbol","Apple Color Emoji",sans-serif
}

.del-i {
    display: inline-block;
    font-style: normal;
    font-size: 25px;
    color: #fff
}

.del-i::before {
    content: "\26D4";
    font-family: "Segoe UI Symbol","Apple Color Emoji",sans-serif
}

.do-check {
    cursor: pointer
}

.checked,.checked span {
    background: #a8a8a8;
    color: #eeeeee!important
}

.checked .checked-i {
    color: #55ff21!important;
    padding-left: 8px;
    font-weight: 700
}

.storage-sizes-item {
    padding: 10px;
    background: #FFF;
    margin-bottom: 10px;
    border-radius: 10px;
    box-shadow: 0 0 8px rgb(0 0 0 / .2);
    cursor: pointer
}

.dark {
    background-color: #1b1b1b;
    color: #eee;
    .storage-sizes-item {
        background: #111
    }

    .p-qr * {
        padding: 0px!important;
        stroke: #FFF;
        fill: transparent!important
    }

    .p-qr svg {
        width: 28px;
        height: 28px;
        min-width: 28px;
        min-height: 28px;
        max-width: none;
        max-height: none
    }

    header {
        background: #0c0c0c
    }

    .lst li {
        border-bottom: 1px solid #414141
    }

    .lst li span {
        color: #a1a1a1!important
    }

    .checked,.checked span {
        background: #222;
        color: #eeeeee!important
    }

    .checked .checked-i {
        color: #55ff21!important
    }

    svg * {
        fill: #eee
    }

    .active svg * {
        fill: #55ff21
    }

    #s-mid svg *,.reorder-p svg * {
        fill: #fff0;
        stroke: #eee
    }

    .cont {
        background: #2b2b2b
    }

    .tbs li {
        background: #000;
        border: 2px solid #2b2b2b
    }

    .tbs li:active,.tbs li.active {
        background:#2ab400;
        color: #fff
    }

    .edit-p,.del-p,.back-p {
        background: #2ab400
    }

    .del-p {
        background: #b11
    }

    .select-p {
        border-bottom: 1px solid #666;
        background: #1b1b1b
    }

    .select-p:hover {
        background: #2ab400
    }

    .has-linked:after {
        background: #2b2b2b;
        border-left: 1px solid #414141;
        border-right: 1px solid #414141
    }

    .checked.has-linked:after {
        background: #222
    }

    #list #list-names li {
        border: none;
        background:#000;
    }

    #list #list-names li span {
        background: #0b0b0b;
        box-shadow: 0 0 10px 0 rgb(0 0 0 / .1);
        &:hover {
            background: #181818
        }

        &:active {
            background: #3ab601;
            color: #fff !important;
        }

        &.active {
            background: #3ab601
        }
    }

    input,button {
        background: #222;
        color: #f2f2f2;
        border: 1px solid #131313
    }

    input::placeholder {
        color:#78b36a
    }

    button {
        background: #535353;
        color: #eee;
        border: 1px solid #131313
    }

    input:focus {
        background:#222;
        color: #eee;
        border: 1px solid #131313
    }

    button:active {
        background:#2ab400
    }

    .grp {
        border: 1px solid #000;
        border-radius: 10px;
        box-shadow: 0 0 10px 0 rgb(0 0 0 / .1)
    }

    .i-group .i {
        background: #353535;
        border: 2px solid #000;
        box-shadow: 0 0 5px rgb(0 0 0 / .2)
    }

    .i-group .i:last-child {
        border-right: 2px solid #000
    }

    .f-disabled svg * {
        fill: #55ff21;
        stroke: #55ff21
    }

    .f-disabled#s-mid svg * {
        fill: #fff0;
        stroke: #55ff21
    }

    .draggable {
        user-select: none;
        -webkit-user-select: none;
        -webkit-tap-highlight-color: #fff0;
        cursor: grab
    }

    .dialog-box-content {
        background: #464646;
        box-shadow: 0 0 18px 0 rgb(0 0 0 / .3)
    }

    body .dialog-box .dialog-box-content button {
        background: #55ff21;
        color: #fff
    }

    #add-p .list-name {
        background: #131313;
        border: 2px solid #000;
        box-shadow: 0 0 18px rgb(0 0 0 / .8) inset
    }

    #add-p .list-name:active {
        background: #3ab601;
        border: 2px solid #247200;
        box-shadow: 0 0 18px #19480b inset;
        color: #FFF
    }
    #qr-export-list {
        border:1px solid #383838;
        box-shadow: 0px 0px 2px 1px #161616 inset;
    }
    
    #qr-export-list:active {
        background:#474747;
    }

    .link-modal .link-modal-content {
        background: #464646;
        box-shadow: 0 0 18px 0 rgb(0 0 0 / .3)
    }

    .link-modal select,.link-modal input {
        border: 1px solid #131313
    }

    .link-modal .link-modal-actions #cancel-link {
        color: #000
    }

    footer {
        background: #141414
    }
    .hapticsSettings.is-disabled svg * {
        fill:#555555;
    }
    #merge-buttons button {
        background:#6c6c6c;
        border: 1px solid #000000;
    }
    #list #list-names li svg * {
        fill:#FFF;
    }
    .merge-set {
    background:#3c3c3c;
        &:hover {
            background: #202020
        }
    
        &:active {
            background: #3ab601;
            color: #fff
        }
    
        &.active {
            background: #3ab601
        }
    }
}
