/* V23: calendar is the primary operational surface. */
.cal-page[data-workshop-mode="calendar"] .planner-layout{display:block!important}
.cal-page .planner-heading{margin-bottom:6px}
.cal-page .planner-calendar{min-height:550px}
.cal-page .v17-calendar-help{background:#f4f9fc;border:1px solid #e1edf3;border-radius:9px;padding:10px 14px;color:#405e72;font-weight:600;font-size:12px;margin:10px 0 15px}
.p-event-wrap{min-height:14px}
.p-event-wrap.v23-resizing{z-index:25!important;outline:2px solid #087fa8;outline-offset:0;opacity:0.98;box-shadow:0 7px 19px #14364b25}
.v23-resize-handle{display:none;position:absolute;left:36%;width:28%;height:13px;border:0;border-radius:7px;background:rgba(22,80,115,.22);color:#173d55;z-index:10;align-items:center;justify-content:center;font-size:11px;font-weight:900;letter-spacing:2px;padding:0;cursor:ns-resize;touch-action:none;user-select:none}
.p-event-wrap:hover .v23-resize-handle,.p-event-wrap:focus-within .v23-resize-handle,.p-event-wrap.v23-resizing .v23-resize-handle{display:flex}
.v23-resize-handle.top{top:0}
.v23-resize-handle.bottom{bottom:0}
.v23-resize-preview{position:absolute;bottom:calc(100% + 5px);left:0;z-index:32;border-radius:6px;background:#173c51;color:#fff;padding:6px 8px;font-size:11px;font-weight:750;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #0002}
.v23-resize-active{user-select:none!important;cursor:ns-resize!important}
.v23-dialog-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.2px;color:#53809b;margin:0 0 8px}
.v23-safe-message{background:#f3f8fb;border-radius:8px;padding:10px 12px;font-size:12px;color:#476174}
.v23-quick-dialog{width:min(700px,calc(100vw - 24px));max-height:calc(100dvh - 34px);overflow-y:auto;padding:24px;box-sizing:border-box}
.v23-dialog-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:16px}
.v23-dialog-title h2{margin:0 0 5px;font-size:24px}
.v23-dialog-title p{margin:0;color:#718594;font-size:12px}
.v23-dialog-title button{min-width:34px;min-height:34px;font-size:23px;background:#f4f7f9;border:1px solid #e0e8ec;border-radius:8px}
.v23-quick-dialog .v23-edit-section{border:1px solid #e4ebef;border-radius:12px;padding:9px 16px 14px;margin:12px 0;background:#fff;min-width:0}
.v23-quick-dialog .v23-edit-section legend{font-size:12px;color:#245875;font-weight:850;padding:0 8px}
.v23-quick-dialog .v23-edit-section label{font-size:11px;font-weight:800;color:#506779;line-height:1.4;margin:8px 0;gap:5px}
.v23-edit-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v23-quick-dialog input:not([type=checkbox]),.v23-quick-dialog textarea,.v23-quick-dialog select{font:inherit;font-size:13px;width:100%;min-height:41px;padding:10px 11px;border:1px solid #dce6eb;border-radius:8px;background:#fff;color:#213d4e}
.v23-quick-dialog textarea{min-height:68px;resize:vertical}
.v23-quick-dialog .v23-check-row{display:flex;flex-direction:row;align-items:center;gap:8px}
.v23-quick-dialog .v23-check-row input{width:18px;height:18px;min-width:18px;min-height:18px;margin:0}
.v23-inline-help{font-size:11px;color:#728797;margin:3px 0 0}
.v23-edit-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.v23-edit-links a,.v23-edit-links button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 12px;font:inherit;font-size:11px;font-weight:800;color:#225a7d;border:1px solid #d5e4ec;background:#f7fafc;min-height:39px}
.v23-quick-dialog .v17-dialog-actions{position:sticky;bottom:-24px;background:#fff;padding:13px 0 4px;border-top:1px solid #e1eaef;z-index:2}
.v23-resize-dialog{width:min(475px,calc(100vw - 24px))}
.v23-resize-dialog h2{margin-top:0}
@media (pointer:coarse){.v23-resize-handle{display:flex;width:42%;left:29%;height:17px;background:#37799c88;color:#fff}.v23-resize-handle.bottom{height:18px}.p-event-wrap .p-quick-status{min-width:32px;min-height:32px}}
@media(max-width:680px){.v23-quick-dialog{padding:14px}.v23-edit-pair{grid-template-columns:1fr;gap:0}.v23-quick-dialog .v23-edit-section{padding:8px 12px 12px}.v23-quick-dialog .v17-dialog-actions{bottom:-14px}.v23-edit-links a,.v23-edit-links button{flex:1 1 43%}}
/* Part procurement workspace, fast enough for a mechanic on a tablet. */
.v23-supplier-search{margin:0 0 18px;display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:9px;align-items:end;padding:14px;border-radius:10px;background:#f3f8fb}
.v23-supplier-search label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#385c73}
.v23-supplier-search input{min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid #d2e4ed;font:inherit}
.v23-supplier-search button{border-radius:8px;min-height:44px;padding:10px 15px;background:#224961;color:#fff;border:0;font-size:12px;font-weight:800}
.v23-supplier-instructions{font-size:11px;color:#6b8393;margin:0 0 12px}
.v23-priority-note{font-size:12px;color:#4b6878}
.v23-request-priority{display:inline-flex;padding:5px 8px;background:#fff1d8;color:#865817;border-radius:6px;font-size:10px;font-weight:850;margin:5px 0}
.v23-request-due{font-size:10px;color:#597c8d;margin:8px 0}
.v23-copy-sku{cursor:pointer;border:1px solid #d1e2ec;border-radius:6px;background:#f5fafc;color:#28617e;font-size:11px;padding:7px 10px}
.v23-request-header{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:700px){.v23-supplier-search{grid-template-columns:1fr}.v23-supplier-search button{width:100%}}

.v23-job-start{background:#fff;border:1px solid #dbe6eb;border-radius:13px;padding:20px;margin:0 0 18px}
.v23-job-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.v23-job-picker label{display:grid;gap:7px;color:#496675;font-size:12px;font-weight:800}
.v23-job-picker select{width:100%;min-height:46px;border:1px solid #ccdce6;border-radius:9px;background:white;padding:10px 14px;font:inherit;font-size:13px}
.v23-job-picker a{display:flex;align-items:center;min-height:46px;padding:12px 16px;background:#f0f7fa;color:#235d7b;border:1px solid #d6e7ef;border-radius:8px;font-size:12px;font-weight:800}
.v23-job-context{margin:10px 0 0;color:#647c8a;font-size:11px}
.v23-common-parts{background:#f8fafb;border:1px solid #e6edf1;border-radius:10px;padding:11px}
.v23-common-parts>span{font-size:11px;color:#536e7c;font-weight:850;display:block;margin-bottom:8px}
.v23-common-part-buttons{display:flex;gap:6px;flex-wrap:wrap}
.v23-common-part-buttons button{background:#fff;border:1px solid #d8e5ec;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:750;color:#2f607c;cursor:pointer}
.v23-common-part-buttons button:hover{background:#e9f4fa}
.v23-queue-job-filter{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:11px;color:#4f7284;margin:0 0 10px;font-weight:750}
.v23-queue-job-filter input{width:18px;height:18px;flex:none}
@media(max-width:660px){.v23-job-start{padding:15px}.v23-job-picker{grid-template-columns:1fr}.v23-job-picker a{justify-content:center}}
