/* The POS register uses its own palette within WordPress admin. */
body.toplevel_page_secpos { background: #e4f3ff; }
.toplevel_page_secpos .secpos-panel { background: #f2f9ff; border-color: #b8d7ee; }
.toplevel_page_secpos .secpos-staff-dropdown { background: #f8fcff; border-color: #b8d7ee; }

/* Scoped to Beach Shop screens and inventory shortcodes. */
:is(.twobros-operations #wpbody-content .wrap, .twobros-inventory, .wfs-wrap, #twobros-inventory-alarm) {
    font: 13pt/1.45 Arial, sans-serif;
    text-align: center;
    margin-inline: auto;
    max-width: 100%;
}
:is(.twobros-operations #wpbody-content .wrap, .twobros-inventory, .wfs-wrap, #twobros-inventory-alarm)
    :is(h1,h2,h3,h4,h5,h6,summary,strong,small,p,label,span,table,th,td,li,button,input,select,textarea,a,output,em,code,div) {
    font-family: Arial, sans-serif !important;
    font-size: 13pt !important;
}
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap, #twobros-inventory-alarm) :is(h1,h2,h3,h4,h5,h6,th,summary) {
    font-weight: 700 !important;
}
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) table {
    width: max-content;
    max-width: 100%;
    margin: 0.75em auto;
    border-collapse: collapse;
}
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) :is(td,th) {
    text-align: center !important;
    vertical-align: middle;
    padding: 0.42em 0.65em;
    border-bottom: 1px solid #d8e4ed;
}
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) table thead th { background: #dcecf9 !important; color: #18334a; }
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) table tbody tr:nth-child(odd) > :is(td,th) { background: #fff !important; }
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) table tbody tr:nth-child(even) > :is(td,th) { background: #edf6fd !important; }
.twobros-operations #wpbody-content .wrap { box-sizing: border-box; padding-inline: clamp(8px, 2vw, 26px); overflow-x: auto; }
:is(.twobros-operations .wrap, .twobros-inventory) :is(button, .button, select, input:not([type=hidden],[type=checkbox],[type=radio]), textarea) {
    box-sizing: border-box;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: 100%;
    height: auto !important;
    min-height: 0 !important;
    text-align: center;
    line-height: 1.3;
    padding: .36em .65em;
    white-space: nowrap;
}
:is(.twobros-operations .wrap, .twobros-inventory) select { padding-inline-end: 1.6em; }
:is(.twobros-operations .wrap, .twobros-inventory) :is(input:not([type=hidden],[type=checkbox],[type=radio]), select) {
    field-sizing: content;
    min-inline-size: 5.5ch !important;
}
:is(.twobros-operations .wrap, .twobros-inventory) select:is(.twobros-staff-select, .twobros-action-select) {
    field-sizing: fixed;
    width: auto !important;
    padding-inline: .75em 2.25em;
    background-position: right .65em center;
    text-overflow: ellipsis;
}
:is(.twobros-operations .wrap, .twobros-inventory) input:is([type=password], [data-twobros-pin]) { width: 10ch !important; }
.twobros-operations .wrap select.twobros-action-select {
    width: max-content !important;
    min-inline-size: min(14rem, 100%) !important;
    white-space: nowrap;
}
[data-twobros-pin] { -webkit-text-security: disc; }
:is(.twobros-operations .wrap, .twobros-inventory) textarea { width: min(60ch, 100%) !important; field-sizing: content; min-height: 5em !important; }
.twobros-operations .wrap button[hidden], .twobros-operations .wrap [hidden]:not(.secpos-shift-sheet tr) { display: none !important; }
.twobros-operations #wpbody-content .wrap.secpos { overflow-x: visible; }
.twobros-operations .secpos-heading { justify-content: center; flex-direction: column; margin: 0 auto 1em; }
.twobros-operations .secpos-staff-side { width: fit-content; flex: 0 1 auto; margin: auto; }
.twobros-operations .secpos-staff-forms,
.twobros-operations #twobros-clock-form,
.twobros-operations :is(.secpos-payments,.secpos-category-heading,.secpos-sale-heading,.secpos-report-filter,.secpos-report-actions,.secpos-order-heading,.secpos-online-actions,.secpos-online-cash-fields) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .5em;
}
.twobros-operations .secpos-staff-dropdown {
    width: fit-content;
    max-width: 100%;
    border: 1px solid #b8d7ee;
    border-radius: 6px;
    padding: .45rem .7rem;
}
.twobros-operations .secpos-staff-dropdown summary { cursor: pointer; }
#twobros-clock-form label, .twobros-inventory-staff label { white-space: nowrap; }
:is(.twobros-operations .wrap, .twobros-inventory, .wfs-wrap) input[type=number] {
    min-inline-size: 9ch !important;
}
.wfs-wrap :is(.wfs-actions,.wfs-staff-fields) { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; }
.wfs-wrap .wfs-staff-fields { margin-inline: auto; max-width: none; }
.wfs-wrap :is(button, input, select) { width: fit-content !important; padding: .36em .65em !important; white-space: nowrap; }
.wfs-wrap .wfs-table input[type=text] { width: 14ch !important; }
.wfs-wrap .wfs-table { margin-inline: auto; }
.twobros-operations :is(.secpos-grid,.secpos-choice-grid) { justify-content: center; justify-items: center; }
.twobros-operations .secpos-grid { grid-template-columns: minmax(0, 1fr) minmax(0, min(54%, calc(6in + 42px))); align-items: start; max-width: 100%; }
.twobros-operations .secpos-choice-grid { display: flex; flex-wrap: wrap; max-width: 100%; }
.twobros-operations .secpos-panel { width: fit-content; max-width: 100%; min-width: 0; box-sizing: border-box; margin-inline: auto; overflow-wrap: anywhere; }
.twobros-operations .secpos-panel button { text-align: center; }
/* Equal-sized tiles within each register grid. */
.toplevel_page_secpos :is(.secpos-products-panel,.secpos-checkout-panel) { width: 100%; }
.toplevel_page_secpos :is(#secpos-categories,#secpos-products) {
    gap: .5rem;
}
.toplevel_page_secpos #secpos-categories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: auto;
}
.toplevel_page_secpos #secpos-products {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: 11rem;
}
.toplevel_page_secpos .secpos-products > p { grid-column: 1 / -1; }
.toplevel_page_secpos .secpos .secpos-products .secpos-product {
    width: 100% !important;
    padding: .3rem;
    white-space: normal;
}
.toplevel_page_secpos .secpos-category { aspect-ratio: 1; }
.toplevel_page_secpos .secpos .secpos-products .secpos-product img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    margin: 0 !important;
}
.toplevel_page_secpos .secpos .secpos-products .secpos-product-item {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    grid-auto-rows: auto;
    align-items: center;
    gap: .2rem;
    line-height: 1.15;
}
.toplevel_page_secpos .secpos .secpos-product-item :is(span,strong,small) {
    font-size: clamp(.625rem, 1.2vw, .875rem) !important;
    margin: 0;
}
.toplevel_page_secpos .secpos-product-item span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.toplevel_page_secpos .secpos-product-item.is-out-of-stock {
    background: #fde7e9;
    border-color: #b4232b;
    color: #811821;
    cursor: not-allowed;
    opacity: 1;
    box-shadow: none;
}
.toplevel_page_secpos .secpos-product-item .secpos-stock-label {
    color: inherit;
    font-weight: 700;
}
.toplevel_page_secpos .secpos-tendered-label {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .4rem;
}
.toplevel_page_secpos #wpbody-content .secpos-checkout-panel :is(.secpos-tendered-label, #secpos-tendered, .secpos-totals .grand, .secpos-totals .grand > span, .secpos-totals .grand > strong) {
    font-size: 20pt !important;
}
.toplevel_page_secpos #secpos-tendered {
    width: 12ch !important;
    padding: 6px 10px;
    text-align: right;
    field-sizing: fixed;
    font-variant-numeric: tabular-nums;
}
.twobros-operations .secpos-choice-option img { width: auto; max-width: 8rem; height: auto; max-height: 8rem; margin: .3em auto; }
.twobros-operations .secpos-order-heading .secpos-online-actions { flex-wrap: wrap; }
.twobros-operations .secpos-online-actions button { flex: 0 0 auto; }
.twobros-operations :is(.secpos-line,.secpos-refund-line,.secpos-totals > div) { justify-content: center; flex-wrap: wrap; gap: .5em; }
.twobros-operations .secpos-month-nav { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.twobros-operations .secpos-refund-amount { width: fit-content; margin-inline: auto; }
.toplevel_page_secpos #wpbody-content .secpos-payments .secpos-pay {
    flex: 0 0 1in;
    width: 1in !important;
    height: 1in !important;
    padding: 4px;
    font-size: 19px !important;
    font-weight: 700;
    border-radius: 5px;
    background: #145bb5;
    border-color: #145bb5;
    color: #fff;
}
.toplevel_page_secpos #wpbody-content .secpos-pay[data-channel="zelle"] { background: #641bc5; border-color: #641bc5; }
.toplevel_page_secpos #wpbody-content .secpos-pay[data-channel="cash_app"] { background: #39ff14; border-color: #39ff14; color: #112009; }
.toplevel_page_secpos #wpbody-content .secpos-pay[data-channel="card"] { background: #ff8a1e; border-color: #ff8a1e; color: #241400; }
.twobros-inventory, .wfs-wrap { padding: .75em; box-sizing: border-box; }
.twobros-inventory .qty-controls input[type=number] { display: none; }
.twobros-inventory .inventory-table-scroll { overflow-x: auto; }
.twobros-inventory :is(.qty-controls,.fraction-buttons,.twobros-inventory-staff,.report-date) {
    display: flex; gap: .35em; flex-wrap: wrap; justify-content: center; align-items: center;
}
.twobros-inventory :is(.report-date,.twobros-inventory-staff) { margin-block: .6em; }
.twobros-inventory .fraction-display { font-weight: 700; min-width: 2.5ch; }
.twobros-inventory .fraction-buttons button { cursor: pointer; border: 1px solid #aebfd0; border-radius: 5px; background: white; color: #1d2327; }
.twobros-inventory button[type=submit] { background: #145281; color: #fff; border: 0; border-radius: 5px; font-weight: 700; cursor: pointer; }
.twobros-inventory [role=status] { font-weight: 700; }
#twobros-inventory-alarm {
    box-sizing: border-box;
    width: max-content;
    max-width: min(94vw, 56rem);
    max-height: 92vh;
    border: .25rem solid #ae1524;
    border-radius: .75rem;
    background: #9f1723;
    color: #fff;
    padding: .9em;
    margin: auto;
    overflow: auto;
}
#twobros-inventory-alarm::backdrop { background: rgb(42 0 4 / 72%); }
#twobros-inventory-alarm h2 { margin: 0; color: inherit; }
#twobros-inventory-alarm .twobros-inventory { color: #1d2327; background: #fff; border-radius: .5rem; }
@media (max-width: 1080px) { .twobros-operations .secpos-grid { grid-template-columns: minmax(0, 1fr); } }
@media print {
    .twobros-operations .wrap { overflow: visible !important; }
    .twobros-operations table { print-color-adjust: exact; }
    .twobros-attendance-actions, .twobros-attendance-edit { display: none !important; }
}

.twobros-operations .wrap select.tbsp-shift-select {
    field-sizing: fixed;
    width: 16rem !important;
    min-inline-size: 16rem !important;
    white-space: nowrap;
}
.twobros-operations .tbsp-shift-label { white-space: nowrap; }
