@import "./styles.css";

.admin-console-content[content="prebooking"] {
    flex-direction: column;
    justify-content: flex-start;
    padding: 0.5rem;
}

.admin-prebooking-frame {
    display: grid;
    grid-template-areas:
        "header header header"
        "left center right"
        "footer footer right";
    grid-template-columns: 0fr 1fr 0fr;
    grid-template-rows: 0fr 1fr 0fr;
    width: 100%;
    height: 100%;
    font-size: 0.7rem;
    font-weight: 500;
    border-radius: 6px;
    background-color: var(--dm3);
    box-shadow: var(--boxShadow);
    overflow: hidden;
}

.admin-prebooking-frame-header {
    grid-area: header;
    display: grid;
    grid-template-areas:
        "search monthSelector yearSelector";
    grid-template-columns: 1fr auto auto;
    border-bottom: 1px solid var(--grey900);
    padding: 0.8rem;
    column-gap: 0.6rem;
}

.admin-prebooking-frame-left {
    grid-area: left;
    grid-template-areas:
        'header'
        'list'
        'footer';
    grid-template-rows: 0fr 1fr 0fr;
    grid-template-columns: 1fr;
    /* width: 20rem; */
    /* border-right: 1px solid var(--grey900); */
    overflow: hidden;
}

.admin-prebooking-frame-left-header {
    grid-area: header;
    display: flex;
    width: 100%;
    border-bottom: 1px solid var(--grey900);
}

.admin-prebooking-frame-right {
    grid-area: right;
    display: grid;
    grid-template-areas:
        'header'
        'center';
    grid-template-rows: 0fr 1fr;
    overflow: hidden;
    /* width: 18rem; */
    /* border-left: 1px solid var(--grey900); */
}

.admin-prebooking-frame-right-center {
    grid-area: center;
    display: grid;
    grid-template-areas:
        'userinfo'
        'orderinfo';
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr;
    overflow: auto;
}

.admin-prebooking-frame-right-orderInfo {
    display: grid;
    grid-area: orderinfo;
    height: 100%;
    width: 100%;
    border-bottom: 1px solid var(--grey900);
}

.admin-prebooking-frame-right-userInfo {
    display: grid;
    grid-area: userinfo;
    height: 100%;
    width: 100%;
    border-bottom: 1px solid var(--grey900);
}

.admin-prebooking-frame-footer {
    grid-area: footer;
    display: grid;
    grid-template-areas: "keys";
    justify-content: center;
    align-items: center;
    padding: 0.4rem 0.6rem;
    grid-template-columns: 1fr;
    border-top: 1px solid var(--grey900);
}

.admin-prebooking-footer-key {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.8rem;
    width: fit-content;
    font-size: 0.6rem;
    font-weight: 400;
}

.admin-prebooking-footer-key-el {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: fit-content;
    color: var(--grey50);
}

.admin-prebooking-footer-key-el::before {
    content: ' ';
    display: flex;
    justify-content: center;
    align-items: center;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    color: var(--grey200);
    box-shadow: var(--boxShadow);
    margin: auto;
    margin-right: 0.4rem;
}

.admin-prebooking-footer-key-el[ref='avail']::before {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background-color: var(--green500);
}

.admin-prebooking-footer-key-el[ref='not-avail']::before {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background-color: var(--red500);
}

.admin-prebooking-footer-key-el[ref='prebook']::before {
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background-color: var(--deepPurple400);
}

.admin-prebooking-footer-key-el[ref='slot-match']::before {
    /* height: 10px;
    width: 20px;
    border-radius: 2px; */
    height: 8px;
    width: 8px;
    border-radius: 50%;
    border: 1px solid var(--indigo500);
}

.admin-prebooking-footer-key-el[ref='lang-match']::before {
    /* height: 10px;
    width: 20px;
    border-radius: 2px; */
    height: 8px;
    width: 8px;
    border-radius: 50%;
    border: 1px solid var(--indigo500);
}

.admin-prebooking-frame-center {
    grid-area: center;
    display: grid;
    grid-template-areas:
        'header'
        'table';
    grid-template-rows: 0fr 1fr;
    grid-template-columns: 1fr;
    overflow: hidden;
}

/* table */
.admin-prebooking-frame-center-table {
    grid-area: table;
    display: grid;
    grid-template-areas:
        'dates';
    overflow: auto;
}

/* table date header */
.admin-prebooking-frame-center-table-dates {
    grid-area: dates;
    display: grid;
    column-gap: 0.4rem;
    width: 100%;
    height: 100%;
    height: fit-content;
    top: 0;
    position: sticky;
    background-color: var(--dm3);
    z-index: 1;
    padding-left: 9rem;
    border-bottom: 1px solid var(--grey900);
    grid-row-start: 0;
}

.admin-prebooking-frame-center-table-dates-dateDiv {
    display: grid;
    grid-template-areas:
        'info'
        'orders';
    grid-template-rows: 0fr 1fr;
    grid-template-columns: 1fr;
    font-size: 0.6rem;
    min-width: 6rem;
    padding: 0.2rem;
    /* background-color: var(--grey50); */
    color: var(--grey50);
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear;
}

.admin-prebooking-frame-center-table-dates-dateDiv:first-child {
    /* margin-left: 1px; */
}

.admin-prebooking-frame-center-table-dates-dateDiv:hover {
    cursor: pointer;
}

.admin-prebooking-frame-center-table-dates-dateDiv-info[ref="date"] {
    grid-area: info;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    padding: 0.6rem;
}

.admin-prebooking-frame-center-table-dates-dateDiv-data {
    grid-area: data;
}

.admin-prebooking-frame-center-table-dates-dateDiv-orders {
    grid-area: orders;
    display: flex;
    flex-direction: row;
    column-gap: 0.4rem;
}

.admin-prebooking-frame-center-table-dates-dateDiv-orders-orderDiv {
    display: grid;
    grid-template-areas:
        'ref'
        'port'
        'lang'
        'need'
        'count';
    grid-template-columns: 1fr;
    grid-template-rows: 01fr 0fr 0fr 0fr 0fr;
    min-width: 6rem;
    width: 100%;
    padding: 0.4rem;
    border-radius: 4px;
    color: var(--grey50);
    background-color: var(--dm4);
    border: 1px solid var(--dm4);
    box-shadow: var(--boxShadow);
    overflow: hidden;
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-center-table-dates-dateDiv-orderDiv:hover {
    cursor: pointer;
}

.admin-prebooking-frame-center-table-dates-dateDiv-orders-orderDiv-info[ref="ref"] {
    font-weight: 500;
}

.admin-prebooking-frame-center-table-dates-dateDiv-orders-orderDiv[focus=true] {
    border: 1px solid var(--grey50);
}

.admin-prebooking-frame-center-table-dates-dateDiv-orders-orderDiv[focus=false] {}

/* table rows */
.admin-prebooking-frame-center-table-tableRow {
    display: grid;
    grid-template-areas:
        'userdiv dates';
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr;
    /* grid-template-columns: 0fr 1fr; */
    border-bottom: 1px solid var(--grey900);
    padding: 0.2rem;
}

.admin-prebooking-frame-table-userDiv {
    grid-area: userdiv;
    display: grid;
    grid-template-areas:
        'photo info data'
        'schedule schedule schedule';
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr auto;
    column-gap: 0.4rem;
    row-gap: 0.2rem;
    padding: 0.4rem 0.6rem;
    width: 9rem;
    position: sticky;
    left: 0.2rem;
    z-index: 1;
    border-radius: 4px;
    color: var(--grey50);
    background-color: var(--dm4);
    border: 1px solid var(--dm4);
    box-shadow: var(--boxShadow);
    overflow: hidden;
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-table-userDiv[focus=true] {
    border: 1px solid var(--grey50);
}

.admin-prebooking-frame-table-userDiv-photo {
    grid-area: photo;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 50%;
    width: 1.8rem;
    height: 1.8rem;
    overflow: hidden;
    background-color: var(--grey50);
    box-shadow: var(--boxShadow);
}

.admin-prebooking-frame-table-userDiv-info {
    grid-area: info;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    font-size: 0.65rem;
    font-weight: 500;
}

.admin-prebooking-frame-table-userDiv-info-infoEl {}

.admin-prebooking-frame-table-userDiv-data {
    grid-area: data;
}

.admin-prebooking-frame-table-userDiv-schedule {
    grid-area: schedule;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 0.2rem;
}

.admin-prebooking-frame-table-userDiv-schedule-dayDiv {
    display: flex;
    padding: 3px;
    border-radius: 50%;
    background-color: var(--grey800);
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-table-userDiv-schedule-dayDiv[user-available=true] {
    background-color: var(--green500);
}

.admin-prebooking-frame-table-userDiv-schedule-dayDiv[user-available=false] {
    background-color: var(--red500);
}

.admin-prebooking-frame-table-userDiv-schedule-dayDiv[user-prebook=true] {
    background-color: var(--deepPurple400);
}

.admin-prebooking-frame-center-table-tableRow-dates {
    grid-area: dates;
    display: grid;
    column-gap: 0.4rem;
}

.admin-prebooking-frame-center-table-dateCell {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    column-gap: 0.4rem;
    color: var(--grey50);
    width: fit-content;
    min-width: 6rem;
    height: 100%;
    border-radius: 4px;
    box-shadow: none;
    /* border: 1px solid tomato; */
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-center-table-dateCell:hover {
    /* background-color: var(--grey50); */
}

.admin-prebooking-frame-center-table-dateCell[user-avail=true] {
    border: 1px solid var(--green500);
    /* box-shadow: var(--boxShadow); */
    /* background-color: var(--green500); */
}

.admin-prebooking-frame-center-table-dateCell[user-avail=false] {
    border: 1px solid var(--red500);
    /* background-color: var(--lightRed); */
    /* opacity: 0.75; */
}

.admin-prebooking-frame-center-table-dateCell-orderCell {
    display: grid;
    grid-template-areas:
        'langs'
        'slots';
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: 100%;
    min-width: 6rem;
    border-radius: 2px;
    padding: 0.2rem;
    /* border: 1px solid tomato; */
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-center-table-dateCell-orderCell:not(:first-child) {
    /* border-left: 1px solid var(--indigo500); */
}

.admin-prebooking-frame-center-table-dateCell-orderCell:hover {
    /* cursor: pointer; */
}

.admin-prebooking-frame-center-table-dateCell-orderCell-langs {
    grid-area: langs;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0.2rem;
    column-gap: 0.2rem;
    /* border: 1px solid var(--grey50); */
    /* border-radius: 4px; */
}


.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: 100%;
    padding: 0.2rem;
    border-radius: 2px;
    font-size: 0.6rem;
    font-weight: 400;
    color: var(--grey50);
    border: 1px solid transparent;
    background-color: transparent;
    overflow: hidden;
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear;
}


.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell[user-lang-match=true] {
    border: 1px solid var(--indigo500);
    /* box-shadow: var(--boxShadow); */
}

.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell[user-lang-match=false] {}

.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell[select=true] {
    border: 1px solid var(--deepPurple400);
    background-color: var(--deepPurple400);
}

.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell[select=false] {}

.admin-prebooking-frame-center-table-dateCell-orderCell-langs-langCell:hover {
    cursor: pointer;
    border: 1px solid var(--grey50);
    background-color: var(--deepPurple400);
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots {
    display: grid;
    grid-template-areas:
        'am fd'
        'pm fd';
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
    /* border: 1px solid var(--grey50); */
    /* border-radius: 4px; */
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 0.2rem;
    border-radius: 2px;
    font-size: 0.6rem;
    font-weight: 400;
    margin: auto;
    color: var(--grey50);
    border: 1px solid transparent;
    background-color: transparent;
    transition: color 0.2s linear, background-color 0.2s linear, border 0.2s linear, box-shadow 0.2s linear, opacity 0.2s linear;
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[slot-ref="am"] {
    grid-area: am;
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[slot-ref="pm"] {
    grid-area: pm;
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[slot-ref="fd"] {
    grid-area: fd;
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[prebook-status=true]::before {}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[prebook-status=false]::before {}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[user-slot-match=true] {
    border: 1px solid var(--indigo500);
    /* box-shadow: var(--boxShadow); */
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[user-slot-match=false] {}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[select=true] {
    border: 1px solid var(--deepPurple400);
    background-color: var(--deepPurple400);
}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell[select=false] {}

.admin-prebooking-frame-center-table-dateCell-orderCell-slots-slotCell:hover {
    cursor: pointer;
    border: 1px solid var(--grey50);
    background-color: var(--deepPurple400);
}