﻿
.input-group > span {
    vertical-align: top;
}

#storeItems {
    max-height: calc(100vh - 190px);
    width: 100%;
    margin: 0 !important;
    padding: 0 15px 10px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
}
#storeItems table { table-layout: fixed !important; }
#storeItems thead { background-color: #fff; }
#storeItems thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #fff !important;
    background-clip: border-box;
    box-shadow: 0 2px 0 #e8e7e3;
}
#storeItemsCard { overflow: hidden; }
.store-item-text, .store-item-url { max-width: 240px !important; vertical-align: top; }
.store-item-cell-content { display: inline-block !important; max-width: 100% !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; vertical-align: top; }
.logout-form { display: inline; }
.logout-link { padding: 0; border: 0; }

.main-panel > .navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 260px;
    z-index: 1032;
    width: auto;
    background: #f4f3ef;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.main-panel > .content {
    padding-top: 101px;
}

.top-navbar-account {
    float: right;
    margin: 0;
}

.top-navbar-account .navbar-nav {
    margin-right: 0;
}

.navbar .logout-nav-item > .logout-link {
    display: block;
    margin: 16px 0;
    padding: 10px 15px;
    border: 0;
    border-radius: 0;
    line-height: 1.42857;
    font-size: 16px;
    font-weight: 400;
    color: #9a9a9a;
    text-align: center;
}

.navbar .logout-nav-item > .logout-link:hover,
.navbar .logout-nav-item > .logout-link:focus {
    color: #68b3c8;
    text-decoration: none;
}

@media (min-width: 993px) {
    .sidebar-mini .main-panel > .navbar {
        left: 80px;
    }
}

@media (max-width: 992px) {
    .main-panel > .navbar {
        left: 0;
    }
}

.store-loading-splash,
.encryption-migration-splash {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(32, 25, 18, 0.72);
}

.store-loading-splash.is-visible,
.encryption-migration-splash.is-visible { display: flex; }

#storeItemsCard.is-store-loading { visibility: hidden; }

.store-loading-card,
.encryption-migration-card {
    width: 100%;
    max-width: 480px;
    padding: 32px;
    text-align: center;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}

.store-loading-card h3,
.encryption-migration-card h3 { margin: 18px 0 10px; }

.store-loading-spinner,
.encryption-migration-spinner {
    width: 52px;
    height: 52px;
    margin: 0 auto;
    border: 5px solid #eee;
    border-top-color: #eb5e28;
    border-radius: 50%;
    animation: store-loading-spin 0.8s linear infinite;
}

@keyframes store-loading-spin {
    to { transform: rotate(360deg); }
}

.store-item-filter {
    margin-top: 2px;
}

.store-items-empty td {
    padding: 24px 8px;
}

.store-sort {
    border: 0;
    background: transparent;
    padding: 0;
    color: inherit;
    font: inherit;
    font-weight: 600;
    text-align: left;
}

.store-sort:hover,
.store-sort:focus,
.store-sort.is-active {
    color: #eb5e28;
    outline: 0;
}

.store-sort i {
    margin-left: 5px;
    color: #9a9a9a;
}

.store-sort.is-active i {
    color: #eb5e28;
}

.store-item-mobile-sort {
    margin-top: 10px;
}

.store-item-editor .form-group {
    margin-bottom: 14px;
}

.store-item-editor label {
    display: block;
    margin-bottom: 6px;
}

.store-item-editor .input-group {
    width: 100%;
}

.store-item-editor .input-group-btn {
    width: 84px;
    text-align: left;
}

.store-item-editor .input-group-btn .btn {
    width: 42px;
    padding-left: 0;
    padding-right: 0;
}

.store-item-editor > .form-group > .form-control {
    width: calc(100% - 84px);
}

.store-item-editor textarea.form-control {
    resize: vertical;
}

.manage-password-card .form-group {
    margin-bottom: 18px;
}

.manage-password-card label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #333;
}

.manage-password-card .form-control {
    height: 42px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    background-color: #fff;
    color: #222;
    box-shadow: none;
}

.manage-password-card .form-control:focus {
    border-color: #eb5e28;
    box-shadow: 0 0 0 2px rgba(235, 94, 40, 0.12);
}

.manage-password-card .form-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 22px;
}

@media (max-width: 767px) {
    body {
        overflow-x: hidden;
    }

    .main-panel > .content {
        padding: 86px 0 15px;
    }

    .container-fluid {
        padding-left: 10px;
        padding-right: 10px;
    }

    .card {
        margin-bottom: 15px;
    }

    .card .card-header {
        padding: 14px 12px 8px;
    }

    .card .card-content {
        padding: 12px;
    }

    .card-header .btn-fill {
        width: 100%;
        margin-bottom: 10px;
    }

    .store-item-filter {
        margin-top: 0;
        margin-bottom: 0;
    }

    .store-item-mobile-sort {
        margin-bottom: 4px;
    }

    #storeItems.table-responsive {
        border: 0;
        margin-bottom: 0;
        padding: 0 12px 12px;
        overflow-x: auto;
        overflow-y: auto;
    }

    #storeItems table,
    #storeItems thead,
    #storeItems tbody,
    #storeItems th,
    #storeItems td,
    #storeItems tr {
        display: block;
        width: 100%;
    }

    #storeItems thead {
        display: none;
    }

    #storeItems tbody tr {
        border: 1px solid #e5e5e5;
        border-radius: 6px;
        margin: 0 0 12px;
        padding: 10px 12px;
        background: #fff;
    }

    #storeItems tbody td {
        border: 0;
        padding: 7px 0;
        text-align: left !important;
    }

    #storeItems tbody td:before {
        content: attr(data-label);
        display: block;
        margin-bottom: 2px;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        color: #9a9a9a;
    }

    #storeItems .td-actions {
        padding-top: 10px;
        border-top: 1px solid #eee;
    }

    #storeItems .td-actions .btn {
        min-width: 42px;
        min-height: 38px;
        margin-right: 4px;
    }

    .modal-dialog {
        width: auto;
        margin: 10px;
    }

    .modal-body {
        padding: 12px;
    }

    .modal-footer {
        padding: 12px;
        text-align: stretch;
    }

    .modal-footer .btn {
        width: 100%;
        margin: 6px 0 0;
    }

    .store-item-editor > .form-group > .form-control {
        width: 100%;
    }

    .store-item-editor .input-group {
        display: flex;
        align-items: stretch;
    }

    .store-item-editor .input-group .form-control {
        min-width: 0;
    }

    .store-item-editor .input-group-btn {
        display: flex;
        width: auto;
        white-space: nowrap;
    }

    .store-item-editor .input-group-btn .btn {
        width: 44px;
        min-height: 40px;
    }

    .navbar .navbar-form {
        margin: 8px 0;
        padding: 0;
        width: 100%;
    }

    .navbar .navbar-form .input-group {
        width: 100%;
    }

    .manage-password-card .form-actions {
        display: block;
    }

    .manage-password-card .form-actions .btn {
        width: 100%;
        margin: 6px 0 0;
    }
}
