.tbws-wrap .tbws-shortcode-box,
.tbws-card,
.tbws-public-card {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    padding: 16px;
    margin: 16px 0;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    box-sizing: border-box;
}
.tbws-shortcode-box code { font-size: 14px; padding: 4px 8px; margin: 0 8px; }
.tbws-grid { display: grid; grid-template-columns: minmax(280px, 420px) 1fr; gap: 16px; align-items: start; }
.tbws-card-wide { min-width: 0; grid-column: 1 / -1; }
.tbws-inline-form { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tbws-help-text { color: #475569; margin-top: 8px; }
.tbws-table-scroll { overflow-x: auto; max-width: 100%; border: 1px solid #e5e7eb; border-radius: 8px; }
.tbws-admin-scroll { max-height: calc(100vh - 260px); }
/* Sticky weekly editor controls and schedule header */
.tbws-schedule-toolbar {
    position: sticky;
    top: 32px;
    z-index: 50;
    border-left: 4px solid #2271b1;
}
.tbws-admin-scroll {
    position: relative;
}
.tbws-admin-scroll .tbws-admin-schedule thead th {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #f6f7f7;
    box-shadow: 0 1px 0 #c3c4c7;
}
.tbws-admin-scroll .tbws-admin-schedule thead th.tbws-sticky-col {
    z-index: 30;
}
@media screen and (max-width: 782px) {
    .tbws-schedule-toolbar { top: 46px; }
}
@media screen and (max-width: 600px) {
    .tbws-schedule-toolbar { top: 0; }
}

/* Version 1.7 collapsible weekly schedule toolbar */
.tbws-toolbar-header { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin: -4px 0 8px; }
.tbws-toolbar-toggle { display: inline-flex !important; align-items: center; gap: 6px; font-weight: 700; }
.tbws-toolbar-toggle .tbws-toggle-icon { font-size: 12px; line-height: 1; }
.tbws-schedule-toolbar.is-collapsed { padding: 10px 12px; }
.tbws-schedule-toolbar.is-collapsed .tbws-toolbar-header { margin: 0; }
.tbws-schedule-toolbar.is-collapsed .tbws-toolbar-content { display: none; }
.tbws-schedule-toolbar.is-collapsed .tbws-toggle-icon { transform: rotate(90deg); }
@media screen and (max-width: 782px) {
    .tbws-toolbar-header { justify-content: stretch; }
    .tbws-toolbar-toggle { width: 100%; justify-content: center; min-height: 38px; }
}

.tbws-admin-schedule th,
.tbws-admin-schedule td { vertical-align: top; min-width: 148px; }
.tbws-admin-schedule .tbws-sticky-col { position: sticky; left: 0; z-index: 2; background: #fff; min-width: 210px; box-shadow: 1px 0 0 #dcdcde; }
.tbws-admin-schedule thead .tbws-sticky-col { z-index: 3; }
.tbws-employee-cell strong { display: block; margin-bottom: 4px; font-size: 14px; }
.tbws-home-store-badge { display: inline-block; margin-top: 4px; padding: 3px 7px; border-radius: 999px; background: #eef2ff; color: #3730a3; font-size: 11px; font-weight: 700; line-height: 1.2; }

.tbws-mini-label { display: block; font-size: 10px; line-height: 1.2; color: #64748b; margin: 4px 0 1px; text-transform: uppercase; letter-spacing: .02em; }
.tbws-store-select,
.tbws-small-select,
.tbws-note-select { width: 100%; max-width: 100%; min-height: 32px; margin: 1px 0 4px; }
.tbws-small-select { width: 82px; }
.tbws-note-select { width: 105px; }
.tbws-cell-select { width: 142px; }
.tbws-cell-hours { font-size: 11px; color: #646970; margin-top: 3px; }
.tbws-coverage th,
.tbws-coverage td { text-align: center; }
.tbws-coverage td:first-child,
.tbws-coverage th:first-child { text-align: left; }
.tbws-ok { background: #dcfce7 !important; color: #14532d; font-weight: 700; }
.tbws-low { background: #fee2e2 !important; color: #7f1d1d; font-weight: 700; }

.tbws-stage-red { background: #fee2e2 !important; color: #7f1d1d; font-weight: 800; }
.tbws-stage-yellow { background: #fef9c3 !important; color: #713f12; font-weight: 800; }
.tbws-stage-green { background: #dcfce7 !important; color: #14532d; font-weight: 800; }
.tbws-stage-pink { background: #ff4fb8 !important; color: #3b0030; font-weight: 900; border-color: #db2777 !important; }
.tbws-coverage td small { display: block; margin-top: 3px; font-weight: 600; line-height: 1.25; }
.tbws-legend { display: inline-block; padding: 2px 7px; border-radius: 999px; margin: 2px 3px; }
.tbws-coverage-issues { margin-top: 12px; padding: 12px 14px; border-radius: 8px; background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; }
.tbws-coverage-issues ul { margin: 8px 0 0 20px; }
.tbws-coverage-good { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: #f0fdf4; border: 1px solid #bbf7d0; color: #14532d; font-weight: 700; }
.tbws-inline-delete { display: inline-block; margin-left: 8px; }
.tbws-hidden-form { display: none; }
.tbws-employees-table input[type="text"],
.tbws-employees-table select { max-width: 100%; }
.tbws-public { width: 100vw; max-width: 100vw !important; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: clamp(8px, 2vw, 24px); padding-right: clamp(8px, 2vw, 24px); box-sizing: border-box; overflow-x: hidden; }
.tbws-public-controls { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; margin: 12px 0 18px; overflow: hidden; }
.tbws-public-controls summary { cursor: pointer; list-style: none; padding: 13px 16px; font-weight: 800; color: #0f172a; background: #eef2f7; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tbws-public-controls summary::-webkit-details-marker { display: none; }
.tbws-public-controls summary::after { content: "+"; font-size: 20px; line-height: 1; }
.tbws-public-controls[open] summary::after { content: "−"; }
.tbws-public-form { display: flex; gap: 14px; align-items: end; flex-wrap: wrap; background: #f8fafc; padding: 14px; margin: 0; }
.tbws-public-form label { display: flex; flex-direction: column; gap: 5px; font-weight: 700; }
.tbws-public-form select,
.tbws-public-form button,
.tbws-print { min-height: 40px; border-radius: 7px; }
.tbws-public-form select { min-width: 220px; padding: 6px 8px; }
.tbws-public-form button,
.tbws-print { padding: 8px 16px; cursor: pointer; border: 0; background: #0f172a; color: #fff; font-weight: 700; }
.tbws-public-table { width: 100%; border-collapse: collapse; background: #fff; }
.tbws-public-table th,
.tbws-public-table td { border: 1px solid #e2e8f0; padding: 10px; text-align: left; }
.tbws-public-table th { background: #0f172a; color: #fff; }
.tbws-public-table tfoot th { background: #f1f5f9; color: #0f172a; }
.tbws-row-off td { background: #f8fafc; color: #64748b; }
.tbws-prompt,
.tbws-note { color: #475569; }

.tbws-day-cell select { font-size: 12px; }
.tbws-coverage th,
.tbws-coverage td { min-width: 105px; vertical-align: top; }

@media (max-width: 900px) {
    .tbws-grid { grid-template-columns: 1fr; }
    .tbws-admin-schedule .tbws-sticky-col { position: static; box-shadow: none; }
    .tbws-wrap .regular-text,
    .tbws-wrap select,
    .tbws-wrap textarea { max-width: 100%; width: 100%; }
    .tbws-public-form { display: grid; grid-template-columns: 1fr; align-items: stretch; }
    .tbws-public-form select,
    .tbws-public-form button { width: 100%; }
}
@media (max-width: 640px) {
    .tbws-public-card { padding: 12px; }
    .tbws-public-card h2 { font-size: 22px; margin-top: 0; }
    .tbws-public-table,
    .tbws-public-table thead,
    .tbws-public-table tbody,
    .tbws-public-table tfoot,
    .tbws-public-table th,
    .tbws-public-table td,
    .tbws-public-table tr { display: block; width: 100%; }
    .tbws-public-table thead { display: none; }
    .tbws-public-table tr { border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 10px; overflow: hidden; background: #fff; }
    .tbws-public-table td { border: 0; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; gap: 12px; padding: 9px 10px; }
    .tbws-public-table td::before { content: attr(data-label); font-weight: 700; color: #475569; }
    .tbws-public-table tfoot tr { border: 0; }
    .tbws-public-table tfoot th { display: block; text-align: right; border: 0; padding: 8px 10px; }
}
@media print {
    @page { size: Letter portrait; margin: 0.35in; }
    html, body { background: #fff !important; }
    body * { visibility: hidden !important; }
    .tbws-public-card, .tbws-public-card * { visibility: visible !important; }
    .tbws-public-card { position: absolute; left: 0; top: 0; width: 100%; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; font-size: 11px; }
    .tbws-public-form,
    .tbws-print,
    .tbws-note,
    header,
    footer,
    nav,
    aside { display: none !important; }
    .tbws-public { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
    .tbws-table-scroll { overflow: visible !important; border: 0 !important; }
    .tbws-public-card h2 { font-size: 18px; margin: 0 0 4px; }
    .tbws-public-card p { margin: 3px 0 6px; }
    .tbws-public-table { width: 100%; border-collapse: collapse; page-break-inside: avoid; }
    .tbws-public-table th,
    .tbws-public-table td { padding: 5px 6px; font-size: 10.5px; border: 1px solid #999; }
    .tbws-public-table th { background: #fff !important; color: #000 !important; }
    .tbws-public-table tfoot th { background: #fff !important; color: #000 !important; }
}

.tbws-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 12px 0 0; }
.tbws-public-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin: 0 0 12px; }
.tbws-download { display: inline-flex; align-items: center; min-height: 40px; border-radius: 7px; padding: 8px 16px; background: #334155; color: #fff !important; text-decoration: none; font-weight: 700; }
.tbws-full-schedule-card { max-width: 100%; }
.tbws-full-scroll { border-radius: 10px; }
.tbws-full-schedule-table { min-width: 1120px; table-layout: fixed; }
.tbws-full-schedule-table th:first-child,
.tbws-full-schedule-table td:first-child { width: 130px; }
.tbws-full-schedule-table th:nth-child(2),
.tbws-full-schedule-table td:nth-child(2) { width: 140px; }
.tbws-full-schedule-table th:last-child,
.tbws-full-schedule-table td:last-child { width: 70px; text-align: center; }
.tbws-full-schedule-table th,
.tbws-full-schedule-table td { font-size: 12px; vertical-align: top; }
.tbws-full-store,
.tbws-full-time,
.tbws-full-note { display: block; line-height: 1.25; }
.tbws-full-store { font-weight: 700; }
.tbws-full-time { color: #0f172a; }
.tbws-full-note { color: #475569; }

@media (max-width: 640px) {
    .tbws-public-actions { display: grid; grid-template-columns: 1fr; }
    .tbws-public-actions .tbws-print,
    .tbws-public-actions .tbws-download { width: 100%; justify-content: center; text-align: center; }
}

@media print {
    @page { size: Letter landscape; margin: 0.25in; }
    .tbws-full-schedule-card, .tbws-full-schedule-card * { visibility: visible !important; }
    .tbws-full-schedule-card { position: absolute; left: 0; top: 0; width: 100%; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; font-size: 8.5px; }
    .tbws-full-schedule-card h2 { font-size: 15px; margin: 0 0 2px; }
    .tbws-full-schedule-card p { margin: 1px 0 4px; }
    .tbws-public-actions,
    .tbws-print-toolbar,
    .tbws-download { display: none !important; }
    .tbws-full-schedule-table { min-width: 0 !important; width: 100% !important; table-layout: fixed; page-break-inside: auto; }
    .tbws-full-schedule-table th,
    .tbws-full-schedule-table td { padding: 2px 3px !important; font-size: 7.4px !important; line-height: 1.12 !important; border: 1px solid #888 !important; word-break: break-word; }
    .tbws-full-schedule-table th:first-child,
    .tbws-full-schedule-table td:first-child { width: 11% !important; }
    .tbws-full-schedule-table th:nth-child(2),
    .tbws-full-schedule-table td:nth-child(2) { width: 11% !important; }
    .tbws-full-schedule-table th:last-child,
    .tbws-full-schedule-table td:last-child { width: 5% !important; }
    .tbws-full-store,
    .tbws-full-time,
    .tbws-full-note { line-height: 1.12 !important; }
}
.tbws-full-schedule-table td.tbws-row-off { background: #f8fafc; color: #64748b; }


/* Version 1.6 public full-page, no-side-scroll improvements */
.tbws-public .tbws-table-scroll { overflow-x: visible; max-width: 100%; }
.tbws-public-card { width: 100%; max-width: 100%; }
.tbws-public-table { table-layout: fixed; }
.tbws-public-table th,
.tbws-public-table td { overflow-wrap: anywhere; word-break: normal; }
.tbws-full-schedule-table { min-width: 0 !important; width: 100% !important; table-layout: fixed; }
.tbws-full-schedule-table th:first-child,
.tbws-full-schedule-table td:first-child { width: 13%; }
.tbws-full-schedule-table th:last-child,
.tbws-full-schedule-table td:last-child { width: 6%; text-align: center; }
.tbws-full-schedule-table th,
.tbws-full-schedule-table td { font-size: 11px; padding: 7px 5px; }
.tbws-full-store,
.tbws-full-time,
.tbws-full-note { overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .tbws-public .tbws-table-scroll { overflow-x: visible; }
    .tbws-full-schedule-table { min-width: 0 !important; }
    .tbws-full-schedule-table th,
    .tbws-full-schedule-table td { font-size: 10px; padding: 6px 4px; }
    .tbws-full-store { font-size: 9px; }
}

.tbws-no-home-store-col .tbws-full-schedule-table th:nth-child(2),
.tbws-no-home-store-col .tbws-full-schedule-table td:nth-child(2) { width: auto !important; }

@media print {
    .tbws-no-home-store-col .tbws-full-schedule-table th:first-child,
    .tbws-no-home-store-col .tbws-full-schedule-table td:first-child { width: 13% !important; }
    .tbws-no-home-store-col .tbws-full-schedule-table th:nth-child(2),
    .tbws-no-home-store-col .tbws-full-schedule-table td:nth-child(2) { width: auto !important; }
    .tbws-no-home-store-col .tbws-full-schedule-table th:last-child,
    .tbws-no-home-store-col .tbws-full-schedule-table td:last-child { width: 5% !important; }
}

/* Version 1.8 front-view centering and dynamic resize improvements */
.tbws-public {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 18px);
    max-width: calc(100vw - 18px) !important;
    margin: 0 auto !important;
    padding-left: clamp(6px, 1.5vw, 18px);
    padding-right: clamp(6px, 1.5vw, 18px);
    overflow-x: clip;
}
.tbws-public .tbws-public-card,
.tbws-public .tbws-public-controls,
.tbws-public .tbws-public-actions,
.tbws-public .tbws-prompt {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.tbws-public .tbws-full-schedule-card {
    overflow: hidden;
}
.tbws-public .tbws-table-scroll,
.tbws-public .tbws-full-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}
.tbws-public .tbws-public-table,
.tbws-public .tbws-full-schedule-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}
.tbws-public .tbws-public-table th,
.tbws-public .tbws-public-table td,
.tbws-public .tbws-full-schedule-table th,
.tbws-public .tbws-full-schedule-table td {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    box-sizing: border-box;
}
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table th:first-child,
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table td:first-child {
    width: clamp(82px, 10%, 132px) !important;
}
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table th:last-child,
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table td:last-child {
    width: clamp(42px, 5%, 62px) !important;
}
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table th:not(:first-child):not(:last-child),
.tbws-public .tbws-no-home-store-col .tbws-full-schedule-table td:not(:first-child):not(:last-child) {
    width: auto !important;
}
.tbws-public .tbws-full-schedule-table th,
.tbws-public .tbws-full-schedule-table td {
    font-size: clamp(8px, 0.78vw, 11px);
    padding: clamp(3px, 0.55vw, 7px) clamp(2px, 0.45vw, 5px);
    line-height: 1.18;
}
.tbws-public .tbws-full-store,
.tbws-public .tbws-full-time,
.tbws-public .tbws-full-note {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.tbws-public .tbws-full-time { font-size: 0.96em; }
.tbws-public .tbws-full-note { font-size: 0.92em; }

@media (max-width: 820px) {
    .tbws-public {
        width: calc(100vw - 10px);
        max-width: calc(100vw - 10px) !important;
        padding-left: 5px;
        padding-right: 5px;
    }
    .tbws-public .tbws-full-schedule-card { padding: 10px; }
    .tbws-public .tbws-full-schedule-card h2 { font-size: 20px; }
    .tbws-public .tbws-full-schedule-table,
    .tbws-public .tbws-full-schedule-table thead,
    .tbws-public .tbws-full-schedule-table tbody,
    .tbws-public .tbws-full-schedule-table tfoot,
    .tbws-public .tbws-full-schedule-table th,
    .tbws-public .tbws-full-schedule-table td,
    .tbws-public .tbws-full-schedule-table tr {
        display: block;
        width: 100% !important;
    }
    .tbws-public .tbws-full-schedule-table thead { display: none; }
    .tbws-public .tbws-full-schedule-table tr {
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        margin: 0 0 10px;
        overflow: hidden;
        background: #fff;
    }
    .tbws-public .tbws-full-schedule-table td {
        display: grid;
        grid-template-columns: minmax(88px, 34%) 1fr;
        gap: 10px;
        align-items: start;
        border: 0;
        border-bottom: 1px solid #f1f5f9;
        padding: 9px 10px !important;
        font-size: 13px !important;
        text-align: left !important;
    }
    .tbws-public .tbws-full-schedule-table td::before {
        content: attr(data-label);
        font-weight: 800;
        color: #475569;
    }
    .tbws-public .tbws-full-schedule-table tfoot tr { border: 0; }
    .tbws-public .tbws-full-schedule-table tfoot th {
        display: block;
        text-align: right;
        border: 0;
        padding: 8px 10px;
        background: #f1f5f9;
        color: #0f172a;
    }
}

@media (max-width: 520px) {
    .tbws-public .tbws-full-schedule-table td {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .tbws-public .tbws-full-schedule-table td::before {
        font-size: 12px;
    }
}

@media print {
    .tbws-public {
        position: static !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
}


/* Version 1.10 backend weekly editor fit-to-section layout */
.tbws-wrap .tbws-table-scroll.tbws-admin-scroll {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.tbws-admin-schedule {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
}
.tbws-admin-schedule th,
.tbws-admin-schedule td {
    min-width: 0 !important;
    width: auto;
    padding: 6px 4px;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.tbws-admin-schedule .tbws-sticky-col {
    width: 12% !important;
    min-width: 0 !important;
    max-width: 12% !important;
    left: 0;
}
.tbws-admin-schedule th:last-child,
.tbws-admin-schedule td:last-child {
    width: 5.5% !important;
    text-align: center;
}
.tbws-admin-schedule .tbws-employee-cell strong {
    font-size: 12px;
    line-height: 1.2;
}
.tbws-admin-schedule .tbws-mini-label {
    font-size: 9px;
    margin-top: 2px;
}
.tbws-admin-schedule .tbws-cell-select,
.tbws-admin-schedule .tbws-small-select,
.tbws-admin-schedule .tbws-note-select,
.tbws-admin-schedule .tbws-store-select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 11px;
    min-height: 28px;
    padding-left: 4px;
    padding-right: 18px;
}
.tbws-admin-schedule .tbws-cell-hours {
    font-size: 10px;
    line-height: 1.2;
}

@media screen and (max-width: 1280px) {
    .tbws-admin-schedule th,
    .tbws-admin-schedule td { padding: 5px 3px; }
    .tbws-admin-schedule .tbws-cell-select,
    .tbws-admin-schedule .tbws-small-select,
    .tbws-admin-schedule .tbws-note-select,
    .tbws-admin-schedule .tbws-store-select { font-size: 10px; }
}

@media screen and (max-width: 900px) {
    .tbws-wrap .tbws-table-scroll.tbws-admin-scroll {
        max-height: none;
        border: 0;
        overflow: visible;
    }
    .tbws-admin-schedule,
    .tbws-admin-schedule thead,
    .tbws-admin-schedule tbody,
    .tbws-admin-schedule th,
    .tbws-admin-schedule td,
    .tbws-admin-schedule tr {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
    }
    .tbws-admin-schedule thead { display: none; }
    .tbws-admin-schedule tr {
        margin: 0 0 14px;
        border: 1px solid #dcdcde;
        border-radius: 10px;
        background: #fff;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(0,0,0,.04);
    }
    .tbws-admin-schedule .tbws-sticky-col {
        position: static !important;
        box-shadow: none;
        background: #f6f7f7;
        padding: 10px 12px;
    }
    .tbws-admin-schedule .tbws-day-cell,
    .tbws-admin-schedule .tbws-hours-cell {
        border-top: 1px solid #f0f0f1;
        padding: 10px 12px;
    }
    .tbws-admin-schedule .tbws-day-cell::before,
    .tbws-admin-schedule .tbws-hours-cell::before {
        content: attr(data-label);
        display: block;
        font-weight: 800;
        color: #1d2327;
        margin-bottom: 6px;
    }
    .tbws-admin-schedule .tbws-mini-label { font-size: 10px; }
    .tbws-admin-schedule .tbws-cell-select,
    .tbws-admin-schedule .tbws-small-select,
    .tbws-admin-schedule .tbws-note-select,
    .tbws-admin-schedule .tbws-store-select {
        font-size: 13px;
        min-height: 36px;
    }
}

/* Version 1.11 plugin info tab */
.tbws-info-grid { margin-top: 16px; }
.tbws-shortcode-line code { display: inline-block; font-size: 18px; font-weight: 700; padding: 8px 12px; border-radius: 6px; background: #f6f7f7; border: 1px solid #dcdcde; }
.tbws-info-list { margin-left: 20px; }
.tbws-info-list li { margin-bottom: 9px; }
.tbws-info-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tbws-info-columns > div { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px; }
.tbws-info-columns h3 { margin-top: 0; }
@media screen and (max-width: 900px) {
    .tbws-info-columns { grid-template-columns: 1fr; }
}


/* Version 1.12 backend full schedule print centering */
@media print {
    @page { size: Letter landscape; margin: 0.25in; }
    html, body {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }
    #adminmenumain,
    #adminmenuwrap,
    #adminmenuback,
    #wpadminbar,
    #wpfooter,
    .notice,
    .update-nag,
    .nav-tab-wrapper,
    .tbws-print-toolbar,
    .tbws-public-actions,
    .tbws-download,
    .tbws-print {
        display: none !important;
    }
    #wpcontent,
    #wpbody,
    #wpbody-content,
    .wrap,
    .tbws-wrap {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    .wp-admin .tbws-full-schedule-card {
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: 10.5in !important;
        max-width: 10.5in !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        background: #fff !important;
    }
    .wp-admin .tbws-full-schedule-card h2,
    .wp-admin .tbws-full-schedule-card p {
        text-align: center !important;
    }
    .wp-admin .tbws-full-scroll,
    .wp-admin .tbws-full-schedule-table {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    .wp-admin .tbws-full-schedule-table {
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }
    .wp-admin .tbws-full-schedule-table th,
    .wp-admin .tbws-full-schedule-table td {
        box-sizing: border-box !important;
    }
}


/* Version 1.14 backend coverage colors applied to schedule cells */
.tbws-admin-schedule td.tbws-coverage-cell {
    border-left: 4px solid rgba(0,0,0,.18) !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}
.tbws-admin-schedule td.tbws-coverage-cell select {
    background-color: rgba(255,255,255,.9);
    border-color: rgba(0,0,0,.22);
}
.tbws-cell-coverage-note {
    display: inline-flex;
    align-items: center;
    margin-top: 4px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.12);
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.2;
}
.tbws-coverage-slots { margin-top: 8px; }
.tbws-coverage-slots td:first-child { min-width: 135px; }
@media screen and (max-width: 900px) {
    .tbws-admin-schedule td.tbws-coverage-cell { border-left-width: 6px !important; }
    .tbws-cell-coverage-note { display: flex; width: fit-content; }
}


/* Version 1.16 backend weekly schedule grouped by employee Home Store / Group */
.tbws-admin-schedule .tbws-store-group-row td {
    position: sticky;
    left: 0;
    z-index: 4;
    padding: 9px 12px !important;
    background: #1e293b !important;
    color: #fff !important;
    border-top: 2px solid #0f172a !important;
    border-bottom: 2px solid #0f172a !important;
    text-align: left;
}
.tbws-store-group-title {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .01em;
}
.tbws-store-group-count {
    display: inline-flex;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    color: #e2e8f0;
    font-size: 11px;
    font-weight: 800;
}
.tbws-employee-schedule-row + .tbws-store-group-row td {
    margin-top: 4px;
}
@media screen and (max-width: 900px) {
    .tbws-admin-schedule .tbws-store-group-row,
    .tbws-admin-schedule .tbws-store-group-row td {
        display: block !important;
        width: 100% !important;
    }
    .tbws-admin-schedule .tbws-store-group-row td {
        position: static !important;
        border-radius: 10px 10px 0 0;
        box-sizing: border-box;
    }
}

/* v1.17 store-section schedule builder */
.tbws-store-builder {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
.tbws-store-schedule-section {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    padding: 14px;
    margin: 18px auto;
    box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
}
.tbws-store-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 10px;
}
.tbws-store-section-header h2 {
    margin: 0;
    font-size: 18px;
}
.tbws-store-section-header p {
    margin: 3px 0 0;
    color: #646970;
}
.tbws-store-section-scroll {
    overflow-x: visible !important;
    max-width: 100%;
}
.tbws-store-builder-table {
    width: 100% !important;
    table-layout: fixed !important;
    min-width: 0 !important;
}
.tbws-store-builder-table th,
.tbws-store-builder-table td {
    min-width: 0 !important;
    width: auto;
}
.tbws-store-builder-table .tbws-employee-select-col,
.tbws-store-builder-table .tbws-employee-cell {
    width: 120px !important;
}
.tbws-store-builder-table .tbws-hours-cell {
    width: 55px !important;
    text-align: center;
}
.tbws-store-builder-table .tbws-row-actions {
    width: 70px !important;
    text-align: center;
}
.tbws-store-builder-table .tbws-employee-select,
.tbws-store-builder-table select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 28px;
    font-size: 10px;
    padding-left: 2px;
    padding-right: 16px;
}
.tbws-store-builder-table .tbws-mini-label {
    font-size: 9px;
    margin-top: 2px;
}
.tbws-store-builder-table .tbws-cell-hours,
.tbws-store-builder-table .tbws-cell-coverage-note {
    font-size: 9px;
    line-height: 1.2;
}
.tbws-builder-submit {
    position: sticky;
    bottom: 0;
    z-index: 10;
    background: rgba(240, 240, 241, .96);
    padding: 12px !important;
    border-top: 1px solid #dcdcde;
}
.tbws-shift-segment {
    display: block;
    padding: 3px 0;
    border-bottom: 1px dashed #dcdcde;
}
.tbws-shift-segment:last-child {
    border-bottom: 0;
}

@media screen and (max-width: 1280px) {
    .tbws-store-builder-table .tbws-employee-select-col,
    .tbws-store-builder-table .tbws-employee-cell { width: 105px !important; }
    .tbws-store-builder-table .tbws-row-actions { width: 58px !important; }
    .tbws-store-builder-table .tbws-remove-store-row { padding: 0 4px; font-size: 10px; }
}

@media screen and (max-width: 900px) {
    .tbws-store-section-header { align-items: stretch; flex-direction: column; }
    .tbws-store-builder-table,
    .tbws-store-builder-table thead,
    .tbws-store-builder-table tbody,
    .tbws-store-builder-table th,
    .tbws-store-builder-table td,
    .tbws-store-builder-table tr { display: block; width: 100% !important; }
    .tbws-store-builder-table thead { display: none; }
    .tbws-store-builder-table tr {
        border: 1px solid #dcdcde;
        border-radius: 10px;
        margin-bottom: 12px;
        padding: 8px;
        background: #fff;
    }
    .tbws-store-builder-table td {
        border: 0 !important;
        border-bottom: 1px solid #f0f0f1 !important;
        padding: 8px 4px !important;
    }
    .tbws-store-builder-table td::before {
        content: attr(data-label);
        display: block;
        font-weight: 700;
        margin-bottom: 4px;
        color: #1d2327;
    }
    .tbws-store-builder-table .tbws-day-cell {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px 8px;
    }
    .tbws-store-builder-table .tbws-day-cell::before {
        grid-column: 1 / -1;
    }
    .tbws-store-builder-table .tbws-mini-label { margin-bottom: -2px; }
    .tbws-store-builder-table .tbws-cell-hours,
    .tbws-store-builder-table .tbws-cell-coverage-note { grid-column: 1 / -1; }
    .tbws-store-builder-table .tbws-row-actions { text-align: left; }
}

@media print {
    .tbws-store-schedule-section { page-break-inside: avoid; }
    .tbws-builder-submit,
    .tbws-add-store-row,
    .tbws-remove-store-row { display: none !important; }
}

/* v1.18 clear shift rows controls */
.tbws-store-section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.tbws-clear-store-rows,
.tbws-clear-all-store-rows {
    border-color: #b32d2e !important;
    color: #b32d2e !important;
}
.tbws-clear-store-rows:hover,
.tbws-clear-all-store-rows:hover,
.tbws-clear-store-rows:focus,
.tbws-clear-all-store-rows:focus {
    background: #fcf0f1 !important;
    border-color: #8a2424 !important;
    color: #8a2424 !important;
}
@media screen and (max-width: 900px) {
    .tbws-store-section-actions {
        justify-content: flex-start;
    }
    .tbws-store-section-actions .button {
        width: 100%;
        text-align: center;
    }
}

/* v1.19 auto fill and row action alignment */
.tbws-store-builder-table .tbws-row-actions {
    width: 96px !important;
    min-width: 96px !important;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
}
.tbws-store-builder-table .tbws-remove-store-row {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 28px;
    line-height: 1.1;
    padding: 0 8px !important;
    white-space: nowrap;
    box-sizing: border-box;
}
.tbws-auto-fill-status {
    display: none;
    margin-top: 8px;
    padding: 10px 12px;
    border-left: 4px solid #2271b1;
    background: #f0f6fc;
    color: #1d2327;
    font-weight: 600;
}
.tbws-auto-fill-status.is-visible {
    display: block;
}
.tbws-shift-pref-select {
    min-width: 130px;
}
@media screen and (max-width: 1280px) {
    .tbws-store-builder-table .tbws-row-actions {
        width: 84px !important;
        min-width: 84px !important;
    }
    .tbws-store-builder-table .tbws-remove-store-row {
        font-size: 10px;
        padding: 0 5px !important;
    }
}
@media screen and (max-width: 900px) {
    .tbws-store-builder-table .tbws-row-actions {
        width: 100% !important;
        min-width: 0 !important;
        text-align: left;
    }
    .tbws-store-builder-table .tbws-remove-store-row {
        width: 100%;
    }
}
