/* WEB PANEL PROXY public CSS */
* {
        box-sizing: border-box;
    }

    html,
    body {
        margin: 0;
        padding: 0;
        width: 100%;
        min-height: 100%;
    }

    body {
        min-height: 100vh;
        background: #f3f5f7;
        color: #252a30;
        font-family:
            Arial,
            Helvetica,
            sans-serif;

        display: flex;
        flex-direction: column;
    }

    /* Header */

    header {
        height: 64px;
        background: #ffffff;
        border-bottom: 1px solid #dfe3e7;

        display: flex;
        align-items: center;

        padding: 0 32px;
    }

    .site-name {
        font-size: 17px;
        font-weight: 600;
        color: #30363d;
        letter-spacing: 0.1px;
    }

    /* Main */

    main {
        flex: 1;

        display: flex;
        justify-content: center;
        align-items: center;

        padding: 40px 20px;
    }

    .login-box {
        width: 100%;
        max-width: 390px;

        background: #ffffff;

        border: 1px solid #dfe3e7;
        border-radius: 8px;

        padding: 30px;

        box-shadow:
            0 3px 12px rgba(0, 0, 0, 0.05);
    }

    .heading {
        margin-bottom: 25px;
    }

    .heading h1 {
        margin: 0 0 8px;

        font-size: 23px;
        font-weight: 600;

        color: #252a30;
    }

    .heading p {
        margin: 0;

        font-size: 13px;
        line-height: 1.5;

        color: #707780;
    }

    /* Fields */

    .field {
        margin-bottom: 17px;
    }

    .field label {
        display: block;

        margin-bottom: 7px;

        font-size: 13px;
        font-weight: 600;

        color: #454c54;
    }

    .field input {
        width: 100%;
        height: 43px;

        padding: 0 12px;

        border: 1px solid #cbd1d7;
        border-radius: 5px;

        background: #ffffff;

        color: #252a30;

        font-size: 14px;

        outline: none;
    }

    .field input:focus {
        border-color: #8da7bf;

        box-shadow:
            0 0 0 2px rgba(70, 110, 145, 0.08);
    }

    /* Login button */

    .login-button {
        width: 100%;
        height: 43px;

        margin-top: 4px;

        border: 1px solid #526b80;
        border-radius: 5px;

        background: #5c7488;

        color: #ffffff;

        font-size: 13px;
        font-weight: 600;

        cursor: pointer;
    }

    .login-button:hover {
        background: #50687b;
    }

    /* Reset */

    .reset {
        display: block;

        margin: 15px auto 0;

        padding: 0;

        border: 0;
        background: transparent;

        color: #5c7488;

        font-size: 12px;

        cursor: pointer;
    }

    .reset:hover {
        text-decoration: underline;
    }

    /* Error */

    .error {
        display: none;

        margin-top: 18px;
        padding: 11px 12px;

        border: 1px solid #e2c5c5;
        border-radius: 5px;

        background: #faf1f1;

        color: #963838;

        font-size: 13px;
        text-align: center;
    }

    /* Neutral disclosure */

    .notice {
        margin-top: 22px;

        padding-top: 17px;

        border-top: 1px solid #e5e8eb;

        color: #7a8189;

        font-size: 11px;
        line-height: 1.55;

        text-align: center;
    }

    /* Footer */

    footer {
        padding: 18px 20px;

        border-top: 1px solid #dfe3e7;

        background: #ffffff;

        color: #858c94;

        font-size: 11px;

        text-align: center;
    }

    /* Mobile */

    @media (max-width: 480px) {

        header {
            padding: 0 20px;
        }

        .login-box {
            padding: 24px 20px;
        }

        .heading h1 {
            font-size: 21px;
        }
    }