@charset "UTF-8";@keyframes _cursorBlink_7oi6e_1{0%,to{opacity:1}50%{opacity:0}}@keyframes _bubblePop_7oi6e_1{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes _welcomeFadeUp_7oi6e_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes _msgSlideIn_7oi6e_1{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}._bubble_7oi6e_41{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:7px;border:1px solid rgba(26,93,77,.25);background:#1a5d4d12;color:#1a5d4d;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}._bubble_7oi6e_41:hover{background:#1a5d4d21;border-color:#1a5d4d66}._bubble_7oi6e_41:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d26}._bubble_7oi6e_41:active{background:#1a5d4d2e}._bubbleIcon_7oi6e_73{font-size:11px;line-height:1}._bubbleLabel_7oi6e_78{line-height:1}._panel_7oi6e_86{position:fixed;top:0;right:0;bottom:0;z-index:1000;width:420px;max-width:100vw;display:flex;flex-direction:column;background:#fff;border-left:1px solid #ece7dd;box-shadow:0 10px 30px #3c28141a,0 2px 6px #3c28140f;transform:translate(100%);transition:transform .15s ease-in;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}._panelOpen_7oi6e_112{transform:translate(0);transition:transform .2s ease-out}._panelHeader_7oi6e_121{height:56px;min-height:56px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px 0 16px;border-bottom:1px solid #ece7dd;background:#fff}._panelHeaderIcon_7oi6e_135{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:#e3efe8;color:#1a5d4d;flex-shrink:0}._panelTitle_7oi6e_147{font-size:14px;font-weight:600;color:#0f3d32;flex:1;letter-spacing:-.1px}._newBtn_7oi6e_155{height:28px;padding:0 10px;border-radius:7px;border:1px solid #ece7dd;background:transparent;font-family:inherit;font-size:12px;font-weight:500;color:#6b6452;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;display:flex;align-items:center;gap:4px}._newBtn_7oi6e_155:hover{background:#faf8f4;border-color:#d4cfc7;color:#0f3d32}._newBtn_7oi6e_155:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d26}._closeBtn_7oi6e_183{width:28px;height:28px;border-radius:7px;border:none;background:transparent;color:#8a7f6d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;flex-shrink:0}._closeBtn_7oi6e_183:hover{background:#faf8f4;color:#0f3d32}._closeBtn_7oi6e_183:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d26}._messages_7oi6e_212{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#e0d8cc transparent}._messages_7oi6e_212::-webkit-scrollbar{width:4px}._messages_7oi6e_212::-webkit-scrollbar-track{background:transparent}._messages_7oi6e_212::-webkit-scrollbar-thumb{background:#e0d8cc;border-radius:4px}._welcome_7oi6e_240{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 16px 8px;gap:8px;animation:_welcomeFadeUp_7oi6e_1 .28s ease both}._welcomeIcon_7oi6e_252{width:44px;height:44px;border-radius:12px;background:#e3efe8;color:#1a5d4d;display:flex;align-items:center;justify-content:center;margin-bottom:4px}._welcomeHeading_7oi6e_264{font-size:16px;font-weight:600;color:#0f3d32;letter-spacing:-.2px;margin:0}._welcomeBody_7oi6e_272{font-size:13px;color:#6b6452;line-height:1.5;max-width:260px;margin:0}._chips_7oi6e_281{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}._chip_7oi6e_281{border:1px solid #ece7dd;background:#faf8f4;border-radius:7px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;color:#0f3d32;cursor:pointer;transition:background .15s ease,border-color .15s ease;line-height:1.3;text-align:left}._chip_7oi6e_281:hover{background:#e3efe8;border-color:#1a5d4d}._chip_7oi6e_281:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d26}._msg_user_7oi6e_319{align-self:flex-end;background:#e3efe8;color:#0f3d32;border-radius:7px 7px 2px;max-width:80%;padding:10px 14px;font-size:13.5px;line-height:1.5;animation:_msgSlideIn_7oi6e_1 .18s ease both;word-break:break-word}._msg_assistant_7oi6e_332{align-self:flex-start;background:#faf8f4;color:#0f3d32;border:1px solid #ece7dd;border-radius:7px 7px 7px 2px;max-width:85%;padding:10px 14px;font-size:13.5px;line-height:1.5;animation:_msgSlideIn_7oi6e_1 .18s ease both;word-break:break-word}._navBtn_7oi6e_349{display:flex;width:fit-content;align-items:center;gap:6px;margin-top:10px;border:1px solid #1a5d4d;background:#1a5d4d;color:#faf8f4;border-radius:7px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}._navBtn_7oi6e_349:hover{background:#0f3d32;border-color:#0f3d32}._navBtn_7oi6e_349:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d40}._actionCard_7oi6e_380{margin-top:10px;border:1px solid #ece7dd;border-radius:8px;background:#fff;padding:10px 12px}._actionSummary_7oi6e_388{margin:0 0 10px;font-size:13px;font-weight:600;color:#0f3d32}._actionRow_7oi6e_395{display:flex;gap:8px;align-items:center}._actionGhostBtn_7oi6e_402{width:fit-content;border:1px solid #ece7dd;background:#faf8f4;color:#0f3d32;border-radius:7px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}._actionGhostBtn_7oi6e_402:hover{background:#f0ece3}._actionGhostBtn_7oi6e_402:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d2e}._actionDone_7oi6e_425{margin:0;font-size:13px;font-weight:600;color:#0f3d32}._actionMuted_7oi6e_432{margin:0;font-size:12.5px;font-style:italic;color:#6b7770}._actionError_7oi6e_439{margin:0 0 8px;font-size:12.5px;color:#b3261e}._cursor_7oi6e_446{display:inline-block;width:2px;height:14px;background:#1a5d4d;border-radius:1px;margin-left:2px;vertical-align:text-bottom;animation:_cursorBlink_7oi6e_1 1s step-end infinite}._error_7oi6e_461{flex-shrink:0;display:flex;align-items:flex-start;gap:8px;padding:10px 16px;background:#fee2e2;border-top:1px solid rgba(185,28,28,.2);font-size:12px;font-weight:500;color:#b91c1c;line-height:1.4}._error_7oi6e_461>span{flex:1}._errorDismiss_7oi6e_479{background:none;border:none;cursor:pointer;color:#b91c1c;opacity:.6;padding:0;font-size:14px;line-height:1;transition:opacity .15s ease;flex-shrink:0;margin-top:1px}._errorDismiss_7oi6e_479:hover{opacity:1}._rateLimit_7oi6e_498{background:#fef3c7;border-top-color:#92400e33;color:#92400e}._inputBar_7oi6e_508{flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid #ece7dd;background:#fff}._inputField_7oi6e_518{flex:1;min-height:36px;max-height:101px;padding:10px 12px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13.5px;color:#0f3d32;background:#faf8f4;border:1px solid #ece7dd;border-radius:7px;resize:none;outline:none;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#e0d8cc transparent}._inputField_7oi6e_518::placeholder{color:#8a7f6d}._inputField_7oi6e_518:focus{border-color:#1a5d4d66;box-shadow:0 0 0 3px #1a5d4d26}._sendBtn_7oi6e_547{width:40px;height:36px;border-radius:7px;border:none;background:#1a5d4d;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,transform .1s ease}._sendBtn_7oi6e_547:hover{background:#134a3e}._sendBtn_7oi6e_547:active{transform:scale(.95)}._sendBtn_7oi6e_547:focus-visible{outline:none;box-shadow:0 0 0 3px #1a5d4d26}._sendBtnDisabled_7oi6e_575{opacity:.4;cursor:not-allowed}._sendBtnDisabled_7oi6e_575:hover{background:#1a5d4d;transform:none}._activity_7oi6e_586{display:block;margin-top:4px;font-size:12px;font-style:italic;color:#6b7a76}.softphone-bar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--color-surface, #fff);border-block-end:1px solid var(--color-border, #e5e7eb);font-size:13px}.softphone-bar-error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #b91c1c)}.softphone-bar-callee{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--color-text, #111827)}.softphone-bar-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success, #16a34a);animation:softphone-pulse 1.4s ease-in-out infinite}@keyframes softphone-pulse{0%,to{opacity:1}50%{opacity:.3}}.softphone-bar-status{color:var(--color-text-secondary, #6b7280);font-variant-numeric:tabular-nums}.softphone-bar-actions{margin-inline-start:auto;display:inline-flex;gap:8px}.softphone-bar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #111827);cursor:pointer}.softphone-bar-btn:hover:not(:disabled){background:var(--color-surface-hover, #f3f4f6)}.softphone-bar-btn:disabled{opacity:.5;cursor:default}.softphone-bar-btn.active{background:var(--color-warning-bg, #fef9c3)}.softphone-bar-hangup{background:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626);color:#fff}.softphone-bar-hangup:hover:not(:disabled){background:var(--color-danger-hover, #b91c1c)}.softphone-dialer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.softphone-dialer{width:min(360px,92vw);background:var(--color-surface, #fff);border-radius:12px;padding:20px;box-shadow:0 10px 40px #0003}.softphone-dialer-head{display:flex;align-items:center;justify-content:space-between;margin-block-end:12px}.softphone-dialer-head h3{margin:0;font-size:16px}.softphone-dialer-actions{display:flex;justify-content:flex-end;gap:8px;margin-block-start:16px}.softphone-incoming{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--color-success-bg, #ecfdf5);border-block-end:1px solid var(--color-success, #16a34a)}.softphone-incoming-ring{width:10px;height:10px;border-radius:50%;background:var(--color-success, #16a34a);flex:none;animation:softphone-pulse 1s ease-in-out infinite}.softphone-incoming-who{display:flex;flex-direction:column;line-height:1.25;min-width:0}.softphone-incoming-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-success, #15803d);font-weight:700}.softphone-incoming-name{font-size:14px;font-weight:600;color:var(--color-text, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.softphone-incoming-sub{font-size:12px;color:var(--color-text-secondary, #6b7280);font-variant-numeric:tabular-nums}.softphone-incoming-actions{margin-inline-start:auto;display:inline-flex;gap:8px}.softphone-incoming-accept,.softphone-incoming-decline{width:auto;padding-inline:12px;gap:6px;font-size:13px;font-weight:600}.softphone-incoming-accept{background:var(--color-success, #16a34a);border-color:var(--color-success, #16a34a);color:#fff}.softphone-incoming-accept:hover:not(:disabled){background:var(--color-success-hover, #15803d)}.softphone-incoming-decline{background:var(--color-danger, #dc2626);border-color:var(--color-danger, #dc2626);color:#fff}.softphone-incoming-decline:hover:not(:disabled){background:var(--color-danger-hover, #b91c1c)}.softphone-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:999px;background:var(--color-surface, #fff);color:var(--color-text-secondary, #6b7280);font-size:12px;font-weight:600;cursor:pointer;line-height:1.4}.softphone-pill:hover:not(:disabled){background:var(--color-surface-hover, #f3f4f6)}.softphone-pill:disabled{opacity:.6;cursor:default}.softphone-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary, #9ca3af);flex:none}.softphone-pill.is-available{color:var(--color-success, #16a34a)}.softphone-pill.is-available .softphone-pill-dot{background:var(--color-success, #16a34a)}.pb-page{max-width:1400px;margin:0 auto;padding:24px}.pb-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--color-border);margin-bottom:20px}.pb-page-head__title{font-family:Tiempos Headline,"Source Serif Pro",Georgia,serif;font-size:32px;font-weight:500;letter-spacing:-.02em;line-height:1.1;color:var(--color-primary-deep);margin:0 0 6px}.pb-page-head__sub{font-size:13px;color:var(--color-text-secondary, #6b6452);margin:0}.pb-page-head__sub strong{color:var(--color-text, #0f3d32);font-weight:600}.pb-page-head__actions{display:flex;gap:8px;align-items:center}.pb-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pb-search{position:relative;flex:0 0 360px}.pb-search__input{width:100%;height:38px;padding:0 50px 0 38px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text, #0f3d32);font-size:13px;font-family:inherit;transition:border-color .12s,box-shadow .12s}.pb-search__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a5d4d1a}.pb-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted, #8a7f6d);pointer-events:none}.pb-search__kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--color-text-muted, #8a7f6d);border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:4px;padding:2px 6px;pointer-events:none}.pb-count-strip{display:flex;align-items:baseline;gap:14px;font-size:12px;color:var(--color-text-secondary, #6b6452);overflow-x:auto;white-space:nowrap;flex:1;min-width:0}.pb-count-strip__group{display:inline-flex;align-items:baseline;gap:14px}.pb-count-strip__item{cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .1s,color .1s;background:transparent;border:none;color:inherit;font:inherit}.pb-count-strip__item:hover{background:var(--color-bg-alt);color:var(--color-text, #0f3d32)}.pb-count-strip__item--active{color:var(--color-primary-deep);font-weight:600}.pb-count-strip__num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--color-text-muted, #8a7f6d);margin-left:4px}.pb-count-strip__sep{color:var(--color-border)}.pb-view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface, #ffffff);flex-shrink:0}.pb-view-toggle button{height:34px;padding:0 12px;border:none;background:transparent;color:var(--color-text-secondary, #6b6452);font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.pb-view-toggle button.is-active{background:var(--color-primary-light);color:var(--color-primary-deep)}.pb-view-toggle button+button{border-left:1px solid var(--color-border)}.pb-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0 16px;border-bottom:1px solid var(--color-border-light);margin-bottom:16px}.pb-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 10px;background:var(--color-primary-light);color:var(--color-primary-deep);border-radius:14px;font-size:11px;font-weight:500;letter-spacing:.02em}.pb-chip__label{color:var(--color-text-muted, #8a7f6d);margin-right:2px;font-weight:400}.pb-chip__close{border:none;background:transparent;width:18px;height:18px;border-radius:50%;color:var(--color-primary-deep);display:inline-flex;align-items:center;justify-content:center;transition:background .1s;cursor:pointer}.pb-chip__close:hover{background:#0f3d321a}.pb-chips__clear{background:transparent;border:none;color:var(--color-text-secondary, #6b6452);font-size:11px;text-decoration:underline;text-underline-offset:2px;margin-left:4px;cursor:pointer}.pb-panel{background:var(--color-surface, #ffffff);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;box-shadow:0 1px #0f3d320a,0 4px 20px -8px #0f3d3214}.pb-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.pb-table thead th{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #8a7f6d);padding:12px;white-space:nowrap}.pb-table thead th:first-child{padding-left:18px}.pb-table thead th:last-child{padding-right:18px}.pb-table tbody tr{transition:background .08s ease}.pb-table tbody tr:hover{background:var(--color-bg-alt);cursor:pointer}.pb-table tbody td{border-bottom:1px solid var(--color-border-light);padding:12px;vertical-align:top}.pb-table tbody td:first-child{padding-left:18px}.pb-table tbody td:last-child{padding-right:18px}.pb-table tbody tr:last-child td{border-bottom:none}.pb-table tbody tr.is-selected{background:var(--color-primary-light)}.pb-table tbody tr.is-selected:hover{background:#d8e8df}.pb-row-link{color:inherit;text-decoration:none;display:block}.pb-row-link:hover{text-decoration:none;color:inherit}.pb-photo{border:1px solid var(--color-border);background:var(--color-bg-alt);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted, #8a7f6d);flex-shrink:0}.pb-photo--table{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover}.pb-photo--card{width:100%;height:100%;border:none;border-radius:0;object-fit:cover}.pb-item-name{font-weight:500;color:var(--color-text, #0f3d32);margin:0;line-height:1.3}.pb-item-desc{font-size:11.5px;color:var(--color-text-secondary, #6b6452);margin:2px 0 0;line-height:1.4;max-width:480px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.pb-item-sku{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:var(--color-text-muted, #8a7f6d);margin:4px 0 0;letter-spacing:.02em}.pb-cell-category{color:var(--color-text-secondary, #6b6452);font-size:12.5px;line-height:1.35}.pb-cell-empty{color:var(--color-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.pb-tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:10px;background:var(--color-bg-alt);color:var(--color-text-secondary, #6b6452);border:1px solid var(--color-border);font-size:11px;letter-spacing:.02em;white-space:nowrap}.pb-tag--trade{background:var(--color-accent-light, #fff1e5);color:var(--color-accent, #c2410c);border-color:#c2410c2e}.pb-tag--type{background:var(--color-info-light, #e0f2fe);color:var(--color-info, #0369a1);border-color:#0369a12e}.pb-tag--bundle{background:var(--color-primary-light);color:var(--color-primary-deep);border-color:#1a5d4d33}.pb-status{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:11px;font-size:11px;font-weight:500;letter-spacing:.02em}.pb-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.pb-status--active{background:var(--color-success-light, #dcfce7);color:var(--color-success, #166534)}.pb-status--inactive{background:var(--color-bg-alt);color:var(--color-text-muted, #8a7f6d)}.pb-price-stack{display:flex;flex-direction:column;align-items:flex-end}.pb-price-stack__price{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:500;color:var(--color-text, #0f3d32);letter-spacing:-.01em}.pb-price-stack__meta{font-size:10.5px;color:var(--color-text-secondary, #6b6452);margin-top:2px;letter-spacing:.02em}.pb-price-stack__meta strong{color:var(--color-success, #166534);font-weight:600}.pb-price-stack__meta--muted{color:var(--color-text-muted, #8a7f6d)}.pb-row-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1.5px solid var(--color-border);border-radius:4px;cursor:pointer;background:var(--color-surface, #ffffff);transition:border-color .1s,background .1s;position:relative}.pb-row-check:hover{border-color:var(--color-primary)}.pb-row-check:checked{background:var(--color-primary);border-color:var(--color-primary)}.pb-row-check:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.pb-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--color-primary-deep);color:#fff;padding:12px 18px}.pb-bulk-bar__count{font-size:13px;font-weight:500;letter-spacing:.01em}.pb-bulk-bar__count em{font-style:normal;color:#fcd97e;font-weight:700}.pb-bulk-bar__actions{display:flex;gap:6px}.pb-bulk-bar .btn{background:#ffffff1a;border-color:#ffffff24;color:#fff}.pb-bulk-bar .btn:hover{background:#ffffff2e;border-color:#ffffff47}.pb-bulk-bar__danger{background:var(--color-danger, #b91c1c)!important;border-color:var(--color-danger, #b91c1c)!important}.pb-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;padding:16px;background:var(--color-bg-alt)}.pb-card{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface, #ffffff);overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s,box-shadow .12s,transform .12s;cursor:pointer;text-decoration:none;color:inherit}.pb-card:hover{border-color:var(--color-text-muted, #8a7f6d);box-shadow:0 8px 28px -10px #0f3d322e,0 2px 6px -2px #0f3d3214;transform:translateY(-1px);text-decoration:none;color:inherit}.pb-card__photo{aspect-ratio:4 / 3;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border-light);position:relative;overflow:hidden}.pb-card__photo .pb-photo--card{display:block;width:100%;height:100%}.pb-card__type{position:absolute;top:8px;left:8px}.pb-card__body{padding:12px 14px 14px;flex:1;display:flex;flex-direction:column}.pb-card__name{font-size:13px;font-weight:500;color:var(--color-text, #0f3d32);margin:0 0 3px;line-height:1.3}.pb-card__desc{font-size:11.5px;color:var(--color-text-secondary, #6b6452);margin:0 0 12px;line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pb-card__price-row{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--color-border-light);padding-top:10px;margin-top:auto}.pb-card__price{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:500;color:var(--color-text, #0f3d32);letter-spacing:-.01em}.pb-card__margin{font-size:11px;color:var(--color-success, #166534);font-weight:600}.pb-card__margin--muted{color:var(--color-text-muted, #8a7f6d);font-weight:500}.pb-table-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--color-border);background:var(--color-bg-alt);font-size:12px;color:var(--color-text-secondary, #6b6452)}.pb-table-foot strong{color:var(--color-text, #0f3d32);font-weight:600}.pb-pager{display:inline-flex;align-items:center;gap:8px}.pb-pager__btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text-secondary, #6b6452);font-size:14px;cursor:pointer}.pb-pager__btn:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface, #ffffff);color:var(--color-text, #0f3d32)}.pb-pager__btn:disabled{opacity:.4;cursor:not-allowed}.pb-pager__num{font-variant-numeric:tabular-nums;color:var(--color-text, #0f3d32);padding:0 4px}.pb-per-page select{margin-left:6px;height:28px;padding:0 6px;border:1px solid var(--color-border);background:var(--color-surface, #ffffff);border-radius:var(--radius-sm);color:var(--color-text, #0f3d32);font:inherit;font-size:12px}.pb-empty{text-align:center;padding:80px 24px;border:1px dashed var(--color-border);border-radius:10px;background:var(--color-surface, #ffffff)}.pb-empty__icon{width:56px;height:56px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-deep);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.pb-empty__title{font-family:Tiempos Headline,"Source Serif Pro",Georgia,serif;font-size:20px;font-weight:500;color:var(--color-primary-deep);margin:0 0 6px;letter-spacing:-.01em}.pb-empty__sub{font-size:13px;color:var(--color-text-secondary, #6b6452);margin:0 auto 24px;max-width:380px;line-height:1.5}.pb-empty__actions{display:inline-flex;gap:8px}.pb-loading{display:flex;justify-content:center;padding:60px 0}.pb-error{background:var(--color-danger-light, #fee2e2);color:var(--color-danger, #b91c1c);border:1px solid rgba(185,28,28,.2);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:13px}.job-ready-to-close-banner{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-4);margin:0 0 var(--s-4);padding:var(--s-4) var(--s-5) var(--s-4) var(--s-4);background:var(--color-success-light);border:1px solid color-mix(in srgb,var(--color-success) 18%,transparent);border-left:3px solid var(--color-success);border-radius:var(--radius-lg);color:var(--color-text);animation:job-ready-to-close-banner__enter .38s cubic-bezier(.2,.8,.2,1) both}@keyframes job-ready-to-close-banner__enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.job-ready-to-close-banner__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-pill);color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent);flex-shrink:0}.job-ready-to-close-banner__copy{min-width:0}.job-ready-to-close-banner__headline{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:-.1px;color:var(--color-primary-deep);line-height:var(--lh-tight)}.job-ready-to-close-banner__meta{margin:4px 0 0;font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-tight)}.job-ready-to-close-banner__actions{display:inline-flex;align-items:center;gap:var(--s-2)}.job-ready-to-close-banner__cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:var(--fs-md);font-weight:var(--fw-semibold);font-family:inherit;color:#fff;background:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius);cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease}.job-ready-to-close-banner__cta:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 88%,black);box-shadow:var(--shadow-sm)}.job-ready-to-close-banner__cta:active:not(:disabled){transform:translateY(.5px)}.job-ready-to-close-banner__cta:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 25%,transparent)}.job-ready-to-close-banner__cta:disabled{opacity:.7;cursor:progress}.job-ready-to-close-banner__cta--ghost{color:var(--color-text);background:transparent;border-color:var(--color-border)}.job-ready-to-close-banner__cta--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 6%,transparent);box-shadow:none}.job-ready-to-close-banner__cta--ghost:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-text) 16%,transparent)}.job-ready-to-close-banner__dismiss{position:absolute;top:6px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .12s ease,background-color .12s ease}.job-ready-to-close-banner__dismiss:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-success) 14%,transparent)}.job-ready-to-close-banner__dismiss:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-success) 35%,transparent)}@media(max-width:560px){.job-ready-to-close-banner{grid-template-columns:auto 1fr;grid-template-rows:auto auto;row-gap:var(--s-3);padding-right:var(--s-4)}.job-ready-to-close-banner__actions{grid-column:1 / -1;justify-content:flex-start}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media(prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media(hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.yarl__counter{bottom:var(--yarl__counter_bottom,unset);color:var(--yarl__counter_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));filter:var(--yarl__counter_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));left:var(--yarl__counter_left,0);line-height:var(--yarl__counter_line_height,var(--yarl__icon_size,32px));margin:var(--yarl__counter_margin,var(--yarl__toolbar_padding,8px));padding:var(--yarl__counter_padding,var(--yarl__button_padding,8px));position:var(--yarl__counter_position,absolute);right:var(--yarl__counter_right,unset);top:var(--yarl__counter_top,0);-webkit-user-select:var(--yarl__counter_user_select,none);-moz-user-select:var(--yarl__counter_user_select,none);user-select:var(--yarl__counter_user_select,none)}[dir=rtl] .yarl__counter{left:var(--yarl__counter_rtl_left,unset);right:var(--yarl__counter_rtl_right,0)}.yarl__slide_captions_container{background:var(--yarl__slide_captions_container_background,rgba(0,0,0,.5));left:var(--yarl__slide_captions_container_left,0);padding:var(--yarl__slide_captions_container_padding,16px);position:absolute;right:var(--yarl__slide_captions_container_right,0);-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width, 0px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{display:-webkit-box;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;-webkit-box-orient:vertical;color:var(--yarl__slide_description_color,#fff);-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);text-align:var(--yarl__slide_description_text_align,start)}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.dpf-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e0d6);border-radius:var(--radius-sm, 6px);color:var(--color-text, #0f3d32);font-size:var(--fs-sm, 13px);cursor:pointer;text-align:left;transition:border-color .12s}.dpf-trigger:hover{border-color:var(--color-primary, #1a5d4d)}.dpf-value{color:var(--color-text, #0f3d32);font-weight:var(--fw-medium, 500)}.dpf-placeholder{color:var(--color-text-muted, #9a9484)}.dpf-icon{color:var(--color-text-secondary, #6b6452);flex-shrink:0}.dpf-pop{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e0d6);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 12px 32px rgba(0,0,0,.18));padding:10px;width:268px}.dpf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dpf-month{font-size:var(--fs-sm, 13px);font-weight:var(--fw-semibold, 600);color:var(--color-text, #0f3d32);text-transform:capitalize}.dpf-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm, 6px);color:var(--color-text-secondary, #6b6452);cursor:pointer}.dpf-nav:hover{background:var(--color-bg-alt, #faf8f4);color:var(--color-text, #0f3d32)}.dpf-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.dpf-dow span{text-align:center;font-size:11px;font-weight:var(--fw-semibold, 600);color:var(--color-text-muted, #9a9484);text-transform:uppercase}.dpf-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dpf-day{aspect-ratio:1;border:none;background:transparent;border-radius:var(--radius-sm, 6px);color:var(--color-text, #0f3d32);font-size:var(--fs-sm, 13px);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .1s,color .1s}.dpf-day:hover{background:var(--color-primary-light, #e6efe9)}.dpf-day--today{box-shadow:inset 0 0 0 1px var(--color-border, #e5e0d6);font-weight:var(--fw-semibold, 600)}.dpf-day--sel{background:var(--color-primary, #1a5d4d);color:#fff;font-weight:var(--fw-semibold, 600)}.dpf-day--sel:hover{background:var(--color-primary-deep, #0f3d32)}.dpf-empty{aspect-ratio:1}.psv-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece7dd);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 30px rgba(60, 40, 20, .1));width:920px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;font-variant-numeric:tabular-nums}.psv-header{padding:18px 22px 14px;border-bottom:1px solid var(--color-border-light, #f4f0e7);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.psv-title{margin:0;font-size:17px;font-weight:700;color:var(--color-primary-deep, #0f3d32);letter-spacing:-.2px}.psv-subtitle{margin:3px 0 0;font-size:13px;color:var(--color-text-secondary, #6b6452)}.psv-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted, #8a7f6d);font-size:20px;line-height:1;padding:2px 6px;border-radius:var(--radius, 7px)}.psv-close:hover{background:var(--color-bg-alt, #faf8f4);color:var(--color-text, #0f3d32)}.psv-body{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:0}.psv-form{padding:18px 22px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.psv-rail{background:var(--color-bg-alt, #faf8f4);border-left:1px solid var(--color-border-light, #f4f0e7);padding:18px 18px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.psv-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary, #6b6452);margin:0 0 8px}.psv-field{display:flex;flex-direction:column;gap:8px}.psv-field-row{display:flex;gap:12px;align-items:flex-end}.psv-field-row>.psv-field{flex:1 1 0;min-width:0}.psv-label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b6452)}.psv-input,.psv-textarea{width:100%;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece7dd);border-radius:var(--radius, 7px);padding:7px 10px;font-size:13.5px;color:var(--color-text, #0f3d32);font-family:inherit}.psv-input:focus,.psv-textarea:focus{outline:none;border-color:var(--color-primary, #1a5d4d);box-shadow:var(--ring-primary, 0 0 0 3px rgba(26, 93, 77, .15))}.psv-textarea{min-height:64px;resize:vertical}.psv-dow-row{display:flex;gap:6px;flex-wrap:wrap}.psv-dow-chip{width:32px;height:32px;border-radius:var(--radius-pill, 999px);border:1px solid var(--color-border, #ece7dd);background:var(--color-surface, #fff);color:var(--color-text-secondary, #6b6452);font-weight:600;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s,border-color .12s}.psv-dow-chip[aria-pressed=true]{background:var(--color-primary, #1a5d4d);border-color:var(--color-primary, #1a5d4d);color:var(--fg-on-primary, #fff)}.psv-dow-chip:hover:not([aria-pressed=true]){background:var(--color-bg-alt, #faf8f4);color:var(--color-text, #0f3d32)}.psv-crew-list{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto;border:1px solid var(--color-border-light, #f4f0e7);border-radius:var(--radius, 7px);padding:6px 8px;background:var(--color-surface, #fff)}.psv-crew-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-sm, 4px);font-size:13px;color:var(--color-text, #0f3d32);cursor:pointer}.psv-crew-item:hover{background:var(--color-bg-alt, #faf8f4)}.psv-crew-empty{font-size:12px;color:var(--color-text-muted, #8a7f6d);font-style:italic;padding:4px 6px}.psv-skip-row{display:flex;flex-wrap:wrap;gap:5px;max-height:96px;overflow-y:auto}.psv-skip-chip{font-size:12px;font-weight:500;padding:3px 9px;border-radius:var(--radius-pill, 999px);border:1px solid var(--color-border, #ece7dd);background:var(--color-surface, #fff);color:var(--color-text-secondary, #6b6452);cursor:pointer;transition:all .12s}.psv-skip-chip[aria-pressed=true]{background:var(--color-primary-light, #e3efe8);border-color:var(--color-primary-light, #e3efe8);color:var(--color-primary-deep, #0f3d32);text-decoration:line-through}.psv-skip-empty{font-size:12px;color:var(--color-text-muted, #8a7f6d);font-style:italic}.psv-rail-count{font-size:30px;font-weight:700;line-height:1;letter-spacing:-.5px;color:var(--color-primary-deep, #0f3d32)}.psv-rail-count-label{font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b6452);margin-left:6px}.psv-rail-summary{font-size:12px;color:var(--color-text-secondary, #6b6452);line-height:1.5}.psv-rail-summary strong{color:var(--color-text, #0f3d32);font-weight:600}.psv-rail-divider{border:none;border-top:1px solid var(--color-border-light, #f4f0e7);margin:4px 0 0}.psv-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.psv-rail-list li{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:var(--color-text, #0f3d32);border-bottom:1px solid var(--color-border-light, #f4f0e7)}.psv-rail-list li:last-child{border-bottom:none}.psv-rail-list li .psv-rail-list-dow{color:var(--color-text-muted, #8a7f6d)}.psv-rail-overflow{font-size:11px;color:var(--color-text-muted, #8a7f6d);padding:4px 0 0;font-style:italic}.psv-rail-empty{font-size:12px;color:var(--color-text-muted, #8a7f6d);font-style:italic}.psv-conflict-strip{background:var(--color-warning-light, #fef3c7);border-left:3px solid var(--color-warning, #92400e);border-radius:var(--radius-sm, 4px);padding:8px 10px;font-size:12px;color:var(--color-warning, #92400e);display:flex;flex-direction:column;gap:4px}.psv-conflict-strip strong{font-weight:600}.psv-conflict-strip-list{margin:0;padding-left:16px;font-size:11px}.psv-footer{padding:12px 22px 16px;border-top:1px solid var(--color-border-light, #f4f0e7);display:flex;justify-content:flex-end;gap:8px}.psv-error{color:var(--color-danger, #b91c1c);background:var(--color-danger-light, #fee2e2);font-size:12px;border-radius:var(--radius-sm, 4px);padding:6px 10px;margin:0 22px 8px}.psv-mode-toggle{display:inline-flex;gap:2px;padding:3px;background:var(--color-bg-alt, #faf8f4);border:1px solid var(--color-border, #e5e0d6);border-radius:var(--radius-pill, 999px);align-self:flex-start}.psv-mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-secondary, #6b6452);font-size:var(--fs-sm, 13px);font-weight:var(--fw-semibold, 600);padding:6px 16px;border-radius:var(--radius-pill, 999px);cursor:pointer;transition:background .12s,color .12s}.psv-mode-btn--active{background:var(--color-primary, #1a5d4d);color:#fff}.psv-dim{opacity:.4;pointer-events:none}.jvd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:1000}.jvd-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:var(--color-surface, #fff);border-left:1px solid var(--color-border, #e5e7eb);box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;z-index:1001}.jvd-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);gap:12px}.jvd-header-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jvd-header-sub{font-size:12px;color:var(--color-text-secondary, #6b7280);margin-top:4px}.jvd-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary, #6b7280);padding:4px;flex-shrink:0}.jvd-close:hover{color:var(--color-text, #111)}.jvd-body{flex:1;overflow-y:auto;padding:12px 16px}.jvd-section{padding:12px 0;border-bottom:1px solid var(--color-border-subtle, #f3f4f6)}.jvd-section:last-child{border-bottom:none}.jvd-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280);margin:0 0 8px}.jvd-muted{color:var(--color-text-secondary, #6b7280);font-size:12px}.jvd-kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:2px 0}.jvd-kv span:first-child{color:var(--color-text-secondary, #6b7280)}.jvd-crew-item{padding:2px 0}.jvd-crew-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:4px 0}.jvd-crew-times{font-size:12px;color:var(--color-text-secondary, #6b7280);display:inline-flex;align-items:center;gap:6px}.jvd-crew-lock{color:var(--color-text-secondary, #9ca3af);flex-shrink:0}.jvd-crew-edit-btn{background:transparent;border:none;cursor:pointer;padding:2px;color:var(--color-text-secondary, #6b7280);display:inline-flex;align-items:center;flex-shrink:0}.jvd-crew-edit-btn:hover{color:var(--color-primary, #2563eb)}.jvd-seg-editor{display:flex;flex-direction:column;gap:8px;padding:10px;margin:4px 0 8px;background:var(--color-surface-subtle, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.jvd-seg-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jvd-seg-field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.jvd-seg-field .form-input{font-size:13px}.jvd-seg-reopen{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text, #111)}.jvd-seg-req{color:var(--color-error, #dc2626)}.jvd-seg-error{color:var(--color-danger, #dc2626);font-size:12px;margin:0}.jvd-seg-actions{display:flex;justify-content:flex-end;gap:8px}.jvd-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.jvd-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid var(--color-border-subtle, #f3f4f6)}.jvd-form-row{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:4px 0}.jvd-notes{font-size:13px;white-space:pre-wrap;margin:0}.jvd-footer{border-top:1px solid var(--color-border, #e5e7eb);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.jvd-footer .btn{width:100%;justify-content:center}.jvd-footer-error{color:var(--color-danger, #dc2626);font-size:12px;margin:0}.jvd-confirm-text{font-size:13px;margin:0 0 2px;color:var(--color-text, #111);font-weight:600}.jvd-confirm-row{display:flex;gap:8px}.jvd-confirm-row .btn{flex:1}.visit-card-clickable{cursor:pointer;transition:box-shadow .12s,border-color .12s}.visit-card-clickable:hover{box-shadow:0 2px 10px #00000014;border-color:var(--color-primary, #2563eb)}.series-editor{display:flex;flex-direction:column;gap:14px}.series-field{display:flex;flex-direction:column;gap:6px}.series-field>label{font-size:12px;font-weight:600;color:var(--color-text-muted, #64748b)}.series-chip-row{display:flex;flex-wrap:wrap;gap:6px}.series-preset-chip,.series-day-chip,.series-month-chip{border:1px solid var(--color-border, #d5dae1);background:var(--color-surface, #fff);color:var(--color-text, #1f2937);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;line-height:1.2}.series-day-chip,.series-month-chip{border-radius:8px;padding:5px 10px;min-width:40px;text-align:center}.series-preset-chip[aria-pressed=true],.series-day-chip[aria-pressed=true],.series-month-chip[aria-pressed=true]{border-color:var(--color-primary, #2563eb);background:var(--color-primary, #2563eb);color:#fff}.series-preset-chip:disabled{opacity:.5;cursor:default}.series-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.series-inline input[type=number]{width:72px}.series-end-row{display:flex;flex-direction:column;gap:6px}.series-end-option{display:flex;align-items:center;gap:8px;font-size:13px}.series-preview{border:1px solid var(--color-border, #d5dae1);border-radius:8px;padding:12px;background:var(--color-surface-muted, #f8fafc);font-size:13px}.series-preview-summary{font-weight:600;margin-bottom:6px}.series-preview-count{color:var(--color-text-muted, #64748b);margin-bottom:8px}.series-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.series-preview-list li{color:var(--color-text, #1f2937)}.series-preview-warn{color:var(--color-danger, #dc2626)}.series-list{display:flex;flex-direction:column;gap:10px}.series-card{border:1px solid var(--color-border, #d5dae1);border-radius:10px;padding:12px 14px;background:var(--color-surface, #fff)}.series-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.series-card-summary{font-weight:600;font-size:14px}.series-card-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--color-text-muted, #64748b);margin-top:4px}.series-status-badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.series-status-badge.active{background:#dcfce7;color:#166534}.series-status-badge.paused{background:#fef9c3;color:#854d0e}.series-status-badge.ended{background:#e5e7eb;color:#374151}.series-tile-chip{position:absolute;top:2px;left:2px;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#2563ebe6;color:#fff;font-size:10px;line-height:1}.series-drawer-context{display:flex;flex-direction:column;gap:4px;border:1px solid var(--color-border, #d5dae1);border-radius:8px;padding:8px 10px;font-size:13px}.series-drawer-context .series-drawer-repeats{font-weight:600}.series-drawer-context .series-drawer-link{font-size:12px;background:none;border:none;color:var(--color-primary, #2563eb);cursor:pointer;padding:0;text-align:left}.series-scope-options{display:flex;flex-direction:column;gap:8px;margin:12px 0}.series-scope-option{text-align:left;border:1px solid var(--color-border, #d5dae1);background:var(--color-surface, #fff);border-radius:8px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.series-scope-option:hover:not(:disabled){border-color:var(--color-primary, #2563eb)}.series-scope-option:disabled{opacity:.55;cursor:default}.series-scope-option .opt-title{font-weight:600;font-size:13px}.series-scope-option .opt-hint{font-size:12px;color:var(--color-text-muted, #64748b)}.pb-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1300;display:flex;align-items:center;justify-content:center;padding:16px}.pb-modal{background:var(--color-surface);border-radius:14px;width:clamp(560px,840px,96vw);height:82vh;max-height:720px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0f3d322e,0 4px 16px #0f3d3214;overflow:hidden;animation:pb-modal-in .2s cubic-bezier(.34,1.2,.64,1)}@keyframes pb-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pb-modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.pb-modal-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.pb-modal-title{margin:0;font-size:18px;font-weight:700;color:var(--color-text);letter-spacing:-.3px;display:flex;align-items:center;gap:9px}.pb-modal-title-icon{width:30px;height:30px;background:var(--color-primary-light);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.pb-modal-subtitle{font-size:13px;color:var(--color-text-muted);margin:0}.pb-modal-header-actions{display:flex;gap:8px;align-items:center}.pb-modal-search-row{padding:14px 24px 0;display:flex;gap:10px;align-items:center;flex-shrink:0}.pb-modal-search-wrap{position:relative;flex:1}.pb-modal-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.pb-modal-search{width:100%;height:40px;padding:0 12px 0 36px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-alt);font-size:14px;color:var(--color-text);font-family:var(--font-sans);outline:none;transition:border-color .15s,background .15s,box-shadow .15s;box-sizing:border-box}.pb-modal-search:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3px var(--color-primary-light)}.pb-modal-search::placeholder{color:var(--color-text-muted)}.pb-modal-filter{height:40px;padding:0 10px;border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-alt);font-size:13px;color:var(--color-text);font-family:var(--font-sans);cursor:pointer;outline:none;transition:border-color .15s;white-space:nowrap}.pb-modal-filter:focus{border-color:var(--color-primary)}.pb-modal-count{padding:10px 24px 2px;font-size:11.5px;color:var(--color-text-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.pb-modal-results{flex:1;overflow-y:auto;padding:8px 24px 20px}.pb-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1.5px solid var(--color-border-light);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;width:100%;transition:border-color .12s,background .12s,box-shadow .12s,transform .1s;margin-bottom:6px}.pb-item:hover{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 2px 8px #1a5d4d1a;transform:translateY(-1px)}.pb-item:active{transform:translateY(0);box-shadow:none}.pb-item-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--color-bg-alt);border:1px solid var(--color-border-light)}.pb-item-thumb-placeholder{width:48px;height:48px;border-radius:8px;background:var(--color-bg-alt);border:1px solid var(--color-border-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.pb-item-body{flex:1;min-width:0}.pb-item-name{font-size:15px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.pb-item-desc{font-size:12.5px;color:var(--color-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-item-badges{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.pb-badge{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:var(--radius-pill);letter-spacing:.03em;text-transform:uppercase}.pb-badge-trade{background:var(--color-accent-light);color:var(--color-accent)}.pb-badge-material{background:var(--color-warning-light);color:var(--color-warning)}.pb-badge-labor{background:var(--color-info-light);color:var(--color-info)}.pb-badge-bundle{background:#f3e8ff;color:#6b21a8}.pb-item-price{font-size:16px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:-.3px}.pb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 24px;text-align:center;gap:10px}.pb-empty-icon{width:52px;height:52px;background:var(--color-bg-alt);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);margin-bottom:4px}.pb-empty-title{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin:0}.pb-empty-sub{font-size:13px;color:var(--color-text-muted);margin:0}.pb-skeleton{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1.5px solid var(--color-border-light);border-radius:var(--radius);margin-bottom:6px;animation:pb-pulse 1.5s ease-in-out infinite}@keyframes pb-pulse{0%,to{opacity:1}50%{opacity:.45}}.pb-skeleton-thumb{width:48px;height:48px;border-radius:8px;background:var(--color-border-light);flex-shrink:0}.pb-skeleton-body{flex:1;display:flex;flex-direction:column;gap:8px}.pb-skeleton-line{height:11px;border-radius:4px;background:var(--color-border-light)}.pb-skeleton-price{width:56px;height:16px;border-radius:4px;background:var(--color-border-light)}.pb-create-form{padding:14px 16px;background:var(--color-bg-alt);border:1.5px solid var(--color-border);border-radius:var(--radius);display:flex;flex-direction:column;gap:10px}.pb-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.pb-create-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.pb-create-input{height:34px;padding:0 10px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:14px;font-family:var(--font-sans);color:var(--color-text);outline:none;transition:border-color .15s;box-sizing:border-box;width:100%}.pb-create-input:focus{border-color:var(--color-primary)}.pb-create-actions{display:flex;gap:8px}.pb-typeahead-dropdown{background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius);box-shadow:0 6px 20px #0f3d321f;overflow:hidden;max-height:280px;overflow-y:auto}.pb-typeahead-item{padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background .1s}.pb-typeahead-item:last-child{border-bottom:none}.pb-typeahead-item.active{background:var(--color-primary-light)}.pb-typeahead-name{font-size:13.5px;font-weight:600;color:var(--color-text)}.pb-typeahead-desc{font-size:11.5px;color:var(--color-text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-typeahead-price{font-size:12px;color:var(--color-primary);font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}.psb{position:relative;display:inline-flex;border-radius:var(--radius-md, 7px);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .08))}.psb__primary,.psb__caret{background:var(--color-primary-deep, #0f3d32);color:var(--fg-on-primary, #fff);border:none;font-size:var(--font-size-sm, 12.5px);font-weight:500;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .12s}.psb__primary{padding:var(--s-1, 4px) var(--s-3, 12px) var(--s-1, 4px) var(--s-2, 8px);border-radius:var(--radius-md, 7px) 0 0 var(--radius-md, 7px)}.psb__caret{padding:var(--s-1, 4px) var(--s-2, 8px);border-radius:0 var(--radius-md, 7px) var(--radius-md, 7px) 0}.psb__primary:hover:not(:disabled),.psb__caret:hover:not(:disabled){background:var(--color-primary, #1a5d4d)}.psb__primary:disabled,.psb__caret:disabled{opacity:.45;cursor:not-allowed}.psb__divider{width:1px;background:#fff3;flex-shrink:0}.psb__chevron--open{transform:rotate(180deg);transition:transform .15s}.psb__menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #ece7dd);border-radius:var(--radius-md, 7px);box-shadow:var(--shadow-md, 0 4px 16px rgba(15, 23, 42, .1));z-index:var(--z-dropdown, 50);overflow:hidden}.psb__menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--s-2, 8px) var(--s-3, 12px);font-size:var(--font-size-sm, 12.5px);font-family:inherit;color:var(--color-text, #0f3d32);cursor:pointer}.psb__menu-item:hover{background:var(--color-bg-alt, #faf8f4)}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-addons-dnd .rbc-addons-dnd-row-body{position:relative}.rbc-addons-dnd .rbc-addons-dnd-drag-row{position:absolute;top:0;left:0;right:0}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:#0000004d}.rbc-addons-dnd .rbc-event{transition:opacity .15s}.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ns-icon,.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ew-icon{display:block}.rbc-addons-dnd .rbc-addons-dnd-dragged-event{opacity:0}.rbc-addons-dnd.rbc-addons-dnd-is-dragging .rbc-event:not(.rbc-addons-dnd-dragged-event):not(.rbc-addons-dnd-drag-preview){opacity:.5}.rbc-addons-dnd .rbc-addons-dnd-resizable{position:relative;width:100%;height:100%}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor{width:100%;text-align:center;position:absolute}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor .rbc-addons-dnd-resize-ns-icon{display:none;border-top:3px double;margin:0 auto;width:10px;cursor:ns-resize}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor{position:absolute;top:4px;bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:first-child{left:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:last-child{right:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor .rbc-addons-dnd-resize-ew-icon{display:none;border-left:3px double;margin-top:auto;margin-bottom:auto;height:10px;cursor:ew-resize}.schedule-page{display:flex;flex-direction:column;height:calc(100vh - var(--app-bar-height, 56px));padding:0}.schedule-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-sans)}.schedule-toolbar-left{display:flex;align-items:center;gap:10px}.schedule-toolbar-right{display:flex;align-items:center;justify-content:flex-end}.schedule-clock{text-align:center;font-size:clamp(13px,2vw,44px);font-weight:700;color:var(--color-primary-deep);font-variant-numeric:tabular-nums;letter-spacing:-.8px;line-height:1;white-space:nowrap;pointer-events:none}.schedule-clock-month{display:inline-block;animation:schedule-clock-month-in .24s ease-out}@keyframes schedule-clock-month-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.schedule-clock-month{animation:none}}.schedule-toolbar .nav-btn{background:transparent;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;cursor:pointer}.schedule-toolbar .view-toggle button{background:transparent;border:1px solid var(--color-border);padding:4px 10px;cursor:pointer}.schedule-toolbar .view-toggle button.active{background:var(--color-primary);color:#fff}.schedule-body{display:flex;flex:1;min-height:0}.schedule-calendar{flex:1;min-width:0;min-height:0;overflow:hidden;position:relative;z-index:1}.schedule-calendar .rbc-calendar{height:100%}.schedule-queue{width:280px;border-left:1px solid var(--color-border);background:var(--color-bg-alt, #faf8f4);overflow-y:auto;position:relative;z-index:0;font-family:var(--font-sans)}.schedule-queue-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--color-border);font-family:var(--font-sans);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);background:var(--color-surface)}.queue-close-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.queue-close-btn:hover{background:var(--color-border);color:var(--color-text)}.queue-item{margin:0;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:grab;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.queue-item:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:var(--color-text-muted, #8a7f6d)}.queue-item:active{cursor:grabbing;transform:translateY(0);box-shadow:var(--shadow-sm)}.queue-item .title{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color-primary-deep);letter-spacing:-.1px;line-height:1.3}.queue-item .meta{font-size:11.5px;color:var(--color-text-secondary);margin-top:3px;line-height:1.4}.queue-item--draft-job{border-style:dashed;border-color:var(--color-accent, #c2410c);background:var(--color-accent-light, #fff1e5)}.queue-item--draft-job:hover{border-color:var(--color-accent, #c2410c)}.queue-item--draft-job .title{color:var(--color-accent, #c2410c)}.queue-item--draft-job .meta{color:var(--color-accent, #c2410c);opacity:.75}.schedule-calendar .rbc-calendar{font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface)}.schedule-calendar .rbc-time-view,.schedule-calendar .rbc-month-view{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin:12px;box-shadow:var(--shadow-sm)}.schedule-calendar .rbc-header{font-family:var(--font-sans);font-size:clamp(11px,1.4vw,22px);font-weight:700;letter-spacing:-.2px;color:var(--color-text);padding:clamp(8px,1.2vw,18px) clamp(4px,.8vw,14px);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-variant-numeric:tabular-nums;line-height:1.15;text-align:center;overflow:hidden}.schedule-calendar .rbc-header+.rbc-header{border-left:none}.schedule-calendar .rbc-header a,.schedule-calendar .rbc-header>a,.schedule-calendar .rbc-header a:hover,.schedule-calendar .rbc-header span,.schedule-calendar .rbc-header button,.schedule-calendar .rbc-header .rbc-button-link{font:inherit;color:inherit;text-decoration:none;cursor:default;display:inline-flex;align-items:center;justify-content:center;padding:clamp(2px,.3vw,5px) clamp(4px,.9vw,14px);border-radius:var(--radius-pill);background:transparent;border:none;white-space:nowrap;max-width:100%;box-sizing:border-box}.schedule-calendar .rbc-header.rbc-today{background:var(--color-surface)}.schedule-calendar .rbc-header.rbc-today a,.schedule-calendar .rbc-header.rbc-today>a,.schedule-calendar .rbc-header.rbc-today button,.schedule-calendar .rbc-header.rbc-today .rbc-button-link{background:var(--color-primary-light);color:var(--color-primary);font-weight:700}.schedule-calendar .rbc-time-gutter,.schedule-calendar .rbc-time-gutter .rbc-timeslot-group{background:var(--color-surface)}.schedule-calendar .rbc-time-gutter .rbc-label{font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;padding:0 12px;letter-spacing:-.1px}.schedule-calendar .rbc-time-gutter{border-right:1px solid var(--color-border)}.schedule-calendar .rbc-time-content{border-top:1px solid var(--color-border)}.schedule-calendar .rbc-timeslot-group{border-bottom:1px solid var(--color-border)}.schedule-calendar .rbc-time-slot{border-top:1px solid var(--color-border-light)}.schedule-calendar .rbc-time-slot:first-child{border-top:none}.schedule-calendar .rbc-day-slot .rbc-time-slot{border-top:1px dotted var(--color-border-light)}.schedule-calendar .rbc-day-bg+.rbc-day-bg,.schedule-calendar .rbc-day-slot+.rbc-day-slot{border-left:1px solid var(--color-border-light)}.schedule-calendar .rbc-day-bg.rbc-today,.schedule-calendar .rbc-day-slot.rbc-today{background-color:transparent}.schedule-calendar .rbc-current-time-indicator{background-color:var(--color-primary);height:2px;position:absolute}.schedule-calendar .rbc-current-time-indicator:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--color-primary);box-shadow:0 0 0 2px var(--color-surface)}.schedule-calendar .rbc-event{border:none;border-radius:var(--radius);padding:4px 8px;font-family:var(--font-sans);font-size:11.5px;font-weight:500;letter-spacing:-.1px;line-height:1.3;box-shadow:var(--shadow-sm);transition:box-shadow .12s ease,transform .12s ease}.schedule-calendar .rbc-event:hover:not(.rbc-event-cancelled){box-shadow:var(--shadow);transform:translateY(-.5px)}.schedule-calendar .rbc-event.rbc-selected{box-shadow:var(--shadow-md),0 0 0 2px var(--color-primary)}.schedule-calendar .rbc-event:focus,.schedule-calendar .rbc-event:focus-visible{outline:none;box-shadow:var(--shadow),0 0 0 2px var(--color-primary)}.schedule-calendar .rbc-event-label{font-size:10.5px;font-weight:500;opacity:.85;letter-spacing:0}.schedule-calendar .rbc-event-content{font-size:11.5px;font-weight:500;line-height:1.3}.schedule-calendar .rbc-allday-cell{display:none}.schedule-calendar .rbc-time-header-cell{min-height:0}.schedule-calendar .rbc-month-row+.rbc-month-row{border-top:1px solid var(--color-border-light)}.schedule-calendar .rbc-day-bg+.rbc-day-bg{border-left:1px solid var(--color-border-light)}.schedule-calendar .rbc-date-cell{padding:8px 14px 0;font-size:17px;font-weight:700;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.1px}.schedule-calendar .rbc-date-cell>a,.schedule-calendar .rbc-date-cell>a:hover{color:inherit;font-size:inherit;font-weight:inherit;text-decoration:none;cursor:default}.schedule-calendar .rbc-date-cell.rbc-now>a{display:inline-block;background:var(--color-primary-light);color:var(--color-primary);padding:2px 10px;border-radius:var(--radius-pill);font-weight:800}.schedule-calendar .rbc-date-cell>a,.schedule-calendar .rbc-date-cell>a:hover{color:inherit;text-decoration:none;cursor:default}.schedule-calendar .rbc-off-range-bg{background:var(--color-bg-alt, #faf8f4)}.schedule-calendar .rbc-off-range{color:var(--color-text-muted, #8a7f6d)}.schedule-calendar .rbc-show-more{font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--color-primary);background:transparent;padding:2px 6px;letter-spacing:.02em}.schedule-calendar .rbc-show-more:hover{color:var(--color-primary-hover);text-decoration:underline}.schedule-calendar .rbc-time-view .rbc-row{min-height:0}.schedule-calendar .rbc-toolbar{display:none}.schedule-toolbar .nav-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:7px 16px;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.schedule-toolbar .nav-btn.icon-btn{padding:7px 10px}.schedule-toolbar .schedule-date-controls{display:inline-flex;align-items:center;gap:4px}.schedule-toolbar .nav-btn:hover{background:var(--color-bg-alt, #faf8f4);border-color:var(--color-text-muted, #8a7f6d)}.schedule-toolbar .nav-btn:focus-visible{outline:none;box-shadow:var(--ring-primary);border-color:var(--color-primary)}.schedule-toolbar .view-toggle{display:inline-flex;background:var(--color-bg-alt, #faf8f4);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:3px;gap:0}.schedule-toolbar .view-toggle button{background:transparent;border:none;padding:5px 16px;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color-text-secondary);border-radius:var(--radius-pill);cursor:pointer;transition:background .12s ease,color .12s ease}.schedule-toolbar .view-toggle button:hover:not(.active){color:var(--color-text);background:var(--color-surface)}.schedule-toolbar .view-toggle button.active{background:var(--color-primary);color:#fff;font-weight:700;box-shadow:var(--shadow-sm)}.reschedule-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 20px #00000026;padding:12px 14px;min-width:340px;max-width:440px;z-index:1200}@keyframes reschedule-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.reschedule-toast--animate{animation:reschedule-toast-in .18s ease-out}.reschedule-toast-title{font-weight:600;font-size:13px}.reschedule-toast-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.reschedule-toast-email{margin-top:6px;width:100%;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:13px}.reschedule-toast-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.toast-stack{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:8px;z-index:1200;pointer-events:none;align-items:center}.toast-stack>*{pointer-events:auto}.toast-stack .reschedule-toast{position:relative;bottom:auto;left:auto;transform:none}.toast-stack .reschedule-toast--animate{animation:none}@keyframes toast-stack-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-stack .reschedule-toast{animation:toast-stack-in .18s ease-out}.save-pip{font-size:11px;color:#16a34a;background:#dcfce7;padding:2px 8px;border-radius:10px;animation:save-pip-fade 1.2s ease-out}@keyframes save-pip-fade{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0}}.job-summary{display:flex;flex-direction:column;gap:10px;font-size:13px}.job-summary-row{display:flex;justify-content:space-between;align-items:center}.job-summary-block .muted{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.job-summary-link{display:inline-flex;align-items:center;gap:4px;color:#2563eb;text-decoration:none;font-size:12px}.job-summary-link:hover{text-decoration:underline}.nearest-dropdown{margin-top:8px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;box-shadow:0 4px 12px #0000000d}.nearest-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid #f1f5f9;font-size:12px;font-weight:600}.nearest-dropdown-item{display:block;width:100%;text-align:left;padding:8px 10px;background:none;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer}.nearest-dropdown-item:hover{background:#f8fafc}.nearest-dropdown-item:last-child{border-bottom:none}.nearest-dropdown-name{font-weight:500;font-size:13px}.nearest-dropdown-meta{display:flex;gap:6px;align-items:center;font-size:11px;color:#64748b;margin-top:2px;flex-wrap:wrap}.schedule-filters{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:12px}.schedule-filters .filter-group{display:flex;align-items:center;gap:6px}.schedule-filters .filter-label{font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.schedule-filters .filter-chips{display:flex;gap:4px;flex-wrap:wrap}.schedule-filters .chip{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--color-border);background:transparent;border-radius:var(--radius-pill);padding:10px 22px;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--color-text);transition:background .12s ease,border-color .12s ease,color .12s ease}.schedule-filters .chip:hover:not(.chip--active){background:var(--color-bg-alt, #faf8f4);border-color:var(--color-text-muted, #8a7f6d)}.schedule-filters .chip--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-dropdown-trigger{font-family:var(--font-sans)}.filter-dropdown-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--color-primary);border-radius:999px;width:16px;height:16px;font-size:10px;font-weight:700}.chip--active .filter-dropdown-badge{background:#ffffff40;color:#fff}.filter-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:180px;padding:4px;display:flex;flex-direction:column}.filter-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;padding:10px 14px;border-radius:var(--radius);font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--color-text);cursor:pointer;transition:background .1s ease}.filter-dropdown-item:hover{background:var(--color-bg-alt, #faf8f4)}.filter-dropdown-item--active{color:var(--color-primary);font-weight:600}.filter-dropdown-check{width:14px;font-size:11px;color:var(--color-primary);flex-shrink:0}.filter-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.filter-dropdown-clear{width:100%;text-align:left;background:none;border:none;padding:7px 10px;border-radius:var(--radius);font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:background .1s ease,color .1s ease}.filter-dropdown-clear:hover{background:var(--color-bg-alt);color:var(--color-danger)}.filter-dropdown-empty{padding:10px;font-size:12px;color:var(--color-text-muted);text-align:center}.schedule-filters .filter-toggle{display:flex;align-items:center;gap:4px;cursor:pointer}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:1000}.visit-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-4px 0 16px #0000001a;display:flex;flex-direction:column;z-index:1001}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);gap:12px}.drawer-header-text{min-width:0}.drawer-customer{font-size:12px;color:var(--color-text-secondary)}.drawer-title{font-size:15px;font-weight:600;margin-top:2px}.drawer-title a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.drawer-title a:hover{text-decoration:underline}.drawer-address{font-size:12px;color:var(--color-text-secondary);margin-top:4px;display:inline-flex;align-items:center;gap:4px}.drawer-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.job-type-chip{width:10px;height:10px;border-radius:50%;display:inline-block}.icon-btn{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px}.icon-btn:hover{color:var(--color-text)}.drawer-body{flex:1;overflow-y:auto;padding:12px 16px}.drawer-section{padding:10px 0;border-bottom:1px solid var(--color-border-subtle, #F3F4F6)}.drawer-section:last-child{border-bottom:none}.drawer-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:0 0 6px}.drawer-body .muted{color:var(--color-text-secondary);font-style:italic;font-size:12px}.drawer-time{display:flex;flex-direction:column;gap:8px;font-size:13px}.drawer-time label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--color-text-secondary)}.drawer-time input{padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:13px}.drawer-time-meta{font-size:11px;color:var(--color-text-secondary)}.field-error{color:var(--color-danger, #DC2626);font-size:12px}.drawer-status{display:flex;flex-direction:column;gap:8px}.status-row{display:flex;align-items:center;gap:6px}.status-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-danger-ghost{background:transparent;color:var(--color-danger, #DC2626);border:1px solid var(--color-danger, #DC2626)}.btn-danger-ghost:hover{background:#dc262614}.btn-sm{padding:4px 10px;font-size:12px;border-radius:4px}.drawer-crew .crew-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.drawer-crew label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.drawer-crew .crew-role{font-size:11px;color:var(--color-text-secondary)}.drawer-crew .crew-actions{margin-top:8px}.drawer-notes textarea{width:100%;resize:vertical;font-family:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px}.quick-create-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:1100;display:flex;flex-direction:column;max-height:480px}.qc-header{padding:10px 12px;border-bottom:1px solid var(--color-border)}.qc-time{font-size:12px;color:var(--color-text-secondary)}.qc-body{padding:10px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.qc-footer{display:flex;justify-content:flex-end;gap:6px;padding:8px 10px;border-top:1px solid var(--color-border)}.qc-body .field{display:flex;flex-direction:column;gap:3px;font-size:12px}.qc-body .field label{color:var(--color-text-secondary)}.qc-body .field input,.qc-body .field select,.qc-body .field textarea{padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:13px}.qc-autocomplete{position:relative}.qc-autocomplete .hits{position:absolute;top:100%;left:0;right:0;z-index:1;margin-top:2px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;max-height:180px;overflow-y:auto}.qc-autocomplete .hits button{display:block;width:100%;text-align:left;padding:5px 8px;background:transparent;border:none;cursor:pointer;font-size:13px}.qc-autocomplete .hits button:hover{background:var(--color-hover-bg, #F3F4F6)}.qc-dedup-warning{font-size:12px;padding:6px 8px;border-radius:4px;background:#d9770614;border:1px solid #F59E0B;color:#92400e}.qc-dedup-warning button{margin-left:6px;font-size:12px}.qc-picked{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;background:var(--color-hover-bg, #F3F4F6);border-radius:4px}.schedule-queue--drop{border-left:3px solid var(--color-primary, #3B82F6);background:#3b82f61a;box-shadow:inset 4px 0 16px #3b82f61f}.queue-item-title-link{color:inherit;text-decoration:none}.queue-item-title-link:hover{text-decoration:underline}.banner-row{position:relative;padding:6px 0;border-bottom:1px solid var(--anvil-border, #e5e7eb);background:var(--anvil-banner-bg, #fafbfc);min-height:32px}.banner-row-loading{font-size:12px;color:#6b7280;padding:8px 16px}.banner-track{position:relative;height:24px;margin:2px 0}.banner-track-phases{height:20px;opacity:.9}.banner-bar{position:absolute;top:0;height:100%;border-radius:4px;display:flex;align-items:center;gap:4px;padding:0 8px;font-size:12px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:1px solid transparent}.banner-bar-active{background:#d1fae5;border-color:#10b981;color:#065f46}.banner-bar-draft{background:#e5e7eb;border-color:#9ca3af;color:#374151}.banner-bar-on_hold{background:repeating-linear-gradient(135deg,#fef3c7,#fef3c7 6px,#fde68a 6px,#fde68a 12px);border-color:#f59e0b;color:#78350f}.banner-bar-completed{background:#f3f4f6;border-color:#d1d5db;color:#6b7280;opacity:.7}.banner-bar-cancelled{background:#fee2e2;border-color:#ef4444;color:#7f1d1d;text-decoration:line-through}.banner-bar.is-expanded{outline:2px solid #3b82f6}.banner-label{background:none;border:none;cursor:pointer;color:inherit;font-weight:600;text-align:left;padding:0;overflow:hidden;text-overflow:ellipsis}.banner-chevron{opacity:.6;font-size:10px}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.timeline-summary{padding:6px 16px;font-size:13px;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb}.timeline-hint{color:#9ca3af;margin-left:8px;font-size:11px}.timeline-grid{width:100%}.timeline-header{display:flex;font-size:11px;color:#6b7280;border-bottom:1px solid #e5e7eb}.row-header-spacer{width:220px;flex:0 0 220px}.timeline-columns{display:flex;flex:1}.timeline-week-header{flex:1;border-left:1px solid #f3f4f6;padding:6px 8px}.timeline-row{display:flex;align-items:flex-start;border-bottom:1px solid #f3f4f6;min-height:52px}.row-header{width:220px;flex:0 0 220px;padding:8px 12px}.row-label{font-weight:600;font-size:13px}.row-sublabel{font-size:11px;color:#6b7280}.row-status{font-size:10px;padding:2px 6px;border-radius:10px;background:#e5e7eb;margin-top:4px;display:inline-block}.status-active{background:#d1fae5;color:#065f46}.status-on_hold{background:#fef3c7;color:#78350f}.status-draft{background:#e5e7eb;color:#374151}.row-track{position:relative;flex:1;padding:6px 0;min-height:40px}.timeline-bar{position:absolute;top:6px;height:24px;border-radius:4px;padding:0 6px;font-size:11px;color:#fff;display:flex;align-items:center;gap:4px;overflow:hidden;white-space:nowrap;cursor:context-menu}.timeline-bar-pending{background:#a5b4fc}.timeline-bar-in_progress{background:#3b82f6;outline:2px solid #1e40af}.timeline-bar-completed{background:#d1d5db;color:#374151;opacity:.6}.timeline-bar-skipped{background:repeating-linear-gradient(45deg,#e5e7eb,#e5e7eb 4px,#f3f4f6 4px,#f3f4f6 8px);color:#6b7280}.timeline-bar-install{background:#f59e0b}.timeline-bar.has-conflict{border-left:4px solid var(--anvil-state-conflict)}.bar-glyph{font-weight:700}.bar-label{overflow:hidden;text-overflow:ellipsis}.capacity-strip{position:absolute;left:0;right:0;bottom:0;display:flex;height:14px}.capacity-cell{flex:1;font-size:9px;display:flex;align-items:center;justify-content:center;color:#fff;border-left:1px solid rgba(255,255,255,.3)}.capacity-green{background:#10b981}.capacity-yellow{background:#f59e0b}.capacity-red{background:#ef4444}.capacity-empty{background:#f3f4f6;color:#9ca3af}.quick-menu{position:fixed;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 8px #00000014;padding:4px;z-index:1000;display:flex;flex-direction:column;min-width:180px}.quick-menu button{background:none;border:none;padding:8px 12px;text-align:left;cursor:pointer;font-size:13px;color:#111827;border-radius:4px}.quick-menu button:hover{background:#f3f4f6}.schedule-tabs{display:flex;gap:4px;align-items:center}.schedule-tabs a{padding:7px 18px;border-radius:var(--radius-pill);text-decoration:none;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--color-text-secondary);border:1.5px solid transparent;transition:background .12s ease,color .12s ease,border-color .12s ease;white-space:nowrap}.schedule-tabs a:hover:not(.active){background:var(--color-bg-alt, #faf8f4);color:var(--color-text);border-color:var(--color-border)}.schedule-tabs a.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.visit-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:360px;max-width:calc(100vw - 16px);font-family:var(--font-sans);font-size:13px;color:var(--color-text);display:flex;flex-direction:column;overflow:hidden;transition:opacity .14s ease-out}.visit-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--color-border-light)}.visit-popover-customer{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--color-primary-deep);line-height:1.25}.visit-popover-title{font-size:12.5px;color:var(--color-text-secondary);margin-top:3px;line-height:1.35}.visit-popover-x{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--color-text-muted, #8a7f6d);border-radius:var(--radius-pill);transition:background .12s ease,color .12s ease;flex-shrink:0}.visit-popover-x:hover{background:var(--color-sidebar-hover);color:var(--color-text)}.visit-popover-status-row{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 0}.visit-popover-section{padding:12px 16px}.visit-popover-section+.visit-popover-section{border-top:1px solid var(--color-border-light)}.visit-popover-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0 0 6px}.visit-popover-section a{color:var(--color-primary);font-weight:500;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease}.visit-popover-section a:hover{border-bottom-color:var(--color-primary)}.visit-popover-section .muted{color:var(--color-text-muted, #8a7f6d)}.visit-popover-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border-light);background:var(--color-bg-alt, #faf8f4)}.visit-popover-footer .btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:7px 14px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;line-height:1.4;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.visit-popover-footer .btn:focus-visible{outline:none;box-shadow:var(--ring-primary)}.visit-popover-footer .btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.visit-popover-footer .btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.visit-popover-footer .btn-primary:disabled{background:var(--color-border);border-color:var(--color-border);color:var(--color-text-muted, #8a7f6d);cursor:not-allowed}.visit-popover-footer .btn-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.visit-popover-footer .btn-secondary:hover{background:var(--color-primary-light)}.visit-popover .field-error{color:var(--color-danger);font-size:12px;margin-top:6px}.visit-popover .badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:var(--radius-pill);line-height:1.4;white-space:nowrap}.visit-popover .badge--primary{background:var(--color-primary-light);color:var(--color-primary)}.visit-popover .badge--success{background:var(--color-success-light);color:var(--color-success)}.visit-popover .badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.visit-popover .badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.visit-popover .badge--info{background:#e0f2fe;color:#0369a1}.visit-popover .badge--neutral{background:var(--color-border-light);color:var(--color-text-secondary)}.crew-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crew-chip{display:inline-flex;align-items:center;gap:5px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-pill);padding:6px 6px 6px 14px;font-size:13px;font-weight:500;line-height:1.3;transition:background .12s ease}.crew-chip:hover{background:#d6e6dc}.crew-chip-x{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;padding:0;line-height:1;font-size:14px;color:var(--color-primary);opacity:.6;transition:opacity .12s ease,background .12s ease}.crew-chip-x:hover{opacity:1;background:#1a5d4d1f}.crew-chip-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px dashed var(--color-primary);background:transparent;color:var(--color-primary);border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:600;line-height:1;transition:background .12s ease}.crew-chip-add:hover{background:var(--color-primary-light)}.crew-add{position:relative;display:inline-flex}.crew-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:10;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:4px;margin:0;list-style:none;min-width:160px;box-shadow:var(--shadow-md)}.crew-picker li{margin:0}.crew-picker li button{width:100%;text-align:left;background:none;border:none;padding:7px 12px;cursor:pointer;font-family:var(--font-sans);font-size:13px;color:var(--color-text);border-radius:var(--radius-sm);transition:background .1s ease}.crew-picker li button:hover{background:var(--color-primary-light);color:var(--color-primary)}.crew-chips .muted{font-size:12.5px;color:var(--color-text-muted, #8a7f6d);font-style:italic}.agenda-list{display:flex;flex-direction:column;gap:18px;padding:12px}.agenda-empty{padding:32px 16px;text-align:center;color:var(--color-text-secondary, #6b7280)}.agenda-day{display:flex;flex-direction:column;gap:8px}.agenda-day-header{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #6b7280);position:sticky;top:0;background:var(--color-bg, #fff);padding:6px 0;z-index:1}.agenda-row{display:flex;gap:12px;width:100%;text-align:left;align-items:flex-start;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e4e4e7);border-left:4px solid #9CA3AF;border-radius:10px;padding:12px;cursor:pointer}.agenda-row:active{background:var(--color-border-light, #f4f4f5)}.agenda-row-time{display:flex;flex-direction:column;min-width:62px;flex-shrink:0;font-size:13px;font-weight:600;color:var(--color-text, #111)}.agenda-row-time-end{font-weight:400;color:var(--color-text-secondary, #6b7280)}.agenda-row-main{min-width:0;flex:1}.agenda-row-title{font-size:15px;font-weight:600;color:var(--color-text, #111)}.agenda-row-sub{font-size:13px;color:var(--color-text-secondary, #6b7280);margin-top:2px}.agenda-row-addr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-row-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.agenda-status{font-size:11px;font-weight:600;text-transform:capitalize;border:1px solid currentColor;border-radius:999px;padding:1px 8px}.agenda-tech-chip{font-size:11px;font-weight:500;background:var(--color-border-light, #f4f4f5);color:var(--color-text-secondary, #52525b);border-radius:999px;padding:1px 8px}.agenda-tech-chip--none{font-style:italic}.schedule-body--mobile{flex-direction:column}.schedule-body--mobile .schedule-queue{width:100%;max-width:100%;min-width:0;border-left:none;border-top:1px solid var(--color-border)}.desktop-handoff{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 24px;max-width:420px;margin:0 auto}.desktop-handoff-icon{color:var(--color-primary, #1a5d4d)}.desktop-handoff-title{margin:0;font-size:18px;font-weight:700}.desktop-handoff-body{margin:0;font-size:14px;color:var(--color-text-secondary, #6b7280);line-height:1.5}.desktop-handoff-sent{font-size:14px;color:var(--color-primary-deep, #0f3d32);font-weight:600}.desktop-handoff-error{font-size:13px;color:var(--color-danger, #ef4444)}@media(max-width:768px){.schedule-toolbar{grid-template-columns:1fr;gap:8px}.schedule-toolbar-left,.schedule-toolbar-right{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}.schedule-clock{text-align:left}}.msg-page{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - var(--topbar-height, 56px) - 2px);min-height:0;background:var(--color-bg)}.msg-pane-list{border-right:1px solid var(--color-border);min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--color-surface)}.msg-pane-thread{min-height:0;display:flex;flex-direction:column}.msg-list{display:flex;flex-direction:column;min-height:0;height:100%}.msg-list-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border)}.msg-list-title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0}.msg-list-empty{padding:32px 16px;text-align:center;color:var(--color-text-secondary)}.msg-empty-title{font-weight:600;color:var(--color-text);margin:0 0 4px}.msg-empty-body{font-size:.9rem;margin:0}.msg-conv-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.msg-conv-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--color-border-light, var(--color-border))}.msg-conv-row:hover{background:var(--color-bg-alt)}.msg-conv-row.active{background:var(--color-primary-light)}.msg-conv-item{position:relative}.msg-conv-delete{position:absolute;top:50%;right:10px;transform:translateY(-50%);z-index:1;width:30px;height:30px;padding:0;line-height:28px;text-align:center;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-secondary);font-size:.9rem;cursor:pointer;opacity:0;transition:opacity .12s ease;pointer-events:none}.msg-conv-item:hover .msg-conv-delete{opacity:1;pointer-events:auto}.msg-conv-delete:hover{color:var(--color-danger);border-color:var(--color-danger)}.msg-conv-item:hover .msg-conv-time{visibility:hidden}.msg-avatar{flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-pill, 50%);background:var(--color-primary);color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}.msg-conv-main{flex:1;min-width:0}.msg-conv-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.msg-conv-title{font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:6px;min-width:0}.msg-customer-badge{flex:0 0 auto;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1;padding-block:3px;padding-inline:7px;border-radius:var(--radius-pill, 10px);background:var(--color-primary-light);color:var(--color-primary)}.msg-lead-badge{flex:0 0 auto;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1;padding-block:3px;padding-inline:7px;border-radius:var(--radius-pill, 10px);background:var(--color-warning-light, #fef3c7);color:var(--color-warning-dark, #92400e)}.msg-lead-convert-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:.85rem;line-height:1.4;color:var(--color-text-secondary);background:var(--color-surface-alt, #f8fafc);border-top:1px solid var(--color-border)}.msg-lead-convert-btn{flex:0 0 auto;white-space:nowrap}.msg-thread-header{display:flex;align-items:center;gap:10px}.msg-owner-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;font-size:.75rem;color:var(--color-text-secondary)}.msg-owner-label{font-weight:600}.msg-owner-name{font-weight:600;color:var(--color-text)}.msg-owner-select{font-size:.75rem;padding:2px 6px;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.msg-conv-time{flex:0 0 auto;font-size:.75rem;color:var(--color-text-secondary)}.msg-conv-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:2px}.msg-conv-preview{font-size:.85rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-unread-badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill, 10px);background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.msg-thread{display:flex;flex-direction:column;min-height:0;height:100%}.msg-thread-header{padding:14px 20px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.msg-thread-title{font-weight:700;color:var(--color-text)}.msg-thread-placeholder,.msg-thread-status{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);padding:24px;text-align:center}.msg-thread-optout-banner{margin:0;padding:8px 20px;font-size:.8rem;background:var(--color-warning-light, #fdf3e7);color:var(--color-warning);border-bottom:1px solid var(--color-warning)}.msg-thread-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.msg-load-older{align-self:center;margin-bottom:8px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-pill, 16px);padding:4px 14px;font-size:.8rem;color:var(--color-text-secondary);cursor:pointer}.msg-load-older:hover:not(:disabled){background:var(--color-bg-alt)}.msg-bubble-row{display:flex;gap:8px;max-width:78%}.msg-bubble-row.mine{align-self:flex-end;flex-direction:row-reverse}.msg-bubble-avatar{flex:0 0 auto;width:28px;height:28px;border-radius:var(--radius-pill, 50%);background:var(--color-bg-alt);color:var(--color-text-secondary);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:18px}.msg-bubble-wrap{display:flex;flex-direction:column;min-width:0}.msg-bubble-row.mine .msg-bubble-wrap{align-items:flex-end}.msg-bubble-sender{font-size:.72rem;color:var(--color-text-secondary);margin:0 0 2px 4px}.msg-bubble{position:relative;padding:8px 12px;border-radius:var(--radius-lg, 14px);background:var(--color-bg-alt);color:var(--color-text);font-size:.92rem;white-space:pre-wrap;word-break:break-word}.msg-delete-for-me{position:absolute;top:-8px;right:-8px;width:20px;height:20px;padding:0;line-height:18px;text-align:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg);color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;opacity:0;transition:opacity .12s ease;pointer-events:none}.msg-bubble-row.mine .msg-delete-for-me{right:auto;left:-8px}.msg-bubble-row:hover .msg-delete-for-me{opacity:1;pointer-events:auto}.msg-delete-for-me:hover{color:var(--color-danger);border-color:var(--color-danger)}.msg-bubble.mine{background:var(--color-primary);color:#fff}.msg-bubble.failed{background:var(--color-danger-light);color:var(--color-danger)}.msg-bubble-meta{display:flex;gap:8px;align-items:center;margin:3px 4px 0;font-size:.7rem;color:var(--color-text-secondary)}.msg-bubble-state{font-style:italic}.msg-read-hint{color:var(--color-primary);font-weight:600}.msg-retry{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.7rem;padding:0;text-decoration:underline}.msg-composer{display:flex;gap:8px;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-surface)}.msg-composer-input{flex:1;resize:none;max-height:120px;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius, 10px);font:inherit;font-size:.92rem;color:var(--color-text);background:var(--color-bg);line-height:1.4}.msg-composer-send{flex:0 0 auto}.msg-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.msg-modal{width:100%;max-width:440px;max-height:80vh;background:var(--color-surface);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.msg-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--color-border)}.msg-modal-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text)}.msg-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-secondary);cursor:pointer}.msg-modal-tabs{display:flex;gap:4px;padding-inline:18px;padding-block-start:12px;border-bottom:1px solid var(--color-border)}.msg-modal-tab{background:none;border:none;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-secondary);padding-block:8px;padding-inline:4px;border-bottom:2px solid transparent;margin-bottom:-1px}.msg-modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.msg-modal-search{margin:12px 18px 0;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius, 8px);font:inherit;color:var(--color-text);background:var(--color-bg)}.msg-modal-selected{margin:8px 18px 0;font-size:.8rem;color:var(--color-text-secondary)}.msg-modal-error{margin:8px 18px 0;font-size:.8rem;color:var(--color-danger)}.msg-modal-list{list-style:none;margin:10px 0 0;padding:0;overflow-y:auto;flex:1;min-height:0}.msg-modal-empty{padding:24px;text-align:center;color:var(--color-text-secondary)}.msg-modal-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 18px;background:none;border:none;cursor:pointer;text-align:left}.msg-modal-row:hover{background:var(--color-bg-alt)}.msg-modal-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.msg-modal-row-name{font-weight:600;color:var(--color-text)}.msg-modal-row-sub{font-size:.8rem;color:var(--color-text-secondary)}.msg-check{flex:0 0 auto;width:22px;height:22px;border-radius:var(--radius-pill, 50%);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:800}.msg-check.on{background:var(--color-primary);border-color:var(--color-primary)}.msg-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--color-border)}@media(max-width:760px){.msg-page{grid-template-columns:1fr}.msg-page.has-active .msg-pane-list{display:none}.msg-page:not(.has-active) .msg-pane-thread{display:none}}.msg-composer{flex-direction:column;align-items:stretch;gap:6px}.msg-composer-row{display:flex;gap:8px;align-items:flex-end;position:relative}.msg-composer-mode{display:inline-flex;gap:4px;align-self:flex-start}.msg-mode-btn{padding:3px 12px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;border-radius:var(--radius-pill, 999px)}.msg-mode-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.msg-mode-btn.note.active{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.msg-note-hint{margin:0;font-size:.72rem;color:var(--color-warning);font-style:italic}.msg-composer.note{background:var(--color-warning-light)}.btn-note{background:var(--color-warning);color:#fff;border:none}.btn-note:hover:not(:disabled){filter:brightness(.95)}.msg-mention-menu{position:absolute;bottom:calc(100% + 4px);left:0;z-index:20;min-width:180px;max-width:280px;margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:0 6px 24px #00000024}.msg-mention-option{display:block;width:100%;text-align:left;padding:6px 10px;border:none;background:none;color:var(--color-text);font:inherit;font-size:.85rem;cursor:pointer;border-radius:var(--radius-sm, 6px)}.msg-mention-option:hover{background:var(--color-primary-light);color:var(--color-primary)}.msg-bubble.note{background:var(--color-warning-light);color:var(--color-warning);border:1px solid var(--color-warning)}.msg-bubble.mine.note{background:var(--color-warning-light);color:var(--color-warning)}.msg-note-tag{display:inline-block;margin-inline-end:6px;padding:0 6px;border-radius:var(--radius-pill, 999px);background:var(--color-warning);color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.calls-page{max-width:760px;margin:0 auto;padding:16px}.calls-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.calls-title{font-size:22px;font-weight:600;margin:0}.btn-sm{padding:4px 10px;font-size:13px}.calls-filters{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--color-border, #e5e7eb)}.calls-filter{background:none;border:none;border-bottom:2px solid transparent;padding:8px 12px;font-size:14px;font-weight:500;color:var(--color-text-secondary, #6b7280);cursor:pointer}.calls-filter.active{color:var(--color-text, #111827);border-bottom-color:var(--color-primary, #2563eb)}.calls-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:14px;border:1px solid var(--color-warning-border, #f5c17b);background:var(--color-warning-bg, #fff8ec);border-radius:8px}.calls-banner-icon{color:var(--color-warning-text, #b45309);flex-shrink:0;margin-top:1px}.calls-banner-body strong{display:block;font-size:14px;margin-bottom:2px}.calls-banner-body p{margin:0 0 6px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.calls-banner-link{font-size:13px;font-weight:500;color:var(--color-primary, #2563eb)}.calls-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;overflow:hidden}.calls-row{border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff)}.calls-row:last-child{border-bottom:none}.calls-row.unseen{background:var(--color-surface-emphasis, #f5f8ff)}.calls-row-main{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;text-align:start;cursor:pointer;color:inherit}.calls-pill{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;min-width:92px}.calls-pill-missed{color:var(--color-danger-text, #b91c1c);background:var(--color-danger-bg, #fef2f2)}.calls-pill-voicemail{color:var(--color-primary-text, #1d4ed8);background:var(--color-primary-bg, #eff6ff)}.calls-pill-answered,.calls-pill-incoming{color:var(--color-text-secondary, #6b7280);background:var(--color-surface-muted, #f3f4f6)}.calls-caller{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-size:14px}.calls-caller-link,.calls-caller-plain{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calls-caller-link{color:var(--color-primary, #2563eb);font-weight:500}.calls-unseen-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--color-primary, #2563eb)}.calls-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:12px;color:var(--color-text-secondary, #6b7280)}.calls-chevron{transition:transform .15s ease}.calls-row.expanded .calls-chevron{transform:rotate(180deg)}.calls-row-detail{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}.calls-audio{width:100%;max-width:420px}.calls-detail-note{margin:0;font-size:13px;color:var(--color-text-secondary, #6b7280)}.calls-transcript-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #6b7280);margin-bottom:2px}.calls-transcript p{margin:0;font-size:14px;line-height:1.5}.calls-empty{text-align:center;padding:48px 20px;color:var(--color-text-secondary, #6b7280)}.calls-empty-hint{font-size:13px;margin-top:4px}.calls-loadmore{display:flex;justify-content:center;margin-top:14px}@media(max-width:560px){.calls-pill{min-width:0}.calls-meta .calls-duration{display:none}}.calls-annotation{display:flex;flex-direction:column;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border, #e5e7eb)}.calls-annotation-field{display:flex;flex-direction:column;gap:6px}.calls-annotation-label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #6b7280)}.calls-note-input{width:100%;resize:vertical;min-height:40px;padding:8px 10px;font:inherit;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text, #111827)}.calls-annotation-actions{display:flex;align-items:center;gap:10px}.calls-annotation-hint{font-size:12px;color:var(--color-text-secondary, #6b7280)}.calls-annotation-error{font-size:12px;color:var(--color-danger, #dc2626)}.calls-job-linked{display:flex;align-items:center;gap:10px}.calls-job-link{font-size:13px;font-weight:500;color:var(--color-primary, #2563eb);text-decoration:none}.calls-job-link:hover{text-decoration:underline}.calls-job-unlink{background:none;border:none;padding:0;font-size:12px;color:var(--color-text-secondary, #6b7280);cursor:pointer;text-decoration:underline}.calls-job-picker{display:flex;flex-direction:column;gap:6px}.calls-job-search{width:100%;padding:8px 10px;font:inherit;font-size:13px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text, #111827)}.calls-job-hint{font-size:12px;color:var(--color-text-secondary, #6b7280);padding:2px}.calls-job-results{list-style:none;margin:0;padding:0;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;overflow:hidden}.calls-job-result{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-bottom:1px solid var(--color-border, #e5e7eb);text-align:left;cursor:pointer;font-size:13px;color:var(--color-text, #111827)}.calls-job-results li:last-child .calls-job-result{border-bottom:none}.calls-job-result:hover{background:var(--color-surface-hover, #f3f4f6)}.calls-job-result-num{font-weight:600;color:var(--color-text-secondary, #6b7280)}.calls-job-cancel{align-self:flex-start;background:none;border:none;padding:0;font-size:12px;color:var(--color-text-secondary, #6b7280);cursor:pointer;text-decoration:underline}.calls-direction{flex-shrink:0;color:var(--color-text-muted, #6b7280)}.calls-direction-out{color:var(--color-primary, #2563eb)}.cc-page{--cc-brand: #2563eb;display:flex;flex-direction:column;block-size:100dvh;max-inline-size:640px;margin-inline:auto;background:#fff;color:#111827;font-size:16px}.cc-header{display:flex;align-items:center;gap:12px;padding-block:12px;padding-inline:16px;border-block-end:1px solid #e5e7eb;background:#fff}.cc-logo{block-size:36px;inline-size:auto;max-inline-size:120px;object-fit:contain}.cc-header-text{display:flex;flex-direction:column;min-inline-size:0}.cc-company{font-weight:700;font-size:1.05rem;color:#111827}.cc-subtitle{font-size:.78rem;color:#6b7280}.cc-body{flex:1;min-block-size:0;overflow-y:auto;padding-block:16px;padding-inline:16px;display:flex;flex-direction:column;gap:10px;background:#f9fafb}.cc-status{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:#6b7280;padding:24px}.cc-load-older{align-self:center;margin-block-end:4px;background:none;border:1px solid #d1d5db;border-radius:16px;padding-block:4px;padding-inline:14px;font-size:.8rem;color:#6b7280;cursor:pointer}.cc-load-older:disabled{opacity:.6;cursor:default}.cc-row{display:flex;max-inline-size:82%}.cc-row.mine{align-self:flex-end}.cc-bubble-wrap{display:flex;flex-direction:column;min-inline-size:0}.cc-row.mine .cc-bubble-wrap{align-items:flex-end}.cc-sender{font-size:.72rem;color:#6b7280;margin-block-end:2px;margin-inline-start:4px}.cc-bubble{padding-block:9px;padding-inline:13px;border-radius:16px;background:#fff;border:1px solid #e5e7eb;color:#111827;font-size:.95rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.cc-bubble.mine{background:var(--cc-brand);border-color:var(--cc-brand);color:#fff}.cc-bubble.failed{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.cc-meta{display:flex;gap:8px;align-items:center;margin-block-start:3px;margin-inline:4px;font-size:.7rem;color:#6b7280}.cc-state{font-style:italic}.cc-state-failed{color:#b91c1c;font-style:normal;font-weight:600}.cc-retry{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:.72rem;padding:0;text-decoration:underline}.cc-banner{padding-block:8px;padding-inline:16px;background:#fffbeb;border-block-start:1px solid #fde68a;color:#92400e;font-size:.85rem;text-align:center}.cc-composer{display:flex;gap:8px;align-items:flex-end;padding-block:10px;padding-inline:12px;border-block-start:1px solid #e5e7eb;background:#fff;padding-block-end:max(10px,env(safe-area-inset-bottom))}.cc-input{flex:1;resize:none;max-block-size:120px;padding-block:10px;padding-inline:12px;border:1px solid #d1d5db;border-radius:12px;font:inherit;font-size:16px;line-height:1.4;color:#111827;background:#fff}.cc-input:focus{outline:2px solid var(--cc-brand);outline-offset:-1px}.cc-send{flex:0 0 auto;padding-block:10px;padding-inline:18px;border:none;border-radius:12px;background:var(--cc-brand);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer}.cc-send:disabled{opacity:.5;cursor:default}.cc-footer{padding-block:10px;text-align:center;font-size:.72rem;color:#9ca3af;background:#fff}.cc-footer a{color:#6b7280}.ts-shell-tabs{display:flex;gap:4px;padding:4px 0;border-bottom:1px solid var(--color-border);margin-bottom:1.25rem}.ts-shell-tab{padding:10px 18px;font-size:15px;font-weight:500;color:var(--color-text);text-decoration:none;border-radius:6px;transition:background .12s,color .12s}.ts-shell-tab:hover{background:var(--color-sidebar-hover)}.ts-shell-tab--active{background:var(--color-sidebar-active);color:var(--color-primary-deep);font-weight:600}.ts-queue-table{width:100%;border-collapse:collapse}.ts-queue-table thead{position:sticky;top:0;background:var(--b1, #fff);z-index:1}.ts-queue-table th,.ts-queue-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--b2, #eaeaea)}.ts-queue-row--selected{background:var(--p, rgba(0, 100, 200, .05))}.ts-queue-row--flagged{background:#ffc8000f}.ts-bulk-bar{position:sticky;bottom:0;padding:.75rem 1rem;background:var(--b2, #f4f4f4);border-top:1px solid var(--b3, #ddd);display:flex;gap:.75rem;align-items:center}.ts-flag{font-size:.95em;margin-right:.25rem}.ts-audit-log{font-family:var(--font-mono, ui-monospace);font-size:.85em}.ts-audit-row{display:grid;grid-template-columns:8rem 6rem 1fr;gap:.5rem;padding:.25rem 0;border-bottom:1px dashed var(--b3, #ddd)}.ts-audit-row:last-child{border-bottom:none}.ts-audit-old{color:var(--text-secondary, #888);text-decoration:line-through}.ts-audit-new{color:var(--text, #111);font-weight:600}.ts-detail-header{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;margin-bottom:1rem}.ts-detail-meta{color:var(--bc-muted, #888);font-size:.9em}.ts-rollup-table{width:100%}.ts-rollup-table th,.ts-rollup-table td{padding:.5rem;text-align:right}.ts-rollup-table th:first-child,.ts-rollup-table td:first-child{text-align:left}.ts-rollup-totals{font-weight:600;border-top:2px solid var(--bc, #333)}.ts-rate-form{display:grid;grid-template-columns:12rem 1fr;gap:.5rem 1rem;max-width:40rem}.ts-rate-form label{align-self:center}.ts-rate-warning{background:var(--wa, #fef3c7);padding:.75rem;border-left:4px solid var(--wac, #d97706);margin:1rem 0}.ts-rate-derived{background:var(--b2, #f4f4f4);padding:.5rem .75rem;border-radius:.25rem;font-family:var(--font-mono, ui-monospace)}.ts-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:1rem 0}.ts-tile{background:var(--b1, #fff);border:1px solid var(--b2, #eaeaea);border-radius:.5rem;padding:.75rem 1rem}.ts-tile-label{font-size:.8em;color:var(--bc-muted, #666);text-transform:uppercase;letter-spacing:.05em}.ts-tile-value{font-size:1.6em;font-weight:600;line-height:1.1;margin-top:.25rem}.ts-tile--warn{border-color:var(--wac, #d97706)}.ts-tile--warn .ts-tile-value{color:var(--wac, #d97706)}.ts-tile--link{display:block;cursor:pointer;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.ts-tile--link:hover{border-color:var(--wac, #d97706);box-shadow:0 1px 4px #00000014}.ts-lock-icon{font-size:.9em;opacity:.7;margin-right:.25rem}.ts-locked-banner{background:var(--b2, #f4f4f4);border-left:4px solid var(--bc, #333);padding:.75rem 1rem;margin-bottom:1rem;display:flex;gap:.5rem;align-items:center}.ts-gps-map{width:100%;height:18rem;border:1px solid var(--b2, #eaeaea);border-radius:.25rem}.ts-gps-pins{display:flex;gap:1.5rem;margin-top:.5rem;font-size:.9em}.ts-gps-pin--in{color:#16a34a}.ts-gps-pin--out{color:#dc2626}.ts-approve-through{display:flex;gap:.5rem;align-items:center;padding:.5rem .75rem;background:var(--b2, #f4f4f4);border-radius:.25rem;margin-bottom:.75rem}.gps-audit-panel{border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:12px 16px;background:var(--surface-secondary, #f9fafb)}.gps-audit-row{display:flex;align-items:center;gap:8px;font-size:.875rem;padding:4px 0}.gps-audit-label{width:72px;color:var(--text-secondary, #6b7280);font-size:.75rem;flex-shrink:0}.gps-audit-sep{color:var(--border-color, #d1d5db)}.gps-flag-warn{color:#f59e0b}.gps-flag-ok{color:#10b981}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--color-primary: #1a5d4d;--color-primary-hover: #134a3e;--color-primary-light: #e3efe8;--color-primary-deep: #0f3d32;--color-accent: #c2410c;--color-accent-light: #fff1e5;--color-danger: #b91c1c;--color-danger-light: #fee2e2;--color-success: #166534;--color-success-light: #dcfce7;--color-warning: #92400e;--color-warning-light: #fef3c7;--color-info: #0369a1;--color-info-light: #e0f2fe;--color-bg: #ffffff;--color-bg-alt: #faf8f4;--color-surface: #ffffff;--color-border: #ece7dd;--color-border-light: #f4f0e7;--color-text: #0f3d32;--color-text-secondary:#6b6452;--color-text-muted: #8a7f6d;--color-sidebar: #faf8f4;--color-sidebar-text: #4a4031;--color-sidebar-muted: #8a7f6d;--color-sidebar-hover: #f1ede3;--color-sidebar-active: #e3efe8;--color-sidebar-active-border:#1a5d4d;--sidebar-width: 200px;--topbar-height: 56px;--radius-sm: 4px;--radius: 7px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(60, 40, 20, .04);--shadow: 0 1px 3px rgba(60, 40, 20, .06), 0 1px 2px rgba(60, 40, 20, .04);--shadow-md: 0 4px 10px rgba(60, 40, 20, .07), 0 2px 4px rgba(60, 40, 20, .05);--shadow-lg: 0 10px 30px rgba(60, 40, 20, .1), 0 2px 6px rgba(60, 40, 20, .06);--ring-primary: 0 0 0 3px rgba(26, 93, 77, .15);--anvil-tech-1: #4E79A7;--anvil-tech-2: #F28E2B;--anvil-tech-3: #E15759;--anvil-tech-4: #76B7B2;--anvil-tech-5: #59A14F;--anvil-tech-6: #EDC948;--anvil-tech-7: #B07AA1;--anvil-tech-8: #FF9DA7;--anvil-tech-9: #9C755F;--anvil-tech-10: #BAB0AC;--anvil-tech-11: #5B6CB6;--anvil-tech-12: #7FB069;--anvil-tech-unassigned: #6B7280;--anvil-state-confirmed: #16A34A;--anvil-state-en-route: #F59E0B;--anvil-state-paused: #EAB308;--anvil-state-conflict: #DC2626;--anvil-opacity-active: 1;--anvil-opacity-completed: .5;--anvil-opacity-noshow: .35;--anvil-opacity-cancelled: .35;--anvil-capacity-ok: #10B981;--anvil-capacity-warn: #F59E0B;--anvil-capacity-over: #EF4444;--anvil-capacity-empty: #F3F4F6;--anvil-unavailable: #E5E7EB}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:24px}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px;width:100%;max-width:400px}.auth-logo{display:flex;justify-content:center;margin-bottom:28px}.auth-logo-img{height:96px;width:auto;object-fit:contain}.auth-heading{font-size:22px;font-weight:700;color:var(--color-text);margin-bottom:6px;letter-spacing:-.3px}.auth-subheading{font-size:14px;color:var(--color-text-secondary);margin-bottom:28px}.auth-footer{margin-top:20px;text-align:center;font-size:14px;color:var(--color-text-secondary)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.form-input{display:block;width:100%;padding:14px 18px;font-size:15px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.form-input::placeholder{color:var(--color-text-secondary);opacity:.7}.form-input:disabled{background:var(--color-border-light);color:var(--color-text-secondary);cursor:not-allowed}.form-select{display:block;width:100%;padding:14px 44px 14px 18px;font-size:15px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;transition:border-color .15s}.form-select:focus{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.form-hint{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.cs-wrap{position:relative}button.form-select,button.form-input,button.lang-picker-trigger{text-align:left;font-family:var(--font-sans);outline:none}button.form-select:focus,button.form-input:focus{border-color:var(--color-primary);box-shadow:var(--ring-primary)}button.form-select:disabled,button.form-input:disabled{opacity:.5;cursor:not-allowed}.cs-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:4px 0;max-height:260px;overflow-y:auto}.cs-dropdown--portal{z-index:1400;width:max-content;max-width:min(92vw,480px)}.cs-option{padding:10px 16px;font-size:15px;color:var(--color-text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-option:hover,.cs-option--active{background:var(--color-primary-light)}.cs-option[aria-selected=true]{font-weight:600;color:var(--color-primary)}.cs-option--disabled{opacity:.45;cursor:default;pointer-events:none}.lang-picker{position:relative;display:block;width:100%}.lang-picker--inline{display:inline-block;width:auto}.lang-picker-trigger{display:block;width:100%;padding:14px 44px 14px 18px;font-size:15px;color:var(--color-text);background:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.lang-picker-trigger:focus{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.lang-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.lang-picker--inline .lang-picker-trigger{width:auto;min-width:8rem;font-size:13px;padding:4px 28px 4px 8px;background-position:right 8px center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-size:14px;font-weight:500;padding:8px 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap;line-height:1.4;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border-light)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-success{background:#16a34a;color:#fff;border-color:#16a34a}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-border-light);color:var(--color-text)}.btn-full{width:100%}.btn-sm{font-size:13px;padding:5px 12px}.btn-lg{font-size:15px;padding:10px 20px}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px}.alert-error{background:var(--color-danger-light);color:var(--color-danger);border:1px solid rgba(220,38,38,.2)}.alert-success{background:var(--color-success-light);color:var(--color-success);border:1px solid rgba(22,163,74,.2)}.alert-warning{background:var(--color-warning-light);color:var(--color-warning);border:1px solid rgba(217,119,6,.2)}.shell{display:flex;height:100vh;overflow:hidden}.sidenav{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;position:relative}.sidenav-header{padding:20px 16px 16px;border-bottom:1px solid var(--color-border)}.sidenav-logo{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;margin-bottom:14px;width:100%}.sidenav-logo:hover{text-decoration:none}.sidenav-logo-img{width:64px;height:64px;object-fit:contain;flex-shrink:0}.sidenav-logo-text{font-size:17px;font-weight:700;color:var(--color-sidebar-text);letter-spacing:-.3px}.sidenav-create-btn{width:100%;padding:7px 12px;background:var(--color-primary);border:none;border-radius:var(--radius);color:#fff;font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s}.sidenav-create-btn:hover{background:var(--color-primary-hover)}.sidenav-nav{flex:1;overflow-y:auto;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidenav-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-sidebar-muted);padding:12px 16px 4px}.sidenav-link{display:flex;align-items:center;gap:10px;padding:8px 16px;color:var(--color-text);text-decoration:none;font-size:15px;font-weight:600;border-left:3px solid transparent;transition:background .12s;cursor:pointer}.sidenav-link:hover{background:var(--color-sidebar-hover);text-decoration:none}.sidenav-link.active{background:var(--color-sidebar-active);color:var(--color-primary-deep);font-weight:500;border-left-color:var(--color-sidebar-active-border)}.sidenav-link-icon{flex-shrink:0;opacity:1;stroke-width:2.25}.sidenav-unread-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-danger);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sidenav-empty{padding:12px 16px;font-size:13px;color:var(--color-sidebar-muted);font-style:italic}.sidenav-footer{border-top:1px solid var(--color-border);padding:8px 0}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-breadcrumb{font-size:17px;font-weight:700;color:var(--color-text)}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-user{display:flex;align-items:center;gap:8px}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.topbar-name{font-size:14px;font-weight:500;color:var(--color-text)}.content{flex:1;overflow-y:auto;padding:28px 32px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.card-title{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:4px}.card-subtitle{font-size:13px;color:var(--color-text-secondary);margin-bottom:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header{margin-bottom:24px}.page-title{font-size:34px;font-weight:700;color:var(--color-text);letter-spacing:-.8px;line-height:1.15;margin-bottom:4px}.page-subtitle{font-size:14px;color:var(--color-text-secondary)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.setup-guide{background:linear-gradient(135deg,#eff6ff,#f8faff);border:1px solid #bfdbfe;border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.setup-guide-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.setup-guide-title{font-size:16px;font-weight:700;color:#1e3a8a;margin-bottom:4px}.setup-guide-subtitle{font-size:13px;color:#3b82f6}.setup-guide-dismiss{background:transparent;border:none;color:#93c5fd;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color .15s,background .15s}.setup-guide-dismiss:hover{color:#60a5fa;background:#3b82f614}.setup-checklist{display:flex;flex-direction:column;gap:12px}.setup-checklist-item{display:flex;align-items:center;gap:12px}.setup-checkbox{width:20px;height:20px;border-radius:50%;border:2px solid #93c5fd;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}.setup-checkbox.checked{background:var(--color-primary);border-color:var(--color-primary)}.setup-checklist-label{font-size:14px;font-weight:500;color:#1e3a8a}.setup-checklist-label.muted{color:#93c5fd}.setup-checklist-badge{margin-left:8px;font-size:11px;font-weight:500;background:#3b82f61f;color:#3b82f6;padding:2px 8px;border-radius:999px}.stat-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:8px;text-align:center}.stat-card-empty-icon{color:var(--color-border);margin-bottom:4px}.stat-card-empty-title{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.stat-card-empty-text{font-size:13px;color:var(--color-border)}.settings-sections{display:flex;flex-direction:column;gap:24px}.settings-section-title{font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-form-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--color-border);margin-top:16px}.settings-layout{display:flex;margin:-28px -32px;height:calc(100% + 56px);overflow:hidden}.settings-subnav{width:200px;min-width:200px;background:var(--color-sidebar);border-right:1px solid var(--color-border);overflow-y:auto;display:flex;flex-direction:column;flex-shrink:0}.settings-subnav-group{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-sidebar-muted);padding:14px 16px 4px}.settings-subnav-link{display:block;padding:7px 16px;font-size:14px;font-weight:500;color:var(--color-text);text-decoration:none;border-left:3px solid transparent;transition:background .12s;white-space:nowrap}.settings-subnav-link:hover{background:var(--color-sidebar-hover);text-decoration:none}.settings-subnav-link.active{background:var(--color-sidebar-active);color:var(--color-primary-deep);border-left-color:var(--color-sidebar-active-border);font-weight:600}.settings-content{flex:1;overflow-y:auto;padding:28px 32px;display:flex;flex-direction:column;gap:24px}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:15px}.table th{background:var(--color-border-light);padding:10px 16px;text-align:left;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.table td{padding:12px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-border-light)}.badge{display:inline-flex;align-items:center;font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px}.badge-success{background:#dcfce7;color:#166534}.badge-neutral{background:#f4f0e7;color:#6b6452}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#e0f2fe;color:#0369a1}.toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#d1d5db;border-radius:999px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:var(--shadow-sm)}.toggle input:checked+.toggle-slider{background:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.module-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-border)}.module-row:last-child{border-bottom:none}.module-row-info{display:flex;flex-direction:column;gap:2px}.module-row-name{font-size:14px;font-weight:500;color:var(--color-text)}.module-row-slug{font-size:12px;color:var(--color-text-secondary)}.invite-form{background:var(--color-border-light);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;margin-top:16px}.invite-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.invite-form-actions{display:flex;gap:8px;justify-content:flex-end}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:14px;height:14px;border-width:2px}.spinner-white{border-color:#ffffff4d;border-top-color:#fff}.spinner-center{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.text-muted{color:var(--color-text-secondary)}.text-sm{font-size:13px}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.font-medium{font-weight:500}.font-bold{font-weight:700}.divider{height:1px;background:var(--color-border);margin:20px 0}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:12px;color:var(--color-border)}.empty-state-title{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.empty-state-text{font-size:13px}.dropdown-wrapper{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:180px;padding:6px;z-index:100}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:14px;color:var(--color-text);border-radius:var(--radius);cursor:pointer;transition:background .12s;border:none;background:none;width:100%;font-family:var(--font-sans);text-align:left}.dropdown-item:hover{background:var(--color-border-light)}.page-content{padding:24px 32px}.page-header-left{display:flex;align-items:center;gap:12px}.page-actions{display:flex;gap:8px}.btn-sm{padding:4px 10px;font-size:12px}.badge-danger{background:#fee2e2;color:#b91c1c}.filters-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-form{display:flex;align-items:center;gap:6px;background:var(--color-surface, #f4f4f5);border:1px solid var(--color-border, #e4e4e7);border-radius:6px;padding:0 12px;flex:1;min-width:200px}.search-icon{color:var(--color-text-secondary, #71717a);flex-shrink:0}.search-input{border:none;background:transparent;padding:8px 0;font-size:13px;width:100%;outline:none}.filter-select{padding:8px 12px;border-radius:6px;border:1px solid var(--color-border, #e4e4e7);background:var(--color-surface, #f4f4f5);font-size:13px;cursor:pointer}.data-table{width:100%;border-collapse:collapse;font-size:15px}.data-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #71717a);border-bottom:1px solid var(--color-border, #e4e4e7)}.data-table td{padding:12px;border-bottom:1px solid var(--color-border, #e4e4e7);vertical-align:middle}.data-table tr:hover td{background:var(--color-border-light)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;padding:0;border:2px solid var(--color-border);border-radius:4px;background:#fff;cursor:pointer;position:relative;vertical-align:middle;flex-shrink:0;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}input[type=checkbox]:hover:not(:disabled){border-color:var(--color-primary)}input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12l5 5L20 7' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center / 14px 14px}input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;padding:0;border:1.5px solid var(--color-border);border-radius:50%;background:#fff;cursor:pointer;position:relative;vertical-align:middle;flex-shrink:0;transition:border-color .15s ease,box-shadow .15s ease}input[type=radio]:hover:not(:disabled){border-color:var(--color-primary)}input[type=radio]:checked{border-color:var(--color-primary)}input[type=radio]:checked:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--color-primary)}input[type=radio]:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}input[type=radio]:disabled{cursor:not-allowed;opacity:.45}.data-table .row-select{opacity:0;transition:opacity .1s ease,border-color .15s ease,background .15s ease}.data-table tr:hover .row-select,.data-table .row-select:checked,.data-table .row-select:focus-visible{opacity:1}.data-table tr:hover .row-select:disabled{opacity:.35}.table-link{color:var(--color-primary);text-decoration:none;font-weight:500}.table-link:hover{color:var(--color-primary-hover)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0}.pagination-info{font-size:13px;color:var(--color-text-secondary, #71717a)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.detail-grid{grid-template-columns:1fr}}.detail-card{background:var(--color-surface, #f4f4f5);border-radius:8px;padding:20px;border:1px solid var(--color-border, #e4e4e7)}.detail-card-title{font-size:14px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border, #e4e4e7)}.visit-card__phase-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill, 999px);background:var(--color-primary-light, #e3efe8);color:var(--color-primary-deep, #0f3d32);font-size:var(--font-size-xs, 11px);font-weight:500}.detail-fields{display:flex;flex-direction:column;gap:12px}.detail-field{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-field-full{flex-direction:column}.detail-label{font-size:12px;color:var(--color-text-secondary, #71717a);display:flex;align-items:center;gap:4px;min-width:80px}.detail-value{font-size:13px;text-align:right}.detail-field-full .detail-value{text-align:left}.detail-value-pre{white-space:pre-wrap}.detail-value a{color:var(--color-primary);text-decoration:none}.detail-value a:hover{text-decoration:underline}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.form-section{margin-bottom:24px}.form-section:last-of-type{margin-bottom:0}.form-card:has(>.form-section){background:var(--color-bg-alt);border-color:var(--color-border-light);padding:20px}.form-card>.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px 28px;margin-bottom:18px}.form-card>.form-section:last-of-type{margin-bottom:0}.form-section-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 20px;padding-bottom:0;border-bottom:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.form-textarea{display:block;width:100%;padding:8px 12px;font-family:var(--font-sans);font-size:14px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);resize:vertical;min-height:80px;outline:none;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{border-color:var(--color-primary);box-shadow:var(--ring-primary)}.input-error{border-color:#b91c1c}.field-error{font-size:11px;color:#b91c1c}.form-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.sticky-header{position:sticky;top:0;z-index:10;background:var(--color-surface, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb);padding:12px 0;margin-bottom:8px}.sticky-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.sticky-header-info{min-width:0;flex:1}.jump-nav{display:flex;gap:4px;padding:8px 0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:16px;position:sticky;top:70px;z-index:9;background:var(--color-surface, #ffffff);overflow-x:auto}.jump-nav-pill{padding:4px 12px;border-radius:16px;font-size:12px;border:1px solid var(--color-border, #e5e7eb);background:transparent;color:var(--color-text-secondary, #6b7280);cursor:pointer;white-space:nowrap}.jump-nav-pill:hover{background:var(--color-border-light, #f3f4f6)}.jump-nav-pill-active{background:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.activity-timeline{display:flex;flex-direction:column;gap:0}.activity-entry{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-border, #e5e7eb);align-items:flex-start}.activity-entry:last-child{border-bottom:none}.activity-icon{width:28px;height:28px;border-radius:50%;background:var(--color-border-light, #f3f4f6);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary, #6b7280)}.activity-content{display:flex;flex-direction:column;gap:2px;min-width:0}.activity-text{font-size:13px;color:var(--color-text, #111827)}.activity-time{font-size:11px;color:var(--color-text-secondary, #6b7280)}.hamburger-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:var(--radius);flex-shrink:0}.hamburger-btn:hover{background:var(--color-border-light)}.sidenav-backdrop{display:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}.content{padding:24px}.page-content{padding:20px 24px}}@media(max-width:768px){.hamburger-btn{display:flex}.sidenav{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidenav-open{transform:translate(0);box-shadow:4px 0 24px #00000040}.sidenav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:#0006}.topbar{padding:0 16px}.topbar-name,.logout-text{display:none}.content,.page-content{padding:16px}.grid-3,.grid-2,.detail-grid,.settings-form-grid,.invite-form-grid{grid-template-columns:1fr}.page-title{font-size:18px}.page-header{margin-bottom:16px}.sticky-header-main{flex-direction:column;gap:12px}.page-actions{width:100%}.page-actions .btn{flex:1}.card{padding:16px}.table-wrap,.card:has(.data-table){overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table,.table{min-width:500px}.ts-queue-table,.ts-rollup-table,.pb-table,.job-picker-table{min-width:640px}.sidenav-link{padding:12px 16px;min-height:44px}.btn{min-height:44px;padding:10px 16px}.btn-sm{min-height:36px;padding:6px 12px}.dropdown-item{padding:12px;min-height:44px}.filters-bar{flex-direction:column}.search-form{min-width:unset}.setup-guide{padding:16px}.auth-card{padding:24px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.pagination{flex-wrap:wrap}.settings-layout{flex-direction:column;height:auto;overflow:visible;margin:-16px}.settings-subnav{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;border-right:none;border-bottom:1px solid var(--color-border)}.settings-search{flex:1 0 100%;padding:0!important}.settings-subnav-group{display:none}.settings-subnav-link{flex:0 0 auto;border:1px solid var(--color-border);border-radius:var(--radius-pill, 999px);padding:7px 14px;min-height:36px;display:flex;align-items:center}.settings-subnav-link.active{border-color:var(--color-sidebar-active-border);background:var(--color-sidebar-active)}.settings-content{padding:16px}}.editor-toolbar{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.editor-toolbar-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.editor-toolbar-btn:hover{background:var(--color-border);color:var(--color-text)}.editor-toolbar-btn.active{background:var(--color-primary);color:#fff}.tiptap-wrapper{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-surface)}.tiptap-wrapper .ProseMirror{padding:12px 14px;min-height:180px;outline:none;font-size:14px;line-height:1.6;color:var(--color-text)}.tiptap-wrapper .ProseMirror p{margin:0 0 8px}.tiptap-wrapper .ProseMirror h2{font-size:18px;font-weight:600;margin:16px 0 8px}.tiptap-wrapper .ProseMirror h3{font-size:15px;font-weight:600;margin:12px 0 6px}.tiptap-wrapper .ProseMirror ul,.tiptap-wrapper .ProseMirror ol{padding-left:24px;margin:0 0 8px}.tiptap-wrapper .ProseMirror li{margin:2px 0}.tiptap-wrapper .ProseMirror a{color:var(--color-primary);text-decoration:underline}.tiptap-wrapper .ProseMirror:focus{box-shadow:inset 0 0 0 1px var(--color-primary)}.tiptap-wrapper .ProseMirror p.is-editor-empty:first-child:before{content:"Describe the scope of work...";color:var(--color-text-secondary);opacity:.5;pointer-events:none;float:left;height:0}.proposal-public{max-width:800px;margin:0 auto;padding:40px 20px;font-family:var(--font-sans)}.proposal-public-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.proposal-public-logo{height:48px;object-fit:contain}.proposal-public-company{font-size:22px;font-weight:700;color:var(--color-text)}.proposal-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.proposal-tier-card{border:1px solid var(--color-border);border-radius:8px;padding:20px 24px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.proposal-tier-card.selected{border:2px solid var(--brand-color, #2563eb);background:color-mix(in srgb,var(--brand-color, #2563eb) 6%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-color, #2563eb) 22%,transparent)}.proposal-tier-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:2px solid var(--color-border, #e5e7eb)}.proposal-tier-tab{padding:8px 16px;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--color-text-muted, #6b7280);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.proposal-tier-tab:hover{color:var(--color-text, #374151)}.proposal-tier-tab.active{color:var(--color-primary, #1a5d4d);border-bottom-color:var(--color-primary, #1a5d4d)}.proposal-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:24px}.proposal-photo-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;cursor:pointer;transition:opacity .15s}.proposal-photo-thumb:hover{opacity:.85}.proposal-approve-btn{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:var(--brand-color, #16a34a);border:none;border-radius:6px;cursor:pointer}.proposal-approve-btn:disabled{background:#9ca3af;cursor:not-allowed}.proposal-powered-by{color:#9ca3af;font-size:11px;text-align:center;margin-top:48px}.proposal-powered-by a{color:#9ca3af;text-decoration:none}.proposal-powered-by a:hover{text-decoration:underline}.proposal-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d9;cursor:pointer}.proposal-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}@media(max-width:640px){.proposal-public{padding:20px 16px}.proposal-tier-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.proposal-tier-card{padding:14px 12px}}@media print{.proposal-approve-section,.proposal-powered-by{display:none!important}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d201452;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 26px;width:360px;max-width:90vw;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.modal-title{margin:0;font-size:18px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--color-text);text-wrap:balance}.modal-sub{margin:0;font-size:13.5px;line-height:1.5;color:var(--color-text-secondary)}.modal-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.modal-impact{margin:0;font-size:13px;padding:10px 12px;background:var(--color-warning-light);color:var(--color-warning);border-left:3px solid #F59E0B;border-radius:var(--radius-sm)}.job-complete-preview{display:flex;flex-direction:column;gap:6px}.job-complete-preview__label{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;font-weight:600;color:var(--color-success)}.job-complete-preview__label svg{flex:0 0 auto}.job-complete-preview__label--cancel{color:var(--color-danger)}.job-complete-preview__list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--color-text-secondary)}.job-complete-preview__techs{color:var(--color-text-tertiary, var(--color-text-secondary))}.job-complete-cta__sub{display:block;font-size:11.5px;font-weight:400;opacity:.85}.job-line-items-readonly{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.job-line-items-readonly li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--color-text);padding-bottom:6px;border-bottom:1px solid var(--color-border)}.job-line-items-readonly li:last-child{border-bottom:none;padding-bottom:0}.job-line-items-readonly__amt{color:var(--color-text-secondary);white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d201452;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px}.modal,.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px 26px;max-width:90vw;max-height:86vh;overflow:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-phase-stepper{display:flex;align-items:flex-start;gap:8px;margin:12px 0 16px;padding:12px 16px;background:var(--color-border-light);border-radius:8px;overflow-x:auto}.stepper-pills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 12px;flex:1}.stepper-pill{display:flex;flex-direction:column;min-width:0}.stepper-pill-link{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--color-text);text-decoration:none;border:1px solid transparent;transition:background .12s,border-color .12s}.stepper-pill-link:hover{background:#fff}.stepper-pill--done .stepper-pill-link{background:var(--color-success-light, #dcfce7);color:var(--color-success)}.stepper-pill--active .stepper-pill-link{background:var(--color-primary-light, #dbeafe);color:var(--color-primary);border-color:var(--color-primary)}.stepper-pill--upcoming .stepper-pill-link{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.stepper-pill--skipped .stepper-pill-link{text-decoration:line-through;color:var(--color-text-secondary);opacity:.7}.stepper-pill-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.stepper-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:stepper-pulse 1.4s ease-in-out infinite}@keyframes stepper-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.stepper-pill-title{white-space:nowrap}.jobsite-live{display:inline-flex;align-items:center;gap:5px;margin-inline-start:6px;font-weight:600;color:var(--color-success, #1a8f3c)}.jobsite-live-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success, #1a8f3c);box-shadow:0 0 0 0 var(--color-success, #1a8f3c);animation:jobsite-live-glow 1.6s ease-in-out infinite}.jobsite-live-stale{color:var(--color-warning, #b8860b)}.jobsite-live-stale .jobsite-live-dot{background:var(--color-warning, #b8860b);box-shadow:0 0 0 0 var(--color-warning, #b8860b);animation-name:jobsite-live-glow-stale}@keyframes jobsite-live-glow{0%,to{box-shadow:0 0 3px #1a8f3c80;opacity:1}50%{box-shadow:0 0 7px 2px #1a8f3cbf;opacity:.85}}@keyframes jobsite-live-glow-stale{0%,to{box-shadow:0 0 3px #b8860b80;opacity:1}50%{box-shadow:0 0 7px 2px #b8860bbf;opacity:.85}}.stepper-pill-countdown{font-size:11px;font-weight:500;padding:1px 6px;border-radius:999px;background:#2563eb1f}.stepper-pill-countdown.is-overdue{background:#dc26261f;color:var(--color-danger)}.stepper-pill-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px;padding-left:10px;white-space:nowrap}.stepper-add-phase{flex-shrink:0;align-self:center}.phase-card--flash{animation:phase-flash .9s ease-out}@keyframes phase-flash{0%{background:#2563eb26}to{background:transparent}}.phases-panel{margin:24px 0}.phases-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.phases-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.phase-card{border:1px solid var(--color-border);border-radius:8px;background:#fff;transition:background .2s;position:relative}.phase-card-handle{position:absolute;left:6px;top:50%;transform:translateY(-50%);z-index:2;background:none;border:none;padding:4px;cursor:grab;color:var(--color-text-muted, #8a7f6d);border-radius:var(--radius-sm, 4px);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.phase-card--sortable .phase-card-row{padding-left:30px}.phase-card:hover .phase-card-handle{opacity:1}.phase-card-handle:hover{background:var(--color-bg-alt, #faf8f4)}.phase-card-handle:active{cursor:grabbing}.phase-card--expanded{border-color:var(--color-primary);box-shadow:0 1px 2px #0000000a}.phase-card-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;padding:10px 14px;background:transparent;border:0;border-radius:8px;text-align:left;cursor:pointer;font:inherit;color:inherit}.phase-card--expanded .phase-card-row{border-radius:8px 8px 0 0}.phase-card-row:hover{background:var(--color-border-light)}.phase-card-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-card-meta{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.phase-card-crew{display:inline-flex;gap:2px}.crew-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-primary-light, #dbeafe);color:var(--color-primary);font-size:10px;font-weight:600}.crew-avatar-more{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-border-light);color:var(--color-text-secondary);font-size:10px;font-weight:600}.phase-card-body{padding:0 14px 14px;border-top:1px solid var(--color-border-light)}.phase-description{margin:10px 0 4px;color:var(--color-text-secondary);font-size:13px}.phase-money-line{margin:4px 0;font-size:13px;font-weight:500}.phase-action-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 6px}.phase-more-menu{position:relative}.phase-more-menu summary{list-style:none;cursor:pointer}.phase-more-menu summary::-webkit-details-marker{display:none}.phase-more-menu-list{position:absolute;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--color-border);border-radius:6px;min-width:160px;padding:4px;list-style:none;z-index:10;box-shadow:0 4px 12px #00000014}.menu-item{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;text-align:left}.menu-item:hover{background:var(--color-border-light)}.menu-item--danger{color:var(--color-danger)}.phase-crew-expanded{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.phase-crew-label{font-size:12px;color:var(--color-text-secondary)}.crew-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:var(--color-border-light);border-radius:999px;font-size:13px}.crew-chip-x{background:transparent;border:0;padding:0;margin-left:2px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex}.phase-assign-picker{display:flex;gap:6px;align-items:center;margin-top:8px}.phase-add-form{display:flex;gap:8px;align-items:center;padding:10px 14px;border:1px dashed var(--color-border);border-radius:8px}.phase-add-actions{display:flex;gap:6px}.phase-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;padding:2px 20px 2px 8px;font:inherit;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5 L5 6.5 L8 3.5' stroke='currentColor' stroke-width='1.3' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 6px center}.phase-status-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.phase-edit-form{display:flex;flex-direction:column;gap:10px;padding:12px 0 4px}.phase-edit-form .form-row{display:flex;flex-direction:column;gap:4px}.phase-edit-form .form-row>span{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-secondary)}.phase-edit-form .form-row--inline{flex-direction:row;align-items:center;gap:8px}.phase-edit-form .form-row--inline>span{text-transform:none;letter-spacing:0;font-size:13px;color:var(--color-text)}.phase-edit-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px}@media(max-width:560px){.phase-edit-form-grid{grid-template-columns:1fr}}.phase-edit-actions{display:flex;gap:6px;margin-top:4px}.job-up-next-strip{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin:12px 0 0;padding:8px 14px;font-size:13px;line-height:1.5;color:var(--color-text);background:var(--color-surface-subtle, #f8fafc);border:1px solid var(--color-border-light);border-radius:6px}.job-up-next-strip strong{font-weight:600;color:var(--color-text-secondary);margin-right:4px}.job-up-next-strip-segment{white-space:nowrap}.job-up-next-strip-countdown{font-weight:500}.job-up-next-strip-countdown.is-overdue{color:var(--color-danger)}.job-up-next-strip--active.is-overdue{border-color:var(--color-danger)}.job-up-next-strip--idle,.job-up-next-strip--done{color:var(--color-text-secondary);font-style:italic}.job-up-next-strip-cta{font-style:normal;font-weight:500;color:var(--color-primary);text-decoration:none;margin-left:2px}.job-up-next-strip-cta:hover{text-decoration:underline}.invoice-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}@media(max-width:900px){.invoice-detail-grid{grid-template-columns:1fr}}.invoice-paper-mat{background:#f4f0e7;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;display:flex;justify-content:center;overflow:hidden}.invoice-rail{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}.invoice-rail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.invoice-rail-card-header{padding:12px 16px;border-bottom:1px solid var(--color-border-light);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.invoice-rail-card-body{padding:16px}.invoice-banner{display:flex;align-items:center;gap:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:14px 18px;margin-bottom:18px}.invoice-banner-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.invoice-banner-body{flex:1;min-width:0}.invoice-banner-label{font-size:13px;font-weight:600;color:var(--color-text)}.invoice-banner-amount{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:6px}.invoice-banner-subline{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.invoice-banner-actions{display:flex;gap:8px;flex-shrink:0}.invoice-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted);margin-bottom:10px}.invoice-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.invoice-breadcrumb a:hover{color:var(--color-text);text-decoration:underline}.invoice-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1300;display:flex;align-items:center;justify-content:center}.invoice-modal{background:var(--color-surface);border-radius:14px;width:520px;max-width:90vw;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;overflow-y:auto}.invoice-modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--color-border)}.invoice-modal-title{font-size:16px;font-weight:700;color:var(--color-text);margin:0 0 2px}.invoice-modal-subtitle{font-size:13px;color:var(--color-text-secondary);margin:0}.invoice-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.invoice-modal-footer{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px}.invoice-chip-group{display:flex;gap:8px;flex-wrap:wrap}.invoice-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;transition:border-color .12s,background .12s;font-family:var(--font-sans)}.invoice-chip:hover{border-color:var(--color-primary)}.invoice-chip.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-deep)}.invoice-preview-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:14px 16px;font-size:12px;color:var(--color-text-secondary);line-height:1.6}.invoice-timeline{display:flex;flex-direction:column;gap:0;position:relative}.invoice-timeline-item{display:flex;gap:12px;padding:10px 0;position:relative}.invoice-timeline-item:not(:last-child):before{content:"";position:absolute;left:9px;top:30px;bottom:-10px;width:1px;background:var(--color-border-light)}.invoice-timeline-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.invoice-timeline-content{flex:1;min-width:0}.invoice-timeline-label{font-size:13px;color:var(--color-text);font-weight:500}.invoice-timeline-time{font-size:11px;color:var(--color-text-muted);margin-top:1px}.invoice-builder-card{background:var(--color-surface);border:1px solid #ece7dd;border-radius:10px}.invoice-builder-card-header{padding:14px 18px;border-bottom:1px solid #f4f0e7;display:flex;align-items:center;justify-content:space-between;border-radius:10px 10px 0 0;overflow:hidden}.invoice-builder-card-title{font-size:13.5px;font-weight:700;color:var(--color-primary-deep)}.invoice-builder-card-sub{font-size:11.5px;color:var(--color-text-muted);margin-top:2px}.invoice-builder-card-body{padding:18px}.invoice-builder-step-badge{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:#faf8f4;color:var(--color-text-muted);letter-spacing:.05em;white-space:nowrap}.invoice-builder-step-badge.done{background:#dcfce7;color:#166534}.invoice-lookup-wrap{position:relative}.invoice-lookup-input{width:100%;padding:14px 18px 14px 40px;font-size:15px;font-family:var(--font-sans);background:var(--color-surface);border:1px solid #ece7dd;border-radius:8px;outline:none;color:var(--color-text);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.invoice-lookup-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a5d4d1f}.invoice-lookup-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid #ece7dd;border-radius:10px;box-shadow:var(--shadow-md);max-height:300px;overflow-y:auto;z-index:200;padding:4px}.invoice-lookup-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:7px;cursor:pointer;transition:background .1s}.invoice-lookup-item:hover,.invoice-lookup-item.active{background:#faf8f4}.invoice-lookup-selected{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#faf8f4;border:1px solid #ece7dd;border-radius:10px}.invoice-lookup-avatar{width:36px;height:36px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}.job-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;padding:32px;animation:fade-in .15s ease}.job-picker-dialog{background:#fff;border-radius:16px;width:clamp(560px,58vw,860px);aspect-ratio:4 / 3;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003;animation:modal-in .18s cubic-bezier(.4,0,.2,1);overflow:hidden}.job-picker-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.job-picker-dialog-title{font-size:16px;font-weight:700;color:var(--color-primary-deep);margin:0}.job-picker-dialog-search{padding:12px 24px;border-bottom:1px solid var(--color-border);position:relative;flex-shrink:0}.job-picker-dialog-body{flex:1;overflow-y:auto}.job-picker-table{width:100%;border-collapse:collapse}.job-picker-table thead th{padding:10px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);position:sticky;top:0}.job-picker-row{cursor:pointer;border-bottom:1px solid var(--color-border-light, #f0ece4);transition:background .1s}.job-picker-row:hover{background:#f4f9f7}.job-picker-row td{padding:14px 16px;font-size:13.5px;vertical-align:middle}.job-picker-dialog-footer{padding:14px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;flex-shrink:0}.invoice-lookup-trigger{width:100%;display:flex;align-items:center;gap:8px;padding:11px 14px;background:#fff;border:1.5px dashed var(--color-border);border-radius:10px;font-size:14px;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:border-color .15s,color .15s,background .15s}.invoice-lookup-trigger:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#f4f9f7}.invoice-lookup-trigger:disabled{opacity:.45;cursor:not-allowed}.job-picker-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;background:#fff;border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s;width:100%}.job-picker-card:hover{border-color:var(--color-primary);background:#f4f9f7;box-shadow:0 2px 8px #1a5d4d1a}.job-picker-card-num{font-size:11px;font-weight:700;font-family:var(--font-mono);color:#c2410c;background:#fff1e5;border-radius:5px;padding:2px 6px}.job-picker-card-title{font-size:13.5px;font-weight:600;color:var(--color-primary-deep);line-height:1.3}.invoice-li-wrap{background:#faf8f4;border:1px solid #ece7dd;border-radius:10px;overflow:hidden}.invoice-li-header,.invoice-li-row{display:grid;grid-template-columns:20px minmax(0,1fr) 60px 66px 92px 92px 28px;gap:8px;align-items:flex-start}.invoice-li-header{padding:8px 12px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid #ece7dd}.invoice-li-row{padding:10px 12px;border-bottom:1px solid #f4f0e7;background:var(--color-surface)}.invoice-li-input{width:100%;padding:7px 9px;font-size:13px;font-family:var(--font-sans);background:var(--color-surface);border:1px solid #ece7dd;border-radius:6px;outline:none;color:var(--color-text);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.invoice-li-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #1a5d4d1a}.invoice-li-input-desc{width:100%;padding:5px 9px;font-size:11.5px;font-family:var(--font-sans);background:transparent;border:1px solid transparent;border-radius:6px;outline:none;color:var(--color-text-secondary);margin-top:3px;box-sizing:border-box;transition:background .12s,border-color .12s}.invoice-li-input-desc:focus{background:var(--color-surface);border-color:#ece7dd}.invoice-li-footer{display:flex;gap:8px;padding:10px 12px;background:var(--color-surface);border-top:1px solid #f4f0e7}.invoice-switch{position:relative;width:36px;height:20px;border-radius:999px;border:none;cursor:pointer;flex-shrink:0;padding:0;transition:background .15s}.invoice-switch-thumb{position:absolute;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:left .15s;pointer-events:none}.invoice-builder-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px}.invoice-builder-page-title{font-size:22px;font-weight:700;color:var(--color-primary-deep);letter-spacing:-.3px;margin:0}.invoice-builder-page-sub{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.invoice-builder-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:2px}.invoice-builder-page{transition:padding-right .28s cubic-bezier(.4,0,.2,1)}.invoice-builder-page.preview-open{padding-right:clamp(400px,38vw,600px)}.invoice-builder-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.invoice-preview-drawer{position:fixed;top:0;right:0;height:100vh;width:clamp(400px,38vw,600px);max-width:100vw;background:#fff;box-shadow:-4px 0 32px #00000024;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:200;display:flex;flex-direction:column;overflow:hidden}.invoice-preview-drawer.open{transform:translate(0)}.invoice-preview-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);transition:transform .28s cubic-bezier(.4,0,.2,1);width:36px;height:100px;background:var(--color-primary);border:none;border-radius:10px 0 0 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:-3px 0 16px #0000002e;color:#fff;padding:0;z-index:201}.invoice-preview-tab.open{transform:translateY(-50%) translate(calc(-1*clamp(400px,38vw,600px)))}.invoice-preview-tab:hover{background:var(--color-primary-deep)}.invoice-preview-tab-text{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;writing-mode:vertical-lr;transform:rotate(180deg)}.invoice-preview-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.invoice-preview-drawer-inner{flex:1;overflow-y:auto;padding:16px}.invoice-builder-preview-label{font-size:11px;font-weight:700;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase}.invoice-builder-preview-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.invoice-builder-preview-mat{background:#f4f0e7;border:1px solid #ece7dd;border-radius:12px;padding:18px;overflow:hidden;height:620px;display:flex;justify-content:flex-start;align-items:flex-start}.invoice-show-row{border-bottom:1px solid #f4f0e7}.invoice-show-row:last-child{border-bottom:none}.invoice-show-row-main{display:flex;align-items:center;gap:12px;padding:12px 18px;-webkit-user-select:none;user-select:none}.invoice-show-row-main:hover{background:#faf8f4}.invoice-show-toggle{width:34px;height:20px;border-radius:999px;background:#d6cfbf;flex-shrink:0;position:relative;transition:background .18s}.invoice-show-toggle:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .18s;box-shadow:0 1px 3px #0003}.invoice-show-toggle.on{background:var(--color-primary)}.invoice-show-toggle.on:after{left:17px}.invoice-show-value-input{margin:0 18px 10px 44px}.public-invoice-page{min-height:100vh;background:var(--color-bg-alt);padding:24px 16px 48px}.public-invoice-container{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.public-invoice-toast{align-self:stretch;text-align:center;padding:12px 16px;font-size:14px;font-weight:600}.public-invoice-loading,.public-invoice-error{text-align:center;padding:80px 16px;color:var(--color-text-secondary)}.public-invoice-error-code{font-size:64px;font-weight:700;color:var(--color-primary-deep);margin-bottom:16px}.public-invoice-error-message{font-size:16px}.public-invoice-footer{text-align:center;font-size:12px;color:var(--color-text-muted);margin-top:24px;padding:16px 0}.public-invoice-actions{display:flex;justify-content:center;margin-top:16px}.public-pay-box{padding:24px;text-align:center}.public-pay-box-amount{font-size:28px;font-weight:700;color:var(--color-primary-deep);font-variant-numeric:tabular-nums;margin-bottom:16px}.public-pay-box-footer{margin-top:12px;font-size:12px;color:var(--color-text-muted)}.public-pay-box-fallback{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.public-pay-box-fallback a{color:var(--color-primary);text-decoration:none}.public-pay-box-divider{text-align:center;color:var(--color-text-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 12px}.public-pay-box-check{background:var(--color-surface-muted, #faf8f4);border:1px solid var(--color-border, #ece7dd);border-radius:6px;padding:12px 14px;text-align:left}.public-pay-box-check-heading{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--color-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.public-pay-box-check-body{font-size:13px;color:var(--color-text-secondary);line-height:1.55}@media(min-width:640px){.public-invoice-page{padding:40px 24px 64px}.public-invoice-container{gap:20px}}.settings-toggle-row{display:flex;align-items:center;gap:12px;font-size:14px}.reminder-list{display:flex;flex-direction:column;gap:12px}.reminder-card-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-light)}.reminder-card-enabled{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px}.reminder-card-body{padding:16px;display:flex;flex-direction:column;gap:12px}.form-row{display:flex;flex-direction:column;gap:4px}.form-row label{font-size:12px;color:var(--color-text-secondary);font-weight:600}.form-row select,.form-row input[type=number],.form-row textarea{padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-family:inherit}.form-hint{font-size:11px;color:var(--color-text-muted)}.form-hint code{background:var(--color-bg-alt);padding:1px 4px;border-radius:3px;margin:0 2px;font-size:10.5px}.settings-save-bar{position:sticky;bottom:0;background:var(--color-bg);border-top:1px solid var(--color-border);padding:12px 0;margin-top:16px;display:flex;justify-content:flex-end}.customer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.customer-header-sub{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.customer-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.customer-main{display:flex;flex-direction:column;gap:16px;min-width:0}.customer-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:80px}.sidebar-card{background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:8px;padding:14px}.sidebar-card-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:700}.sidebar-muted{color:var(--color-text-secondary);font-size:13px}.billing-balance{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;margin:6px 0 0}.billing-balance-owing{color:var(--color-warning)}.billing-balance-clear{color:var(--color-text-secondary)}.billing-secondary{font-size:13px;color:var(--color-text-secondary);border-top:1px solid var(--color-border);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;gap:3px}.billing-secondary strong{color:var(--color-text);font-weight:600}.recent-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;flex-direction:column}.recent-text{font-size:13px;color:var(--color-text)}.recent-time{font-size:11px;color:var(--color-text-secondary)}@media(max-width:900px){.customer-layout{grid-template-columns:1fr}.customer-sidebar{position:static}}.job-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.job-main{display:flex;flex-direction:column;gap:16px;min-width:0}.job-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:80px}.job-status-ribbon{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.job-status-line{font-size:13px;color:var(--color-text-secondary)}.payment-remaining{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;margin:6px 0 0}.payment-remaining-owing{color:var(--color-warning)}.payment-remaining-clear{color:var(--color-success)}.payment-secondary{font-size:13px;color:var(--color-text-secondary);border-top:1px solid var(--color-border);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;gap:3px}.payment-secondary strong{color:var(--color-text);font-weight:600}.payment-progress{margin-top:10px;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.payment-progress>div{height:100%;background:var(--color-success);border-radius:4px}.field-records-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0;font:inherit;color:var(--color-text)}.field-records-toggle:hover .detail-card-title{color:var(--color-primary)}.field-records-body{margin-top:12px}@media(max-width:900px){.job-layout{grid-template-columns:1fr}.job-sidebar{position:static}}.job-detail-header{margin-bottom:16px}.job-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.job-title-text{cursor:text;border-bottom:1px dashed transparent}.job-title-text:hover{border-bottom-color:var(--color-border)}.job-title-input{font:inherit;font-size:inherit;font-weight:inherit;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 6px;background:var(--color-bg);max-width:100%}.job-header-meta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.job-header-customer{font-weight:600}.job-header-address{margin-top:12px}.job-header-meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:2px}.job-header-meta-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-content:start;margin:0;font-size:13.5px}.job-header-meta-grid dt{color:var(--color-text-muted)}.job-header-meta-grid dd{margin:0;color:var(--color-text)}.job-action-menu{position:relative;display:inline-block}.job-action-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:170px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 6px 20px #3c281424;padding:6px;display:flex;flex-direction:column}.job-action-menu-pop button{text-align:left;font:inherit;font-size:13px;padding:7px 10px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text)}.job-action-menu-pop button:hover{background:var(--color-bg-alt)}.job-action-menu-pop button.danger{color:var(--color-danger)}.field-records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-record-tile{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;background:var(--color-bg-alt);cursor:pointer;text-align:left;font:inherit;transition:border-color .1s,background .1s}.field-record-tile:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.field-record-tile-n{font-size:22px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text)}.field-record-tile-l{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-secondary);margin-top:5px}.field-record-modal{position:relative;width:min(92vw,1080px);height:min(86vh,100%);background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:0 22px 60px #28190a57;display:flex;flex-direction:column;overflow:hidden}.field-record-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--color-border)}.field-record-modal-actions{display:flex;align-items:center;gap:8px}.field-record-modal-body{flex:1;overflow:auto;padding:18px 22px}.crew-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 9px}.crew-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0}@media(max-width:900px){.job-header-meta{grid-template-columns:1fr;gap:14px}}@media(max-width:600px){.field-records-grid{grid-template-columns:repeat(2,1fr)}.field-record-modal{width:100vw;height:100vh;border-radius:0}}
