* {
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    min-height: 100%;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background: #f3f5f8;
    color: #202124;

    padding-bottom: 75px;
}


/* TOP BAR */

.topbar {

    height: 58px;

    background: #ffffff;

    border-bottom:
        1px solid #e5e7eb;

    padding:
        0 16px;

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;

    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;

}


.topbar-link {

    text-decoration: none;

    color: #1565c0;

    font-weight: bold;

    font-size: 18px;

}


/* CONTAINER */

.container {

    width: 100%;

    max-width: 700px;

    margin: 0 auto;

    padding: 16px;

}


/* LOGIN */

.login-body {

    background: #eef2f7;

    padding: 20px;

}


.login-box {

    max-width: 380px;

    margin:
        60px auto 0 auto;

    background: white;

    padding: 28px;

    border-radius: 16px;

    box-shadow:
        0 6px 25px
        rgba(0,0,0,0.08);

}


.logo {

    width: 60px;
    height: 60px;

    margin:
        0 auto 20px auto;

    border-radius: 16px;

    background: #1565c0;

    color: white;

    font-size: 30px;

    font-weight: bold;

    text-align: center;

    line-height: 60px;

}


.login-box h1 {

    text-align: center;

    margin-bottom: 5px;

}


.login-subtitle {

    text-align: center;

    color: #777;

    margin-bottom: 30px;

}


/* FORMS */

label {

    display: block;

    font-size: 13px;

    font-weight: bold;

    margin:
        15px 0 6px 0;

}


input,
textarea,
select {

    width: 100%;

    padding: 13px;

    border:
        1px solid #d6dae0;

    border-radius: 9px;

    background: white;

    font-size: 16px;

    font-family:
        Arial,
        sans-serif;

}


textarea {

    resize: vertical;

}


input:focus,
textarea:focus {

    outline: none;

    border-color: #1565c0;

}


.form-card {

    background: white;

    padding: 18px;

    border-radius: 14px;

}


/* BUTTONS */

.btn {

    border: none;

    padding:
        13px 20px;

    border-radius: 9px;

    text-decoration: none;

    font-size: 15px;

    cursor: pointer;

}


.btn-primary {

    background: #1565c0;

    color: white;

}


.btn-block {

    width: 100%;

    display: block;

    margin-top: 22px;

}


.btn-small {

    display: inline-block;

    margin-top: 12px;

    padding:
        8px 14px;

    background: #eef3f9;

    color: #1565c0;

    border-radius: 7px;

    text-decoration: none;

    font-size: 13px;

    font-weight: bold;

}


/* DASHBOARD */

.welcome h1 {

    margin-bottom: 4px;

}


.welcome p {

    color: #777;

    margin-top: 0;

}


.stats {

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

    margin:
        20px -5px;

}


.stat-card {

    background: white;

    margin: 5px;

    padding: 15px;

    border-radius: 12px;

    width: 33.333%;

}


.stat-card strong {

    display: block;

    margin-top: 10px;

    font-size: 24px;

}


.stat-title {

    font-size: 12px;

    color: #777;

}


/* MENU */

.menu-card {

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;

    background: white;

    padding: 16px;

    border-radius: 12px;

    margin-bottom: 12px;

    color: #202124;

    text-decoration: none;

}


.menu-icon {

    width: 45px;
    height: 45px;

    line-height: 45px;

    text-align: center;

    background: #e9f2ff;

    color: #1565c0;

    border-radius: 10px;

    font-size: 20px;

    font-weight: bold;

    margin-right: 14px;

}


.menu-card p {

    margin:
        5px 0 0 0;

    color: #777;

    font-size: 13px;

}


/* SEARCH */

.search-box {

    margin-bottom: 16px;

}


/* PRODUCTS */

.product-card {

    background: white;

    border-radius: 12px;

    padding: 12px;

    margin-bottom: 12px;

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

}


.product-image,
.product-no-image {

    width: 80px;
    height: 80px;

    border-radius: 10px;

    margin-right: 14px;

}


.product-image {

    object-fit: cover;

}


.product-no-image {

    background: #edf2f7;

    text-align: center;

    line-height: 80px;

    color: #777;

    font-size: 28px;

}


.product-info {

    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;

}


.product-info strong {

    display: block;

}


.product-code {

    display: block;

    color: #888;

    font-size: 12px;

    margin-top: 4px;

}


.product-data {

    margin-top: 10px;

}


.product-data span {

    margin-right: 20px;

}


/* ALERTS */

.alert {

    padding: 12px;

    border-radius: 8px;

    margin-bottom: 15px;

}


.alert-error {

    background: #fdecec;

    color: #a12622;

}


/* LOADING */

.loading,
.empty {

    text-align: center;

    padding: 40px 20px;

    color: #777;

}


/* BOTTOM NAVIGATION */

.bottom-nav {

    position: fixed;

    left: 0;
    right: 0;
    bottom: 0;

    height: 62px;

    background: white;

    border-top:
        1px solid #ddd;

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

    z-index: 100;

}


.bottom-nav a {

    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;

    text-align: center;

    line-height: 62px;

    color: #555;

    text-decoration: none;

    font-size: 13px;

}


/* FORM ROW */

.form-row {

    display: -webkit-box;
    display: -webkit-flex;
    display: flex;

    margin:
        0 -5px;

}


.form-row > div {

    width: 50%;

    padding:
        0 5px;

}


/* SMALL SCREENS */

@media screen and (max-width: 400px) {

    .container {

        padding: 10px;

    }


    .stats {

        display: block;

        margin: 15px 0;

    }


    .stat-card {

        width: 100%;

        margin:
            0 0 8px 0;

    }


    .login-box {

        margin-top: 25px;

    }

}
