.today-page-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.today-board{flex:1;min-height:0;min-width:0;overflow:hidden}.today-layout.today-board{display:flex;flex-direction:row;align-items:stretch;gap:0;min-height:0;flex:1 1 auto}.today-unassigned-column{flex:0 0 var(--today-unassigned-width, 280px);min-width:200px;max-width:360px}.today-crew-region{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.today-unassigned-column.today-board-column,.today-worker-column.today-board-column,.today-add-lead-column.today-board-column{height:100%;display:flex;flex-direction:column;overflow:hidden}.today-crew-column-inner{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.today-column-header{flex:0 0 auto;position:relative;z-index:20;background:#0b1020;padding-bottom:10px;box-sizing:border-box;width:100%}.today-column-header:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:#0b1020;z-index:21;pointer-events:none}.today-crew-columns-scroll-x{height:100%;overflow-x:auto;overflow-y:hidden;display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;align-items:stretch;align-content:stretch;justify-content:flex-start;min-height:0;flex:1;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:4px}.today-crew-column-drag-handle{cursor:grab}.today-crew-column-drag-handle:active{cursor:grabbing}.today-column-cards-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.today-visit-card{display:flex;flex-direction:column;align-items:stretch;padding:10px;gap:4px}.today-visit-card-main-row{display:flex;flex-direction:row;align-items:stretch;gap:0;min-height:0}.today-visit-drag-rail{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:10px 6px 10px 4px;-webkit-user-select:none;user-select:none}.today-visit-drag-rail--locked{opacity:.35}.today-column-scroll-inner{position:relative;--compact-card-h: 36px;--stack-gap: 3px}.today-column-scroll-inner--unassigned{--compact-card-h: 34px;--stack-gap: 2px}.today-visit-card-collapse-slot{--t: clamp(0, var(--collapse-t, 0), 1);box-sizing:border-box;margin-bottom:var(--stack-gap, 3px)}.today-visit-card-collapse-slot:last-child,.today-visit-card-collapse-slot--compact-sticky{margin-bottom:0}.today-visit-card-collapse-slot--transitioning .today-visit-card{padding:clamp(3px,calc(10px * (1 - var(--t) * .72)),10px);gap:clamp(0px,calc(4px * (1 - var(--t) * .85)),4px);min-height:0}.today-visit-card-collapse-slot--transitioning .today-visit-drag-rail{padding-top:clamp(3px,calc(10px * (1 - var(--t) * .72)),10px);padding-bottom:clamp(3px,calc(10px * (1 - var(--t) * .72)),10px);padding-left:clamp(2px,calc(4px * (1 - var(--t) * .55)),4px);padding-right:clamp(2px,calc(6px * (1 - var(--t) * .55)),6px);gap:clamp(0px,calc(6px * (1 - var(--t) * .85)),6px);flex:0 0 auto}.today-visit-card-collapse-slot--transitioning .today-visit-card-body{gap:clamp(0px,calc(4px * (1 - var(--t))),4px);min-width:0;flex:1 1 auto}.today-visit-card-compact-label{display:none}.today-visit-card-collapse-slot--transitioning .today-visit-card-compact-label{display:block;opacity:clamp(0,calc((var(--t) - .35) / .65),1);font-size:clamp(12px,calc(13px - .5px * var(--t)),13px);font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-height:calc(var(--t) * 18px);margin:0;pointer-events:none}.today-visit-card-collapse-slot--transitioning .today-visit-card-title{opacity:clamp(0,calc(1 - var(--t) * 1.15),1);max-height:calc((1 - min(1,var(--t) * 1.05))*100px);overflow:hidden;font-size:clamp(12px,calc(15px - 2.5px * var(--t)),15px);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.today-visit-card-collapse-slot--transitioning .today-visit-card-header-row,.today-visit-card-collapse-slot--transitioning .today-visit-card-jobnum,.today-visit-card-collapse-slot--transitioning .today-visit-card-subtitle,.today-visit-card-collapse-slot--transitioning .today-visit-card-chiprow-wrap,.today-visit-card-collapse-slot--transitioning .today-visit-card-description{opacity:clamp(0,calc(1 - var(--t) * 1.35),1);max-height:calc((1 - min(1,var(--t) * 1.15))*140px);overflow:hidden;margin:0;pointer-events:none}.today-visit-card-phase-stripe{display:none;flex:0 0 3px;width:3px;min-width:3px;align-self:stretch;margin:2px 0 2px 1px;border-radius:2px;pointer-events:none}.today-visit-card-collapse-slot--compact-preview .today-visit-card-phase-stripe,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-phase-stripe{display:block}.today-visit-card-collapse-slot--compact-preview .today-visit-card,.today-visit-card-collapse-slot--compact-sticky .today-visit-card{padding:0 1px 0 0;gap:0;height:100%;box-sizing:border-box;border-radius:3px;border-width:1px}.today-visit-card-collapse-slot--compact-preview .today-visit-card-main-row,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-main-row{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;height:100%;min-height:0;gap:0}.today-visit-card-collapse-slot--compact-preview .today-visit-card-body,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-body{display:contents}.today-visit-card-collapse-slot--compact-preview .today-visit-card-compact-label,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-compact-label{display:block;flex:1 1 auto;min-width:0;max-width:100%;opacity:1;max-height:none;font-size:12.5px;line-height:1.15;padding:0 3px;pointer-events:auto;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-visit-card-collapse-slot--compact-preview .today-visit-card-title,.today-visit-card-collapse-slot--compact-preview .today-visit-card-header-row,.today-visit-card-collapse-slot--compact-preview .today-visit-card-jobnum,.today-visit-card-collapse-slot--compact-preview .today-visit-card-subtitle,.today-visit-card-collapse-slot--compact-preview .today-visit-card-chiprow-wrap,.today-visit-card-collapse-slot--compact-preview .today-visit-card-description,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-title,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-header-row,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-jobnum,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-subtitle,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-chiprow-wrap,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-description{display:none!important}.today-visit-card-collapse-slot--compact-preview .today-visit-drag-rail,.today-visit-card-collapse-slot--compact-sticky .today-visit-drag-rail{padding:0 1px 0 0;align-self:stretch;justify-content:center}.today-visit-card-collapse-slot--compact-preview .today-visit-drag-handle,.today-visit-card-collapse-slot--compact-sticky .today-visit-drag-handle{min-height:calc(var(--compact-card-h, 36px) - 6px);max-height:calc(var(--compact-card-h, 36px) - 6px);min-width:14px;max-width:16px;padding:0 2px;border-radius:3px;background:#ffffff0a;border-color:#ffffff1a}.today-visit-card-collapse-slot--compact-preview .today-visit-drag-grip,.today-visit-card-collapse-slot--compact-sticky .today-visit-drag-grip{font-size:10px}.today-visit-card-collapse-slot--compact-preview .today-visit-card-reorder-rail,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-reorder-rail{flex:0 0 auto;flex-direction:row;align-items:center;justify-content:flex-end;gap:0;padding:0;min-width:0;width:auto}.today-visit-card-collapse-slot--compact-sticky{background:linear-gradient(180deg,#0f172afc,#0b1020fc);box-shadow:0 1px #38bdf833,0 1px 4px #0000004d;border-radius:3px;height:var(--compact-card-h, 36px)!important;min-height:var(--compact-card-h, 36px)!important;max-height:var(--compact-card-h, 36px)!important;overflow:hidden}.today-visit-card-collapse-slot--compact-preview{overflow:hidden}.today-visit-card-collapse-slot--compact-preview .today-visit-card-expand-btn,.today-visit-card-collapse-slot--compact-sticky .today-visit-card-expand-btn{display:none}.today-visit-drag-handle{min-width:28px;min-height:44px;padding:6px 4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:6px;cursor:grab;color:#e2e8f0bf;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.today-visit-drag-grip{font-size:13px;line-height:1;text-align:center;letter-spacing:-.5px;font-weight:700;pointer-events:none}.today-visit-drag-handle:active{cursor:grabbing}.today-visit-drag-handle--locked{cursor:not-allowed}.today-visit-drop-line{height:3px;margin:0 6px 2px;border-radius:2px;background:linear-gradient(90deg,#38bdf8,#818cf8);box-shadow:0 0 8px #38bdf88c;flex-shrink:0;pointer-events:none}.today-visit-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.today-visit-card-reorder-rail{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px 4px 0;-webkit-user-select:none;user-select:none;min-width:22px}.today-visit-reorder-btn,.today-visit-card-expand-btn{min-width:20px;min-height:16px;padding:0 2px;font-size:9px;line-height:1;border-radius:3px;border:1px solid rgba(255,255,255,.14);background:#0f172a8c;color:#94a3b8;cursor:pointer}.today-visit-reorder-btn:disabled{opacity:.35;cursor:not-allowed}.today-visit-reorder-btn:not(:disabled):hover,.today-visit-card-expand-btn:hover{background:#38bdf833;border-color:#38bdf873;color:#f8fafc}.today-visit-card-expand-btn{opacity:0;max-height:0;overflow:hidden;padding:0;min-height:0;border:none}.today-visit-card-collapse-slot--compact-preview .today-visit-reorder-btn,.today-visit-card-collapse-slot--compact-sticky .today-visit-reorder-btn{min-width:11px;min-height:11px;max-width:13px;max-height:13px;padding:0;font-size:5px;line-height:1;opacity:.28;border-color:transparent;background:transparent}.today-visit-card-collapse-slot--compact-preview:hover .today-visit-reorder-btn,.today-visit-card-collapse-slot--compact-preview:focus-within .today-visit-reorder-btn,.today-visit-card-collapse-slot--compact-sticky:hover .today-visit-reorder-btn,.today-visit-card-collapse-slot--compact-sticky:focus-within .today-visit-reorder-btn{opacity:.85;background:#0f172aa6;border-color:#ffffff1f}.today-visit-card-collapse-slot--compact-preview .today-visit-reorder-btn:not(:disabled):hover,.today-visit-card-collapse-slot--compact-sticky .today-visit-reorder-btn:not(:disabled):hover{opacity:1;color:#e2e8f0;background:#38bdf826;border-color:#38bdf859}.today-column-visit-scroll-nav--hidden{display:none!important}.today-column-scroll-stack-host{position:relative}.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-preview .today-visit-card-compact-label,.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-sticky .today-visit-card-compact-label{font-size:12px;padding:0 2px}.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-preview .today-visit-drag-handle,.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-sticky .today-visit-drag-handle{min-width:12px;max-width:14px;padding:0 1px}.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-preview .today-visit-card-phase-stripe,.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-sticky .today-visit-card-phase-stripe{flex:0 0 2px;width:2px;min-width:2px;margin-left:0}.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-preview .today-visit-reorder-btn,.today-unassigned-cards-scroll .today-visit-card-collapse-slot--compact-sticky .today-visit-reorder-btn{min-width:10px;min-height:10px;max-width:12px;max-height:12px}.jobs-status-page{max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box}.jobs-status-header{margin:0 0 20px}.jobs-status-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#f8fafc}.jobs-search-section{margin-bottom:16px}.jobs-search-row{position:relative;display:flex;align-items:center}.jobs-search-input{width:100%;height:48px;padding:0 44px 0 14px;border-radius:10px;border:1px solid rgba(56,189,248,.35);background:#0f172a;color:#f8fafc;font-size:16px;box-sizing:border-box}.jobs-search-input:focus{outline:none;border-color:#38bdf8a6;box-shadow:0 0 0 2px #38bdf826}.jobs-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:8px;background:#334155e6;color:#cbd5e1;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.jobs-search-clear:hover{background:#475569f2;color:#f8fafc}.jobs-search-clear:disabled{opacity:.35;cursor:not-allowed}.jobs-filter-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}.jobs-filter-toolbar-spacer{flex:1 1 80px;min-width:0}.jobs-filter-control{display:flex;flex-direction:column;gap:4px;min-width:0}.jobs-filter-control label{font-size:12px;font-weight:600;color:#94a3b8}.jobs-filter-select{height:40px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0f172a;color:#f8fafc;font-size:14px;min-width:140px;max-width:100%}.jobs-filter-refresh{flex-shrink:0}.jobs-result-summary{color:#94a3b8;font-size:14px;margin:8px 0 16px;line-height:1.45}.jobs-result-summary strong{color:#e2e8f0;font-weight:600}.jobs-status-strip{min-height:22px;margin-bottom:8px;font-size:13px}.jobs-results{margin-top:8px}.jobs-phase-group{margin-bottom:16px}.jobs-phase-group-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border-radius:10px;border:none;background:#334155a6;color:#f8fafc;cursor:pointer;text-align:left;font-size:15px;font-weight:600;box-sizing:border-box}.jobs-phase-group-header:hover{background:#334155e6}.jobs-phase-group-count{font-size:13px;font-weight:500;color:#94a3b8}.jobs-phase-group-body{padding:12px 0 0;display:flex;flex-direction:column;gap:10px}.jobs-job-card{background:#0f172a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:14px 16px}.jobs-job-card-primary{margin:0 0 10px;font-size:16px;font-weight:600;color:#f8fafc;line-height:1.35}.jobs-job-card-secondary{margin:0;font-size:13px;color:#94a3b8;line-height:1.5}.jobs-job-card-secondary+.jobs-job-card-secondary{margin-top:4px}.jobs-job-card-actions{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.jobs-pagination{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.jobs-pagination-info{font-size:14px;color:#cbd5e1}.jobs-debug-section{margin-bottom:16px}.jobs-debug-lead{margin:0 0 12px;font-size:13px;color:#fcd34d;line-height:1.5}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#e8e8e8;background-color:#0f0f14;--app-height: 100dvh}html{-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);scroll-padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}#root{min-height:100vh;min-height:100dvh}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.06)}.rv-modal-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto;color-scheme:light}.rv-modal-scroll select,.rv-modal-scroll input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]),.rv-modal-scroll textarea{color:#0f172a;background-color:#fff}.rv-modal-scroll option{color:#0f172a;background-color:#fff}.rv-modal-scroll select:hover,.rv-modal-scroll select:focus{border-color:#94a3b8}.rv-worker-picker-label{color:#0f172a}.rv-worker-picker-label--disabled{color:#64748b}.rv-worker-picker-hint{color:#b45309;font-weight:600}.rv-worker-picker-row:has(input:not(:disabled)):hover{background-color:#f1f5f9}input,select,textarea{font:inherit}a{color:#7dd3fc;-webkit-tap-highlight-color:rgba(125,211,252,.15)}
