*,*:before,*:after{box-sizing:border-box}:root{--app-bg: #ecf0f1;--app-text: #2c3e50;--text-strong: #2c3e50;--text-body: #34495e;--text-soft: #5d6d7e;--text-muted: #7f8c8d;--text-faint: #95a5a6;--text-disabled: #bdc3c7;--surface: #fff;--surface-alt: #f5f7fa;--surface-raised: #f0f2f5;--surface-hover: #f0f2f5;--border-strong: #c8cfd8;--border: #dde1e7;--border-soft: #e8ebf0;--border-faint: #eee;--row-hover: #e8f4fd;--row-priority: #fdeede;--row-voided: #fdf1f0}.dark{--app-bg: #2b2d31;--app-text: #dbdee1;--text-strong: #f2f3f5;--text-body: #dbdee1;--text-soft: #b5bac1;--text-muted: #949ba4;--text-faint: #80848e;--text-disabled: #6d6f78;--surface: #313338;--surface-alt: #2b2d31;--surface-raised: #2b2d31;--surface-hover: #383a40;--border-strong: #4e5058;--border: #3f4147;--border-soft: #3f4147;--border-faint: #3f4147;--row-hover: #3f4147;--row-priority: #4a3425;--row-voided: #452125}body{margin:0;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:12px;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased}a{color:inherit}.schedule-table .ant-table-thead>tr>th{font-size:10px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)!important;background:var(--surface-raised)!important;padding:8px!important;white-space:nowrap}.schedule-table .ant-table-tbody>tr>td{padding:5px 8px!important;font-size:12px!important;white-space:nowrap;border-bottom:1px solid var(--border)!important;border-right:1px solid var(--border-soft)!important}.schedule-table .ant-table-thead>tr>th{border-right:1px solid var(--border)!important}.schedule-table .ant-table-tbody>tr:nth-child(2n)>td{background:var(--surface-alt)}.schedule-table .ant-table-tbody>tr:nth-child(odd)>td{background:var(--surface)}.schedule-table .ant-table-tbody>tr.row-complete>td{opacity:.5}.schedule-table .ant-table-tbody>tr.row-priority>td{background:var(--row-priority)!important}.schedule-table .ant-table-tbody>tr.row-priority>td:first-child{box-shadow:inset 3px 0 #e74c3c}.schedule-table .ant-table-tbody>tr:hover>td{background:var(--row-hover)!important}.schedule-table th.group-border,.schedule-table td.group-border{border-right:2px solid var(--border-strong)!important}.schedule-table .ant-table-tbody-virtual .ant-table-cell{padding:5px 8px!important;font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--border)!important;border-right:1px solid var(--border-soft)!important}.schedule-table .ant-table-tbody-virtual .row-even .ant-table-cell{background:var(--surface-alt)}.schedule-table .ant-table-tbody-virtual .row-odd .ant-table-cell{background:var(--surface)}.schedule-table .ant-table-tbody-virtual .row-complete .ant-table-cell{opacity:.5}.schedule-table .ant-table-tbody-virtual .row-priority .ant-table-cell{background:var(--row-priority)!important}.schedule-table .ant-table-tbody-virtual .row-priority .ant-table-cell:first-child{box-shadow:inset 3px 0 #e74c3c}.schedule-table .ant-table-tbody-virtual .ant-table-row:hover .ant-table-cell{background:var(--row-hover)!important}.voided-row td{color:#c0392b!important;text-decoration:line-through;text-decoration-color:#c0392b;background:var(--row-voided)!important}.voided-row td a,.voided-row td .ant-btn{color:#c0392b!important}.voided-row .ant-tag,.voided-row .no-strike{text-decoration:none!important}.rush-date{background:#e74c3c;color:#fff!important;font-weight:700;border-radius:3px;padding:2px 5px;display:inline-block;white-space:nowrap}.schedule-table .ant-table-column-sorter{color:var(--text-disabled)}.schedule-table .ant-table-column-sort .ant-table-column-sorter{color:var(--text-strong)}.col-resize-handle{position:absolute;top:0;right:0;width:9px;height:100%;cursor:col-resize;z-index:3;touch-action:none;-webkit-user-select:none;user-select:none}.col-resize-handle:after{content:"";position:absolute;top:18%;bottom:18%;right:3px;width:2px;border-radius:1px;background:transparent;transition:background .12s}.col-resize-handle:hover:after,.col-resize-handle.active:after{background:#3498db}.schedule-table .ant-table-thead>tr>th.lock-row-cell{padding:2px 4px!important;text-align:center!important;line-height:1!important}.schedule-table .ant-table-tbody-virtual-holder{min-height:400px}.calendar-event-card{box-sizing:border-box;height:100%;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:1px;padding:3px 6px 12px;font-size:10px;line-height:1.25;cursor:pointer}.calendar-event-card:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.calendar-event-card--compact{padding:1px 4px 7px;line-height:12px}.calendar-event-card--one-hour{padding:1px 4px 7px;gap:0;line-height:10px}.calendar-event-card__compact-line,.calendar-event-card__identity-line{display:flex;align-items:center;gap:3px;min-width:0;white-space:nowrap;overflow:hidden}.calendar-event-card__compact-line>strong,.calendar-event-card__identity-line>strong{flex:0 0 auto}.calendar-event-card__compact-identity{display:flex;flex:1 1 0;min-width:0;gap:3px;overflow:hidden}.calendar-event-card__compact-identity>strong{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-event-card__customer{flex:0 1 auto;min-width:22px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-card__design{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-card__ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.calendar-event-card__badge{flex:0 0 auto;border-radius:2px;padding:0 3px;font-size:9px;font-weight:700}.calendar-event-card__meta,.calendar-event-card__customer-row{opacity:.75;font-size:9px}.calendar-event-card__status-row{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-top:1px}.calendar-event-card__badge--printed{background:#ffffff47;color:#fff}.calendar-event-card__badge--art{background:#e74c3c;color:#fff}.calendar-event-card__badge--inventory{background:#f39c12;color:#fff}.calendar-event-card__due{font-size:9px;opacity:.7}.fc-timegrid-event .fc-event-resizer-end{display:block;height:11px;cursor:ns-resize;background:#00000047;border-top:1px solid rgba(255,255,255,.35)}.fc-timegrid-event .fc-event-resizer-end:after{content:"";display:block;width:26px;height:4px;border-radius:2px;margin:3px auto 0;background:#ffffffbf}.fc-timegrid-event:hover .fc-event-resizer-end{background:#00000073}.fc-timegrid-event:hover .fc-event-resizer-end:after{background:#fffffff2}.fc-timegrid-event:has(.calendar-event-card--compact) .fc-event-resizer-end,.fc-timegrid-event:has(.calendar-event-card--one-hour) .fc-event-resizer-end{height:7px}.fc-timegrid-event:has(.calendar-event-card--compact) .fc-event-resizer-end:after,.fc-timegrid-event:has(.calendar-event-card--one-hour) .fc-event-resizer-end:after{width:20px;height:2px;margin-top:2px}:root{--date-red: #c0392b;--date-red-bg: #fdecea;--date-red-border: #f5b7b1}.dark{--date-red: #ff8a80;--date-red-bg: #4a2427;--date-red-border: #7a3a3f}.cal-dates{display:inline-flex;flex-wrap:wrap;gap:4px}.cal-date{display:inline-flex;align-items:baseline;gap:3px;color:var(--date-red);background:var(--date-red-bg);border:1px solid var(--date-red-border);border-radius:3px;padding:0 4px;font-weight:700;line-height:14px;white-space:nowrap}.cal-dates--sm .cal-date{font-size:9.5px}.cal-dates--md .cal-date{font-size:12px;padding:1px 6px;line-height:17px}.cal-date__label{text-transform:uppercase;font-size:.82em;letter-spacing:.04em;opacity:.85}.cal-date--missing .cal-date__value{font-style:italic;font-weight:600}.cal-due-chip{flex:0 0 auto;display:inline-block;border-radius:2px;padding:0 3px;background:#fffffff0;color:#b42318;font-size:9px;font-weight:800;line-height:11px;white-space:nowrap}.cal-due-chip--missing{color:#7a4a45;font-style:italic;font-weight:700}.cal-print-date{display:inline-flex;align-items:center;gap:4px}.cal-print-date input[type=date]{font-size:10px;border:1px solid var(--border);border-radius:4px;padding:1px 4px;background:var(--surface);color:var(--text-strong);color-scheme:light dark;max-width:128px}.cal-print-date input[disabled]{opacity:.6}.cal-card-actions{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap;cursor:default}.cal-card-btn{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:3px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-soft);cursor:pointer;font-family:inherit}.cal-card-btn:hover:not(:disabled){color:var(--text-strong);border-color:var(--border-strong)}.cal-card-btn:disabled{opacity:.5;cursor:not-allowed}.cal-card-btn:focus-visible,.cal-print-date input:focus-visible{outline:2px solid #3498db;outline-offset:1px}.app-shell--fit{height:100vh;height:100dvh;min-height:0!important;overflow:hidden}.app-shell--fit>.app-shell__main{min-height:0;overflow:hidden}.app-shell__menu-btn,.app-shell__scrim{display:none}.cal-body{display:flex;flex:1;min-height:0;overflow:hidden}.cal-main{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column}.cal-main__frame{flex:1;min-height:0;background:var(--surface);border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.cal-detail{width:300px;flex-shrink:0;min-height:0;overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-4px 0 16px #00000014;display:flex;flex-direction:column}.cal-toolbar{flex-wrap:wrap;row-gap:6px}.cal-toolbar__controls{flex-wrap:wrap;row-gap:6px;justify-content:flex-end}@media(max-width:900px){.app-shell--fit>nav.app-shell__nav{position:fixed!important;left:0;top:0;bottom:0;height:100dvh!important;transform:translate(-100%);transition:transform .2s ease;z-index:1200!important}.app-shell--fit.app-shell--nav-open>nav.app-shell__nav{transform:translate(0)}.app-shell--fit.app-shell--nav-open>.app-shell__scrim{display:block;position:fixed;inset:0;background:#00000059;z-index:1150}.app-shell--fit .app-shell__menu-btn{display:inline-flex;align-items:center;gap:6px;margin:6px 8px 0;align-self:flex-start;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-strong);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;font-family:inherit}.app-shell--fit.app-shell--nav-open .app-shell__menu-btn{position:fixed;top:6px;right:8px;z-index:1201}.cal-detail{position:fixed;right:0;top:0;bottom:0;z-index:1000;max-width:92vw}}@media(max-width:767px){.cal-body{flex-direction:column;overflow-y:auto}.cal-body>.cal-queue{width:100%!important;max-height:38dvh;border-right:none!important;border-bottom:1px solid var(--border)}.cal-main{min-height:70dvh;overflow:visible}.cal-detail{width:100%;max-width:100vw}}:root{scrollbar-color:#6b8299 #e3e8ee;--rc-virtual-list-scrollbar-bg: #6b8299}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:#e3e8ee}::-webkit-scrollbar-thumb{background:#6b8299;border-radius:7px;border:2px solid #e3e8ee}::-webkit-scrollbar-thumb:hover{background:#3498db}::-webkit-scrollbar-corner{background:#e3e8ee}.ant-table-wrapper .ant-table-sticky-scroll{height:16px!important;background:#e3e8ee!important;border-top:1px solid #c8cfd8!important;opacity:1!important}.ant-table-wrapper .ant-table-sticky-scroll-bar{height:12px!important;background:#6b8299!important;border-radius:6px!important}.ant-table-wrapper .ant-table-sticky-scroll-bar:hover,.ant-table-wrapper .ant-table-sticky-scroll-bar-active{background:#3498db!important}.ant-table-tbody-virtual-scrollbar-horizontal{height:14px!important;visibility:visible!important;background:#e3e8ee;border-top:1px solid #c8cfd8}.ant-table-tbody-virtual-scrollbar-vertical{width:14px!important;visibility:visible!important;background:#e3e8ee}.ant-table-tbody-virtual-scrollbar .ant-table-tbody-virtual-scrollbar-thumb{background:#6b8299!important;border:2px solid #e3e8ee;border-radius:7px!important}.ant-table-tbody-virtual-scrollbar .ant-table-tbody-virtual-scrollbar-thumb:hover,.ant-table-tbody-virtual-scrollbar .ant-table-tbody-virtual-scrollbar-thumb-moving{background:#3498db!important}
