@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.form-field-muted-validity{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-top:.35rem}.form-field-muted-validity--icon-only{justify-content:flex-end}.form-field-help-muted{margin:0;font-size:.8125rem;color:#6b7280;line-height:1.45;flex:1;min-width:0}.form-field-help-muted-spacer{flex:1;min-width:0}.form-field-validity{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:9999px;margin-top:.05rem}.form-field-validity--ok{color:#059669;background:#d1fae5}.form-field-validity--bad{color:#dc2626;background:#fee2e2}.form-field{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-field.full-width{width:100%}.form-label{font-size:.875rem;font-weight:500;color:#374151;display:flex;align-items:center;gap:.25rem}.form-label .required{color:#ef4444}.form-input{padding:.75rem 1rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;transition:all .2s ease;width:100%;color-scheme:light}.form-input[type=date],.form-input[type=time],.form-input[type=datetime-local]{min-height:2.75rem;line-height:1.25}.form-input[type=date]::-webkit-calendar-picker-indicator,.form-input[type=time]::-webkit-calendar-picker-indicator,.form-input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-input.error{border-color:#ef4444}.form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-error{font-size:.75rem;color:#ef4444;margin-top:-.25rem}.form-helper{font-size:.75rem;color:#6b7280;margin-top:-.25rem;line-height:1.35}.form-select{padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;transition:all .2s ease;width:100%;cursor:pointer;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='%23374151' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.form-select-combobox{position:relative}.form-select-chevron{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:#374151;pointer-events:none}.form-select-dropdown{position:absolute;top:calc(100% + .3rem);left:0;right:0;max-height:220px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;box-shadow:0 10px 20px #0f172a1f;z-index:40}.form-select-option{width:100%;text-align:left;border:none;background:transparent;padding:.65rem .85rem;font-size:.85rem;color:#111827;cursor:pointer}.form-select-option:hover{background:#eff6ff}.form-select-option.selected{background:#dbeafe;color:#1d4ed8;font-weight:600}.form-select-empty{padding:.65rem .85rem;font-size:.82rem;color:#6b7280}.form-select-native{display:none}.form-select-empty-badge{margin-left:.5rem;padding:.1rem .4rem;border-radius:999px;font-size:.7rem;font-weight:600;color:#92400e;background:#fef3c7}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-select:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-select.error{border-color:#ef4444}.form-select.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-helper-warning{color:#b45309}.form-textarea{padding:.75rem 1rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;transition:all .2s ease;width:100%;min-height:100px;resize:vertical;font-family:inherit}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.form-textarea.error{border-color:#ef4444}.form-textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}:root{--btn-radius: .5rem;--btn-font-weight: 600;--btn-gap: .45rem;--btn-icon-size: .875rem;--btn-height-sm: 2.25rem;--btn-pad-x-sm: .875rem;--btn-font-sm: .8125rem;--btn-height-md: 2.5rem;--btn-pad-x-md: 1.125rem;--btn-font-md: .875rem;--btn-height-lg: 2.75rem;--btn-pad-x-lg: 1.35rem;--btn-font-lg: .9375rem}.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);margin:0;border:1px solid transparent;border-radius:var(--btn-radius);font-family:inherit;font-weight:var(--btn-font-weight);line-height:1.2;white-space:nowrap;text-align:center;vertical-align:middle;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;height:var(--btn-height-md);min-height:var(--btn-height-md);padding:0 var(--btn-pad-x-md);font-size:var(--btn-font-md)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-full-width{width:100%}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:#6b7280;color:#fff;border-color:#6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563}.btn-danger{background-color:#ef4444;color:#fff;border-color:#ef4444}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-success{background-color:#10b981;color:#fff;border-color:#10b981}.btn-success:hover:not(:disabled){background-color:#059669;border-color:#059669}.btn-warning{background-color:#f59e0b;color:#fff;border-color:#f59e0b}.btn-warning:hover:not(:disabled){background-color:#d97706;border-color:#d97706}.btn-ghost{background-color:#fff;color:#374151;border-color:#d1d5db}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6;border-color:#cbd5e1}.btn-small{height:var(--btn-height-sm);min-height:var(--btn-height-sm);padding:0 var(--btn-pad-x-sm);font-size:var(--btn-font-sm)}.btn-medium{height:var(--btn-height-md);min-height:var(--btn-height-md);padding:0 var(--btn-pad-x-md);font-size:var(--btn-font-md)}.btn-large{height:var(--btn-height-lg);min-height:var(--btn-height-lg);padding:0 var(--btn-pad-x-lg);font-size:var(--btn-font-lg)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--btn-icon-size);height:var(--btn-icon-size);line-height:1}.btn-icon svg,.btn-icon>*{width:var(--btn-icon-size);height:var(--btn-icon-size)}.btn-small .btn-icon,.btn-small .btn-icon svg,.btn-small .btn-icon>*{width:.8rem;height:.8rem}.btn-large .btn-icon,.btn-large .btn-icon svg,.btn-large .btn-icon>*{width:1rem;height:1rem}.btn-spinner{width:var(--btn-icon-size);height:var(--btn-icon-size);border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite;flex-shrink:0}.btn-ghost .btn-spinner{border-color:#37415140;border-top-color:#374151}@keyframes btn-spin{to{transform:rotate(360deg)}}.checkbox-field{margin-bottom:1.5rem}.checkbox-wrapper{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;border:1px solid #e5e7eb;border-radius:.75rem;background:#f9fafb;transition:border-color .2s ease,background-color .2s ease}.checkbox-wrapper:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61f}.checkbox-wrapper.is-checked{background:#eff6ff;border-color:#bfdbfe}.form-checkbox{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.switch-track{width:2.4rem;height:1.45rem;border-radius:999px;background:#d1d5db;position:relative;flex-shrink:0;cursor:pointer;transition:background-color .2s ease;margin-top:.1rem}.switch-thumb{position:absolute;top:.12rem;left:.12rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .2s ease}.form-checkbox:checked+.switch-track{background:#3b82f6}.form-checkbox:checked+.switch-track .switch-thumb{transform:translate(.95rem)}.form-checkbox:focus-visible+.switch-track{box-shadow:0 0 0 3px #3b82f62e}.form-checkbox:disabled{opacity:.6}.form-checkbox:disabled+.switch-track{cursor:not-allowed;background:#e5e7eb}.checkbox-label{font-size:.875rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.25rem;line-height:1.35;margin-top:.1rem}.checkbox-label .required{color:#ef4444}.form-checkbox.error+.switch-track,.checkbox-wrapper .form-checkbox[aria-invalid=true]+.switch-track{outline:2px solid #ef4444;outline-offset:1px}.entity-name-with-code{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;max-width:100%}.entity-name-with-code__name{font-weight:inherit;line-height:1.3;min-width:0}.entity-name-with-code__code{font-size:.75rem;font-weight:400;line-height:1.2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ai-learning-badge{position:absolute;top:.55rem;right:.55rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#4f46e5 55%,#2563eb);color:#fff;box-shadow:0 2px 8px #4f46e559;pointer-events:auto;cursor:help}.ai-learning-badge__icon{font-size:.82rem}.ai-learning-badge__pulse{position:absolute;inset:-3px;border-radius:inherit;border:2px solid rgba(99,102,241,.45);animation:ai-learning-pulse 2s ease-out infinite;pointer-events:none}@keyframes ai-learning-pulse{0%{transform:scale(.9);opacity:.9}70%{transform:scale(1.25);opacity:0}to{transform:scale(1.25);opacity:0}}.dashboard-line-chart{width:100%;min-height:140px}.dashboard-line-chart-svg{width:100%;height:100%;display:block}.dashboard-line-chart-grid{stroke:#e2e8f0;stroke-width:1}.dashboard-line-chart-value{fill:#334155;font-size:10px;font-weight:600}.dashboard-line-chart-label{fill:#64748b;font-size:9px}.dashboard-line-chart-empty{margin:.2rem 0 0;padding:.75rem .8rem;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:.8rem}.core-message-modal-overlay{position:fixed;inset:0;z-index:100140;box-sizing:border-box;background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));overflow:auto;-webkit-overflow-scrolling:touch}.core-message-modal-panel{box-sizing:border-box;width:100%;max-width:32.5rem;max-height:min(92vh,40rem);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 28px 60px #0f172a54;border:1px solid #e2e8f0;overflow:hidden}.core-message-modal-panel--info{border-top:3px solid #3b82f6}.core-message-modal-panel--warning{border-top:3px solid #f59e0b}.core-message-modal-panel--error{border-top:3px solid #ef4444}.core-message-modal-panel--success{border-top:3px solid #22c55e}.core-message-modal-header{flex:0 0 auto;padding:1.1rem 1.1rem .95rem}.core-message-modal-header-inner{display:flex;align-items:flex-start;gap:.85rem}.core-message-modal-icon-wrap{width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid transparent;display:grid;place-items:center;flex:0 0 auto;margin-top:1px;font-size:1rem}.core-message-modal-icon-wrap--info{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.core-message-modal-icon-wrap--warning{background:#fef3c7;border-color:#fde68a;color:#b45309}.core-message-modal-icon-wrap--error{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.core-message-modal-icon-wrap--success{background:#dcfce7;border-color:#bbf7d0;color:#15803d}.core-message-modal-copy{flex:1;min-width:0}.core-message-modal-title{margin:0;font-size:1.05rem;color:#0f172a;font-weight:700;line-height:1.3;word-break:break-word}.core-message-modal-message{margin:.4rem 0 0;color:#475569;line-height:1.55;font-size:.92rem;white-space:pre-line;word-break:break-word;overflow-wrap:anywhere;max-height:min(28vh,12rem);overflow:auto;-webkit-overflow-scrolling:touch}.core-message-modal-dismiss{border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;width:2rem;height:2rem;min-width:2rem;min-height:2rem;display:grid;place-items:center;cursor:pointer;flex-shrink:0;touch-action:manipulation}.core-message-modal-dismiss:hover{background:#f8fafc;color:#0f172a}.core-message-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 1.1rem .95rem;-webkit-overflow-scrolling:touch}.core-message-modal-footer{flex:0 0 auto;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.55rem;padding:.85rem 1.1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.core-message-modal-footer .btn{flex:0 0 auto;width:auto;max-width:100%;min-height:2.5rem}.core-message-modal-reason-label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:600;color:#334155}.core-message-modal-reason-input{width:100%;min-height:96px;resize:vertical;border:1px solid #cbd5e1;border-radius:10px;padding:.65rem .75rem;font:inherit;font-size:1rem;color:#0f172a;box-sizing:border-box;background:#fff}.core-message-modal-reason-input[type=text],.core-message-modal-reason-input[type=date]{min-height:2.75rem;resize:none}.core-message-modal-reason-input:focus{outline:2px solid #93c5fd;border-color:#60a5fa}.core-message-modal-reason-error{margin:.45rem 0 0;color:#b91c1c;font-size:.85rem}@media(min-width:641px)and (max-width:1024px){.core-message-modal-overlay{padding:max(1.25rem,env(safe-area-inset-top,0px)) max(1.25rem,env(safe-area-inset-right,0px)) max(1.25rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}.core-message-modal-panel{max-width:30rem}.core-message-modal-title{font-size:1.02rem}.core-message-modal-message{font-size:.9rem}}@media(max-width:640px){.core-message-modal-overlay{align-items:end;place-items:end center;padding:max(.5rem,env(safe-area-inset-top,0px)) 0 0 0}.core-message-modal-panel{width:100%;max-width:none;max-height:min(92dvh,92vh);border-radius:16px 16px 0 0;margin-top:auto}.core-message-modal-header{padding:1rem 1rem .85rem}.core-message-modal-header-inner{gap:.7rem}.core-message-modal-icon-wrap{width:2.1rem;height:2.1rem;font-size:.95rem}.core-message-modal-title{font-size:1rem}.core-message-modal-message{font-size:.88rem;max-height:min(32vh,10rem)}.core-message-modal-dismiss{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}.core-message-modal-body{padding:0 1rem .85rem}.core-message-modal-footer{flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.85rem 1rem max(.85rem,env(safe-area-inset-bottom,0px))}.core-message-modal-footer .btn{flex:0 0 auto;width:auto;min-height:2.75rem}.core-message-modal-reason-input{font-size:16px}}@media(min-width:1025px){.core-message-modal-panel{max-width:34rem}}.core-message-toast{--toast-offset-top: calc( var(--layout-top-offset, var(--navbar-total-height, 114px)) + env(safe-area-inset-top, 0px) + .5rem );--toast-offset-x: max(1rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--toast-max-width: 36rem;position:fixed;top:var(--toast-offset-top);left:50%;transform:translate(-50%);z-index:100100;box-sizing:border-box;display:flex;align-items:flex-start;gap:.75rem;width:min(var(--toast-max-width),calc(100vw - (var(--toast-offset-x) * 2)));max-height:min(40vh,16rem);padding:.85rem .95rem;border-radius:12px;border:1px solid transparent;box-shadow:0 12px 32px #0f172a38;animation:core-message-toast-in .18s ease-out;pointer-events:auto}@keyframes core-message-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.core-message-toast__icon{display:grid;place-items:center;flex:0 0 auto;width:1.85rem;height:1.85rem;margin-top:.05rem;border-radius:999px;font-size:.95rem}.core-message-toast__copy{flex:1 1 auto;min-width:0;overflow:auto;max-height:inherit;-webkit-overflow-scrolling:touch}.core-message-toast__title{display:block;margin:0;font-size:.95rem;font-weight:700;line-height:1.3;word-break:break-word}.core-message-toast__message{margin:0;font-size:.9rem;font-weight:500;line-height:1.45;white-space:pre-line;word-break:break-word;overflow-wrap:anywhere}.core-message-toast__title+.core-message-toast__message{margin-top:.25rem}.core-message-toast__close{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;min-width:2rem;min-height:2rem;margin:0;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;font-size:.85rem;touch-action:manipulation}.core-message-toast__close:hover{background:#0f172a0f}.core-message-toast--info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.core-message-toast--info .core-message-toast__icon{background:#dbeafe;color:#1d4ed8}.core-message-toast--info .core-message-toast__close{color:#1d4ed8}.core-message-toast--warning{background:#fffbeb;border-color:#fde68a;color:#78350f}.core-message-toast--warning .core-message-toast__icon{background:#fef3c7;color:#b45309}.core-message-toast--warning .core-message-toast__close{color:#b45309}.core-message-toast--error{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.core-message-toast--error .core-message-toast__icon{background:#fee2e2;color:#b91c1c}.core-message-toast--error .core-message-toast__close{color:#b91c1c}.core-message-toast--success{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.core-message-toast--success .core-message-toast__icon{background:#dcfce7;color:#15803d}.core-message-toast--success .core-message-toast__close{color:#15803d}@media(min-width:641px)and (max-width:1024px){.core-message-toast{--toast-offset-x: max(1.25rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--toast-max-width: 32rem;padding:.9rem 1rem;max-height:min(36vh,14rem)}.core-message-toast__title{font-size:.94rem}.core-message-toast__message{font-size:.88rem}}@media(max-width:640px){.core-message-toast{--toast-offset-top: calc( var(--layout-top-offset, var(--navbar-total-height, 110px)) + env(safe-area-inset-top, 0px) + .35rem );--toast-offset-x: max(.75rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--toast-max-width: 100%;gap:.65rem;width:calc(100vw - (var(--toast-offset-x) * 2));max-height:min(45vh,12.5rem);padding:.75rem .8rem;border-radius:11px}.core-message-toast__icon{width:1.7rem;height:1.7rem;font-size:.88rem}.core-message-toast__title{font-size:.88rem}.core-message-toast__message{font-size:.84rem;line-height:1.4}.core-message-toast__close{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}}@media(min-width:1025px){.core-message-toast{--toast-max-width: 36rem;max-height:min(32vh,18rem)}}@media(prefers-reduced-motion:reduce){.core-message-toast{animation:none}}.async-loading-overlay{position:fixed;inset:0;z-index:100150;display:grid;place-items:center;padding:1.25rem;background:#0f172a94;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:async-loading-overlay-fade-in .22s ease}.async-loading-overlay--closing{animation:async-loading-overlay-fade-out .22s ease forwards;pointer-events:none}.async-loading-overlay__panel{position:relative;width:min(100%,24rem);overflow:hidden;border-radius:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 24px 48px #0f172a2e,0 8px 16px #0f172a14;animation:async-loading-overlay-panel-in .32s cubic-bezier(.16,1,.3,1)}.async-loading-overlay--closing .async-loading-overlay__panel{animation:async-loading-overlay-panel-out .22s ease forwards}.async-loading-overlay__accent{height:4px;background:var(--color-primary-gradient, linear-gradient(135deg, #5a7aad 0%, #456298 55%, #4d6d94 100%))}.async-loading-overlay__body{display:flex;align-items:flex-start;gap:1rem;padding:1.35rem 1.4rem 1.15rem}.async-loading-overlay__icon-wrap{flex:0 0 auto;width:3.25rem;height:3.25rem;display:grid;place-items:center;border-radius:999px;background:var(--color-primary-soft, #e6edf8);border:1px solid rgba(69,98,152,.12)}.async-loading-overlay__spinner{width:1.55rem;height:1.55rem;border-radius:999px;border:2.5px solid rgba(69,98,152,.16);border-top-color:var(--color-primary, #456298);border-right-color:var(--color-primary, #456298);animation:async-loading-overlay-spin .72s cubic-bezier(.55,.12,.35,.88) infinite}.async-loading-overlay__copy{flex:1;min-width:0;padding-top:.2rem}.async-loading-overlay__text{margin:0;color:#0f172a;font-size:.98rem;font-weight:600;line-height:1.45;letter-spacing:-.01em}.async-loading-overlay__subtitle{margin:.35rem 0 0;color:#64748b;font-size:.84rem;line-height:1.4}.async-loading-overlay__progress{height:3px;background:#f1f5f9;overflow:hidden}.async-loading-overlay__progress-bar{width:42%;height:100%;background:var(--color-primary-gradient, linear-gradient(135deg, #5a7aad 0%, #456298 55%, #4d6d94 100%));border-radius:0 999px 999px 0;animation:async-loading-overlay-progress 1.35s ease-in-out infinite}@keyframes async-loading-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes async-loading-overlay-fade-out{0%{opacity:1}to{opacity:0}}@keyframes async-loading-overlay-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes async-loading-overlay-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes async-loading-overlay-spin{to{transform:rotate(360deg)}}@keyframes async-loading-overlay-progress{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media(prefers-reduced-motion:reduce){.async-loading-overlay,.async-loading-overlay__panel,.async-loading-overlay__spinner,.async-loading-overlay__progress-bar{animation:none!important}.async-loading-overlay--closing{opacity:0}}.subscription-readonly-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid #f59e0b66;background:#fffbeb;color:#92400e}.subscription-readonly-banner__text{margin:0;line-height:1.45;flex:1 1 16rem}.subscription-readonly-banner__action,.subscription-suspended-panel__action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:8px;border:none;background:#2563eb;color:#fff;text-decoration:none;font-weight:600;cursor:pointer;white-space:nowrap}.subscription-readonly-banner__action:hover,.subscription-suspended-panel__action:hover{opacity:.92;color:#fff}.subscription-suspended-panel{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 180px);padding:2rem 1rem}.subscription-suspended-panel__card{width:min(100%,560px);padding:2rem;border-radius:16px;border:1px solid #fecaca;background:linear-gradient(180deg,#fff7f7,#fff);box-shadow:0 12px 32px #0f172a14;text-align:center}.subscription-suspended-panel__icon{font-size:3rem;color:#dc2626;margin-bottom:1rem}.subscription-suspended-panel__title{margin:0 0 .75rem;font-size:1.6rem;color:#111827}.subscription-suspended-panel__description{margin:0 0 1.5rem;color:#4b5563;line-height:1.6}.subscription-suspended-panel__status{display:inline-block;margin-bottom:1.25rem;padding:.35rem .75rem;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.subscription-write-button--locked{opacity:.72}.subscription-write-button__lock{display:inline-flex;align-items:center;justify-content:center;width:var(--btn-icon-size, .875rem);height:var(--btn-icon-size, .875rem);margin-left:.15rem;font-size:.75rem;line-height:1}.subscription-write-link--locked{display:inline-flex;align-items:center;gap:.4rem;opacity:.72;cursor:not-allowed;pointer-events:none}.subscription-write-link__lock{display:inline-flex;align-items:center;font-size:.8rem}:root{--navbar-height: 74px;--navbar-history-height: 40px;--navbar-shadow: var(--navbar-shell-shadow, 0 10px 28px rgba(30, 64, 175, .24))}.navbar-banner{width:100%;height:var(--navbar-height);max-width:100vw;background:var(--navbar-shell-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--navbar-shell-border);display:flex;align-items:center;padding:0 1.5rem;box-shadow:var(--navbar-shadow);position:relative;z-index:99999;animation:slideDown .4s ease-out;overflow:hidden;box-sizing:border-box}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.navbar-inner{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:100%;min-width:0;position:relative;overflow:hidden;box-sizing:border-box}.navbar-left{flex:1;min-width:0;display:flex;align-items:center;gap:.8rem;overflow-x:hidden;overflow-y:visible}.navbar-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}.navbar-menu-toggle:hover{background:#ffffff38}.navbar-menu-toggle:active{transform:scale(.96)}.navbar-menu-toggle svg{font-size:1.1rem}.navbar-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.navbar-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#fffffff2;border:1px solid rgba(255,255,255,.8);box-shadow:0 4px 10px #16102a33;padding:5px}.navbar-logo-img{width:100%;height:100%;object-fit:cover;border-radius:8px}.brand-info{min-width:0;display:flex;flex-direction:column;line-height:1.2}.brand-title{color:#fff;font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.navbar-banner .brand-subtitle{color:#fff;font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;text-shadow:0 1px 2px rgba(15,23,42,.35);letter-spacing:.01em}.navbar-history-bar{position:relative;z-index:99998;height:var(--navbar-history-height);background:linear-gradient(90deg,#f8fafc,#e2e8f0);border-bottom:1px solid rgba(100,116,139,.22);box-shadow:0 4px 12px #0f172a14;display:flex;align-items:center}.navbar-history-inner{width:100%;max-width:100%;padding:0 1.5rem;box-sizing:border-box}.breadcrumb{color:#0f172a;font-size:.85rem;font-weight:600;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;overflow-x:hidden;overflow-y:visible;min-width:0}.breadcrumb-subbar{font-size:.95rem;font-weight:600;white-space:nowrap;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.breadcrumb-link{cursor:pointer;transition:color .2s ease;color:#334155;font-weight:500}.breadcrumb-link:hover{color:#0f172a;text-decoration:underline}.separator{color:#64748b;margin:0 .25rem;font-weight:500}.current{font-weight:700;color:#0f172a}.navbar-right{display:flex;align-items:center;gap:.75rem;position:relative;z-index:100000;overflow:visible;flex-shrink:0}.navbar-role-badge{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 .72rem;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:#ffffff29;color:#fff;font-size:.73rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.actions-group{display:flex;align-items:center;gap:.5rem;padding:.25rem;border-radius:14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.icon-wrapper{width:40px;height:40px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:100000;overflow:visible}.icon-wrapper:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.icon-wrapper:active{transform:translateY(0)}.notification-trigger{background:#ffffff2e;border-color:#ffffff59;box-shadow:inset 0 1px #ffffff40}.notification-trigger:hover{background:#ffffff47;box-shadow:0 6px 16px #0003,inset 0 1px #ffffff59}.notification-trigger.active{background:#ffffff59;border-color:#ffffff80;box-shadow:0 8px 18px #00000038,inset 0 1px #ffffff73}.icon{color:#fff!important;font-size:1.2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.user-menu-wrapper{padding:0;overflow:visible;width:42px;height:42px;border-radius:14px;border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 14px #1d133542}.user-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:12px}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.45)}.user-initial{font-size:1.1rem;font-weight:700;color:#fff;text-transform:uppercase}.notification-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;font-size:.68rem;font-weight:700;line-height:1;padding:.23rem .42rem;border-radius:999px;min-width:19px;text-align:center;border:2px solid rgba(91,125,184,.95);box-shadow:0 4px 10px #b91c1c66;transition:transform .2s ease}.notification-trigger:hover .notification-badge{transform:scale(1.08)}.dropdown-menu{position:fixed;background:#fff;border-radius:16px;padding:.5rem 0;box-sizing:border-box;min-width:min(280px,calc(100vw - 1rem));max-width:min(360px,calc(100vw - 1rem));max-height:min(70vh,28rem);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 10px 40px #00000026,0 0 0 1px #0000000d;animation:dropdownFadeIn .2s ease-out;z-index:100110!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform-origin:top right}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem}.dropdown-header h4{margin:0;font-size:.875rem;font-weight:600;color:#1a202c;text-transform:uppercase;letter-spacing:.5px}.notification-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-settings-btn{width:30px;height:30px;border:1px solid #dbe3ef;border-radius:9px;background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.notification-settings-btn .dropdown-icon{font-size:.9rem}.notification-settings-btn:hover{border-color:#5b7db866;background:#eef4ff}.notification-header-subtitle{display:block;margin-top:.45rem;color:#64748b;font-size:.78rem;font-weight:500}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-info strong{color:#111827;font-size:.9rem;font-weight:600}.user-info small{color:#6b7280;font-size:.8rem}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;transition:all .2s ease;color:#374151;font-size:.9rem;font-weight:500}.dropdown-item:hover{background:linear-gradient(90deg,rgba(91,125,184,.1) 0%,transparent 100%);color:var(--color-primary, #5b7db8)}.dropdown-icon{font-size:1rem;color:var(--color-primary, #5b7db8);min-width:18px;transition:transform .2s ease}.dropdown-item:hover .dropdown-icon{transform:scale(1.1)}.notification-item{margin:.4rem .75rem .6rem;border:1px solid #e5e7eb;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);box-shadow:0 1px 2px #0f172a14}.notification-item .dropdown-icon{color:var(--color-primary, #5b7db8)}.notification-item:hover{background:linear-gradient(90deg,#5b7db824,#5b7db80d);border-color:#5b7db852;color:#2f4b74;transform:translate(2px)}.notification-item:hover .dropdown-icon{transform:scale(1.08)}.notification-detail-item{align-items:flex-start;margin:.35rem .75rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0d;padding:.65rem .75rem}.notification-content{display:flex;flex-direction:column;gap:.22rem;width:100%}.notification-content strong{color:#0f172a;font-size:.86rem;font-weight:700;line-height:1.25;letter-spacing:.01em}.notification-text{color:#4b5563;font-size:.84rem;line-height:1.35;white-space:normal;word-break:break-word}.notification-detail-item:hover{border-color:#5b7db859;background:#f8fbff;transform:translate(1px)}.notification-list{max-height:260px;overflow-y:auto;padding:.1rem 0 .3rem}.notification-list::-webkit-scrollbar{width:8px}.notification-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.notification-action-item{justify-content:center;font-weight:600;color:var(--color-primary, #5b7db8);border-top:1px solid #e5e7eb;margin-top:.35rem;padding-top:.8rem}.notification-action-item:hover{background:#5b7db81a}.dropdown-divider{height:1px;background:linear-gradient(90deg,transparent 0%,#e5e7eb 50%,transparent 100%);margin:.5rem 0}.logout-item{color:#dc2626}.logout-item:hover{background:#dc262614;color:#dc2626}.logout-item .dropdown-icon{color:#dc2626}.user-name-tooltip{position:absolute;bottom:-2.5rem;left:50%;transform:translate(-50%);background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000;box-shadow:0 4px 12px #0003}.icon-wrapper:hover .user-name-tooltip{opacity:1}.user-name-tooltip:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.85) transparent}@media(max-width:768px){.navbar-banner{padding:0 1rem}.navbar-menu-toggle{display:flex}.navbar-logo{width:36px;height:36px}.navbar-left{gap:.75rem}.brand-title{max-width:120px;font-size:.82rem}.navbar-banner .brand-subtitle{max-width:140px;font-size:.75rem}.navbar-history-bar{height:36px}.navbar-history-inner{padding:0 1rem}.breadcrumb-subbar{font-size:.84rem}.icon-wrapper{width:36px;height:36px;border-radius:10px}.actions-group{gap:.35rem;padding:.2rem}.dropdown-menu{min-width:min(220px,calc(100vw - 1rem));max-width:calc(100vw - 1rem);max-height:min(65vh,24rem)}.navbar-role-badge{display:none}}@media(min-width:641px)and (max-width:1024px){.dropdown-menu{max-width:min(320px,calc(100vw - 1.5rem));max-height:min(68vh,26rem)}}:root{--sidebar-width: 280px;--sidebar-collapsed-width: 72px;--sidebar-surface: #e4eaf3;--sidebar-surface-elevated: #ffffff;--sidebar-border: #c5d0e0;--sidebar-text: #1a2740;--sidebar-text-muted: #5a6a82;--sidebar-text-subtle: #3f4f66;--sidebar-hover: rgba(255, 255, 255, .62);--sidebar-active-bg: #ffffff;--sidebar-active-border: var(--color-primary, #456298);--sidebar-radius: 10px;--sidebar-transition: .2s ease}.sidebar{width:var(--sidebar-width);height:calc(100vh - var(--layout-top-offset, var(--navbar-total-height, 74px)));background:linear-gradient(180deg,#e8edf5,#dfe6f1);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;transition:width var(--sidebar-transition),transform var(--sidebar-transition);position:fixed;top:var(--layout-top-offset, var(--navbar-total-height, 74px));left:0;z-index:1000;box-shadow:2px 0 14px #2d416014;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-backdrop{display:none}.collapse-tab{flex-shrink:0;margin-left:auto;border:none;padding:0;background:transparent;cursor:pointer}.collapse-button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--sidebar-border);background:var(--sidebar-surface-elevated);color:var(--sidebar-text-subtle);transition:background var(--sidebar-transition),color var(--sidebar-transition),border-color var(--sidebar-transition)}.collapse-button svg{font-size:.75rem}.collapse-tab:hover .collapse-button{background:var(--sidebar-hover);color:var(--sidebar-active-border);border-color:#cbd5e1}.sidebar-brand{display:flex;align-items:center;gap:.625rem;padding:.75rem .625rem;margin:.625rem .625rem .375rem;background:var(--sidebar-surface-elevated);border:1px solid var(--sidebar-border);border-radius:12px;flex-shrink:0;min-width:0;box-shadow:0 1px 2px #2d41600f}.sidebar.collapsed .sidebar-brand{flex-direction:column;align-items:center;gap:.5rem;padding:.625rem .375rem .5rem}.sidebar.collapsed .collapse-tab{margin-left:0}.sidebar .brand-logo{flex-shrink:0}.logo-img{width:40px;height:40px;object-fit:contain;border-radius:10px;background:var(--sidebar-surface-elevated);border:1px solid var(--sidebar-border);padding:4px}.sidebar.collapsed .logo-img{width:32px;height:32px;padding:3px}.sidebar .brand-text{min-width:0;flex:1}.sidebar .brand-name{margin:0;font-size:.9375rem;font-weight:700;color:var(--sidebar-text);line-height:1.25;letter-spacing:-.01em}.sidebar .brand-subtitle{margin:.125rem 0 0;font-size:.75rem;font-weight:500;color:var(--sidebar-text-muted);line-height:1.3}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:.5rem .5rem 1rem;scrollbar-gutter:stable}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#a8b8cc;border-radius:4px}.sidebar-nav-group+.sidebar-nav-group{margin-top:.125rem}.section-label{margin:.75rem 0 .375rem;padding:0 .625rem;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.section-label:after{display:none}.sidebar.collapsed .section-label{display:none}.menu{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:2px}.menu li{width:100%}.menu-link{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;border-radius:var(--sidebar-radius);text-decoration:none;font-size:.875rem;font-weight:500;color:var(--sidebar-text);border:1px solid transparent;transition:background var(--sidebar-transition),color var(--sidebar-transition),border-color var(--sidebar-transition)}.menu-link:before,.menu-link:after{display:none}.menu-icon{flex-shrink:0;width:1.125rem;font-size:1rem;color:var(--sidebar-text-muted);transition:color var(--sidebar-transition)}.menu-link span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.menu li:hover .menu-link:not(.is-active){background:var(--sidebar-hover);color:var(--sidebar-text)}.menu li:hover .menu-link:not(.is-active) .menu-icon{color:var(--sidebar-text-subtle)}.menu-link.is-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-border);font-weight:600;border-color:#b8c9e0;box-shadow:0 1px 3px #2d416014}.menu-link.is-active .menu-icon{color:var(--sidebar-active-border)}.menu-link:focus-visible{outline:2px solid var(--sidebar-active-border);outline-offset:2px}.sidebar-module{width:100%}.menu-link-module{display:flex;align-items:stretch;padding:0;overflow:hidden;gap:0}.menu-link-module-main{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0;padding:.5rem .5rem .5rem .625rem;text-decoration:none;color:inherit}.menu-link-module-main span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-link-module-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;border:none;background:transparent;color:var(--sidebar-text-muted);cursor:pointer;border-left:1px solid transparent}.menu-link-module-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-text-subtle)}.menu-link-module.is-active .menu-link-module-toggle{border-left-color:#b8c9e0}.menu-nested{padding:.125rem 0 .125rem .625rem;border-left:2px solid #b8c5d9;margin:.25rem 0 .5rem .75rem;gap:4px}.menu-link-child{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .5rem;font-size:.8125rem;font-weight:500;color:var(--sidebar-text-subtle);line-height:1.35}.menu-icon-child{flex-shrink:0;width:.875rem;height:.875rem;margin-top:.15rem;opacity:.85}.menu-link-child.is-active{color:var(--sidebar-active-border);font-weight:600;background:var(--sidebar-active-bg);border-color:#b8c9e0;box-shadow:0 1px 2px #2d41600f}.menu-link-child-group{padding:0;overflow:hidden;align-items:stretch}.menu-link-child-group.is-group-active:not(.is-active){background:transparent;border-color:transparent;box-shadow:none;color:var(--sidebar-text);font-weight:600}.menu-link-child-main{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0;padding:.45rem .4rem .45rem .5rem;text-decoration:none;color:inherit;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit}.menu-link-child-folder{width:100%}.menu-link-child-main span,.menu-link-child>span{flex:1;min-width:0;white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word;line-height:1.35}.menu-link-child-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;align-self:stretch;border:none;background:transparent;color:var(--sidebar-text-muted);cursor:pointer}.menu-link-child-toggle:hover{background:var(--sidebar-hover);color:var(--sidebar-text-subtle)}.menu-nested-depth-1{margin-left:.5rem;padding-left:.5rem}.menu-nested-depth-1 .menu-link-child{padding-left:.4rem;padding-right:.35rem}.sidebar-nav-group.is-nav-group-active>.menu-link-child-group{color:var(--sidebar-active-border)}.sidebar-module.is-module-active>.menu-link-module{color:var(--sidebar-active-border)}.sidebar.collapsed .menu-link{justify-content:center;padding:.625rem}.sidebar.collapsed .menu-link span{display:none}@media(max-width:768px){.sidebar{height:calc(100vh - var(--layout-top-offset, var(--navbar-total-height, 74px)));width:min(var(--sidebar-width),86vw);transform:translate(-100%);box-shadow:8px 0 24px #0f172a1f;z-index:10001}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:min(var(--sidebar-width),86vw)}.sidebar-backdrop{display:block;position:fixed;inset:var(--layout-top-offset, var(--navbar-total-height, 74px)) 0 0 0;z-index:10000;width:100%;margin:0;padding:0;border:none;background:#0f172a80;cursor:pointer}.collapse-tab{display:none}}:root{--footer-height: 40px}.app-footer{position:relative;width:100%;min-height:var(--footer-height);flex:0 0 auto;padding:0 1rem;border-top:1px solid #e2e8eb;color:#60727a;background:#f4f7f8}.footer-content{display:flex;width:100%;min-height:var(--footer-height);align-items:center;justify-content:center;gap:.85rem;margin:0 auto}.footer-section,.footer-item{display:flex;align-items:center}.footer-section{gap:.6rem}.footer-item{gap:.35rem;color:#60727a;font-size:.68rem}.footer-label{color:#7d9098;font-weight:500}.footer-value{color:#30434b;font-weight:700}.footer-value.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .4rem;border:1px solid #d5e2e6;border-radius:999px;color:#075b79;background:#eef6f8;font-size:.64rem;letter-spacing:.025em}.footer-value.badge-non-prod{border-color:#f3d59a;color:#8a5208;background:#fff8e8}.footer-badge-dot{font-size:.38rem}.footer-separator{width:1px;height:14px;flex:0 0 auto;background:#dce6e9}.footer-item.support-link{gap:.35rem;padding:.22rem .45rem;border-radius:.45rem;color:#087da3;text-decoration:none;transition:color .15s ease,background .15s ease}.footer-item.support-link:hover{color:#075b79;background:#e7f7fc}.footer-icon{font-size:.7rem}.footer-text{color:inherit;font-size:.68rem;white-space:nowrap}.footer-copyright{color:#8a9aa1;font-size:.62rem}@media(max-width:768px){:root{--footer-height: 46px}.app-footer{padding-inline:.65rem}.footer-content{justify-content:space-between;gap:.5rem}.footer-label,.footer-separator,.footer-copyright,.footer-section:nth-child(2){display:none}}.safety-injury-alert-banner{position:fixed;top:var(--navbar-total-height);left:0;right:0;z-index:99998;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;min-height:48px;padding:.55rem 1.25rem;color:#fff;box-shadow:0 6px 18px #0f172a2e}.safety-injury-alert-banner--sos{min-height:52px;border-bottom:1px solid #7f1d1d;background:linear-gradient(90deg,#450a0a,#991b1b 40%,#dc2626,#7f1d1d);box-shadow:0 8px 22px #7f1d1d6b;animation:safety-sos-pulse 1.4s ease-in-out infinite}.safety-injury-alert-banner--sos .safety-injury-alert-banner__text{font-weight:800;letter-spacing:.01em;text-transform:uppercase}.safety-injury-alert-banner--high{border-bottom:1px solid #b91c1c;background:linear-gradient(90deg,#991b1b,#dc2626 55%,#b91c1c);box-shadow:0 6px 18px #7f1d1d47}@keyframes safety-sos-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}.safety-injury-alert-banner--medium{border-bottom:1px solid #c2410c;background:linear-gradient(90deg,#9a3412,#ea580c 55%,#c2410c)}.safety-injury-alert-banner--low{border-bottom:1px solid #a16207;background:linear-gradient(90deg,#854d0e,#ca8a04 55%,#a16207)}.safety-injury-alert-banner__text{margin:0;display:inline-flex;align-items:center;gap:.55rem;font-weight:650;line-height:1.35;flex:1 1 16rem}.safety-injury-alert-banner__icon{flex-shrink:0;font-size:1.05rem}.safety-injury-alert-banner__action{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.55);background:#ffffff24;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.safety-injury-alert-banner__action:hover{background:#ffffff3d;color:#fff}@media(max-width:720px){.safety-injury-alert-banner{padding:.5rem .85rem}}:root{--layout-content-padding-x: 2rem;--layout-content-padding-y: 1.5rem;--page-shell-padding-block: .5rem;--page-shell-padding-inline: 0;--page-fluid-max-width: min(100%, 1520px);--page-form-max-width: min(100%, 1520px);--form-shell-max-width: min(100%, 1520px);--workspace-bg: #ffffff;--workspace-bg-muted: #f8fafc}.page-shell{width:100%;max-width:var(--page-fluid-max-width);margin-inline:auto;padding:var(--page-shell-padding-block) var(--page-shell-padding-inline);padding-bottom:2rem;box-sizing:border-box}.page-shell--form{max-width:var(--page-form-max-width);margin-inline:auto;padding-inline:0}:root{--ui-surface: #ffffff;--ui-surface-muted: #f8fafc;--ui-border: #e2e8f0;--ui-border-strong: #cbd5e1;--ui-text: #0f172a;--ui-text-secondary: #475569;--ui-text-muted: #64748b;--ui-chip-bg: var(--color-primary-soft, #e6edf8);--ui-chip-text: var(--color-primary-strong, #2d4160);--ui-chip-border: #b8c9e0;--ui-success-bg: #ecfdf3;--ui-success-text: #166534;--ui-success-border: #86efac;--ui-warning-bg: #fffbeb;--ui-warning-text: #92400e;--ui-warning-border: #fcd34d;--ui-danger-bg: #fef2f2;--ui-danger-text: #991b1b;--ui-danger-border: #fca5a5;--ui-info-bg: var(--color-primary-soft, #e6edf8);--ui-info-text: var(--color-primary-strong, #2d4160);--ui-info-border: #b8c9e0;--ui-neutral-bg: #f1f5f9;--ui-neutral-text: #334155;--ui-neutral-border: #cbd5e1;--ui-feature-icon-bg: rgba(69, 98, 152, .12);--ui-feature-icon-color: var(--color-primary, #456298)}:root{--navbar-height: 74px;--navbar-history-height: 40px;--navbar-total-height: calc(var(--navbar-height) + var(--navbar-history-height));--system-alert-banner-height: 0px;--layout-top-offset: calc(var(--navbar-total-height) + var(--system-alert-banner-height));--footer-height: 40px;--sidebar-width: 252px;--sidebar-width-collapsed: 72px;--content-bg: var(--workspace-bg, #ffffff);--content-bg-muted: var(--workspace-bg-muted, #f8fafc);--navbar-gradient-start: var(--color-primary, #456298);--navbar-gradient-end: var(--color-primary-strong, #2d4160);--navbar-shell-bg: linear-gradient(135deg, var(--navbar-gradient-start) 0%, var(--navbar-gradient-end) 100%);--navbar-shell-border: rgba(255, 255, 255, .22);--navbar-shell-shadow: 0 10px 28px rgba(30, 64, 175, .24)}.layout{display:flex;flex-direction:column;height:100vh;min-height:100vh;max-width:100vw;overflow:hidden;background:var(--content-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.layout-header{position:fixed;top:0;left:0;right:0;z-index:99999;background:transparent;width:100%;max-width:100%;overflow-x:hidden;overflow-y:visible}.layout-body{display:flex;flex:1 1 auto;position:relative;min-height:0;margin-top:var(--layout-top-offset);margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:100vw;overflow:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.layout-body.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed);width:calc(100% - var(--sidebar-width-collapsed))}.layout-workspace{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--content-bg)}.layout-content{flex:1 1 auto;min-width:0;min-height:0;padding:var(--layout-content-padding-y) var(--layout-content-padding-x);overflow-y:auto;overflow-x:hidden;background:var(--content-bg);box-sizing:border-box;position:relative;z-index:1;scrollbar-gutter:stable}body.sidebar-mobile-open{overflow:hidden}.layout-content>*{max-width:100%;box-sizing:border-box}@media(max-width:768px){:root{--footer-height: 46px}.layout-body,.layout-body.sidebar-collapsed,.layout-body.sidebar-expanded{margin-left:0;width:100%}.layout-content{--layout-content-padding-x: 1.25rem;--layout-content-padding-y: 1.125rem}}.login-wrapper{--login-navy: #202d32;--login-blue: #087da3;--login-blue-dark: #075b79;--login-blue-soft: #e7f7fc;--login-text: #1b292f;--login-muted: #60727a;--login-border: #d5e2e6;position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:clamp(1rem,3vw,2.5rem);isolation:isolate;background:#edf5f7}.login-background{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 12% 15%,rgba(31,181,224,.16),transparent 30%),radial-gradient(circle at 88% 85%,rgba(8,125,163,.14),transparent 34%),linear-gradient(145deg,#f8fbfc,#e7f1f4,#f2f7f8)}.login-grid{position:absolute;inset:0;opacity:.38;background-image:linear-gradient(rgba(8,125,163,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,125,163,.055) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%)}.login-orb{position:absolute;border-radius:999px;filter:blur(1px)}.login-orb--one{width:28rem;height:28rem;top:-17rem;right:-8rem;background:#1fb5e017}.login-orb--two{width:20rem;height:20rem;bottom:-13rem;left:-7rem;border:4rem solid rgba(8,125,163,.07)}.login-shell{width:min(61rem,100%);min-height:min(39rem,calc(100vh - 5rem));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(23rem,.95fr);overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:1.75rem;background:#fff;box-shadow:0 2rem 5rem #19353f29,0 .25rem 1rem #19353f14;animation:login-enter .5s cubic-bezier(.22,1,.36,1) both}@keyframes login-enter{0%{opacity:0;transform:translateY(1rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(2.25rem,5vw,4rem);color:#fff;background:radial-gradient(circle at 105% 5%,rgba(255,255,255,.18),transparent 35%),radial-gradient(circle at 0 100%,rgba(26,187,229,.24),transparent 37%),linear-gradient(145deg,var(--login-navy),#28434d 58%,#17647b)}.login-brand:after{content:"";position:absolute;right:-7rem;bottom:-8rem;width:22rem;height:22rem;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 3.5rem #ffffff09,0 0 0 7rem #ffffff06}.brand-lockup{display:flex;align-items:center;gap:.8rem}.brand-logo-wrap{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:.9rem;background:#ffffff1f;box-shadow:inset 0 1px #fff3;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.brand-logo{width:2rem;height:2rem;object-fit:contain;filter:drop-shadow(0 0 .55rem rgba(39,192,232,.38))}.brand-name{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.brand-copy{max-width:28rem;margin-top:clamp(3rem,9vh,6rem)}.brand-eyebrow,.login-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.brand-eyebrow{padding:.45rem .7rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#ffffffd6;background:#ffffff14}.brand-copy h1{max-width:25rem;margin:1.25rem 0 1rem;font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.brand-copy p{color:#ffffffb8;font-size:.96rem;line-height:1.7}.brand-benefits{display:grid;gap:.8rem;margin-top:2rem;padding:0;list-style:none}.brand-benefits li{display:flex;align-items:center;gap:.7rem;color:#ffffffe0;font-size:.84rem;font-weight:500}.brand-benefits li span{display:grid;width:1.35rem;height:1.35rem;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;background:#ffffff29;font-size:.57rem}.brand-footer{position:relative;z-index:1;margin-top:2rem;color:#ffffff8c;font-size:.72rem}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.25rem,5vw,4.25rem);background:#fff}.mobile-brand{display:none}.login-header{margin-bottom:2rem}.login-kicker{margin-bottom:.65rem;color:var(--login-blue)}.app-name{margin:0;color:var(--login-text);font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.18;letter-spacing:-.04em}.welcome-text{margin-top:.6rem;color:var(--login-muted);font-size:.88rem;line-height:1.55}.login-form{display:grid;gap:1.1rem}.login-error{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:1px solid #fecaca;border-radius:.75rem;color:#991b1b;background:#fef2f2;font-size:.78rem;line-height:1.45;animation:error-enter .22s ease-out both}@keyframes error-enter{0%{opacity:0;transform:translateY(-.3rem)}to{opacity:1;transform:translateY(0)}}.login-error svg{flex:0 0 auto;margin-top:.1rem}.form-group{display:grid;gap:.45rem}.input-label{color:#30434b;font-size:.78rem;font-weight:650}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;z-index:1;color:#879aa2;font-size:.9rem;pointer-events:none;transition:color .16s ease}.login-panel input[type=email],.login-panel input[type=password],.login-panel input[type=text]{width:100%;height:3.15rem;padding:0 3rem 0 2.8rem;border:1px solid var(--login-border);border-radius:.8rem;outline:none;color:var(--login-text);background:#fbfcfe;font:inherit;font-size:.88rem;box-shadow:0 1px 2px #18323a08;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-panel input::placeholder{color:#94a5ac}.login-panel input:hover{border-color:#aec2c9}.login-panel input:focus{border-color:var(--login-blue);background:#fff;box-shadow:0 0 0 .23rem #087da324}.input-wrapper:focus-within .input-icon{color:var(--login-blue)}.password-toggle{position:absolute;right:.65rem;display:grid;width:2.15rem;height:2.15rem;place-items:center;border:none;border-radius:.65rem;color:#7d929a;background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}.password-toggle:hover{color:var(--login-blue-dark);background:var(--login-blue-soft)}.password-toggle:focus-visible,.login-submit:focus-visible{outline:3px solid rgba(8,125,163,.28);outline-offset:2px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.remember-user{display:inline-flex;width:fit-content;align-items:center;gap:.65rem;color:var(--login-muted);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-user input{width:1rem;height:1rem;margin:0;accent-color:var(--login-blue);cursor:pointer}.remember-user:focus-within{color:var(--login-blue-dark)}.forgot-link{color:var(--login-blue);font-size:.78rem;font-weight:600;text-decoration:none}.forgot-link:hover{color:var(--login-blue-dark);text-decoration:underline}.login-submit{display:flex;width:100%;min-height:3.15rem;align-items:center;justify-content:center;gap:.7rem;margin-top:.25rem;border:none;border-radius:.8rem;color:#fff;background:linear-gradient(135deg,#0b8cb7,var(--login-blue-dark));box-shadow:0 .65rem 1.3rem #075b7938;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.login-submit:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 .85rem 1.55rem #075b7947}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:wait;opacity:.72}.spinner{animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.demo-users-section{display:grid;gap:.55rem;padding:.85rem;border:1px solid var(--login-border);border-radius:.85rem;background:#f7fbfc}.demo-users-title{display:inline-flex;align-items:center;gap:.45rem;margin:0;color:var(--login-text);font-size:.78rem;font-weight:700}.demo-users-password{margin:0;color:var(--login-muted);font-size:.72rem}.demo-users-password code{padding:.1rem .35rem;border-radius:.35rem;color:var(--login-blue-dark);background:var(--login-blue-soft);font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem}.demo-users-buttons{display:flex;flex-wrap:wrap;gap:.45rem}.demo-user-btn{padding:.4rem .65rem;border:1px solid #cce0e6;border-radius:999px;color:#075b79;background:#fff;font-size:.7rem;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease}.demo-user-btn:hover{border-color:var(--login-blue);background:var(--login-blue-soft)}.login-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.65rem;padding-top:1rem;border-top:1px solid #e8eff1;color:#7d9098;font-size:.68rem;font-weight:600}.login-meta span:first-child{display:inline-flex;align-items:center;gap:.4rem}.login-meta span:last-child{font-family:SFMono-Regular,Consolas,monospace}@media(max-width:820px){.login-wrapper{align-items:center;overflow-y:auto;padding:1.25rem}.login-shell{width:min(30rem,100%);min-height:auto;grid-template-columns:1fr;border-radius:1.4rem}.login-brand{display:none}.login-panel{padding:clamp(1.75rem,7vw,2.75rem)}.mobile-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:2.25rem;color:var(--login-navy);font-size:.9rem;font-weight:750}.mobile-brand img{width:2.25rem;height:2.25rem;object-fit:contain}}@media(max-width:480px){.login-wrapper{padding:.75rem}.login-shell{border-radius:1.1rem}.login-panel{padding:1.5rem}.mobile-brand{margin-bottom:1.75rem}.login-header{margin-bottom:1.5rem}}@media(prefers-reduced-motion:reduce){.login-shell,.login-error,.spinner{animation:none}.login-submit,.password-toggle,.login-panel input{transition:none}}.forbidden-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:1rem}.forbidden-content{text-align:center;max-width:400px}.forbidden-icon{font-size:4rem;color:var(--color-border, #ccc);margin-bottom:1rem}.forbidden-content h1{font-size:1.5rem;margin-bottom:.5rem}.forbidden-content p{color:var(--color-text-secondary, #666);margin-bottom:1.5rem}.forbidden-link{display:inline-block;padding:.5rem 1rem;background:var(--color-primary, #2563eb);color:#fff;border-radius:6px;text-decoration:none}.forbidden-link:hover{opacity:.9}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.alert-title{font-weight:600;margin-bottom:.25rem}.alert--info{background-color:#e8f4fd;color:#0b5394;border:1px solid #9fc5f8}.alert--success{background-color:#e6f4ea;color:#1b5e20;border:1px solid #a5d6a7}.alert--warning{background-color:#fff8e1;color:#9a3412;border:1px solid #fbbf24}.alert--error{background-color:#ffebee;color:#b71c1c;border:1px solid #ef9a9a}.settings-page{width:100%;max-width:var(--page-fluid-max-width);margin-inline:auto;padding:var(--page-shell-padding-block) var(--page-shell-padding-inline);box-sizing:border-box}.settings-card{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0}.singleton-config-page .settings-section{border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;margin-bottom:0;background:#fff;overflow:hidden}.singleton-config-page .settings-section-title{margin:-1.25rem -1.25rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;background:#fafbfc;font-size:.9375rem;font-weight:700;color:#334155}.singleton-config-page .settings-section>.settings-subtitle{margin-top:0}.settings-title{margin:0 0 .35rem;font-size:1.1rem;color:#111827}.settings-subtitle{margin:0 0 1rem;color:#6b7280;font-size:.92rem}.settings-notification-space{min-height:62px;margin-bottom:.8rem}.settings-section{border:1px solid #e5e7eb;border-radius:12px;padding:.9rem;margin-bottom:.9rem;background:#fcfcff}.settings-section-title{margin:0 0 .8rem;font-size:.95rem;color:#1f2937}.billing-summary-strip{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.billing-status-chip{font-weight:700}.billing-status-chip.status-active,.billing-status-chip.status-confirmed{background:#ecfdf5;border-color:#86efac;color:#166534}.billing-status-chip.status-trial,.billing-status-chip.status-pending,.billing-status-chip.status-grace{background:#fffbeb;border-color:#fbbf24;color:#92400e}.billing-status-chip.status-past_due,.billing-status-chip.status-failed,.billing-status-chip.status-expired,.billing-status-chip.status-canceled,.billing-status-chip.status-cancelled{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.billing-status-chip.status-refunded{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.billing-plan-chip{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.billing-plan-state-chip{width:fit-content}.billing-plan-state-chip.upgrade{background:#ecfeff;border-color:#67e8f9;color:#155e75}.billing-plan-state-chip.downgrade{background:#faf5ff;border-color:#d8b4fe;color:#6b21a8}.billing-plan-state-chip.scheduled{background:#fff7ed;border-color:#fdba74;color:#9a3412}.billing-outstanding-box{border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;padding:.7rem}.billing-pay-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding:.75rem;border:1px solid #c7d2fe;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#e0e7ff)}.billing-pay-brand{display:flex;align-items:center;gap:.7rem}.billing-pay-brand-logo{width:44px;height:44px;border-radius:10px;border:1px solid #a5b4fc;object-fit:cover;background:#f8fafc;box-shadow:0 2px 10px #4f46e51f}.billing-pay-summary{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:.7rem .8rem;margin-bottom:.8rem;color:#334155;font-size:.86rem;line-height:1.5}.billing-pay-summary p{margin:.18rem 0}.billing-legal-footer{margin-top:.9rem;border-top:1px dashed #c7d2fe;color:#334155;font-size:.76rem;line-height:1.45;background:linear-gradient(180deg,#f8fafc,#eef2ff);border-radius:10px;padding:.8rem .7rem .65rem}.billing-legal-footer p{margin:.2rem 0}.billing-legal-footer a{color:#4338ca;text-decoration:none}.billing-legal-footer a:hover{text-decoration:underline}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-field label{font-size:.84rem;color:#374151;font-weight:600}.settings-field-help{font-size:.78rem;color:#6b7280;line-height:1.3}.settings-field input,.settings-field select{border:1px solid #d1d5db;border-radius:10px;padding:.58rem .7rem;font-size:.92rem}.settings-readonly-value{min-height:38px;border:1px solid #e5e7eb;border-radius:10px;padding:.58rem .7rem;font-size:.92rem;color:#374151;background:#f9fafb;display:flex;align-items:center}.settings-avatar-preview{width:72px;height:72px;object-fit:cover;border-radius:12px;border:1px solid #d1d5db}.settings-avatar-field{grid-column:1 / -1}.settings-avatar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.45rem}.settings-avatar-meta{display:flex;flex-direction:column;color:#374151}.settings-avatar-meta small{color:#6b7280}.settings-checkbox{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;color:#1f2937}.settings-actions{display:flex;align-items:center;gap:.65rem;margin-top:1rem}.settings-btn{border:0;border-radius:10px;padding:.6rem .9rem;font-weight:600;cursor:pointer}.settings-btn-primary{background:#4f46e5;color:#fff}.settings-btn-secondary{background:#e5e7eb;color:#1f2937}.settings-btn-danger{background:#fee2e2;color:#991b1b}.settings-btn:disabled{opacity:.65;cursor:not-allowed}.settings-status{font-size:.88rem;margin-top:.5rem}.settings-status.ok{color:#047857}.settings-status.error{color:#b91c1c}.workspace-list{display:grid;gap:.65rem}.workspace-item{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.workspace-item.current{border-color:#5b7db8;background:#e6edf8}.workspace-item.current strong{color:#1f2937}.workspace-item.current .settings-subtitle{color:#334155}.workspace-main{display:flex;align-items:center;gap:.75rem;min-width:0}.workspace-logo{width:44px;height:44px;border-radius:12px;border:1px solid #d1d5db;background:#f3f4f6;color:#4b5563;display:flex;align-items:center;justify-content:center;flex-shrink:0}.workspace-logo-img{width:100%;height:100%;object-fit:cover;border-radius:12px}.workspace-meta{min-width:0}.workspace-tags{margin-top:.35rem;display:flex;gap:.35rem;flex-wrap:wrap}.workspace-tag{font-size:.72rem;border-radius:999px;padding:.16rem .5rem;background:#e6edf8;color:#3f5d90;border:1px solid #bdd0ea}.workspace-tag.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.workspace-tag.pending{background:#fef3c7;border-color:#f59e0b;color:#78350f}.notification-pref-code{color:#6b7280}.channel-row{color:#111827}.workspace-logo{color:#374151}.notification-preferences-list{gap:.8rem}.notification-pref-card{align-items:flex-start}.notification-pref-content{width:100%}.notification-pref-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.notification-pref-title{font-size:.98rem;color:#111827}.notification-pref-description{margin:.28rem 0 0;font-size:.86rem;color:#6b7280;line-height:1.35}.notification-pref-code{margin-top:.5rem;font-size:.78rem;color:#9ca3af;text-transform:uppercase}.notification-channel-grid{margin-top:.72rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .7rem}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#1f2937;font-size:.88rem;font-weight:600}.channel-row{border:1px solid #e5e7eb;border-radius:10px;padding:.45rem .6rem;background:#fff;font-weight:500}.switch{position:relative;display:inline-block;width:46px;height:24px;flex-shrink:0}.switch.small{width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.2s ease;border-radius:999px}.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background-color:#fff;transition:.2s ease;border-radius:50%;box-shadow:0 1px 3px #0f172a40}.switch.small .slider:before{width:16px;height:16px}.switch input:checked+.slider{background-color:#5b7db8}.switch input:checked+.slider:before{transform:translate(22px)}.switch.small input:checked+.slider:before{transform:translate(18px)}.switch input:disabled+.slider{background-color:#e5e7eb;cursor:not-allowed}.company-table-wrap{overflow-x:auto;margin-top:.3rem}.company-hero{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.company-hero-logo{width:54px;height:54px;border-radius:14px;border:1px solid #d1d5db;background:#eef2ff;color:#3730a3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;overflow:hidden}.company-hero-logo-img{width:100%;height:100%;object-fit:cover}.company-hero-meta{display:flex;flex-direction:column}.company-hero-meta strong{color:#111827}.company-hero-meta small{color:#6b7280}.schedule-day-selector{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.35rem}.schedule-day-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #d7dcee;background:#fff;color:#334155;border-radius:999px;padding:.42rem .72rem;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s ease}.schedule-day-chip:hover{border-color:#bfc9e7;background:#f8faff}.schedule-day-chip:has(input:checked){background:#eef3ff;border-color:#9fb4ea;color:#1e3a8a;box-shadow:inset 0 0 0 1px #5d7aba2e}.schedule-day-chip input{margin:0}.schedule-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-top:.8rem}.schedule-day-card{border:1px solid #d9dfef;border-radius:14px;background:#fff;padding:.75rem;box-shadow:0 4px 12px #0f172a0d}.schedule-day-card-title{font-size:.88rem;font-weight:700;color:#1f2937;margin-bottom:.55rem}.schedule-day-card-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.schedule-day-card-times .settings-field{min-width:0}.schedule-day-card .settings-field input[type=time]{width:100%;min-width:0;box-sizing:border-box;border-radius:9px;border-color:#cfd7e8;background:#f9fbff;font-weight:600}.schedule-empty-state{margin-top:.7rem;border:1px dashed #d1d5db;border-radius:10px;padding:.7rem;color:#6b7280;font-size:.86rem;background:#fafafa}.company-table{width:100%;border-collapse:collapse;font-size:.9rem}.company-table th,.company-table td{border-bottom:1px solid #e5e7eb;text-align:left;padding:.6rem .45rem;color:#1f2937}.company-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#6b7280}.company-table select{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.35rem .5rem;background:#fff;color:#111827}.plan-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:.4rem;align-items:stretch}.plan-card-item{border:1px solid #dbe3f0;border-radius:12px;padding:.75rem;background:#fff;display:flex;flex-direction:column;gap:.45rem;height:100%}.plan-card-item.current{border:2px solid #3b82f6;background:linear-gradient(180deg,#eff6ff,#eef3fb);box-shadow:0 0 0 2px #3b82f626}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plan-card-head strong{color:#0f172a;font-size:.98rem;font-weight:800}.plan-card-item.current .plan-card-head strong{color:#0b2a4a}.plan-card-price{margin:0;color:#1f2937;font-size:.92rem;font-weight:600}.plan-card-description{margin:0;color:#6b7280;font-size:.82rem;line-height:1.35;min-height:2.2em}.plan-card-meta{display:flex;flex-wrap:wrap;gap:.35rem;color:#475569;font-size:.78rem}.plan-card-item .settings-btn{margin-top:auto}.invite-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;gap:.6rem;margin-bottom:.7rem}.invite-form input,.invite-form select{border:1px solid #d1d5db;border-radius:10px;padding:.58rem .7rem;font-size:.92rem}@media(max-width:768px){.settings-grid{grid-template-columns:1fr}.notification-pref-header{flex-direction:column;align-items:stretch}.notification-channel-grid{grid-template-columns:1fr}.workspace-item{flex-direction:column;align-items:stretch}.invite-form,.schedule-day-card-times{grid-template-columns:1fr}.billing-summary-strip{gap:.3rem}}.onboarding-wrapper{--ob-primary: var(--color-primary, #456298);--ob-primary-hover: var(--color-primary-hover, #3a5482);--ob-primary-strong: var(--color-primary-strong, #2d4160);--ob-primary-soft: var(--color-primary-soft, #e6edf8);--ob-primary-soft-hover: var(--color-primary-soft-hover, #d7e2f3);--ob-bg-start: #6f8fbe;--ob-bg-end: #5b7db8;--ob-text: #1e293b;--ob-text-secondary: #64748b;--ob-text-muted: #94a3b8;--ob-border: #e2e8f0;--ob-surface: #ffffff;--ob-surface-muted: #f8fafc;--ob-radius: 14px;--ob-shadow: 0 18px 50px rgba(45, 65, 96, .22);position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:clamp(.5rem,1.5vw,1.25rem);overflow-x:hidden;overflow-y:auto;color:var(--ob-text)}.onboarding-background{position:fixed;inset:0;background:linear-gradient(135deg,var(--ob-bg-start) 0%,var(--ob-bg-end) 100%);z-index:0}.onboarding-shapes{position:absolute;inset:0;overflow:hidden}.onboarding-shape{position:absolute;border-radius:50%;background:#ffffff1a;animation:onboardingFloat 18s infinite ease-in-out}.onboarding-shape-1{width:280px;height:280px;top:-120px;right:-120px}.onboarding-shape-2{width:180px;height:180px;bottom:-80px;left:-80px;animation-delay:4s}.onboarding-shape-3{width:140px;height:140px;top:45%;left:8%;animation-delay:8s}@keyframes onboardingFloat{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(18px,-24px) rotate(120deg)}}.onboarding-card.settings-card,.onboarding-card{position:relative;z-index:1;width:min(100%,72rem);margin:0 auto;max-height:none;overflow:visible;padding:clamp(.9rem,1.6vw,1.35rem) clamp(.9rem,2vw,1.6rem);border-radius:20px;background:var(--ob-surface);border:1px solid rgba(148,163,184,.35);box-shadow:var(--ob-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.onboarding-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:-.15rem 0 .55rem}.onboarding-lang-switch{display:inline-flex;align-items:center;gap:.45rem}.onboarding-lang-switch-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ob-text-muted)}.onboarding-lang-switch-control{display:inline-flex;border:1px solid #c5d4ea;border-radius:999px;overflow:hidden;background:var(--ob-surface-muted)}.onboarding-lang-btn{border:0;background:transparent;color:var(--ob-text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:.35rem .7rem;cursor:pointer;line-height:1}.onboarding-lang-btn:hover{color:var(--ob-primary-strong);background:var(--ob-primary-soft)}.onboarding-lang-btn.active{background:var(--ob-primary);color:#fff}.onboarding-lang-btn:focus-visible{outline:2px solid var(--ob-primary);outline-offset:2px}.onboarding-top{display:grid;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--ob-border)}.onboarding-company-banner{display:flex;align-items:center;gap:.75rem;margin:0;padding:.7rem .85rem;border-radius:var(--ob-radius);background:linear-gradient(135deg,var(--ob-primary-soft) 0%,#f8fafc 55%,#ffffff 100%);border:1px solid #c5d4ea}.onboarding-company-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0;border-radius:12px;background:#fff;border:1px solid #d7e2f3;padding:.35rem}.onboarding-company-banner-copy{min-width:0}.onboarding-company-eyebrow{margin:0 0 .15rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ob-primary)}.onboarding-company-name{margin:0;font-size:1.3rem;font-weight:750;letter-spacing:-.02em;color:var(--ob-primary-strong);line-height:1.2}.onboarding-company-tagline{margin:.2rem 0 0;font-size:.84rem;color:var(--ob-text-secondary)}.onboarding-hero{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;border:0;background:none}.onboarding-brand{display:flex;align-items:center;gap:.75rem}.onboarding-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 3px 8px rgba(69,98,152,.28))}.onboarding-brand-copy{min-width:0}.onboarding-brand-name{margin:0 0 .1rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ob-primary)}.onboarding-hero .settings-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--ob-primary-strong);line-height:1.25}.onboarding-hero .settings-subtitle{margin:0;color:var(--ob-text-secondary);font-size:.9rem;line-height:1.4}.onboarding-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.15rem}.onboarding-hero .workspace-tag{background:var(--ob-primary-soft);color:var(--ob-primary);border-color:#bdd0ea}.onboarding-draft-hint{margin:.15rem 0 0;font-size:.8rem;font-weight:600;color:var(--ob-primary)}.onboarding-field-error{color:#b91c1c!important;font-size:.76rem!important;font-weight:600}.onboarding-card .onboarding-input-invalid,.onboarding-card input.onboarding-input-invalid,.onboarding-card select.onboarding-input-invalid,.onboarding-card textarea.onboarding-input-invalid{border-color:#dc2626!important;background:#fef2f2}.onboarding-card textarea{width:100%;border:1px solid #d1d9e6;border-radius:10px;padding:.6rem .7rem;font:inherit;background:var(--ob-surface-muted);resize:vertical}.onboarding-contact-footer{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--ob-border)}.onboarding-contact-title{margin:0 0 .15rem;font-size:.85rem;font-weight:700;color:var(--ob-primary-strong)}.onboarding-contact-text{margin:0 0 .55rem;font-size:.8rem;color:var(--ob-text-secondary);line-height:1.35}.onboarding-contact-actions{display:flex;flex-wrap:wrap;gap:.5rem}.onboarding-contact-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:999px;border:1px solid #c5d4ea;background:var(--ob-primary-soft);color:var(--ob-primary-strong);text-decoration:none;font-size:.8rem;font-weight:650}.onboarding-contact-link:hover{background:var(--ob-primary);border-color:var(--ob-primary);color:#fff}.onboarding-contact-empty{font-size:.8rem;color:var(--ob-text-muted)}.onboarding-wizard{margin-bottom:.75rem}.onboarding-wizard-track{list-style:none;margin:0;padding:.5rem .65rem;display:flex;align-items:flex-start;gap:0;background:var(--ob-surface-muted);border:1px solid var(--ob-border);border-radius:var(--ob-radius)}.onboarding-wizard-item{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.onboarding-wizard-item:not(:first-child):before{content:"";position:absolute;top:15px;right:50%;width:100%;height:2px;background:#d1d9e6;z-index:0}.onboarding-wizard-item.done:not(:first-child):before,.onboarding-wizard-item.active:not(:first-child):before{background:var(--ob-primary)}.onboarding-step-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ob-text-secondary)}.onboarding-step-node:focus-visible{outline:2px solid var(--ob-primary);outline-offset:3px;border-radius:8px}.onboarding-step-index{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:var(--ob-surface);color:var(--ob-text-secondary);border:2px solid #c5d0e0;box-shadow:0 1px 2px #0f172a0a;transition:background .15s ease,border-color .15s ease,color .15s ease}.onboarding-step-label{display:none;max-width:100%;padding:0 .15rem;font-size:.68rem;font-weight:600;line-height:1.2;text-align:center;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-wizard-item.active .onboarding-step-index{background:var(--ob-primary);border-color:var(--ob-primary);color:#fff;box-shadow:0 4px 12px #45629859}.onboarding-wizard-item.done .onboarding-step-index{background:var(--ob-primary-soft);border-color:var(--ob-primary);color:var(--ob-primary-strong)}.onboarding-wizard-item.active .onboarding-step-node{color:var(--ob-primary-strong)}.onboarding-wizard-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:.55rem 0 0;font-size:.82rem;color:var(--ob-text-secondary)}.onboarding-wizard-status strong{color:var(--ob-primary-strong);font-weight:700}.onboarding-wizard-steps{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem}.onboarding-step-pill{border:1px solid var(--ob-border);border-radius:999px;background:var(--ob-surface);color:var(--ob-text-secondary);font-size:.8rem;font-weight:600;padding:.35rem .65rem;display:inline-flex;gap:.35rem;align-items:center;cursor:pointer}.onboarding-step-pill span{width:18px;height:18px;border-radius:50%;background:#e5e7eb;color:#111827;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center}.onboarding-step-pill.active{border-color:var(--ob-primary);background:var(--ob-primary);color:#fff}.onboarding-step-pill.active span,.onboarding-step-pill.done span{background:#ffffff38;color:#fff}.onboarding-step-pill.done{border-color:#bdd0ea;background:var(--ob-primary-soft);color:var(--ob-primary-strong)}.onboarding-step-pill.done span{background:var(--ob-primary);color:#fff}.onboarding-card .settings-section{border:1px solid var(--ob-border);border-radius:var(--ob-radius);padding:.85rem .95rem;margin-bottom:.7rem;background:var(--ob-surface)}.onboarding-card .settings-section-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700;color:var(--ob-primary-strong)}.onboarding-card .settings-section>.settings-subtitle{margin-bottom:.65rem;color:var(--ob-text-secondary);font-size:.84rem}.onboarding-policies-block{margin:.85rem 0 1.15rem;padding:.85rem .9rem;border:1px solid #d1d9e6;border-radius:12px;background:#f8fafc}.onboarding-policies-block--error{border-color:#fca5a5;background:#fef2f2}.onboarding-policies-title{margin:0 0 .25rem;font-size:.95rem;color:var(--ob-primary-strong)}.onboarding-policies-list{list-style:none;margin:.65rem 0 0;padding:0;display:grid;gap:.65rem}.onboarding-policy-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.7rem .8rem;border:1px solid #dbe3f0;border-radius:10px;background:#fff}.onboarding-policy-item.is-downloaded{border-color:#86efac;background:#f0fdf4}.onboarding-policy-meta{display:grid;gap:.15rem;min-width:min(100%,16rem);flex:1}.onboarding-policy-meta strong{color:#1f2937;font-size:.92rem}.onboarding-policy-meta span,.onboarding-policy-meta small{color:#64748b;font-size:.78rem}.onboarding-policy-download{text-decoration:none;white-space:nowrap}.onboarding-card .settings-section>.settings-subtitle.muted{color:#94a3b8}.onboarding-card .settings-grid{display:grid;grid-template-columns:1fr;gap:.7rem .85rem}.onboarding-card .onboarding-info-grid .settings-field:last-child{grid-column:auto}.onboarding-wide-field{grid-column:1 / -1}.onboarding-resubmit-item--focus{outline:2px solid #1d4ed8;outline-offset:4px;border-radius:12px;padding:.65rem .75rem;background:#eff6ff}.onboarding-resubmit-item{display:grid;gap:.65rem}.onboarding-resubmit-desc{display:block;color:#6b7280}.onboarding-resubmit-panel{border-radius:10px;padding:.7rem .8rem;display:grid;gap:.35rem}.onboarding-resubmit-panel strong{font-size:.8125rem}.onboarding-resubmit-panel p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.45}.onboarding-resubmit-panel--submitted{background:#f8fafc;border:1px solid #e2e8f0}.onboarding-resubmit-panel--change{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d}.onboarding-resubmit-panel--upload{background:#eff6ff;border:1px solid #bfdbfe}.onboarding-resubmit-input{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:.6rem .7rem;font:inherit;box-sizing:border-box;background:#fff}.onboarding-resubmit-input--error{border-color:#dc2626}.onboarding-resubmit-hint{font-size:.8125rem;color:#b45309}.onboarding-password-pair{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:.7rem .85rem}.onboarding-password-pair--single{grid-template-columns:1fr}@media(min-width:640px){.onboarding-password-pair:not(.onboarding-password-pair--single){grid-template-columns:repeat(2,minmax(0,1fr))}}.onboarding-signature-layout{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem}.onboarding-photo-field .onboarding-photo-preview{width:96px;height:96px}.onboarding-card .settings-field label{color:#334155}.onboarding-card .settings-field input,.onboarding-card .settings-field select,.onboarding-card .settings-field textarea{border:1px solid #d1d9e6;border-radius:10px;background:var(--ob-surface-muted);color:var(--ob-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.onboarding-card .settings-field input:focus,.onboarding-card .settings-field select:focus,.onboarding-card .settings-field textarea:focus{outline:none;background:#fff;border-color:var(--ob-primary);box-shadow:0 0 0 3px #45629829}.onboarding-card .settings-field input:disabled,.onboarding-card .settings-field select:disabled{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.settings-field small{color:var(--ob-text-muted);font-size:.76rem;line-height:1.25}.onboarding-password-wrap{position:relative}.onboarding-password-wrap input{width:100%;padding-right:2.35rem}.onboarding-password-toggle{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ob-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border-radius:6px}.onboarding-password-toggle:hover{color:var(--ob-primary);background:var(--ob-primary-soft)}.onboarding-attestation{border-color:#c5d4ea!important;background:linear-gradient(180deg,#f7faff,#fff)!important}.onboarding-actions{justify-content:flex-end;flex-wrap:wrap;gap:.55rem;margin-top:.25rem;padding-top:.7rem;border-top:1px solid var(--ob-border);position:sticky;bottom:0;background:linear-gradient(180deg,#ffffffeb,#fff 40%);z-index:2}.onboarding-card .settings-btn{border-radius:10px;padding:.62rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.onboarding-card .settings-btn-primary{background:var(--color-primary-gradient, linear-gradient(135deg, #5a7aad 0%, #456298 55%, #4d6d94 100%));color:#fff;border:1px solid transparent;box-shadow:0 6px 16px #45629847}.onboarding-card .settings-btn-primary:hover:not(:disabled){background:var(--ob-primary-hover);transform:translateY(-1px);box-shadow:0 8px 18px #45629857}.onboarding-actions .settings-btn-primary:disabled{background:#cbd5e1;color:#64748b;border:1px solid #cbd5e1;box-shadow:none;cursor:not-allowed;opacity:1;transform:none}.onboarding-card .settings-btn-secondary{background:#fff;color:var(--ob-primary-strong);border:1px solid #c5d0e0;box-shadow:none}.onboarding-card .settings-btn-secondary:hover:not(:disabled){background:var(--ob-primary-soft);border-color:#9eb6d6}.onboarding-photo-preview-wrap{margin-top:.45rem;display:flex;flex-direction:column;gap:.35rem}.onboarding-photo-preview{width:110px;height:110px;object-fit:cover;border-radius:12px;border:1px solid #d1d5db;background:#f9fafb}.onboarding-signature-pad{display:flex;flex-direction:column;gap:.45rem}.onboarding-signature-canvas{width:100%;max-width:100%;height:clamp(120px,18vh,160px);border:1px dashed #94a3b8;border-radius:10px;background:#fff;touch-action:none}.onboarding-signature-actions{display:flex;justify-content:flex-end}.onboarding-state-card{border:1px solid #dbeafe;background:linear-gradient(180deg,#f8fbff,#fff)}.onboarding-notification-compact{min-height:0;margin-bottom:.45rem}.onboarding-card .settings-notification-space{min-height:0}.onboarding-state-head{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.25rem}.onboarding-state-head .settings-subtitle{margin-bottom:.45rem}.onboarding-state-icon{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.onboarding-state-icon.warning{background:#fef3c7;color:#b45309}.onboarding-state-icon.success{background:#dcfce7;color:#15803d}.onboarding-plan-payment-box{margin-top:10px;border:1px solid #bdd0ea;background:var(--ob-primary-soft);border-radius:10px;padding:12px;color:var(--ob-text)}.onboarding-plan-payment-box__summary{margin:0 0 8px;color:var(--ob-text-secondary);font-size:.92rem;line-height:1.35}.onboarding-plan-payment-box__price{margin:0 0 10px;font-weight:800;color:var(--ob-primary-strong);font-size:1.3rem;line-height:1.2}.onboarding-plan-payment-box__price span{font-size:.88rem;color:var(--ob-text-muted);font-weight:600;margin-left:.15rem}.onboarding-plan-grid{margin-top:.55rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;align-items:stretch}.onboarding-plan-grid.single{grid-template-columns:minmax(320px,1fr)}.onboarding-plan-card{text-align:left;border:1px solid var(--ob-border);background:linear-gradient(180deg,#fff,#f8fbff);border-radius:12px;padding:.9rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;display:flex;flex-direction:column;min-height:220px;width:100%}.onboarding-plan-card:hover{border-color:#9eb6d6;transform:translateY(-1px);box-shadow:0 8px 18px #2d416014}.onboarding-plan-card.active{border-color:var(--ob-primary);background:linear-gradient(180deg,var(--ob-primary-soft) 0%,#f8faff 100%);box-shadow:0 10px 22px #45629829}.onboarding-plan-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.onboarding-plan-card__head h4{margin:0;font-size:1rem;font-weight:700;color:#111827}.onboarding-plan-card__price{color:var(--ob-primary-strong);font-weight:700;font-size:1.02rem;white-space:normal}.onboarding-plan-card__price small{margin-left:.2rem;color:#6b7280;font-size:.72rem;font-weight:600}.onboarding-plan-card__meta{margin:.35rem 0 .45rem;color:#4b5563;font-size:.82rem}.onboarding-plan-card__benefits{margin:0 0 .55rem;padding-left:1rem;color:#374151;font-size:.78rem;display:grid;gap:.22rem;flex:1}.onboarding-plan-card__badge-row{margin:.35rem 0 .2rem}.onboarding-plan-card__badge{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .55rem;font-size:.68rem;font-weight:700;letter-spacing:.02em;color:var(--ob-primary);background:var(--ob-primary-soft)}.onboarding-plan-card.active .onboarding-plan-card__badge{color:#fff;background:var(--ob-primary)}.onboarding-plan-card__footer{border-top:1px dashed #d1d5db;padding-top:.45rem;font-size:.73rem;font-weight:600;color:#475569}.onboarding-payment-ok{margin:10px 0 0;color:#166534;font-weight:600}.onboarding-payment-warn{margin:10px 0 0;color:#9a3412;font-weight:600}.onboarding-checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-weight:600;cursor:pointer}.onboarding-checkbox-label input[type=checkbox]{margin-top:.2rem;flex-shrink:0;accent-color:var(--ob-primary)}@media(min-width:640px){.onboarding-wrapper{align-items:center;padding:clamp(.75rem,2vw,1.5rem)}.onboarding-card .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-step-label{display:block}.onboarding-contact-actions{flex-direction:row}}.onboarding-card .settings-grid.onboarding-answers-grid,.onboarding-card .settings-grid.onboarding-docs-grid{grid-template-columns:1fr}.onboarding-card .onboarding-answers-grid .settings-field textarea{min-height:7.5rem;width:100%;resize:vertical}.onboarding-card .onboarding-answers-grid .settings-field small{display:block;margin-top:.35rem;line-height:1.45;max-width:none}@media(min-width:900px){.onboarding-top{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:1rem}.onboarding-company-banner{min-height:100%}.onboarding-card .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-signature-layout{grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);align-items:start}.onboarding-card .settings-grid.onboarding-answers-grid,.onboarding-card .settings-grid.onboarding-docs-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}.onboarding-photo-field{grid-column:span 1}.onboarding-wizard-status{margin-top:.4rem}}@media(min-width:1100px){.onboarding-card.settings-card,.onboarding-card{width:min(100%,76rem)}}@media(max-width:639px){.onboarding-card.settings-card,.onboarding-card{padding:.85rem .8rem;border-radius:14px}.onboarding-company-banner{align-items:flex-start}.onboarding-company-logo{width:48px;height:48px}.onboarding-company-name,.onboarding-hero .settings-title{font-size:1.05rem}.onboarding-wizard-track{padding:.45rem .35rem}.onboarding-step-index{width:26px;height:26px;font-size:.72rem}.onboarding-wizard-item:not(:first-child):before{top:13px}.onboarding-contact-actions{flex-direction:column}.onboarding-actions{justify-content:stretch}.onboarding-actions .settings-btn{flex:1 1 auto}}@media(min-width:720px){.onboarding-step-label{display:block}}@media(min-width:992px){.onboarding-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.employee-crop-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:120000;padding:1rem}.employee-crop-modal{width:min(540px,100%);background:#fff;border-radius:14px;border:1px solid #dbe3f0;box-shadow:0 24px 70px #0f172a3d;padding:1rem 1rem .9rem}.employee-crop-modal h3{margin:0 0 .8rem;font-size:1rem;color:#1f2937}.employee-crop-viewport{width:220px;height:220px;border-radius:12px;margin:0 auto .9rem;overflow:hidden;background:#f8fafc;border:1px solid #d1d9e6;position:relative}.employee-crop-viewport img{position:absolute;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.employee-crop-controls{display:grid;gap:.6rem}.employee-crop-controls label{display:grid;gap:.3rem;font-size:.82rem;color:#475569}.employee-crop-controls input[type=range]{width:100%}.employee-crop-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.dashboard-wrapper{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.executive-dashboard-section{width:100%;margin:0 0 2rem;padding:1.1rem 1.15rem 1.25rem;border:1px solid #d7e0ee;border-radius:16px;background:linear-gradient(135deg,#5b7db814,#ffffffeb 42%,#fff);box-shadow:0 8px 24px #2d41600d}.executive-dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.executive-dashboard-eyebrow{margin:0 0 .2rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5b7db8}.executive-dashboard-title{margin:0;font-size:1.35rem;font-weight:700;color:#1a2740}.executive-dashboard-subtitle{margin:.35rem 0 0;color:#5a6a82;font-size:.92rem;line-height:1.4;max-width:42rem}.executive-dashboard-date{flex-shrink:0;font-size:.85rem;font-weight:600;color:#3f4f66;padding:.35rem .7rem;border-radius:999px;background:#ffffffd9;border:1px solid #d4dde8}.executive-dashboard-status{margin:0;color:#64748b;font-size:.9rem}.executive-dashboard-status.is-error{color:#b91c1c}.executive-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.executive-kpi-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;border-radius:12px;border:1px solid #e2e8f0;background:#ffffffeb;min-height:5.5rem}.executive-kpi-icon{width:2.35rem;height:2.35rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.executive-kpi-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.executive-kpi-label{font-size:.78rem;font-weight:600;color:#64748b;line-height:1.25}.executive-kpi-value{font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:700;color:#0f172a;line-height:1.1;letter-spacing:-.02em}.executive-kpi-hint{font-size:.72rem;color:#94a3b8}@media(max-width:640px){.executive-dashboard-header{flex-direction:column}.executive-dashboard-section{padding:1rem}}.quick-access-section{width:100%;max-width:100%;margin:0 0 3rem}.quick-access-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(91,125,184,.12);display:flex;align-items:center;gap:.5rem}.quick-access-title:before{content:"";width:4px;height:20px;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border-radius:2px}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;width:100%;align-items:stretch}.dashboard-empty-state{display:grid;justify-items:center;text-align:center;gap:.8rem;padding:1.5rem 1.2rem 1rem;border:1px solid #e2e8f0;border-radius:16px;background:linear-gradient(180deg,#eff6ff73,#fff)}.dashboard-empty-image{width:min(100%,520px);height:auto}.dashboard-empty-state h3{margin:.25rem 0 0;font-size:1.35rem;color:#1e293b}.dashboard-empty-state p{margin:0;max-width:700px;color:#64748b;line-height:1.55}.dashboard-empty-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.dashboard-empty-link{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:#1e3a8a;font-weight:600;border:1px solid transparent;border-radius:999px;padding:.45rem .9rem;transition:all .2s ease}.dashboard-empty-link:hover{transform:translateY(-1px)}.dashboard-empty-link-mail{background:#1d4ed81a;border-color:#1d4ed859}.dashboard-empty-link-mail:hover{background:#1d4ed829;border-color:#1d4ed873}.dashboard-empty-link-phone{background:#0596691c;border-color:#05966959;color:#065f46}.dashboard-empty-link-phone:hover{background:#0596692b;border-color:#05966973}.module-card-link{text-decoration:none;display:block;width:100%;height:100%}.module-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;cursor:pointer;height:100%;min-height:124px;position:relative;z-index:1}.module-card:hover{border-color:#5b7db84d;box-shadow:0 2px 8px #5b7db826;transform:translateY(-2px)}.module-card-header{display:flex;align-items:center;flex-shrink:0}.module-icon-wrapper{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.module-icon{font-size:1.5rem}.module-card-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:60px}.module-card-title{font-size:1rem;font-weight:600;color:#1a202c;margin:0 0 .25rem;line-height:1.4;flex-shrink:0}.module-card-description{font-size:.8rem;color:#718096;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-height:2.8em}.module-arrow{font-size:.875rem;color:#cbd5e0;transition:all .2s ease;flex-shrink:0;margin-left:auto;align-self:center}.module-card:hover .module-arrow{color:var(--color-primary, #5b7db8);transform:translate(2px)}@media(max-width:1024px){.modules-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.875rem}}@media(max-width:768px){.dashboard-wrapper{padding:1.5rem}.quick-access-section{margin-bottom:2rem}.quick-access-title{font-size:1.125rem;margin-bottom:1rem}.modules-grid{grid-template-columns:1fr;gap:.75rem}.module-card{padding:1rem}}@media(max-width:480px){.dashboard-wrapper{padding:1rem}.quick-access-title{font-size:1rem}.module-card{padding:.875rem}.module-icon-wrapper{width:40px;height:40px}.module-icon{font-size:1.25rem}}.day-route-map-wrap{position:relative;width:100%}.day-route-map{width:100%;height:280px;border-radius:10px;border:1px solid #e2e8f0;overflow:hidden;background:#f8fafc;z-index:0}.day-route-map__empty{margin:0;padding:.85rem .95rem;border-radius:10px;border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b;font-size:.9rem;line-height:1.45}.day-route-follow-btn{position:absolute;right:.65rem;bottom:.65rem;z-index:500;border:1px solid #cbd5e1;border-radius:999px;background:#fffffff0;color:#0f172a;font-size:.78rem;font-weight:600;line-height:1;padding:.45rem .75rem;cursor:pointer;box-shadow:0 4px 14px #0f172a1f}.day-route-follow-btn:hover{background:#fff;border-color:#94a3b8}.day-route-live-marker{background:transparent;border:0}.day-route-live-marker__pulse,.day-route-live-marker__dot{position:absolute;left:50%;top:50%;border-radius:999px;transform:translate(-50%,-50%)}.day-route-live-marker__pulse{width:28px;height:28px;background:#dc262647;animation:day-route-live-pulse 1.6s ease-out infinite}.day-route-live-marker__dot{width:12px;height:12px;background:#dc2626;border:2px solid #fff;box-shadow:0 0 0 1px #7f1d1d59}@keyframes day-route-live-pulse{0%{transform:translate(-50%,-50%) scale(.55);opacity:.9}to{transform:translate(-50%,-50%) scale(1.55);opacity:0}}.day-route-popup{min-width:180px;max-width:260px;font-family:inherit}.day-route-popup__header h4{margin:0 0 .15rem;font-size:.92rem;font-weight:700;color:#0f172a;line-height:1.25}.day-route-popup__header small{color:#64748b;font-size:.75rem}.day-route-popup__body{margin-top:.55rem;display:grid;gap:.28rem}.day-route-popup__row{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;line-height:1.35}.day-route-popup__row span{color:#64748b;flex-shrink:0}.day-route-popup__row strong{color:#0f172a;font-weight:600;text-align:right;word-break:break-word}.leaflet-container .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 24px #0f172a24}.leaflet-container .leaflet-popup-content{margin:.75rem .85rem}.realtime-map-page{width:100%;max-width:1440px;margin:0 auto;padding:1.5rem;box-sizing:border-box}.realtime-map-place-marker--safety-alert .realtime-map-place__pin{box-shadow:0 0 0 3px #b91c1c47,0 8px 18px #7f1d1d59;animation:realtime-map-safety-glow 1.6s ease-in-out infinite}@keyframes realtime-map-safety-glow{0%,to{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-1px);filter:brightness(1.08)}}.realtime-map-header h1{margin:0 0 .4rem;font-size:1.5rem;color:#0f172a}.realtime-map-header p{margin:0;color:#475569}.realtime-map-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}.realtime-map-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease;border-left-width:4px;border-left-color:var(--rtm-layer-color, #94a3b8)}.realtime-map-stat-card.active{border-color:var(--rtm-layer-color, #2563eb);border-left-color:var(--rtm-layer-color, #2563eb);background:color-mix(in srgb,var(--rtm-layer-color, #2563eb) 8%,#ffffff)}.realtime-map-stat-swatch{width:.65rem;height:.65rem;border-radius:999px;background:var(--rtm-layer-color, #94a3b8);flex-shrink:0}.realtime-map-stat-card.muted{opacity:.55}.realtime-map-stat-left{display:inline-flex;gap:.45rem;align-items:center}.realtime-map-stat-card span{color:#475569;font-size:.85rem}.realtime-map-stat-card strong{color:#0f172a;font-size:1.25rem}.realtime-map-canvas{height:70vh;min-height:480px;border:1px solid #cbd5e1;border-radius:14px;overflow:hidden}.realtime-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:.9rem;align-items:start}.realtime-map-list-panel{border:1px solid #cbd5e1;border-radius:14px;background:#fff;max-height:70vh;overflow:auto;padding:.7rem}.rtm-toolbar{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:.55rem;margin-bottom:.65rem;display:grid;gap:.45rem}.rtm-search-input{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .55rem;font-size:.8rem;color:#0f172a}.rtm-toolbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.rtm-action-button{border:1px solid #cbd5e1;background:#f8fafc;color:#1e293b;border-radius:8px;padding:.35rem .4rem;font-size:.72rem;font-weight:600;cursor:pointer}.rtm-last-update{color:#64748b;font-size:.72rem}.rtm-legend{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:.55rem .6rem;margin-bottom:.65rem}.rtm-legend h3{margin:0 0 .4rem;font-size:.84rem;color:#0f172a}.rtm-legend-items{display:grid;gap:.35rem}.rtm-legend-item{display:inline-flex;align-items:center;gap:.45rem}.rtm-legend-item small{font-size:.72rem;color:#475569}.rtm-legend-items--markers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.rtm-legend-place{--rtm-place-color: #0f766e;width:1.35rem;height:1.35rem;border-radius:.35rem .35rem .15rem;transform:rotate(-45deg);background:var(--rtm-place-color);border:1px solid #ffffff;box-shadow:0 1px 4px #0f172a33;display:grid;place-items:center;font-size:.7rem;flex-shrink:0;overflow:hidden}.rtm-legend-place__glyph{transform:rotate(45deg);line-height:1;font-size:.68rem}.rtm-legend-avatar{width:1.2rem;height:1.2rem;border:2px solid #ffffff;color:#fff;font-size:.58rem;font-weight:800;display:grid;place-items:center;flex-shrink:0}.rtm-legend-avatar--worker{border-radius:999px;background:#dc2626;box-shadow:0 0 0 2px #dc2626}.rtm-legend-avatar--vehicle{border-radius:.3rem;background:#ea580c;box-shadow:0 0 0 2px #ea580c}.rtm-legend-avatar--ticket{border-radius:.15rem .45rem;background:#4f46e5;box-shadow:0 0 0 2px #4f46e5}.realtime-map-list-group{margin-bottom:.55rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:.5rem .55rem}.realtime-map-accordion-header{width:100%;border:0;background:transparent;padding:0;margin:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:.45rem}.realtime-map-accordion-title{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.realtime-map-list-group h3{margin:0;font-size:.88rem;font-weight:700;color:#0f172a}.realtime-map-accordion-meta{display:inline-flex;align-items:center;gap:.45rem}.rtm-accordion-alert-summary{display:inline-flex;align-items:center;gap:.25rem}.rtm-dot{font-size:.68rem;border-radius:999px;padding:.08rem .35rem;border:1px solid #e2e8f0;background:#fff;line-height:1.1}.realtime-map-accordion-count{min-width:24px;height:22px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:.74rem;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.realtime-map-accordion-icon{width:18px;display:inline-flex;justify-content:center;color:#334155;font-weight:700}.realtime-map-list-empty{margin:.45rem 0 0;font-size:.78rem;color:#64748b}.realtime-map-list-item{width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.45rem .55rem;margin-top:.45rem;cursor:pointer;display:grid;gap:.15rem}.realtime-map-list-item__head{display:flex;align-items:center;gap:.45rem;min-width:0}.realtime-map-list-item__thumb{width:1.55rem;height:1.55rem;border-radius:.4rem;object-fit:cover;border:1.5px solid #ffffff;box-shadow:0 0 0 1px #e2e8f0,0 1px 3px #0f172a1f;flex-shrink:0;background:#f1f5f9}.realtime-map-list-item__thumb--round{border-radius:999px}.realtime-map-list-item__thumb--vehicle{border-radius:.35rem;object-fit:cover}.realtime-map-list-item__thumb--ticket{border-radius:.4rem;object-fit:cover;object-position:center;box-shadow:0 0 0 1px #c7d2fe,0 1px 3px #4f46e533}.realtime-map-list-item__glyph{width:1.2rem;height:1.2rem;flex-shrink:0}.realtime-map-list-item strong{font-size:.82rem;color:#1e293b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.realtime-map-list-item span{font-size:.73rem;color:#64748b}.rtm-alert-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:.12rem .5rem;font-size:.68rem;font-weight:700;border:1px solid transparent}.rtm-alert-badge--green{background:#dcfce7;color:#166534;border-color:#86efac}.rtm-alert-badge--yellow{background:#fef9c3;color:#854d0e;border-color:#fde047}.rtm-alert-badge--red{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.rtm-alert-badge--neutral{background:#e2e8f0;color:#334155;border-color:#cbd5e1}.realtime-map-feedback{margin:.5rem 0;color:#334155}.realtime-map-feedback.error{color:#b91c1c}.realtime-map-marker,.realtime-map-place-marker{background:transparent;border:0}.realtime-map-place{--rtm-place-color: #0f766e;display:grid;justify-items:center;gap:.15rem;pointer-events:auto}.realtime-map-place__pin{width:36px;height:36px;border-radius:10px 10px 3px;transform:rotate(-45deg);background:var(--rtm-place-color);border:2px solid #ffffff;box-shadow:0 4px 12px #0f172a47;display:grid;place-items:center;line-height:1;overflow:hidden}.realtime-map-place__media{width:100%;height:100%;transform:rotate(45deg);display:grid;place-items:center;overflow:hidden}.realtime-map-place__emoji{font-size:.9rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(15,23,42,.25))}.realtime-map-place__img{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:center;transform:scale(1.45);display:block}.realtime-map-place__label{max-width:88px;padding:.1rem .35rem;border-radius:999px;background:#0f172ad1;color:#fff;font-size:.62rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px #0f172a40}.realtime-map-avatar-marker{background:transparent;border:0}.realtime-map-avatar-wrap{display:grid;justify-items:center;gap:.15rem;pointer-events:auto}.realtime-map-avatar__label{max-width:88px;padding:.1rem .35rem;border-radius:999px;background:#0f172ad1;color:#fff;font-size:.62rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px #0f172a40}.realtime-map-avatar{--rtm-avatar-ring: #64748b;position:relative;width:48px;height:48px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.realtime-map-avatar__media{width:44px;height:44px;overflow:hidden;border:2.5px solid #ffffff;box-shadow:0 0 0 3px var(--rtm-avatar-ring),0 6px 14px #0f172a4d;background:#e2e8f0;display:grid;place-items:center;transition:transform .12s ease,box-shadow .12s ease}.realtime-map-avatar--worker .realtime-map-avatar__media{border-radius:999px;background:linear-gradient(145deg,#fecaca,#ef4444 55%,#b91c1c)}.realtime-map-avatar--vehicle .realtime-map-avatar__media{border-radius:12px;background:linear-gradient(145deg,#ffedd5,#fdba74)}.realtime-map-avatar--ticket .realtime-map-avatar__media{border-radius:4px 14px;background:linear-gradient(145deg,#e0e7ff,#a5b4fc)}.realtime-map-avatar__media img,.realtime-map-avatar__photo,.realtime-map-avatar__glyph{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:center;transform:scale(1.15);padding:0;background:transparent;display:block}.realtime-map-avatar__initials{font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.03em;text-shadow:0 1px 2px rgba(15,23,42,.35);line-height:1}.realtime-map-avatar__fallback{font-size:.72rem;font-weight:800;color:#0f172a;letter-spacing:.02em;line-height:1}.realtime-map-avatar__badge{position:absolute;right:-2px;bottom:-2px;min-width:18px;height:18px;padding:0 .22rem;border-radius:999px;background:var(--rtm-avatar-ring);color:#fff;border:2px solid #ffffff;box-shadow:0 2px 5px #0f172a47;display:grid;place-items:center;font-size:.58rem;font-weight:800;line-height:1;z-index:1}.realtime-map-avatar-marker--worker .realtime-map-avatar__media{box-shadow:0 0 0 3px #dc2626,0 6px 14px #dc262659}.realtime-map-avatar-marker--vehicle .realtime-map-avatar__media{box-shadow:0 0 0 3px var(--rtm-avatar-ring),0 6px 14px #0f172a4d}.realtime-map-avatar-marker--ticket .realtime-map-avatar__media{box-shadow:0 0 0 3px #4f46e5,0 6px 14px #4f46e54d}.realtime-map-avatar:hover .realtime-map-avatar__media,.realtime-map-avatar:focus-visible .realtime-map-avatar__media,.realtime-map-avatar--selected .realtime-map-avatar__media{transform:scale(1.1)}.realtime-map-avatar--selected .realtime-map-avatar__media{box-shadow:0 0 0 3px var(--rtm-avatar-ring),0 0 0 6px color-mix(in srgb,var(--rtm-avatar-ring) 35%,transparent),0 8px 16px #0f172a52}.realtime-map-avatar--clustered .realtime-map-avatar__media{width:48px;height:48px}.realtime-map-avatar--clustered{width:52px;height:52px}.leaflet-popup.rtm-avatar-popup .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 10px 28px #0f172a2e}.rtm-popup-card{min-width:220px;max-width:280px;display:grid;gap:.45rem}.rtm-popup-header h4{margin:0;font-size:.98rem;color:#0f172a}.rtm-popup-header small{color:#64748b;font-size:.74rem}.rtm-popup-body{display:grid;gap:.3rem}.rtm-popup-row{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}.rtm-popup-row--stack{flex-direction:column;align-items:flex-start;gap:.15rem}.rtm-popup-row--stack strong{text-align:left;line-height:1.35}.rtm-popup-row span{color:#64748b;font-size:.76rem}.rtm-popup-row strong{color:#1e293b;font-size:.78rem;text-align:right}.rtm-popup-footer{padding-top:.25rem;border-top:1px solid #e2e8f0}.rtm-popup-link{display:inline-block;text-decoration:none;font-size:.78rem;color:#1d4ed8;font-weight:600}.rtm-popup-link:hover{text-decoration:underline}@media(max-width:1100px){.realtime-map-layout{grid-template-columns:1fr}.realtime-map-list-panel{max-height:34vh}}.rh-home-wrapper{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:2rem;box-sizing:border-box}.rh-dashboard-section{width:100%;margin:0 0 1.5rem}.rh-dashboard-heading{margin-bottom:.85rem}.rh-dashboard-heading .rh-features-title{margin-bottom:.35rem;padding-bottom:.5rem}.rh-dashboard-subtitle{margin:0;color:#64748b;font-size:.88rem}.rh-dashboard-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1rem;align-items:start}.rh-dashboard-main{min-width:0}.rh-dashboard-charts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.9rem}.rh-panel--wide{grid-column:1 / -1}.rh-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.rh-panel-head h3{margin:0}.rh-panel-meta{font-size:.72rem;color:#94a3b8;font-weight:600}.rh-entity-bars{display:grid;gap:.55rem}.rh-entity-bar-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 2.2rem;gap:.45rem;align-items:center;text-decoration:none;color:inherit}.rh-entity-bar-label{font-size:.78rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-entity-bar-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.rh-entity-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary-strong, #2d4160) 0%,var(--color-primary, #456298) 100%)}.rh-entity-bar-row strong{font-size:.78rem;color:#1e293b;text-align:right}.rh-entity-bar-row:hover .rh-entity-bar-label{color:var(--color-primary-strong, #2d4160)}.rh-dashboard-aside{display:flex;flex-direction:column;gap:.85rem;min-width:0;position:sticky;top:.75rem}.rh-aside-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.85rem .9rem;box-shadow:0 1px 2px #0f172a0a}.rh-aside-card--alerts{border-color:#dbe3f0}.rh-approval-warnings{margin-top:.15rem;padding:.85rem .95rem;border-radius:12px;border:1px solid #f6d889;background:linear-gradient(180deg,#fff8eb,#fff3d6);box-shadow:0 1px 2px #92400e0f}.rh-approval-warnings-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.7rem;color:#92400e}.rh-approval-warnings-head h3{margin:0;font-size:.92rem;flex:1;color:#78350f}.rh-approval-warnings-head svg{color:#d97706;font-size:.95rem;flex-shrink:0}.rh-approval-warnings .rh-aside-badge{background:#fde68a;color:#92400e}.rh-approval-warnings .rh-action-item--warning{border-color:#fcd34d;background:#ffffffb8}.rh-approval-warnings .rh-action-item--warning:hover{background:#fff;border-color:#f59e0b}.rh-aside-card-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.7rem;color:#334155}.rh-aside-card-head h3{margin:0;font-size:.92rem;flex:1;color:#0f172a}.rh-aside-card-head svg{color:var(--color-primary, #5b7db8);font-size:.9rem}.rh-aside-badge{min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:999px;background:#eef2f7;color:#334155;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.rh-aside-clear{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .7rem;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.82rem}.rh-aside-clear p{margin:0}.rh-aside-clear svg{margin-top:.15rem;flex-shrink:0}.rh-action-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.rh-action-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem .6rem;border-radius:10px;border:1px solid #e2e8f0;text-decoration:none;color:inherit;background:#f8fafc;transition:border-color .15s ease,background .15s ease}.rh-action-item:hover{border-color:#cbd5e1;background:#fff}.rh-action-item--danger{border-color:#fecaca;background:#fef2f2}.rh-action-item--warning{border-color:#fde68a;background:#fffbeb}.rh-action-item--info{border-color:#bfdbfe;background:#eff6ff}.rh-action-count{min-width:2.1rem;height:2.1rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.08)}.rh-action-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.rh-action-body strong{font-size:.8rem;color:#0f172a;line-height:1.25}.rh-action-body small{font-size:.7rem;color:#64748b}.rh-action-arrow{color:#94a3b8;font-size:.75rem}.rh-workforce-stats{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.65rem}.rh-workforce-stats span{display:block;font-size:.72rem;color:#64748b;margin-bottom:.15rem}.rh-workforce-stats strong{font-size:1.15rem;color:#0f172a}.rh-workforce-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.rh-workforce-fill{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a)}.rh-pending-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.rh-pending-list a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-decoration:none;color:#334155;font-size:.8rem;padding:.35rem .2rem;border-radius:6px}.rh-pending-list a:hover{background:#f8fafc;color:var(--color-primary-strong, #2d4160)}.rh-pending-list strong{color:#0f172a;font-variant-numeric:tabular-nums}.rh-features-section{width:100%;max-width:100%;margin:0}.rh-features-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(91,125,184,.12);display:flex;align-items:center;gap:.5rem}.rh-features-title:before{content:"";width:4px;height:20px;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border-radius:2px}.rh-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;width:100%;align-items:stretch}.rh-feature-card-link{text-decoration:none;display:block;width:100%;height:100%}.rh-feature-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;border:1px solid #e2e8f0;display:flex;align-items:center;gap:1rem;cursor:pointer;height:100%;min-height:124px;position:relative;z-index:1}.rh-feature-card:hover{border-color:#5b7db84d;box-shadow:0 2px 8px #5b7db826;transform:translateY(-2px)}.rh-feature-card-header{display:flex;align-items:center;flex-shrink:0}.rh-feature-icon-wrapper{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--ui-feature-icon-bg)}.rh-feature-icon{font-size:1.5rem;color:var(--ui-feature-icon-color)}.rh-feature-card-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:60px}.rh-feature-card-title{font-size:1rem;font-weight:600;color:#1a202c;margin:0 0 .25rem;line-height:1.4;flex-shrink:0}.rh-feature-card-description{font-size:.8rem;color:#718096;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-height:2.8em}.rh-feature-arrow{font-size:.875rem;color:#cbd5e0;transition:all .2s ease;flex-shrink:0;margin-left:auto;align-self:center}.rh-feature-card:hover .rh-feature-arrow{color:var(--color-primary, #5b7db8);transform:translate(2px)}.rh-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.rh-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem;box-shadow:0 1px 2px #0f172a0a;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.rh-kpi-card:hover{border-color:#5b7db859;box-shadow:0 2px 8px #5b7db81f;transform:translateY(-1px)}.rh-kpi-card--warn{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff 55%)}.rh-kpi-card--danger{border-color:#fecaca;background:linear-gradient(180deg,#fef2f2,#fff 55%)}.rh-kpi-label{color:#64748b;font-size:.78rem;line-height:1.2;display:flex;align-items:center;gap:.35rem}.rh-kpi-icon{color:#5b7db8;font-size:.82rem}.rh-kpi-value{color:#1e293b;font-size:1.2rem;line-height:1.3}.rh-kpi-delta{color:#64748b;font-size:.72rem}.rh-dashboard-visual-grid{gap:.9rem}.rh-dashboard-legend{display:flex;gap:.95rem;align-items:center;flex-wrap:wrap;margin:.2rem 0 .8rem;color:#64748b;font-size:.76rem}.rh-dashboard-legend span{display:inline-flex;align-items:center;gap:.35rem}.rh-dot{width:9px;height:9px;border-radius:999px;display:inline-block}.rh-dot--entity,.rh-dot--attendance,.rh-dot--activity{background:var(--color-primary, #456298)}.rh-panel{border-color:var(--ui-border-strong);box-shadow:0 1px 2px #0f172a0a}.rh-panel h3{font-size:.95rem;margin-bottom:.75rem}.rh-bar-fill{transition:width .22s ease}.rh-bar-fill--entity,.rh-bar-fill--attendance,.rh-bar-fill--activity{background:linear-gradient(90deg,var(--color-primary-strong, #2d4160) 0%,var(--color-primary, #456298) 100%)}.rh-empty-state{margin:.2rem 0 0;padding:.75rem .8rem;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:.8rem}.rh-time-columns{height:170px;display:grid;grid-template-columns:repeat(10,1fr);gap:.35rem;align-items:end}.rh-time-columns--7d{grid-template-columns:repeat(7,1fr)}.rh-time-col{display:flex;flex-direction:column;align-items:center;gap:.22rem}.rh-time-col small{font-size:.68rem;color:#64748b}.rh-time-col strong{font-size:.72rem;color:#1e293b}.rh-time-col-track{width:100%;height:96px;display:flex;align-items:end;justify-content:center}.rh-time-col-fill{width:72%;border-radius:8px 8px 3px 3px;min-height:0}.rh-time-col-fill--attendance,.rh-time-col-fill--activity{background:linear-gradient(180deg,var(--color-primary, #456298) 0%,var(--color-primary-strong, #2d4160) 100%)}@media(max-width:1280px){.rh-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rh-dashboard-shell{grid-template-columns:minmax(0,1fr) minmax(240px,280px)}}@media(max-width:1024px){.rh-dashboard-shell{grid-template-columns:1fr}.rh-dashboard-aside{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.rh-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-features-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.875rem}}@media(max-width:768px){.rh-home-wrapper{padding:1.5rem}.rh-dashboard-charts{grid-template-columns:1fr}.rh-panel--wide{grid-column:auto}.rh-kpi-grid{grid-template-columns:1fr}.rh-features-section{margin-bottom:2rem}.rh-features-title{font-size:1.125rem;margin-bottom:1rem}.rh-features-grid{grid-template-columns:1fr;gap:.75rem}.rh-feature-card{padding:1rem}}@media(max-width:480px){.rh-home-wrapper{padding:1rem}.rh-features-title{font-size:1rem}.rh-feature-card{padding:.875rem}.rh-feature-icon-wrapper{width:40px;height:40px}.rh-feature-icon{font-size:1.25rem}}.table-skel{width:100%;min-width:0}.table-skel-table{width:100%}.table-skel-bone{display:inline-block;vertical-align:middle;border-radius:.35rem;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0 80%);background-size:220% 100%;animation:table-skel-shimmer 1.35s ease-in-out infinite}.table-skel-bone--check{width:1rem;height:1rem;border-radius:.25rem}.table-skel-bone--th-short{width:3.5rem;height:.65rem}.table-skel-bone--cell{height:.85rem;max-width:100%}.table-skel-bone--wide{width:78%}.table-skel-bone--mid{width:58%}.table-skel-bone--narrow{width:42%}.table-skel-bone--action{width:1.75rem;height:1.75rem;border-radius:.5rem;margin-left:auto;display:block}.table-skel__status{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:0;padding:.85rem 1rem 1.1rem;border-top:1px solid #f1f5f9;color:#64748b;font-size:.875rem;font-weight:500;line-height:1.35}.table-skel__spinner{width:1rem;height:1rem;border:2px solid #cbd5e1;border-top-color:var(--color-primary, #5b7db8);border-radius:50%;animation:table-skel-spin .7s linear infinite;flex-shrink:0}@keyframes table-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes table-skel-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.table-skel-bone--wide{width:88%}.table-skel-bone--mid,.table-skel-bone--narrow{width:70%}}.data-table-wrapper{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014;border:1px solid #e2e8f0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.table-search{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:#fafbfc}.table-search .search-input{flex:1 1 auto;width:100%;min-width:12rem;max-width:min(42rem,100%)}.table-header-action-wrap{margin-left:auto;flex-shrink:0}.table-header-action-btn{min-width:auto;padding:.4rem .75rem;font-size:.8125rem}.table-header-actions-group{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.table-header-actions-group .task-tickets-selection-count{font-size:.8125rem;font-weight:600;color:#475569;white-space:nowrap}.data-table-selection-column{width:2.5rem;min-width:2.5rem;text-align:center;vertical-align:middle;padding:.5rem .35rem!important}.data-table-selection-checkbox{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:var(--color-primary, #5b7db8)}.data-table-row--selected{background-color:#5b7db814!important}.search-input{width:100%;max-width:min(28rem,100%);padding:.625rem 1rem .625rem 2.5rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1a202c;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' width='18' height='18'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E") no-repeat .75rem center;transition:border-color .2s ease,box-shadow .2s ease}.search-input::placeholder{color:#94a3b8}.search-input:focus{outline:none;border-color:var(--color-primary, #5b7db8);box-shadow:0 0 0 3px #5b7db824}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.data-table th{padding:.875rem 1.25rem;text-align:left;font-weight:600;color:#475569;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.th-content{display:flex;align-items:center;gap:.5rem}.th-align-right .th-content{justify-content:flex-end}.th-align-center .th-content{justify-content:center}.sort-button{background:none;border:none;cursor:pointer;padding:.2rem;color:#94a3b8;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s ease,background .2s ease}.sort-button:hover{color:var(--color-primary, #5b7db8);background:#5b7db814}.data-table td{padding:.875rem 1.25rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.data-table tbody tr.data-table-group-row td,.data-table .data-table-group-cell{background:linear-gradient(180deg,#eef4ff,#f6f9ff);border-top:1px solid #d8e3f6;border-bottom:1px solid #d8e3f6;color:#0f172a}.data-table .data-table-group-cell{padding:.62rem 1.25rem;font-weight:700}.data-table th.fleet-vin-cell,.data-table td.fleet-vin-cell{min-width:10rem;max-width:14rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8125rem}.data-table th.inventory-image-cell,.data-table td.inventory-image-cell{padding-left:.5rem;padding-right:.5rem;text-align:center}.data-table th.inventory-barcode-cell,.data-table td.inventory-barcode-cell{width:auto!important;min-width:0!important;max-width:none!important;padding:.2rem!important;text-align:center!important;white-space:nowrap}.data-table th.inventory-barcode-cell .th-content{justify-content:center;width:100%}.data-table tbody tr:last-child td{border-bottom:none}.data-table.striped tbody tr:nth-child(2n){background-color:#fafbfc}.data-table.hover tbody tr:hover{background-color:#5b7db80a}.data-table.hover tbody tr.data-table-group-row:hover{background-color:transparent}.clickable-row{cursor:pointer;transition:background-color .15s ease}.clickable-row:hover{background-color:#5b7db80f!important}.actions-column{width:60px;text-align:right!important;white-space:nowrap}.actions-cell{text-align:right!important}.data-table-actions-menu{position:relative;display:inline-flex;justify-content:flex-end}.data-table-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease}.data-table-actions-trigger:hover{background:#5b7db814;color:#475569}.data-table-actions-trigger:focus{outline:none;box-shadow:0 0 0 2px #5b7db84d}.data-table-actions-dropdown{position:absolute;top:100%;right:0;z-index:50;min-width:160px;margin-top:4px;padding:.375rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a,0 4px 10px -2px #0000000f;animation:data-table-dropdown-in .15s ease-out}.data-table-actions-dropdown--portal{top:auto;right:auto;margin-top:0}@keyframes data-table-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.data-table-actions-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;border-radius:6px;background:none;font-size:.875rem;color:#334155;cursor:pointer;text-align:left;transition:background .1s ease}.data-table-actions-item:hover{background:#f1f5f9}.data-table-actions-item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;color:inherit}.data-table-actions-item--primary .data-table-actions-item-icon{color:var(--color-primary, #5b7db8)}.data-table-actions-item--primary:hover{background:#5b7db81a}.data-table-actions-item--secondary .data-table-actions-item-icon{color:#64748b}.data-table-actions-item--danger .data-table-actions-item-icon{color:#dc2626}.data-table-actions-item--danger:hover{background:#dc262614;color:#b91c1c}.data-table-actions-item--warning .data-table-actions-item-icon{color:#d97706}.data-table-actions-item--warning:hover{background:#d9770614}.data-table-actions-item-label{flex:1 1 auto}.data-table-actions-item-lock{display:inline-flex;align-items:center;margin-left:auto;color:#94a3b8;font-size:.75rem}.data-table-actions-item--locked,.data-table-actions-item--locked:hover{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.data-table-actions-item--locked .data-table-actions-item-icon{color:#94a3b8}.table-header-action-btn--locked{opacity:.72}.table-header-action-label{display:inline-flex;align-items:center}.table-header-action-lock{display:inline-flex;align-items:center;margin-left:.45rem;font-size:.8rem}.table-loading,.table-empty{padding:3rem 2rem;text-align:center;color:#64748b;font-size:.9375rem}.table-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.table-empty p{margin:0}.spinner{width:2.25rem;height:2.25rem;border:2px solid #e2e8f0;border-top-color:var(--color-primary, #5b7db8);border-radius:50%;animation:spin .7s linear infinite}.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:.75rem;background:#fafbfc}.pagination-info{font-size:.8125rem;color:#64748b}.pagination-controls{display:flex;align-items:center;gap:1rem}.per-page-select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.8125rem;color:#475569;background:#fff;cursor:pointer}.per-page-select:focus{outline:none;border-color:var(--color-primary, #5b7db8)}.pagination-buttons{display:flex;align-items:center;gap:.5rem}.page-info{font-size:.8125rem;color:#475569;padding:0 .5rem}.boolean-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.boolean-icon-true{color:#16a34a}.boolean-icon-false{color:#dc2626}@media(max-width:768px){.data-table th,.data-table td{padding:.75rem 1rem}.table-search{padding:.875rem 1rem}.search-input{max-width:none}.table-pagination{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.pagination-controls{flex-wrap:wrap}}.page-heading{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;margin-bottom:1.5rem;min-width:0}.page-heading__top{display:flex;align-items:center;min-width:0}.page-heading__back{display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.15rem 0;border:none;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;line-height:1.3;cursor:pointer;border-radius:.35rem;max-width:100%}.page-heading__back:hover{color:#0f172a}.page-heading__back:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.page-heading__back-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem;line-height:1}.page-heading__back-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading__hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;min-width:0}.page-heading__hero-text{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1 1 16rem}.page-heading__hero-spacer{flex:1 1 auto;min-width:0}.page-heading__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.625rem;flex:0 1 auto;max-width:100%;padding-top:.1rem}.page-heading__actions>*,.header-actions>*{flex:0 0 auto;max-width:100%}.page-heading__title{margin:0;font-size:1.625rem;line-height:1.25;font-weight:700;color:#0f172a;letter-spacing:-.025em}.page-heading__subtitle{margin:0;color:#64748b;font-size:.9375rem;line-height:1.45;max-width:46rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-heading__subtitle a{color:var(--color-primary-strong, #2d4160);font-weight:600}.page-heading__subtitle a:hover{color:var(--color-primary-hover, #3a5482)}.page-heading .form-title,.form-heading .form-title{margin:0}@media(max-width:640px){.page-heading{gap:.45rem;margin-bottom:1.25rem}.page-heading__title{font-size:1.375rem}.page-heading__hero{flex-direction:column;align-items:stretch;gap:.85rem}.page-heading__actions{width:100%;justify-content:flex-start;padding-top:0}.page-heading__subtitle{white-space:normal}}.form-add-wrapper{width:100%;max-width:var(--form-shell-max-width, min(100%, 1520px));margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none;box-sizing:border-box}.form-add,.form-fields{display:flex;flex-direction:column;gap:1.25rem}.form-section--payroll .form-section-fields{align-items:start}@media(max-width:640px){.form-section-fields,.form-section--grid .form-section-fields,.form-section-fields--grid{grid-template-columns:1fr;--form-field-label-slot: auto}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field){grid-template-rows:auto auto auto}.form-section-fields>.form-field-wrapper>.checkbox-field{padding-top:0}.form-row-photo-address{flex-direction:column}.form-row-photo-address>.form-field-wrapper:first-child{width:100%;min-width:0}.form-row-photo-address__side{grid-template-columns:1fr;width:100%}}.form-field--center{display:flex;justify-content:center;width:100%}.form-add-wrapper input[type=text],.form-add-wrapper input[type=email],.form-add-wrapper input[type=password],.form-add-wrapper input[type=number],.form-add-wrapper input[type=date],.form-add-wrapper textarea,.form-add-wrapper select{color:#111827;background-color:#fff}.form-add-wrapper input::placeholder,.form-add-wrapper textarea::placeholder{color:#9ca3af}.form-before-submit{margin-top:.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}@media(max-width:640px){.form-section{padding:1rem}.form-actions{flex-direction:column;align-items:stretch;padding:1rem}.form-actions-hint{flex:0 0 auto;order:1;text-align:left}.form-actions__buttons{order:2;margin-left:0;width:100%;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.form-actions__buttons>.btn{flex:0 0 auto;width:auto}}.form-edit-wrapper{width:100%;max-width:var(--form-shell-max-width, min(100%, 1520px));margin:0;padding:0;background:transparent;border-radius:0;box-shadow:none;box-sizing:border-box}.form-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0;min-width:0;line-height:1.25}.form-edit,.form-fields{display:flex;flex-direction:column;gap:1.25rem}.form-section{display:flex;flex-direction:column;gap:1rem;padding:1.15rem 1.35rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a;box-sizing:border-box}.form-section-title{font-size:1rem;font-weight:600;color:#0f172a;margin:0 0 .15rem;padding-bottom:.65rem;border-bottom:1px solid #e2e8f0}.form-section-fields,.form-section--grid .form-section-fields,.form-section-fields--grid{--form-field-label-slot: 2.75rem;--form-field-col-min: 17.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--form-field-col-min)),1fr));gap:1.15rem 1.5rem;align-items:start}.form-section-fields>.form-field-wrapper{display:flex;flex-direction:column;min-width:0;width:100%}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field){margin-bottom:0;flex:1 1 auto;display:grid;grid-template-rows:var(--form-field-label-slot) auto auto;align-content:start;gap:.45rem}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-label{display:flex;align-items:flex-end;align-self:stretch;line-height:1.3;min-height:0;margin:0}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-input,.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-select-combobox,.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-textarea,.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>textarea.form-input{width:100%;min-width:0}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-helper,.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-error,.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field)>.form-field-muted-validity,.form-section-fields>.form-field-wrapper>.form-field-wrapper__error{margin-top:0}.form-section-fields>.form-field-wrapper>.checkbox-field{margin-bottom:0;padding-top:var(--form-field-label-slot);box-sizing:border-box}@media(max-width:640px){.form-section-fields,.form-section--grid .form-section-fields,.form-section-fields--grid{grid-template-columns:1fr;--form-field-label-slot: auto}.form-section-fields>.form-field-wrapper>.form-field:not(.checkbox-field){grid-template-rows:auto auto auto}.form-section-fields>.form-field-wrapper>.checkbox-field{padding-top:0}}.form-row-photo-address{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:.25rem}.form-row-photo-address>.form-field-wrapper:first-child{width:168px;min-width:168px;flex-shrink:0}.form-row-photo-address__side{flex:1;min-width:0;display:grid;grid-template-columns:1fr;gap:1rem;align-content:start}.form-row-photo-address__side .form-field-wrapper{min-width:0}.form-row-photo-address__side .form-field--full{grid-column:1 / -1}@media(max-width:640px){.form-row-photo-address{flex-direction:column}.form-row-photo-address>.form-field-wrapper:first-child{width:100%;min-width:0}.form-row-photo-address__side{grid-template-columns:1fr;width:100%}}.form-field-wrapper--error{border-left:3px solid #ef4444;padding-left:.55rem;border-radius:0 .35rem .35rem 0;background:#ef44440a}.form-field-wrapper--error .form-label{color:#b91c1c}.form-field-wrapper--error .form-input,.form-field-wrapper--error .form-select,.form-field-wrapper--error .form-textarea,.form-field-wrapper--error select.form-input,.form-field-wrapper--error textarea.form-input,.form-field-wrapper--error .form-checkbox{border-color:#ef4444;box-shadow:0 0 0 1px #ef444426}.form-field-wrapper__error{display:block;margin-top:.35rem}.form-field-wrapper{width:100%}.form-field--full{grid-column:1 / -1}.form-actions{display:flex;gap:.75rem 1rem;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:1rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a}.form-actions-spacer{flex:1 1 auto;min-width:0}.form-actions-hint{flex:1 1 12rem;margin:0;min-width:0;font-size:.8125rem;color:#b45309;line-height:1.35;text-align:left}.form-actions__buttons{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto}.form-actions__buttons>.btn{flex:0 0 auto;width:auto;max-width:100%}.form-subtitle{margin:-.75rem 0 1.25rem;font-size:.95rem;color:#6b7280;line-height:1.55}.form-section-hint{margin:0 0 1rem;font-size:.875rem;color:#6b7280;line-height:1.5}.form-section-hint--tight{margin-bottom:0}.form-wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.form-wizard-step{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#e5e7eb;color:#374151}.form-wizard-step--active{background:#111827;color:#fff}.form-wizard-step--done{background:#059669;color:#fff}.form-section--nested{width:100%;max-width:100%;box-sizing:border-box;padding:1rem;border:1px solid #e5e7eb;border-radius:.375rem;background:#f9fafb;margin-bottom:1rem}.form-wizard-phase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.form-wizard-phase-title{margin:0;font-size:1rem;font-weight:600;color:#374151}.form-wizard-task-block{width:100%;max-width:100%;box-sizing:border-box;margin-bottom:1rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.375rem;background:#fff}.form-wizard-toolbar{margin-bottom:1rem}.form-wizard-stack-spacing{margin-top:1rem}.form-wizard-task-actions{display:flex;align-items:flex-end;justify-content:flex-end}.form-wizard-alert-spacing{margin-bottom:1rem}@media(max-width:640px){.form-section{padding:1rem}.form-section-fields{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch;padding:1rem}.form-actions-hint{flex:0 0 auto;order:1;text-align:left}.form-actions__buttons{order:2;margin-left:0;width:100%;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.form-actions__buttons>.btn{flex:0 0 auto;width:auto}}.form-skel{width:100%;min-width:0}.form-skel__body{display:flex;flex-direction:column;gap:1.25rem}.form-skel-section{display:flex;flex-direction:column;gap:1rem;padding:1.15rem 1.35rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a;box-sizing:border-box}.form-skel-section__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));gap:1.15rem 1.5rem}.form-skel-field{display:grid;grid-template-rows:.9rem 2.5rem .65rem;gap:.45rem;align-content:start}.form-skel-bone{display:block;border-radius:.4rem;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0 80%);background-size:220% 100%;animation:form-skel-shimmer 1.35s ease-in-out infinite}.form-skel-bone--section-title{width:min(12rem,40%);height:1rem;margin-bottom:.15rem}.form-skel-bone--label{width:42%;height:100%}.form-skel-bone--control{width:100%;height:100%;border-radius:.5rem}.form-skel-bone--hint{width:68%;height:100%;opacity:.85}.form-skel-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a}.form-skel-bone--btn{width:6.5rem;height:var(--btn-height-md, 2.5rem);border-radius:.5rem}.form-skel-bone--btn-primary{width:7.25rem;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary, #456298) 28%,#e2e8f0),color-mix(in srgb,var(--color-primary, #456298) 14%,#f8fafc),color-mix(in srgb,var(--color-primary, #456298) 28%,#e2e8f0) 80%);background-size:220% 100%}.form-skel__status{display:inline-flex;align-items:center;gap:.55rem;margin:.85rem 0 0;color:#64748b;font-size:.875rem;font-weight:500;line-height:1.35}.form-skel__spinner{width:1rem;height:1rem;border:2px solid #cbd5e1;border-top-color:var(--color-primary, #456298);border-radius:50%;animation:form-skel-spin .7s linear infinite;flex-shrink:0}@supports not (background: color-mix(in srgb,#000 50%,#fff)){.form-skel-bone--btn-primary{background:linear-gradient(90deg,#c7d2e8,#e8eef8,#c7d2e8 80%);background-size:220% 100%}}@keyframes form-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes form-skel-spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.form-skel-section{padding:1rem}.form-skel-section__fields{grid-template-columns:1fr}.form-skel-actions{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;padding:1rem}}.form-page{width:100%;max-width:var(--page-form-max-width, min(100%, 1520px));margin-inline:auto;padding:var(--page-shell-padding-block) 0 1.75rem;box-sizing:border-box}.form-page .form-add-wrapper,.form-page .form-edit-wrapper,.form-page .form-create-wrapper{max-width:none;width:100%;margin:0;box-sizing:border-box}.form-page__loading{padding:2rem 0;color:#64748b;font-size:.9375rem}.form-page__error{margin-bottom:1rem}.form-page__top{margin-bottom:1rem;max-width:none;width:100%;font-size:.9rem;color:#64748b;line-height:1.55}@media(max-width:640px){.form-page{padding-bottom:1.25rem}}.form-wizard-page{width:100%;max-width:var(--page-form-max-width);margin:0 auto;padding:var(--page-shell-padding-block) 0 1.5rem;box-sizing:border-box}.form-wizard-page .form-add-wrapper,.form-wizard-page.form-add-wrapper{max-width:none;margin:0;padding:0;box-shadow:none;background:transparent}.form-wizard-step-panel{display:flex;flex-direction:column;gap:.5rem}.form-wizard-page__error{margin-bottom:1rem}@media(max-width:640px){.form-wizard-page{padding-bottom:1.25rem}}.filter-tab-bar{display:flex;flex-wrap:wrap;gap:.45rem;padding:.35rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px}.filter-tab-bar--scrollable{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.filter-tab-bar--embedded,.list-page-filter-bar__main>.filter-tab-bar{margin:0;padding:0;background:transparent;border:none;border-radius:0;flex:1 1 auto;min-width:0}.filter-tab-bar__tab{display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;background:#fff;color:#475569;border-radius:11px;padding:.45rem .85rem;min-height:2.5rem;font-size:.85rem;font-weight:600;cursor:pointer;max-width:100%;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.filter-tab-bar__tab--media{flex:0 0 auto;gap:.55rem;min-height:3.625rem;padding:.45rem .65rem .45rem .45rem;border-radius:12px;white-space:normal}.filter-tab-bar__tab:hover:not(:disabled){border-color:#c9d9ee;background:#f8fbff;color:#0f172a}.filter-tab-bar__tab--danger{color:#b91c1c}.filter-tab-bar__tab--danger:hover:not(:disabled){border-color:#fecaca;background:#fff5f5;color:#991b1b}.filter-tab-bar__tab--active{background:#4f6fa8;color:#fff;border-color:#4f6fa8;box-shadow:0 2px 10px #4f6fa847}.filter-tab-bar__tab--danger.filter-tab-bar__tab--active{background:#fca5a5;color:#7f1d1d;border-color:#f87171;box-shadow:0 2px 10px #f8717159}.filter-tab-bar__tab:focus-visible{outline:2px solid #4f6fa8;outline-offset:2px}.filter-tab-bar__tab--danger:focus-visible{outline-color:#f87171}.filter-tab-bar__tab:disabled{cursor:default;opacity:1}.filter-tab-bar__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:.9rem;height:.9rem;line-height:1}.filter-tab-bar__icon svg,.filter-tab-bar__icon>*{width:.9rem;height:.9rem}.filter-tab-bar__icon--media{width:2.75rem;height:2.75rem;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.filter-tab-bar__icon--media svg,.filter-tab-bar__icon--media>*{width:100%;height:100%}.filter-tab-bar__icon--media img{width:100%;height:100%;object-fit:cover;display:block}.filter-tab-bar__tab--danger .filter-tab-bar__icon{color:#dc2626}.filter-tab-bar__tab--danger.filter-tab-bar__tab--active .filter-tab-bar__icon{color:#991b1b}.filter-tab-bar__text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:.05rem}.filter-tab-bar__tab--media .filter-tab-bar__text{max-width:9rem}.filter-tab-bar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}.filter-tab-bar__description{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;font-weight:500;color:#64748b;line-height:1.2}.filter-tab-bar__tab--active .filter-tab-bar__description{color:#ffffffd1}.filter-tab-bar__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .38rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1;flex-shrink:0;background:#e2e8f0;color:#475569}.filter-tab-bar__tab--active .filter-tab-bar__count{background:#ffffff40;color:#fff}.filter-tab-bar__tab--danger.filter-tab-bar__tab--active .filter-tab-bar__count{background:#7f1d1d26;color:#7f1d1d}@media(max-width:640px){.filter-tab-bar:not(.filter-tab-bar--embedded):not(.filter-tab-bar--scrollable){width:100%}.filter-tab-bar:not(.filter-tab-bar--scrollable) .filter-tab-bar__tab:not(.filter-tab-bar__tab--media){flex:1 1 auto;justify-content:center}}.list-page{width:100%;max-width:var(--page-fluid-max-width);margin-inline:auto;padding:var(--page-shell-padding-block) var(--page-shell-padding-inline);padding-bottom:2rem;box-sizing:border-box}.list-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.list-page-title{font-size:1.4375rem;font-weight:600;color:#1a202c;margin:0 0 .25rem;letter-spacing:-.02em}.list-page-subtitle{color:#64748b;font-size:.875rem;margin:0;line-height:1.4}.list-page-actions{display:flex;align-items:center;gap:.75rem}.list-page-content{width:100%;border-radius:12px;overflow:hidden}.list-page-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;margin-bottom:1rem;padding:.4rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px}.list-page-filter-bar__main{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;flex:1 1 auto;min-width:0}.list-page-filter-bar__start{display:inline-flex;align-items:center;flex:0 0 auto}.list-page-filter-bar__scope{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem;flex:0 0 auto;margin-left:auto}.list-page-trash-actions{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;padding-left:.65rem;border-left:1px solid #cbd5e1;min-height:40px}@media(max-width:640px){.list-page-filter-bar__scope{width:100%;justify-content:flex-start;margin-left:0}.list-page-trash-actions{padding-left:0;border-left:none;width:100%;justify-content:flex-start}}.list-page-trash-actions__count{font-size:.8125rem;font-weight:600;color:#7f1d1d;white-space:nowrap}.list-page-trash-actions__btn{min-width:auto;padding:.45rem .85rem;font-size:.8125rem;white-space:nowrap}.list-page--trash-view .list-page-filter-bar__scope{gap:.75rem}.list-page-filter-bar__main>.filter-tab-bar{margin-bottom:0;padding:0;background:transparent;border:none;border-radius:0;flex:1 1 auto}.list-page-top-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.list-page-top-toolbar__main{flex:1 1 auto;min-width:0}.list-page-top-toolbar__scope{flex:0 0 auto;margin-left:auto;align-self:flex-start}.list-page-content--trash .data-table-wrapper{background:#fff7f7;border-color:#fecaca;box-shadow:0 1px 3px #b91c1c14}.list-page-content--trash .table-search{background:#fff1f2;border-bottom-color:#fecaca}.list-page-content--trash .data-table thead{background:#ffe4e6}.list-page-content--trash .data-table tbody tr:nth-child(2n){background:#fff5f5}.list-page-content--trash .data-table tbody tr:hover{background:#fee2e2}.list-page--trash-view .list-page-subtitle{color:#b91c1c}@media(max-width:768px){.list-page-title{font-size:1.2rem}.list-page-header{margin-bottom:.875rem}}.detail-skel{width:100%;min-width:0}.detail-skel-header{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.35rem}.detail-skel-header__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1.25rem}.detail-skel-header__actions{display:inline-flex;align-items:center;gap:.65rem}.detail-skel__body{display:flex;flex-direction:column;gap:1.25rem}.detail-skel-card{display:flex;flex-direction:column;gap:1rem;padding:1.15rem 1.35rem 1.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a;box-sizing:border-box}.detail-skel-card__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.15rem 1.5rem}.detail-skel-field{display:grid;grid-template-rows:.75rem 1.35rem;gap:.45rem;align-content:start}.detail-skel-bone{display:block;border-radius:.4rem;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0 80%);background-size:220% 100%;animation:detail-skel-shimmer 1.35s ease-in-out infinite}.detail-skel-bone--back{width:7.5rem;height:.85rem}.detail-skel-bone--title{width:min(18rem,55%);height:1.65rem;border-radius:.45rem;flex:1;min-width:10rem}.detail-skel-bone--title-inline{display:inline-block;width:min(16rem,50vw);height:1.5rem;vertical-align:middle}.detail-skel-bone--card-title{width:min(11rem,40%);height:1rem}.detail-skel-bone--label{width:38%;height:100%}.detail-skel-bone--value{width:72%;height:100%}.detail-skel-bone--btn{width:6.5rem;height:var(--btn-height-md, 2.5rem);border-radius:.5rem}.detail-skel-bone--btn-primary{width:7.25rem;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary, #456298) 28%,#e2e8f0),color-mix(in srgb,var(--color-primary, #456298) 14%,#f8fafc),color-mix(in srgb,var(--color-primary, #456298) 28%,#e2e8f0) 80%);background-size:220% 100%}.detail-skel__status{display:inline-flex;align-items:center;gap:.55rem;margin:.85rem 0 0;color:#64748b;font-size:.875rem;font-weight:500;line-height:1.35}.detail-skel__spinner{width:1rem;height:1rem;border:2px solid #cbd5e1;border-top-color:var(--color-primary, #456298);border-radius:50%;animation:detail-skel-spin .7s linear infinite;flex-shrink:0}@supports not (background: color-mix(in srgb,#000 50%,#fff)){.detail-skel-bone--btn-primary{background:linear-gradient(90deg,#c7d2e8,#e8eef8,#c7d2e8 80%);background-size:220% 100%}}@keyframes detail-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes detail-skel-spin{to{transform:rotate(360deg)}}.detail-skel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.detail-skel-card{padding:1rem}.detail-skel-card__fields{grid-template-columns:1fr}.detail-skel-header__actions{width:100%}.detail-skel-bone--btn,.detail-skel-bone--btn-primary{flex:1;width:auto}}.pay-period-calendar{display:flex;flex-direction:column;gap:.85rem}.pay-period-exempt-chip{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.8rem;font-weight:600}.pay-period-calendar-loading,.pay-period-calendar-error{margin:0;color:#64748b;font-size:.9rem}.pay-period-calendar-error-block{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.pay-period-calendar-retry{font-size:.85rem;padding:.35rem .75rem;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer}.pay-period-calendar-retry:hover{background:#eef2f7}.pay-period-nav{display:flex;gap:.5rem;margin-bottom:.65rem}.pay-period-nav-btn{font-size:.8rem;padding:.35rem .65rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.pay-period-nav-btn:disabled{opacity:.45;cursor:not-allowed}.pay-period-cell--button{cursor:pointer;font:inherit;width:100%;text-align:center}.pay-period-cell--selected{outline:2px solid #2563eb;outline-offset:1px}.pay-period-day-panel{margin-top:1rem;padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.pay-period-day-panel-title{margin:0 0 .75rem;font-weight:600;font-size:1rem;color:#0f172a}.pay-period-day-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem 1.5rem}.pay-period-day-panel-col h4{margin:0 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.pay-period-day-panel-col dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;font-size:.875rem}.pay-period-day-panel-col dt{color:#64748b;font-weight:500}.pay-period-day-panel-col dd{margin:0;color:#0f172a;font-weight:600}.pay-period-break-list{margin:0;padding-left:1.1rem;font-weight:500}.pay-period-break-list li{margin-bottom:.2rem}.pay-period-day-panel-summary{margin:.85rem 0 0;font-size:.85rem}.pay-period-day-panel-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.pay-period-calendar-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.pay-period-calendar-range{margin:0 0 .25rem;font-weight:600;color:#0f172a}.pay-period-calendar-cutoff{margin:0;font-size:.9rem;color:#334155}.pay-period-calendar-auto{margin:.35rem 0 0;font-size:.8rem}.pay-period-payroll-badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;background:#dcfce7;color:#166534}.pay-period-totals{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;font-size:.85rem;color:#475569}.pay-period-legend{display:flex;flex-wrap:wrap;gap:.5rem .85rem;font-size:.75rem}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-item:before{content:"";width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-cutoff:before{background:#7c3aed;box-shadow:0 0 0 2px #ede9fe}.legend-scheduled:before{background:#dbeafe;border:1px solid #93c5fd}.legend-worked:before{background:#bbf7d0;border:1px solid #4ade80}.legend-absent:before{background:#fee2e2;border:1px solid #f87171}.legend-vacation:before{background:#fef3c7;border:1px solid #fbbf24}.legend-leave:before{background:#ffedd5;border:1px solid #fb923c}.pay-period-weekdays,.pay-period-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.pay-period-weekday{text-align:center;font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase}.pay-period-cell{min-height:5.75rem;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .25rem;background:#f8fafc;display:flex;flex-direction:column;align-items:center;gap:.12rem;font-size:.65rem}.pay-period-cell--empty{background:transparent;border-color:transparent;min-height:0}.pay-period-cell-day{font-weight:700;font-size:.85rem;color:#0f172a}.pay-period-cell-time{line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem}.pay-period-cell-time--scheduled{color:#1d4ed8}.pay-period-cell-time--actual{color:#15803d;font-weight:600}.pay-period-cell-time--break{color:#b45309}.pay-period-cell-meta{color:#475569;line-height:1.2;text-align:center}.pay-period-cell-worked{color:#15803d;font-weight:600}.pay-period-cell-cutoff-label{font-size:.6rem;font-weight:700;color:#6d28d9;text-transform:uppercase}.pay-period-cell--scheduled{background:#eff6ff;border-color:#93c5fd}.pay-period-cell--worked{background:#f0fdf4;border-color:#4ade80}.pay-period-cell--absent{background:#fef2f2;border-color:#f87171}.pay-period-cell--vacation{background:#fffbeb;border-color:#fbbf24}.pay-period-cell--leave{background:#fff7ed;border-color:#fb923c}.pay-period-cell--cutoff,.pay-period-cell.pay-period-cell--cutoff{box-shadow:inset 0 0 0 2px #a78bfa}@media(max-width:640px){.pay-period-cell{min-height:4.75rem;font-size:.6rem}.pay-period-cell-time{font-size:.52rem}.pay-period-cell-day{font-size:.75rem}}.rh-calendar-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .5rem) var(--page-shell-padding-inline, .75rem) 2rem;box-sizing:border-box}.rh-calendar-header{display:flex;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;flex-wrap:wrap}.rh-calendar-header-text{flex:1 1 16rem;min-width:0}.rh-calendar-header h1{margin:0;font-size:1.5rem;display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.rh-calendar-title-icon{color:var(--color-primary-strong, #2d4160)}.rh-calendar-subtitle{margin:.35rem 0 0;color:#64748b;font-size:.9rem}.rh-calendar-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto;align-items:center}.rh-calendar-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:1rem;align-items:stretch;min-height:min(70vh,860px)}.rh-calendar-aside{display:flex;flex-direction:column;gap:.85rem;padding:.9rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:0}.rh-calendar-aside-section{display:flex;flex-direction:column;gap:.45rem}.rh-calendar-aside-employees{flex:1 1 auto;min-height:0}.rh-calendar-aside-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.rh-calendar-aside-field{display:flex;flex-direction:column;gap:.35rem}.rh-calendar-aside-field input[type=month]{width:100%;padding:.45rem .6rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;background:#fff;box-sizing:border-box}.rh-calendar-tabs{display:flex;flex-direction:column;gap:.35rem}.rh-calendar-tabs button{width:100%;text-align:left;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;color:#334155}.rh-calendar-tabs button.active{background:var(--color-primary-strong, #2d4160);color:#fff;border-color:var(--color-primary-strong, #2d4160)}.rh-calendar-employee-search{display:flex;align-items:center;gap:.45rem;padding:.4rem .65rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#94a3b8}.rh-calendar-employee-search input{flex:1;min-width:0;border:0;outline:none;font-size:.875rem;background:transparent;color:#0f172a}.rh-calendar-employee-list{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;max-height:min(58vh,640px);padding-right:.15rem}.rh-calendar-employee-item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .55rem;border:1px solid transparent;border-radius:8px;background:#fff;cursor:pointer;color:#0f172a}.rh-calendar-employee-item:hover{border-color:#cbd5e1;background:#fff}.rh-calendar-employee-item.is-active{border-color:var(--color-primary-strong, #2d4160);background:#eef2f7;box-shadow:inset 3px 0 0 var(--color-primary-strong, #2d4160)}.rh-calendar-employee-avatar{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#475569;font-size:.7rem}.rh-calendar-employee-item.is-active .rh-calendar-employee-avatar{background:var(--color-primary-strong, #2d4160);color:#fff}.rh-calendar-employee-meta{display:flex;flex-direction:column;min-width:0;gap:.1rem}.rh-calendar-employee-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rh-calendar-employee-code{font-size:.72rem;color:#64748b}.rh-calendar-aside-empty{margin:.5rem 0;font-size:.85rem;color:#64748b}.rh-calendar-main{min-width:0;min-height:0}.rh-calendar-body,.rh-calendar-empty{height:100%;padding:1rem 1.15rem 1.25rem;box-sizing:border-box}.rh-calendar-body-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid #e2e8f0}.rh-calendar-body-heading h2{margin:0;font-size:1.15rem;font-weight:600;color:#0f172a}.rh-calendar-body-tab{font-size:.8rem;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:.2rem .65rem}.rh-calendar-main .pay-period-cell{min-height:6.5rem;font-size:.7rem}.rh-calendar-main .pay-period-cell-time{font-size:.62rem;white-space:normal}@media(max-width:960px){.rh-calendar-layout{grid-template-columns:1fr;min-height:0}.rh-calendar-aside{order:0}.rh-calendar-tabs{flex-direction:row;flex-wrap:wrap}.rh-calendar-tabs button{width:auto;flex:1 1 auto;text-align:center}.rh-calendar-employee-list{max-height:220px}.rh-calendar-header-actions{margin-left:0;width:100%}}@media(max-width:640px){.rh-calendar-page{padding-inline:.5rem}.rh-calendar-body,.rh-calendar-empty{padding:.85rem}}.schedule-template-days-page{padding:var(--page-shell-padding-block, 1rem) var(--page-shell-padding-inline, 1.25rem) 2rem;max-width:var(--page-fluid-max-width, 1100px);margin:0 auto;box-sizing:border-box}.schedule-template-days-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem}.schedule-template-days-hero{flex:1;min-width:0}.schedule-template-days-hero h1{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.5rem;line-height:1.25}.schedule-template-days-title-icon{color:var(--color-primary-strong, #2d4160);flex-shrink:0}.schedule-template-days-subtitle{margin:.35rem 0 .65rem;color:#64748b;font-size:.9rem}.schedule-template-days-meta{display:flex;flex-wrap:wrap;gap:.4rem}.schedule-template-days-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.3}.schedule-template-days-badge--global{background:#3b82f624;color:#1d4ed8}.schedule-template-days-badge--company{background:#22c55e24;color:#15803d}.schedule-template-days-badge--shift{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.schedule-template-days-badge--count{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.schedule-template-days-edit-btn{margin-left:auto;align-self:center}.schedule-template-days-hint{margin:0 0 1rem;color:#64748b;font-size:.875rem;line-height:1.45}.schedule-template-days-readonly-banner{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:.875rem;line-height:1.45}.schedule-template-days-readonly-banner svg{flex-shrink:0;margin-top:.15rem;font-size:1rem;opacity:.85}.schedule-template-days-error-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem;line-height:1.45}.schedule-template-days-loading-card{padding:2rem 1.25rem;text-align:center}.schedule-template-days-panel{padding:1rem 1.15rem 1.25rem}.schedule-template-days-panel-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#0f172a}.schedule-template-week-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.schedule-template-week{min-width:min(100%,720px)}.schedule-template-week-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;margin-bottom:.4rem}.schedule-template-week-label{text-align:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.schedule-template-week-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.schedule-template-day{display:flex;flex-direction:column;min-height:8.5rem;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem .55rem .55rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.schedule-template-day--active{border-color:#93c5fd;background:linear-gradient(180deg,#f8fafc,#eff6ff);box-shadow:0 1px 2px #2563eb14}.schedule-template-day--off{background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.schedule-template-day-head{position:relative;display:flex;flex-direction:column;gap:.2rem;margin-bottom:.45rem;padding-bottom:.4rem;border-bottom:1px solid rgba(226,232,240,.9)}.schedule-template-day--active .schedule-template-day-head{border-bottom-color:#bfdbfe}.schedule-template-day-name{font-size:.72rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.03em}@media(min-width:640px){.schedule-template-day-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-template-day-head{min-height:1.25rem;justify-content:flex-end}}.schedule-template-day-status{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#1d4ed8}.schedule-template-day-body,.schedule-template-day-empty{display:flex;flex-direction:column;flex:1;gap:.35rem}.schedule-template-day-time,.schedule-template-day-break{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.8rem;line-height:1.35}.schedule-template-day-time{font-weight:600;color:#0f172a}.schedule-template-day-time svg,.schedule-template-day-break svg{flex-shrink:0;font-size:.75rem;opacity:.7}.schedule-template-day-empty{justify-content:space-between;padding-top:.15rem}.schedule-template-day-empty p{margin:0;font-size:.78rem}.schedule-template-day-actions{margin-top:auto;padding-top:.35rem;display:flex;justify-content:flex-end}.schedule-template-day-empty .btn,.schedule-template-day-actions .btn{width:100%}@media(max-width:639px){.schedule-template-week-labels{display:none}.schedule-template-week-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-template-day{min-height:7.5rem}.schedule-template-day-name{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible}}@media(max-width:400px){.schedule-template-week-cells{grid-template-columns:1fr}}.entity-qr-modal-overlay{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;padding:1rem;background:#0f172a85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:entity-qr-overlay-in .18s ease-out}.entity-qr-modal{width:100%;max-width:420px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 28px 60px #0f172a47;overflow:hidden;animation:entity-qr-panel-in .22s cubic-bezier(.22,1,.36,1)}.entity-qr-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .85rem;border-bottom:1px solid #f1f5f9}.entity-qr-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.entity-qr-modal__subtitle{margin:.35rem 0 0;font-size:.86rem;color:#64748b;line-height:1.45}.entity-qr-modal__close{border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.entity-qr-modal__close:hover{background:#f8fafc}.entity-qr-modal__body{padding:1.25rem 1rem .75rem;text-align:center}.entity-qr-modal__image{width:220px;height:220px;object-fit:contain;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:8px}.entity-qr-modal__url{margin:.85rem 0 0;font-size:.75rem;color:#475569;word-break:break-all;line-height:1.45}.entity-qr-modal__hint{margin:.65rem 0 0;font-size:.82rem;color:#64748b}.entity-qr-modal__empty{margin:0;color:#94a3b8}.entity-qr-modal__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;padding:.85rem 1rem 1rem;background:#f8fafc;border-top:1px solid #f1f5f9}.entity-qr-list-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.entity-qr-list-btn:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0f172a14}.entity-qr-list-btn img{display:block;border-radius:7px}.entity-qr-list-empty{color:#94a3b8;font-size:.85rem}@keyframes entity-qr-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes entity-qr-panel-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.entity-qr-modal__actions{flex-direction:column;align-items:stretch}}.employee-badge-modal-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(90% 70% at 50% 20%,rgba(29,111,138,.22),transparent 60%),#0b12209e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.employee-badge-modal{width:min(460px,100%);max-height:min(94vh,780px);overflow:auto;background:#f4f7fa;border-radius:18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 64px #0b122066;outline:none}.employee-badge-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.15rem .35rem}.employee-badge-modal__title{margin:0;display:flex;align-items:center;gap:.5rem;font-size:1.08rem;font-weight:700;color:#0b1220}.employee-badge-modal__hint{margin:.4rem 0 0;color:#5b6b7c;font-size:.84rem;line-height:1.4}.employee-badge-modal__close{border:0;background:transparent;color:#64748b;cursor:pointer;padding:.4rem;border-radius:8px}.employee-badge-modal__close:hover{background:#0f172a0f;color:#0b1220}.employee-badge-modal__body{padding:.75rem 1.15rem 1rem;display:flex;justify-content:center;background:radial-gradient(ellipse at center,#fff,#e8eef4 72%)}.employee-badge-preview{--badge-brand: #456298;--badge-brand-strong: #2d4160;--badge-brand-soft: #e6edf8;--badge-on-brand: #ffffff;--badge-ink: #0b1220;--badge-muted: #5b6b7c;--badge-line: #d7dee7;width:2.5in;min-height:3.9in;height:auto;border:1px solid var(--badge-brand-strong);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;position:relative;box-shadow:0 1px #ffffffb3 inset,0 18px 36px #0b12202e}.employee-badge-preview__clip{display:flex;justify-content:center;padding:7px 0 2px;background:var(--badge-brand);flex-shrink:0}.employee-badge-preview__clip-hole{width:18px;height:8px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #94a3b8e6}.employee-badge-preview__header{background:var(--badge-brand);color:var(--badge-on-brand);padding:4px .9rem .65rem;display:flex;align-items:center;gap:.65rem;flex-shrink:0}.employee-badge-preview__logo{width:32px;height:32px;object-fit:contain;background:#fff;border-radius:7px;flex-shrink:0;padding:2px}.employee-badge-preview__company{font-size:.74rem;font-weight:700;line-height:1.2;letter-spacing:.01em;word-break:break-word}.employee-badge-preview__content{flex:1 1 auto;padding:.75rem .9rem .65rem;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(120% 80% at 50% 0%,var(--badge-brand-soft) 0%,#ffffff 58%)}.employee-badge-preview__photo-wrap{width:1.05in;height:1.05in;border-radius:8px;padding:0;background:transparent;margin-bottom:.5rem;flex-shrink:0}.employee-badge-preview__photo,.employee-badge-preview__photo-fallback{width:100%;height:100%;border-radius:8px;border:1px solid #cbd5e1;background:#e8eef4;display:block}.employee-badge-preview__photo{object-fit:cover}.employee-badge-preview__photo-fallback{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#475569}.employee-badge-preview__name{margin:0;font-size:1rem;font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--badge-brand-strong);word-break:break-word}.employee-badge-preview__name-rule{width:36px;height:3px;border-radius:2px;background:var(--badge-brand);margin:.4rem 0 .35rem}.employee-badge-preview__position{margin:0;font-size:.7rem;font-weight:600;color:var(--badge-brand-strong);line-height:1.25;word-break:break-word}.employee-badge-preview__office{margin:.25rem 0 0;font-size:.62rem;color:var(--badge-muted);line-height:1.3;word-break:break-word;max-width:95%}.employee-badge-preview__validity{margin:.4rem 0 0;font-size:.6rem;font-weight:600;color:var(--badge-brand-strong);letter-spacing:.01em;line-height:1.3}.employee-badge-preview__qr-panel{margin-top:.6rem;padding-top:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.employee-badge-preview__qr-frame{width:.92in;height:.92in;padding:5px;border-radius:10px;border:1px solid var(--badge-line);background:#fff;box-shadow:0 1px #0f172a0a;display:flex;align-items:center;justify-content:center}.employee-badge-preview__qr{width:100%;height:100%;object-fit:contain;display:block}.employee-badge-preview__qr-missing{margin:0;font-size:.68rem;color:#94a3b8}.employee-badge-preview__footer{background:var(--badge-brand-strong);padding:.5rem .75rem;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--badge-on-brand);text-align:center;flex-shrink:0}.employee-badge-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:.25rem 1.15rem 1.15rem;background:#f4f7fa}.employee-avatar-cell{display:flex;align-items:center;justify-content:center}.employee-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.employee-avatar-img{background:#f1f5f9}.employee-avatar-initials{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));color:#fff;font-size:.875rem;font-weight:600;letter-spacing:-.02em}.employee-name{display:flex;flex-direction:column;gap:.15rem}.employee-name strong{color:#1a202c;font-weight:600;font-size:.9375rem}.employee-name small{color:#64748b;font-size:.8125rem}.employee-email--error{color:#b91c1c;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.employee-email-error-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.6875rem;font-weight:600;background:#ef44441f;color:#b91c1c;text-transform:uppercase;letter-spacing:.02em;border:none;cursor:pointer;font-family:inherit;line-height:1.2}.employee-email-error-badge:hover{background:#ef444433}.employee-display-name{font-size:.75rem;color:#94a3b8;font-style:italic}.status-inactive{background:#ef44441a;color:#b91c1c}.badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500}.badge-secondary{background:#f1f5f9;color:#475569}.employee-form-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px));margin-inline:auto;padding:var(--page-shell-padding-block, .5rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.employee-form-page .form-add-wrapper,.employee-form-page .form-edit-wrapper{max-width:none;width:100%;margin:0;box-sizing:border-box}.employee-alert{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:6px;font-size:.9375rem;box-shadow:0 1px 2px #0000000d;animation:employee-alert-slide-down .25s ease-out}.employee-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.employee-alert--info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.employee-alert--warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.employee-alert-icon{font-weight:700;margin-top:2px;flex-shrink:0}.employee-alert-text{flex:1}.employee-alert-close{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;margin-left:.5rem;font-size:.9rem;line-height:1;opacity:.8}.employee-alert-close:hover{opacity:1}@keyframes employee-alert-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.employee-form-photo-block{position:relative}.employee-form-photo-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.employee-form-photo-preview{width:120px;height:120px;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f9fafb;cursor:pointer;transition:border-color .2s,background .2s}.employee-form-photo-preview:hover{border-color:#3b82f6;background:#eff6ff}.employee-form-photo-preview img{width:100%;height:100%;object-fit:cover}.employee-form-photo-placeholder{font-size:.875rem;color:#6b7280}@media(max-width:768px){.employee-form-page .form-section-fields,.employee-form-page .form-section--grid .form-section-fields{grid-template-columns:1fr}}.employee-personal-summary{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.25rem 1.5rem}.employee-personal-summary__photo{flex:0 0 auto}.employee-personal-card .detail-photo-row{display:block}.employee-personal-card .employee-photo{width:148px;height:148px;border-radius:16px;object-fit:cover;border:1px solid #e2e8f0;display:block;background:#f8fafc;box-shadow:0 1px 2px #0f172a0f}.employee-photo--placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:2.75rem;font-weight:700;color:var(--color-primary-strong, #2d4160);background:linear-gradient(145deg,#e8eef8,#d6e0f0);border:1px solid #d0dae8}.employee-personal-summary__fields{flex:1 1 240px;min-width:0;align-self:center}.employee-personal-summary__fields .detail-grid{gap:.85rem 1.25rem}.employee-personal-summary__qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-left:auto;padding:.55rem;border:1px solid #e2e8f0;border-radius:14px;background:#fafbfc}.employee-detail-qr-btn{border:none;border-radius:10px;overflow:hidden;box-shadow:none}.employee-detail-qr-btn:hover{box-shadow:0 2px 10px #0f172a1a}.employee-personal-summary__qr-hint{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}@media(max-width:720px){.employee-personal-summary__qr{margin-left:0;width:100%;flex-direction:row;justify-content:flex-start;gap:.75rem}.employee-personal-card .employee-photo{width:120px;height:120px}}.pay-period-calendar-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.pay-period-calendar-card-header h2{margin:0}.employee-docs-table-wrap{overflow-x:auto}.employee-docs-table{width:100%;border-collapse:collapse;font-size:.92rem}.employee-docs-table th,.employee-docs-table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.employee-docs-table th{color:#64748b;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.employee-docs-table tbody tr:hover{background:#f8fafc}@media(max-width:768px){.related-cards-grid{grid-template-columns:1fr}}.onboarding-queue-employee{display:flex;flex-direction:column;gap:.15rem;min-width:0}.onboarding-queue-employee__name{font-weight:650;color:#0f172a}.onboarding-queue-employee__email{color:#64748b;font-size:.875rem;word-break:break-word}.onboarding-queue-summary{display:flex;flex-direction:column;gap:.2rem;min-width:12rem}.onboarding-queue-summary__main{font-weight:600;color:#0f172a;line-height:1.35}.onboarding-queue-summary__meta{color:#64748b;font-size:.85rem;line-height:1.35}.onboarding-queue-status{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:650;line-height:1.35;white-space:nowrap}.onboarding-queue-status--review{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.onboarding-queue-status--upload{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.onboarding-queue-account{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.onboarding-queue-account--active{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.onboarding-queue-account--pending{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.onboarding-review-detail-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px))}.onboarding-review-detail-page .onboarding-review-header-actions,.onboarding-review-detail-page .onboarding-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.onboarding-review-detail-page .onboarding-review-header-actions .btn,.onboarding-review-detail-page .onboarding-review-actions .btn,.onboarding-review-detail-page .onboarding-review-finish-bar .btn{box-shadow:none}.onboarding-review-header-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.onboarding-review-header-progress{color:#475569;font-size:.9rem}.onboarding-review-chip{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:9999px;font-size:.72rem;font-weight:650;line-height:1.3;white-space:nowrap;border:1px solid transparent}.onboarding-review-chip--active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.onboarding-review-chip--pending,.onboarding-review-chip--waiting{background:#fef3c7;color:#92400e;border-color:#fcd34d}.onboarding-review-chip--ready{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.onboarding-review-chip--denied{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.onboarding-review-chip--neutral{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.onboarding-review-progress{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .85rem}.onboarding-review-progress__item{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:9999px;font-size:.8rem;font-weight:600;border:1px solid #e2e8f0;background:#f8fafc;color:#334155}.onboarding-review-progress__item--ready{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.onboarding-review-progress__item--waiting{background:#fffbeb;border-color:#fde68a;color:#92400e}.onboarding-review-progress__item--done{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.onboarding-review-progress__item--denied{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.onboarding-review-filters{margin-bottom:.85rem}.onboarding-review-waiting-banner{padding:.75rem .9rem;border-radius:10px;border:1px dashed #f59e0b;background:#fffbeb}.onboarding-review-waiting-banner strong{display:block;margin-bottom:.2rem;color:#92400e}.onboarding-review-waiting-banner p{margin:0;color:#78350f;font-size:.9rem}.onboarding-review-item--waiting{background:#fffdf7;border-radius:12px;padding:.9rem;border:1px solid #fde68a}.onboarding-review-item--done{opacity:.92}.onboarding-review-item--decide{border:1px solid #bfdbfe;border-radius:12px;padding:.9rem;background:#f8fbff}.onboarding-review-decide-title{margin:0 0 .35rem;font-size:.95rem;font-weight:700;color:#1e3a8a}.onboarding-review-denied-reason{margin:0;color:#b91c1c;font-size:.9rem}.onboarding-review-detail-page .onboarding-review-layout{display:grid;gap:1.25rem;align-items:start}.onboarding-review-detail-page .onboarding-review-profile{display:grid;gap:1rem;align-items:start}.onboarding-review-detail-page .onboarding-review-photo-wrap{justify-self:start}.onboarding-review-detail-page .onboarding-review-profile-extras{display:grid;gap:1rem;margin-top:1rem}.onboarding-review-detail-page .onboarding-review-signature,.onboarding-review-detail-page .onboarding-review-notes{margin-top:0}.onboarding-review-detail-page .onboarding-review-signature label,.onboarding-review-detail-page .onboarding-review-notes label,.onboarding-review-detail-page .onboarding-review-answer label{display:block;font-size:.85rem;color:var(--text-muted, #6b7280);margin-bottom:.35rem}.onboarding-review-detail-page .onboarding-review-file{display:grid;gap:.45rem;min-width:0}.onboarding-review-detail-page .onboarding-review-file-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.onboarding-review-detail-page .onboarding-review-file-head label{margin-bottom:0;font-size:.85rem;color:var(--text-muted, #6b7280)}.onboarding-review-detail-page .onboarding-review-file-actions{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;font-weight:600}.onboarding-review-detail-page .onboarding-review-file-actions a{display:inline-flex;align-items:center;gap:.35rem}.onboarding-review-detail-page .onboarding-review-file-name{margin:0;font-size:.8125rem;word-break:break-all}.onboarding-review-detail-page .onboarding-review-file-preview{width:100%;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;overflow:hidden}.onboarding-review-detail-page .onboarding-review-file-preview--image{display:block;padding:.5rem}.onboarding-review-detail-page .onboarding-review-file-preview--image img{display:block;width:100%;max-height:28rem;object-fit:contain;margin:0 auto}.onboarding-review-detail-page .onboarding-review-file-preview--pdf{min-height:28rem;height:min(60vh,36rem);border:1px solid #e5e7eb}.onboarding-review-detail-page .onboarding-review-signature img{max-width:min(100%,280px);max-height:120px;object-fit:contain;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:.5rem}.onboarding-review-detail-page .onboarding-review-notes p,.onboarding-review-detail-page .onboarding-review-answer p{margin:0;white-space:pre-wrap;word-break:break-word}.onboarding-review-detail-page .onboarding-review-hint{margin:0 0 .85rem}.onboarding-review-detail-page .onboarding-review-note-field{margin-bottom:.85rem}.onboarding-review-detail-page .onboarding-review-textarea{width:100%;border-radius:8px;border:1px solid #d1d5db;padding:.5rem .65rem;font:inherit;box-sizing:border-box}.onboarding-review-detail-page .onboarding-review-items{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.onboarding-review-detail-page .onboarding-review-item{display:grid;gap:.85rem;padding:.9rem 0;border-top:1px solid #e5e7eb}.onboarding-review-detail-page .onboarding-review-item:first-child{border-top:0;padding-top:0}.onboarding-review-detail-page .onboarding-review-item-main,.onboarding-review-detail-page .onboarding-review-item-decide{display:grid;gap:.55rem;min-width:0}.onboarding-review-detail-page .onboarding-review-item-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.onboarding-review-detail-page .onboarding-review-footer-note{grid-column:1 / -1;margin:0}.onboarding-review-detail-page .onboarding-review-finish-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.9rem 1rem;border:1px solid #fde68a;border-radius:12px;background:#fffbeb}.onboarding-review-detail-page .onboarding-review-finish-bar p{margin:0;flex:1 1 16rem}@media(min-width:720px){.onboarding-review-detail-page .onboarding-review-profile--with-photo{grid-template-columns:auto minmax(0,1fr);gap:1.25rem 1.5rem}.onboarding-review-detail-page .onboarding-review-profile-extras{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(min-width:960px){.onboarding-review-detail-page .onboarding-review-item--decide{grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);align-items:start}}@media(min-width:1100px){.onboarding-review-detail-page .onboarding-review-layout{grid-template-columns:minmax(18rem,.9fr) minmax(0,1.4fr);gap:1.25rem 1.5rem}.onboarding-review-detail-page .onboarding-review-profile-card{position:sticky;top:1rem}.onboarding-review-detail-page .onboarding-review-profile,.onboarding-review-detail-page .onboarding-review-profile--with-photo{grid-template-columns:1fr}.onboarding-review-detail-page .onboarding-review-photo-wrap{justify-self:center}.onboarding-review-detail-page .onboarding-review-profile-extras,.onboarding-review-detail-page .onboarding-review-profile-grid{grid-template-columns:1fr}}@media(min-width:1400px){.onboarding-review-detail-page .onboarding-review-layout{grid-template-columns:minmax(22rem,.85fr) minmax(0,1.55fr)}.onboarding-review-detail-page .onboarding-review-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-review-detail-page .onboarding-review-profile-grid .detail-item.full-width{grid-column:1 / -1}}.security-toolbar{display:flex;gap:.65rem;margin:0}.security-table-actions{display:inline-flex;gap:.5rem}.security-table-actions .settings-btn{display:inline-flex;align-items:center;gap:.35rem}.security-toolbar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.security-list-header{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;margin-bottom:.75rem}.security-count-label{font-size:.78rem;color:#64748b;white-space:nowrap}.security-logs-filters-grid{margin-bottom:.75rem}.security-log-date-cell strong{font-size:.82rem;color:#0f172a;font-weight:600}.security-log-user{font-size:.8rem;color:#334155;word-break:break-word}.security-log-action{display:inline-block;font-size:.76rem;color:#1e293b;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:.2rem .55rem}.security-log-detail-cell{display:grid;gap:.35rem;max-width:460px}.security-log-target{font-size:.76rem;color:#64748b;word-break:break-word}.security-log-metadata-toggle{cursor:pointer;color:#4338ca;font-size:.78rem;font-weight:600}.security-log-metadata{margin-top:.35rem;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:.45rem;font-size:.78rem;color:#334155;max-width:420px;max-height:240px;overflow:auto}.security-inline-form{margin-bottom:.85rem;padding:.75rem;border-radius:12px;border:1px solid #dbe3f0;background:#f8fafc}.security-users-search{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:.55rem .65rem;margin-bottom:.75rem}.security-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.security-badge-success{background:#22c55e1f;color:#15803d}.security-badge-warning{background:#f59e0b26;color:#b45309}.security-badge-neutral{background:#e2e8f0;color:#475569}.security-user-cell{display:grid;gap:.15rem}.security-user-cell strong{font-size:.88rem;color:#0f172a}.security-user-cell span{font-size:.78rem;color:#64748b}.security-user-editor h4{margin:0;font-size:1rem;color:#111827}.security-pagination{margin-top:.85rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;color:#64748b;font-size:.82rem}.security-pagination-controls{display:flex;align-items:center;gap:.5rem}.security-pagination-controls select{border:1px solid #cbd5e1;border-radius:8px;padding:.45rem .55rem;background:#fff}.security-role-permission-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .7rem;background:#fff}.security-role-module-group{grid-column:1 / -1;display:grid;gap:.55rem}.security-role-module-toggle{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:.55rem .7rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.security-role-module-title{margin:0;font-size:.82rem;color:#334155}.security-role-module-items{display:grid;gap:.5rem}.security-role-permission-item strong{font-size:.84rem;color:#1f2937}.security-role-permission-item p{margin:.2rem 0 0;font-size:.76rem;color:#64748b}.security-empty-editor{margin-top:.75rem;font-size:.85rem;color:#64748b}.security-user-form-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.security-user-form-grid label{display:grid;gap:.35rem;font-size:.8rem;color:#334155}.security-user-form-grid input,.security-user-form-grid select{border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .55rem}.security-checkbox-label{grid-column:1 / -1;display:flex!important;align-items:center;gap:.5rem!important}@media(max-width:1100px){.security-toolbar-row{flex-direction:column;align-items:stretch}.security-list-header{grid-template-columns:1fr}.security-pagination{flex-direction:column;align-items:stretch}}.security-form-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px));margin:0;padding:0;box-sizing:border-box}.security-form-page .detail-page,.security-form-page .singleton-config-page{max-width:none}.security-form-page .form-page,.security-form-page .form-edit-wrapper,.security-form-page .form-add-wrapper,.security-form-page .form-create-wrapper{max-width:none;width:100%}@media(max-width:768px){.security-form-page .form-section-fields,.security-form-page .form-section--grid .form-section-fields{grid-template-columns:1fr}}.portal-settings-color-row{display:flex;align-items:center;gap:.55rem}.portal-settings-color-input{width:44px;height:38px;padding:.15rem;border-radius:8px;cursor:pointer}.portal-settings-secret{display:grid;gap:.5rem;padding:.85rem 1rem;border:1px solid #dbeafe;background:linear-gradient(180deg,#f8fbff,#eff6ff);border-radius:.6rem;margin-bottom:1rem}.portal-settings-secret__label{font-size:.88rem;color:#1e3a8a}.portal-settings-secret__row{display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #dbeafe;border-radius:.45rem;padding:.45rem .55rem}.portal-settings-secret__row code{flex:1;min-width:0;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-settings-copy-btn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.portal-settings-key-actions{display:flex;flex-direction:column;justify-content:flex-end}.portal-settings-key-list{display:grid;gap:.65rem}.portal-settings-key-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.75rem .9rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.portal-settings-key-meta{font-size:.85rem;opacity:.8;margin-top:.15rem}.portal-config-page .settings-section{margin-top:1.1rem}.portal-config-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem;border-radius:14px;border:1px solid #d7e3f4;background:radial-gradient(circle at top right,rgba(23,50,77,.08),transparent 45%),linear-gradient(135deg,#f7fafc,#eef4fb);margin-bottom:1rem}.portal-config-hero__main{display:flex;align-items:center;gap:.9rem;min-width:0}.portal-config-hero__logo-wrap{flex-shrink:0}.portal-config-hero__logo{width:3.5rem;height:3.5rem;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #d7e3f4;padding:.25rem;display:block}.portal-config-hero__swatch{width:3.5rem;height:3.5rem;border-radius:12px;background:var(--portal-accent, #17324d);box-shadow:inset 0 0 0 1px #ffffff40;flex-shrink:0}.portal-config-hero__eyebrow{margin:0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portal-config-hero__title{margin:.15rem 0;font-size:1.25rem;color:#0f172a}.portal-config-hero__meta{margin:0;color:#475569;font-size:.9rem}.portal-config-hero__meta code{font-size:.85rem}.portal-config-open-btn{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none}.portal-config-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.35rem}.portal-config-check{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem .95rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff}.portal-config-check svg{margin-top:.15rem;flex-shrink:0}.portal-config-check strong{display:block;font-size:.92rem;color:#0f172a}.portal-config-check span{display:block;margin-top:.15rem;font-size:.82rem;color:#64748b}.portal-config-check.is-ok{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff);color:#166534}.portal-config-check.is-warn{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff);color:#92400e}.portal-config-check.is-muted{color:#475569}.portal-config-section__head{margin-bottom:.85rem}.portal-config-section__head--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem}.portal-availability-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;padding:.65rem .85rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.portal-availability-switch__control{min-width:10.5rem;gap:.75rem}.portal-config-section__head .settings-subtitle{margin:.25rem 0 0}.portal-config-grid{margin-bottom:.35rem}.portal-config-subsection{margin-top:1rem;padding-top:.85rem;border-top:1px dashed #e2e8f0}.portal-config-subsection__title{margin:0 0 .75rem;font-size:.95rem;color:#334155}.portal-config-callout{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem .9rem;margin-bottom:1rem;border-radius:10px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:.9rem}.portal-config-callout p{margin:0}.portal-config-callout svg{margin-top:.15rem;flex-shrink:0}.portal-settings-secret__block{display:grid;gap:.35rem}.portal-settings-secret__caption{font-size:.8rem;color:#334155;font-weight:600}.portal-config-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.portal-config-pill.is-ok{background:#dcfce7;color:#166534}.portal-config-pill.is-warn{background:#fef3c7;color:#92400e}.portal-config-pill.is-muted{background:#e2e8f0;color:#64748b}.portal-config-readonly-status{display:grid;gap:.35rem;align-content:start}.portal-config-readonly-hint{font-size:.8rem;color:#64748b;line-height:1.4}.portal-config-search input{min-width:min(280px,100%)}.portal-config-empty{display:grid;justify-items:center;gap:.55rem;padding:1.6rem 1rem;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;text-align:center}.portal-config-empty p{margin:0;max-width:34rem}.portal-client-row__info{min-width:0;flex:1}.portal-client-row__name{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.portal-client-row__dates{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem;font-size:.8rem;color:#64748b}.portal-client-row__actions{margin-top:0}.portal-key-card{display:grid;gap:.85rem;align-items:start}.portal-key-card__main{min-width:0;display:grid;gap:.55rem}.portal-key-card__title{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.portal-key-card__meta{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;font-size:.82rem;color:#64748b}.portal-key-card__secret{margin-top:.15rem}.portal-key-card__hint{margin:0;font-size:.82rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:.65rem .8rem;line-height:1.4}.portal-key-card__actions{margin-top:0}.portal-clients-table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.portal-clients-table{width:100%;border-collapse:collapse;min-width:860px;font-size:.875rem}.portal-clients-table th,.portal-clients-table td{padding:.85rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0}.portal-clients-table thead th{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc;white-space:nowrap}.portal-clients-table tbody tr:last-child td{border-bottom:none}.portal-clients-table tbody tr:hover td{background:#f8fafc}.portal-clients-table__client{display:inline-flex;align-items:center;gap:.7rem;min-width:0}.portal-clients-table__logo{width:2.25rem;height:2.25rem;border-radius:.55rem;object-fit:cover;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0}.portal-clients-table__name{color:#0f172a;font-weight:650;min-width:0}.portal-clients-table__muted{color:#94a3b8}.portal-clients-table__actions-col,.portal-clients-table__actions{white-space:nowrap}.portal-clients-table__action-btns{display:inline-flex;flex-wrap:wrap;gap:.45rem}@media(max-width:900px){.portal-clients-table{min-width:0}.portal-clients-table thead{display:none}.portal-clients-table,.portal-clients-table tbody,.portal-clients-table tr,.portal-clients-table td{display:block;width:100%}.portal-clients-table tr{padding:.85rem 1rem;border-bottom:1px solid #e2e8f0}.portal-clients-table td{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem;padding:.35rem 0;border-bottom:none}.portal-clients-table td:before{content:attr(data-label);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.portal-clients-table__actions{padding-top:.65rem}.portal-clients-table__action-btns{grid-column:1 / -1}}@media(max-width:1100px){.portal-config-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.portal-config-checklist{grid-template-columns:1fr}.portal-config-search{width:100%}.portal-config-search input{width:100%;min-width:0}}.catalog-list-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.catalog-table-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.status-global{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#3b82f61f;color:#1d4ed8}.status-company{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#22c55e1f;color:#15803d}.status-active{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#3b82f61f;color:#1d4ed8}.status-inactive{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#ef44441a;color:#b91c1c}.status-pending{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f59e0b24;color:#b45309}@media(max-width:768px){.catalog-list-page{padding:1.25rem}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.25rem}}.catalog-form-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px));margin-inline:auto;padding:var(--page-shell-padding-block, .5rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.catalog-form-hint{margin:0 0 .85rem;color:#475569;font-size:.92rem;line-height:1.45}.catalog-form-page .form-page{max-width:none;width:100%;margin-inline:0;padding-inline:0}.catalog-form-page .form-edit-wrapper,.catalog-form-page .form-add-wrapper,.catalog-form-page .form-create-wrapper{max-width:none;width:100%;margin:0;box-sizing:border-box}@media(min-width:1100px){.catalog-form-page .form-row-photo-address{gap:2rem}.catalog-form-page .form-row-photo-address__side{flex:1;max-width:none}}.catalog-form-message-space{min-height:56px;margin-bottom:.75rem}.loading-state .spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:catalog-form-spin .6s linear infinite}@keyframes catalog-form-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.catalog-form-page .form-section-fields,.catalog-form-page .form-section--grid .form-section-fields{grid-template-columns:1fr}}.employee-inline-cell{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.employee-inline-avatar{width:32px;height:32px;border-radius:9999px;object-fit:cover;flex-shrink:0;border:1px solid #dbe2ea;background:#f8fafc}.employee-inline-cell--md .employee-inline-avatar{width:40px;height:40px}.employee-inline-text{display:flex;flex-direction:column;min-width:0;gap:.1rem}.employee-inline-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;line-height:1.2}.employee-inline-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8125rem;font-weight:400;color:var(--text-muted, #6b7280);line-height:1.2}.attendance-list-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.status-approved{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#22c55e1f;color:#15803d}.status-pending{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f59e0b1f;color:#b45309}.attendance-hub-count{display:inline-flex;min-width:2rem;justify-content:center;padding:.15rem .55rem;border-radius:999px;font-variant-numeric:tabular-nums;font-weight:600;font-size:.875rem}.attendance-hub-count--pending{background:#f59e0b24;color:#b45309}.attendance-hub-count--approved{background:#22c55e24;color:#15803d}.status-active,.status-inactive{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.status-active{background:#22c55e1f;color:#15803d}.status-inactive{background:#64748b1f;color:#475569}@media(max-width:768px){.attendance-list-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}}.wdsh-report-count{display:inline-flex;min-width:2rem;justify-content:center;padding:.15rem .55rem;border-radius:999px;font-variant-numeric:tabular-nums;font-weight:600;font-size:.875rem;background:var(--color-primary-soft, #e6edf8);color:var(--color-primary-strong, #2d4160)}.leave-list-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.status-active{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#3b82f61f;color:#1d4ed8}.status-inactive{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#ef44441a;color:#b91c1c}@media(max-width:768px){.leave-list-page{padding:1.25rem}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.25rem}}.leave-form-page{padding:2rem;max-width:1200px;margin:0 auto}@media(max-width:768px){.leave-form-page{padding:1rem}}.leave-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.leave-status-badge.approved{background-color:#d1fae5;color:#065f46}.leave-status-badge.pending{background-color:#fef3c7;color:#92400e}.expense-list-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.status-submitted{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#5b7db81f;color:#3f5d90}.status-reviewing{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f59e0b1f;color:#b45309}.status-rejected{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#ef44441a;color:#b91c1c}.status-canceled{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.receipt-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary, #5b7db8);text-decoration:none;font-weight:500}.receipt-link:hover{text-decoration:underline}@media(max-width:768px){.expense-list-page{padding:1.25rem}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.25rem}}.expense-form-page{padding:2rem;max-width:1200px;margin:0 auto}.loading-state .spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .6s linear infinite}.loading-state p{color:#6b7280;font-size:1rem}@media(max-width:768px){.expense-form-page{padding:1rem}}.exp-detail-page .exp-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.exp-detail-page .exp-detail-card-head h2{margin:0}.exp-detail-identity{display:flex;align-items:center;gap:.875rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.exp-detail-identity__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 12rem}.exp-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.exp-detail-identity__text span{font-size:.875rem;color:#64748b}.exp-detail-concept{font-weight:600;color:#334155!important}.exp-detail-avatar{width:88px;height:88px;border-radius:12px;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700;flex-shrink:0}.exp-detail-amount-chip{display:flex;flex-direction:column;gap:.15rem;margin-left:auto;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;text-align:right}.exp-detail-amount-chip small{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.exp-detail-amount-chip strong{font-size:1.35rem;color:var(--color-primary-strong, #2d4160);white-space:nowrap}.exp-status{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.exp-status--submitted{background:#3b82f61f;color:#1d4ed8}.exp-status--reviewing{background:#f59e0b1f;color:#b45309}.exp-status--approved{background:#22c55e1f;color:#15803d}.exp-status--rejected{background:#ef44441f;color:#b91c1c}.exp-status--canceled{background:#64748b24;color:#475569}.exp-detail-link{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;padding:0;color:var(--color-primary-strong, #2d4160);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.exp-detail-link:hover{text-decoration:underline}.exp-detail-muted{margin:0;color:#94a3b8}.exp-receipt{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.exp-receipt__preview{display:block;max-width:min(100%,420px);border-radius:10px;border:1px solid #e2e8f0;overflow:hidden;background:#f8fafc}.exp-receipt__preview img{display:block;width:100%;max-height:320px;object-fit:contain;background:#f8fafc}@media(max-width:640px){.exp-detail-amount-chip{margin-left:0;width:100%;text-align:left}}.payroll-list-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header h1{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0 0 .25rem;letter-spacing:-.02em}.page-subtitle{color:#64748b;font-size:.875rem;margin:0;line-height:1.4}.page-content{border-radius:12px;overflow:hidden}.payroll-list-header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;white-space:nowrap}.payroll-list-page .table-search{flex-wrap:nowrap}.payroll-list-page .table-header-action-wrap{flex-shrink:0}.status-draft{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#f1f5f9;color:#475569}.status-locked{display:inline-block;margin-left:.35rem;padding:.15rem .45rem;border-radius:6px;font-size:.7rem;font-weight:600;background:#fee2e2;color:#991b1b}.payroll-status-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem}.status-paid{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#22c55e1f;color:#15803d}.status-dispute-open{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#ef44441a;color:#b91c1c}.status-dispute-resolved{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#3b82f61f;color:#1d4ed8}@media(max-width:768px){.payroll-list-page{padding:1.25rem}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.25rem}}.payroll-create-page{padding:1.5rem}.payroll-detail-content{gap:1rem}.payroll-analysis-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1rem;align-items:stretch}.payroll-identity{display:flex;align-items:flex-start;gap:1rem}.payroll-identity .detail-photo-row{margin:0;flex-shrink:0}.payroll-identity .employee-profile-photo,.payroll-identity__avatar{width:4.5rem;height:4.5rem;border-radius:.75rem;object-fit:cover}.payroll-identity__avatar{display:grid;place-items:center;background:#e2e8f0;color:#334155;font-size:1.35rem;font-weight:700;flex-shrink:0}.payroll-identity__grid{flex:1;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.payroll-analysis-table-wrap{width:100%;overflow-x:auto}.payroll-analysis-table{width:100%;border-collapse:collapse;font-size:.9rem}.payroll-analysis-table th,.payroll-analysis-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:middle;font-variant-numeric:tabular-nums}.payroll-analysis-table th:nth-child(2),.payroll-analysis-table td:nth-child(2),.payroll-analysis-table th:nth-child(4),.payroll-analysis-table td:nth-child(4){text-align:right;white-space:nowrap}.payroll-analysis-table thead th{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#f8fafc}.payroll-analysis-table tfoot th,.payroll-analysis-table tfoot td{background:#f8fafc;border-bottom:none;border-top:1px solid #cbd5e1;font-size:.875rem}.payroll-analysis-table__total th,.payroll-analysis-table__total td{background:#eef2ff;font-size:.95rem;font-weight:700;color:#0f172a;border-top:2px solid #c7d2fe}@media(max-width:960px){.payroll-analysis-top{grid-template-columns:1fr}}@media(max-width:640px){.payroll-identity{flex-direction:column}.payroll-identity__grid{grid-template-columns:1fr}}.detail-card.highlight-card.payroll-payment-summary{background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border-color:transparent;color:#fff}.detail-card.highlight-card.payroll-payment-summary>h2,.detail-card.highlight-card.payroll-payment-summary .detail-card-toolbar{margin:0;padding:.7rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-size:.9rem}.detail-card.highlight-card.payroll-payment-summary .detail-card-body{padding:.85rem 1.1rem 1rem;color:#fff}.payroll-payment-summary__row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.payroll-payment-summary__metric{display:flex;flex-direction:column;gap:.15rem;min-width:0}.payroll-payment-summary__metric--total{margin-left:auto;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.28)}.payroll-payment-summary__label{font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#ffffffe0;line-height:1.2}.payroll-payment-summary__value{font-size:1.15rem;font-weight:700;color:#fff;line-height:1.2;font-variant-numeric:tabular-nums}.payroll-payment-summary__value--total{font-size:1.45rem}.payroll-payment-summary__op{display:block;font-size:1.1rem;font-weight:600;color:#ffffffa6;line-height:1;padding-top:.95rem}@media(max-width:640px){.payroll-payment-summary__row{gap:.55rem .85rem}.payroll-payment-summary__op{display:none}.payroll-payment-summary__metric--total{flex:1 1 100%;margin-left:0;padding-left:0;padding-top:.45rem;border-left:none;border-top:1px solid rgba(255,255,255,.28)}.payroll-payment-summary__value--total{font-size:1.35rem}}.dispute-card{border:2px solid #f59e0b;background-color:#fef3c7}.dispute-card h2{color:#92400e;border-bottom-color:#fbbf24}.status-draft{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#f3f4f6;color:#374151}.status-paid{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#d1fae5;color:#065f46}.status-dispute-open{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#fee2e2;color:#991b1b}.status-dispute-resolved{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#dbeafe;color:#1e40af}.payroll-hour-breakdown-hint,.payroll-attendance-hint{margin:0 0 .75rem;font-size:.9rem;color:#475569;line-height:1.45}.payroll-attendance-gate{margin:0 0 .85rem;padding:.65rem .85rem;border-radius:.5rem;background:#fffbeb;border:1px solid #fbbf24;color:#92400e;font-size:.875rem;line-height:1.4}.payroll-attendance-weeks{display:flex;flex-direction:column;gap:1.25rem}.payroll-attendance-week__title{margin:0 0 .5rem;font-size:.9rem;font-weight:700;color:#0f172a}.payroll-attendance-week-split{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.8125rem;font-weight:500;color:#334155}.payroll-attendance-week-split strong{color:#0f172a}.payroll-attendance-grand{margin-top:.25rem;padding:.85rem 1rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#f8fafc}.payroll-attendance-grand__title{margin-bottom:.55rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.payroll-attendance-grand__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem 1.25rem;align-items:end}.payroll-attendance-grand__grid>div{display:flex;flex-direction:column;gap:.2rem}.payroll-attendance-grand__grid span{font-size:.75rem;color:#64748b;font-weight:600}.payroll-attendance-grand__grid strong{font-size:1.05rem;color:#0f172a}.payroll-attendance-table-wrap{width:100%;overflow-x:auto}.payroll-attendance-table{width:100%;border-collapse:collapse;font-size:.9rem}.payroll-attendance-table th,.payroll-attendance-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:middle}.payroll-attendance-table th{font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#64748b;background:#f8fafc}.payroll-attendance-table td a{color:var(--color-primary-strong, #2d4160);font-weight:600;text-decoration:none}.payroll-attendance-table td a:hover{text-decoration:underline}.payroll-attendance-table .status-approved,.payroll-attendance-table .status-pending,.payroll-attendance-table .status-rejected{display:inline-block;padding:.2rem .55rem;border-radius:.35rem;font-size:.75rem;font-weight:600}.payroll-attendance-table .status-approved{background:#d1fae5;color:#065f46}.payroll-attendance-table .status-pending{background:#fef3c7;color:#92400e}.payroll-attendance-table .status-rejected{background:#fee2e2;color:#991b1b}.payroll-attendance-row--rejected td,.payroll-attendance-row--excluded td{opacity:.72}.payroll-attendance-actions{display:flex;flex-wrap:wrap;gap:.35rem}.payroll-attendance-table tfoot th{background:#f1f5f9;color:#0f172a;font-size:.8125rem;text-transform:none;letter-spacing:0;font-weight:700;border-bottom:none;border-top:2px solid #cbd5e1}.payroll-attendance-totals-status{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.reports-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.reports-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.reports-page .page-header h1{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#0f172a}.reports-page .page-subtitle{margin:0;color:#64748b;font-size:.9rem}.reports-content{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:1.25rem}.reports-sidebar,.reports-main{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.reports-sidebar{height:fit-content}.report-filters h3{margin:0 0 .85rem;font-size:1rem;font-weight:700;color:#0f172a}.rp-period-chip{display:flex;flex-direction:column;gap:.2rem;margin:0 0 1rem;padding:.75rem .85rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.rp-period-chip small{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.rp-period-chip strong{color:#0f172a;font-size:.92rem;text-transform:capitalize}.filter-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.filter-group label{font-size:.82rem;font-weight:600;color:#475569}.filter-input{padding:.65rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff}.rp-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem;flex-wrap:wrap}.rp-hint{margin:0;color:#64748b;font-size:.875rem;line-height:1.4;max-width:42rem}.rp-export-actions{display:flex;gap:.5rem;flex-wrap:wrap}.report-tabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;overflow-x:auto}.report-tabs button{padding:.7rem .95rem;border:none;background:none;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.report-tabs button:hover{color:#0f172a}.report-tabs button.active{color:var(--color-primary-strong, #2d4160);border-bottom-color:var(--color-primary-strong, #2d4160)}.rp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-bottom:1rem}.rp-summary-card{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.rp-summary-card small{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.rp-summary-card strong{color:#0f172a;font-size:1.1rem;font-variant-numeric:tabular-nums}.report-results{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:.875rem}.report-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.report-table th{padding:.85rem .75rem;text-align:left;font-weight:700;color:#475569;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.report-table td{padding:.85rem .75rem;border-bottom:1px solid #eef2f7;color:#0f172a;vertical-align:middle}.report-table tbody tr:hover{background:#f8fafc}.rp-dates{display:inline-block;max-width:18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#475569}.empty-report{padding:2.5rem 1rem;text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.compliance-good{color:#15803d;font-weight:700}.compliance-medium{color:#b45309;font-weight:700}.compliance-bad{color:#b91c1c;font-weight:700}@media(max-width:1024px){.reports-content{grid-template-columns:1fr}}@media(max-width:768px){.rp-toolbar{flex-direction:column}.rp-export-actions{width:100%}}.adj-date-cell strong{font-weight:600;color:#0f172a}.adj-time-value{display:inline-block;white-space:nowrap;font-size:.875rem;font-weight:600;color:#0f172a}.adj-time-change{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.adj-time-change__from,.adj-time-change__to{display:flex;flex-direction:column;gap:.05rem;font-size:.875rem;font-weight:600;color:#0f172a}.adj-time-change__from small,.adj-time-change__to small{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.adj-time-change__to{color:var(--color-primary-strong, #2d4160)}.adj-time-change__arrow{color:#94a3b8;font-weight:600;padding-top:.7rem}.adj-reason{display:inline-block;max-width:18rem;color:#334155;line-height:1.35}.adj-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.adj-status{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.adj-status--pending{background:#f59e0b1f;color:#b45309}.adj-status--approved{background:#22c55e1f;color:#15803d}.adj-status--rejected{background:#ef44441a;color:#b91c1c}.adj-status--canceled{background:#64748b1f;color:#475569}.adj-status-note{max-width:12rem;color:#64748b;font-size:.72rem;line-height:1.3}.adj-detail-page .adj-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.adj-detail-page .adj-detail-card-head h2{margin:0}.adj-detail-identity{display:flex;align-items:center;gap:.875rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.adj-detail-identity__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.adj-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.adj-detail-identity__text span{font-size:.875rem;color:#64748b}.adj-detail-avatar{width:88px;height:88px;border-radius:12px;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700;flex-shrink:0}.adj-detail-reason{white-space:pre-wrap;line-height:1.45;color:#334155}.adj-detail-link{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;padding:0;color:var(--color-primary-strong, #2d4160);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.adj-detail-link:hover{text-decoration:underline}.adj-detail-hint{margin:-.25rem 0 1rem;font-size:.875rem;color:#64748b;line-height:1.4}.adj-detail-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.adj-detail-compare__col h3{margin:0 0 .65rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.adj-detail-pair{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.adj-detail-pair--changed{border-color:#cbd5e1;background:#fff}.adj-detail-pair>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}.adj-detail-pair small{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.adj-detail-pair .time-display{font-size:1.35rem}.adj-detail-pair__arrow{color:#94a3b8;font-size:1.1rem;font-weight:700;padding-top:.85rem}.adj-detail-hours{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}.adj-detail-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.adj-detail-note{padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.adj-detail-note--changed{border-color:#cbd5e1;background:#fff}.adj-detail-note label{display:block;margin-bottom:.4rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.adj-detail-note p{margin:0;white-space:pre-wrap;line-height:1.45;color:#334155}.ot-config-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;width:100%}.ot-config-info__block{padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.ot-config-info__block--example{background:#fff}.ot-config-info__block--warning{grid-column:1 / -1;background:#fffbeb;border-color:#fbbf24}.ot-config-info__block--warning h3{color:#92400e}.ot-config-info__block--warning ul{color:#78350f}.ot-config-info__block h3{margin:0 0 .45rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#64748b;text-transform:uppercase}.ot-config-info__block p{margin:0 0 .65rem;font-size:.9rem;line-height:1.45;color:#334155}.ot-config-info__block ul{margin:0;padding-left:1.1rem;color:#475569;font-size:.875rem;line-height:1.45}.ot-config-info__block li+li{margin-top:.25rem}.ot-config-cell{display:flex;flex-direction:column;gap:.15rem;align-items:flex-end}.ot-config-cell strong{font-size:.95rem;color:#0f172a}.ot-config-cell small{font-size:.7rem;color:#94a3b8;font-weight:500}.ot-config-example{display:inline-block;max-width:22rem;font-size:.8rem;line-height:1.35;color:#475569}.ot-config-form-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px))!important;margin-inline:auto;padding-inline:var(--page-shell-padding-inline, 0);box-sizing:border-box}.ot-config-form-page .form-page__top{max-width:none;width:100%;margin-bottom:1rem;color:inherit}.ot-config-form-page .form-edit-wrapper,.ot-config-form-page .form-create-wrapper{max-width:none;width:100%;margin:0;box-sizing:border-box}.ot-config-form-page .form-section-fields{grid-template-columns:1fr;gap:1rem}.ot-config-form-page .form-section--grid .form-section-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}@media(max-width:720px){.ot-config-form-page .form-section--grid .form-section-fields{grid-template-columns:1fr}}.ot-config-form-hint{margin:0;padding:1rem 1.15rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;box-sizing:border-box}.ot-config-form-hint h3{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.ot-config-form-hint p{margin:0;font-size:.875rem;line-height:1.45;color:#475569}.ot-config-form-hint p+p{margin-top:.55rem}.ot-config-form-hint__preview{margin:.65rem 0 0;padding-left:1.1rem;color:#334155;font-size:.875rem;line-height:1.45}.ot-config-form-hint__preview li+li{margin-top:.35rem}.ot-config-form-hint__note{margin-top:.65rem!important;font-weight:600;color:#0f172a!important}.safety-incident-map{min-height:360px}.safety-incident-map .day-route-map__canvas{min-height:360px;border-radius:12px}.safety-incident-detail-layout{display:flex;flex-direction:column;gap:1rem}.safety-incident-chip-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.safety-incident-reporter{display:block}.safety-incident-reporter--with-photo{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:start}.safety-incident-reporter__photo{width:120px}.safety-incident-coords{display:inline-flex;align-items:center;gap:.35rem}.safety-incident-photo{margin-top:1rem}.safety-incident-photo img{max-width:min(100%,420px);border-radius:10px;border:1px solid #e2e8f0}.safety-incident-map-card .day-route-map{margin-top:.25rem}.safety-incident-map-error{margin:0 0 .75rem;color:#b91c1c}.safety-incident-map-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.85rem 0 0;color:#475569;font-size:.9rem}.safety-incident-map-legend__item{display:inline-flex;align-items:center;gap:.4rem}.safety-incident-map-legend__item:before{content:"";width:.7rem;height:.7rem;border-radius:999px;display:inline-block}.safety-incident-map-legend__item--incident:before{background:#ef4444;box-shadow:0 0 0 2px #991b1b}.safety-incident-map-legend__item--reporter:before{background:#3b82f6;box-shadow:0 0 0 2px #1d4ed8}.safety-incident-map-legend__item--nearby:before{background:#fbbf24;box-shadow:0 0 0 2px #a16207}.safety-incident-map-legend__radius{margin-left:auto;color:#64748b}.safety-incident-nearby-empty{margin:0;color:#64748b}.safety-incident-nearby-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.safety-incident-nearby-list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.safety-incident-nearby-list__main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.safety-incident-nearby-list__main span{color:#64748b;font-size:.9rem}.safety-incident-nearby-list__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.safety-incident-nearby-list__action,.safety-incident-nearby-list__link{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font-weight:600;text-decoration:none;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:8px;padding:.35rem .6rem;font-size:.8rem;cursor:pointer}.safety-incident-nearby-list__action:hover,.safety-incident-nearby-list__link:hover{background:#f1f5f9;color:#0f172a}.safety-incident-nearby-list__action--notify{border-color:#fecaca;background:#fef2f2;color:#991b1b}.safety-incident-nearby-list__action--notify:hover:not(:disabled){background:#fee2e2;color:#7f1d1d}.safety-incident-nearby-list__action:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.safety-incident-reporter--with-photo{grid-template-columns:1fr}.safety-incident-nearby-list__item{flex-direction:column;align-items:flex-start}.safety-incident-map-legend__radius{margin-left:0}}.edwl-page .edwl-date{font-weight:500;text-transform:capitalize}.edwl-page .edwl-kpi{font-variant-numeric:tabular-nums;color:var(--color-text-muted, #64748b)}.wd-timeline{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:0}.wd-timeline__empty{margin:0;color:#64748b;font-size:.9rem}.wd-timeline__item{display:grid;grid-template-columns:5.75rem 1.25rem minmax(0,1fr);gap:.55rem;align-items:stretch}.wd-timeline__time{margin-top:.3rem;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .4rem;text-align:center;line-height:1.25;height:fit-content}.wd-timeline__item--dead .wd-timeline__time{background:#fffbeb;border-color:#fde68a;color:#92400e}.wd-timeline__rail{position:relative;display:flex;justify-content:center}.wd-timeline__rail:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:#e2e8f0}.wd-timeline__item:first-child .wd-timeline__rail:before{top:.7rem}.wd-timeline__item:last-child .wd-timeline__rail:before{bottom:calc(100% - .7rem)}.wd-timeline__dot{position:relative;z-index:1;width:.7rem;height:.7rem;margin-top:.45rem;border-radius:999px;background:#64748b;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.wd-timeline__item--check-in .wd-timeline__dot{background:#16a34a;box-shadow:0 0 0 1px #86efac}.wd-timeline__item--check-out .wd-timeline__dot{background:#dc2626;box-shadow:0 0 0 1px #fca5a5}.wd-timeline__item--break .wd-timeline__dot{background:#2563eb;box-shadow:0 0 0 1px #93c5fd}.wd-timeline__item--dead .wd-timeline__dot{background:#d97706;box-shadow:0 0 0 1px #fcd34d}.wd-timeline__body{min-width:0;padding:.25rem 0 .85rem}.wd-timeline__label{display:block;color:#0f172a;font-size:.92rem;font-weight:650}.wd-timeline__body p{margin:.2rem 0 0;color:#475569;font-size:.88rem;line-height:1.4}.wd-timeline__badge{display:inline-block;margin-top:.35rem;font-size:.75rem;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:.15rem .5rem}.wd-timeline__item--dead .wd-timeline__body{background:linear-gradient(90deg,rgba(254,243,199,.45),transparent 70%);border-radius:8px;padding-left:.55rem;margin-bottom:.25rem}@media(max-width:480px){.wd-timeline__item{grid-template-columns:4.6rem 1rem minmax(0,1fr);gap:.4rem}.wd-timeline__time{font-size:.72rem;padding:.15rem .28rem}}.wd-detail-badges{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.wd-badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.wd-badge--summary{background:#2d41601f;color:var(--color-primary-strong, #2d4160)}.wd-badge--overtime{background:#f59e0b24;color:#b45309}.wd-detail-identity{display:flex;align-items:center;gap:.875rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.wd-detail-photo,.wd-detail-avatar{width:88px;height:88px;border-radius:12px;flex-shrink:0;object-fit:cover}.wd-detail-avatar{display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700}.wd-detail-identity__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 12rem}.wd-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.wd-detail-identity__text span{font-size:.875rem;color:#64748b}.wd-detail-activity{font-weight:600;color:#334155!important}.wd-detail-source{font-size:.8rem!important}.wd-detail-hours-chip{display:flex;flex-direction:column;gap:.15rem;margin-left:auto;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;text-align:right}.wd-detail-hours-chip small{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.wd-detail-hours-chip strong{font-size:1.35rem;color:var(--color-primary-strong, #2d4160);white-space:nowrap}.wd-detail-window{font-size:.8rem;color:#64748b;white-space:nowrap}.wd-detail-link{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;padding:0;color:var(--color-primary-strong, #2d4160);font:inherit;font-weight:600;cursor:pointer}.wd-detail-link:hover{color:var(--color-primary-hover, #3a5482)}.wd-summary-sections{display:flex;flex-direction:column;gap:.85rem}.wd-summary-metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.wd-summary-metric{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#0f172a;font-size:.82rem}.wd-summary-metric-label{color:#64748b}.wd-summary-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.wd-summary-item{display:flex;align-items:flex-start;justify-content:flex-start;gap:.75rem;padding:.65rem .75rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.wd-summary-item-body{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 auto}.wd-summary-item-body strong{color:#0f172a;font-weight:600}.wd-summary-item-detail{color:#475569;font-size:.9rem;line-height:1.4}.wd-summary-item-time{flex-shrink:0;font-size:.82rem;font-weight:650;font-variant-numeric:tabular-nums;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .45rem;min-width:3.5rem;text-align:center}.wd-summary-note{margin:0;white-space:pre-wrap;color:#334155;line-height:1.55;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,Consolas,monospace;font-size:.86rem}.wd-summary-narrative{margin:0 0 .75rem;color:#334155;font-size:.95rem;line-height:1.5}.wd-itinerary-vehicles{margin:0 0 .75rem;color:#334155;font-size:.92rem}.wd-itinerary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.wd-itinerary-step{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem .8rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.wd-itinerary-step--place{border-left:3px solid #0f766e}.wd-itinerary-step--travel{border-left:3px solid #b45309;background:#fffbeb}.wd-itinerary-step--vehicle{border-left:3px solid #1d4ed8}.wd-itinerary-badge{flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .45rem;min-width:3.6rem;text-align:center}.wd-itinerary-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.wd-itinerary-body strong{color:#0f172a;font-weight:600}.wd-itinerary-meta{color:#475569;font-size:.9rem;line-height:1.4}.wd-itinerary-maps{font-size:.85rem;color:#0f766e;text-decoration:none;width:fit-content}.wd-itinerary-maps:hover{text-decoration:underline}.wd-summary-map-block{margin:.25rem 0 .9rem;display:flex;flex-direction:column;gap:.45rem}.wd-summary-timeline-block{margin:.25rem 0 .35rem;display:flex;flex-direction:column;gap:.35rem}.wd-live-position-status{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0 0 .65rem;color:#334155;font-size:.9rem;line-height:1.4}.wd-live-position-status.is-missing{color:#64748b}.wd-live-position-status.is-stale{color:#92400e}.wd-live-position-status__state{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.wd-live-position-status__meta{color:#64748b;font-size:.85rem}.wd-live-position-status.is-stale .wd-live-position-status__meta{color:#b45309}.wd-live-position-status__coords{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:#64748b;letter-spacing:.01em}.wd-live-dot{width:.55rem;height:.55rem;border-radius:999px;background:#94a3b8;flex-shrink:0}.wd-live-dot.is-online{background:#16a34a;box-shadow:0 0 0 4px #16a34a2e}.wd-live-maps-link{display:inline-block;margin-top:.55rem;font-size:.88rem;font-weight:600;color:#1d4ed8;text-decoration:none}.wd-live-maps-link:hover{text-decoration:underline}.wd-summary-map-title{margin:0;font-size:.85rem;font-weight:650;color:#475569}.wd-summary-note-details{color:#334155}.wd-summary-note-details>summary{cursor:pointer;font-weight:600;color:#1e293b;margin-bottom:.55rem}.wd-summary-note-details[open]>summary{margin-bottom:.75rem}@media(max-width:640px){.wd-detail-hours-chip{margin-left:0;width:100%;text-align:left}}.esl-filter-bar{display:flex;justify-content:flex-end}.esl-template-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0}.esl-template-cell strong{color:#0f172a;font-weight:600}.esl-shift{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600;background:#f1f5f9;color:#475569}.esl-shift--morning{background:#0ea5e91f;color:#0369a1}.esl-shift--afternoon{background:#f59e0b24;color:#b45309}.esl-shift--night{background:#6366f124;color:#4338ca}.esl-shift--mixed{background:#2d41601f;color:var(--color-primary-strong, #2d4160)}.esl-week-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.esl-week-cell strong{color:#0f172a;font-weight:600;font-size:.9rem}.esl-week-cell span{color:#64748b;font-size:.82rem;font-variant-numeric:tabular-nums}.esl-flags{display:flex;flex-wrap:wrap;gap:.35rem;max-width:16rem}.esl-flag{display:inline-block;padding:.2rem .45rem;border-radius:6px;font-size:.7rem;font-weight:600;background:#f8fafc;border:1px solid #e2e8f0;color:#94a3b8}.esl-flag--on{background:#22c55e1a;border-color:#22c55e40;color:#15803d}.esl-flag--flex{background:#3b82f61a;border-color:#3b82f640;color:#1d4ed8}.esd-detail-page .esd-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.esd-detail-page .esd-detail-card-head h2{margin:0}.esd-badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;background:#2d41601f;color:var(--color-primary-strong, #2d4160)}.esd-detail-identity{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.esd-detail-identity .employee-profile-photo,.esd-detail-avatar{width:88px;height:88px;border-radius:12px;flex-shrink:0;object-fit:cover}.esd-detail-avatar{display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700}.esd-detail-identity__text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 12rem}.esd-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.esd-detail-template{font-size:.9rem;font-weight:600;color:#334155}.esd-detail-chip{display:flex;flex-direction:column;gap:.15rem;margin-left:auto;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;text-align:right}.esd-detail-chip small{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.esd-detail-chip strong{font-size:1.05rem;color:var(--color-primary-strong, #2d4160);white-space:nowrap}.esd-detail-link{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;padding:0;margin-top:.15rem;color:var(--color-primary-strong, #2d4160);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;width:fit-content}.esd-detail-link:hover{color:var(--color-primary-hover, #3a5482)}.esd-week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.esd-week-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;flex-wrap:wrap}.esd-week-day{display:flex;flex-direction:column;gap:.15rem;min-width:0}.esd-week-day strong{color:#0f172a;text-transform:capitalize}.esd-week-day span{color:#334155;font-weight:600;font-variant-numeric:tabular-nums}.esd-week-meta{display:flex;align-items:center;gap:.5rem}.esd-week-break{font-size:.82rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .5rem}.esd-detail-muted{margin:0;color:#64748b}@media(max-width:640px){.esd-detail-chip{margin-left:0;width:100%;text-align:left}}.sol-filter-bar{display:flex;justify-content:flex-end}.sol-date-cell strong{color:#0f172a;font-weight:600;text-transform:capitalize}.sol-shift-cell,.sol-hours-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sol-shift-cell strong,.sol-hours-cell strong{color:#0f172a;font-weight:600;font-variant-numeric:tabular-nums}.sol-shift-cell span,.sol-hours-cell span{color:#64748b;font-size:.78rem}.sol-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600}.sol-badge--off{background:#64748b24;color:#475569}.sol-reason{color:#334155;font-size:.875rem;line-height:1.35}.sol-reason--empty{color:#94a3b8;font-style:italic}.attendance-detail-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1520px));margin-inline:auto;padding:var(--page-shell-padding-block, .5rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.attendance-detail-page .detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem 1.25rem}.gps-map-link{font-size:.85rem;color:var(--color-primary-strong, #2d4160);text-decoration:none;font-weight:600}.gps-map-link:hover{text-decoration:underline;color:var(--color-primary-hover, #3a5482)}.employee-profile-photo{width:88px;height:88px;border-radius:12px;object-fit:cover;border:1px solid #e2e8f0;display:block;background:#f8fafc}.att-detail-identity{display:flex;align-items:center;gap:.875rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.att-detail-photo,.att-detail-avatar{width:88px;height:88px;border-radius:12px;flex-shrink:0;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc}.att-detail-avatar{display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700}.att-detail-identity__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 12rem}.att-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.att-detail-identity__text span{font-size:.875rem;color:#64748b}.att-detail-method{font-weight:600;color:#334155!important}.att-detail-hours-chip{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;padding:.55rem .75rem;border-radius:10px;background:#f1f5f9;min-width:7.5rem}.att-detail-hours-chip small{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:600}.att-detail-hours-chip strong{font-size:1.15rem;color:var(--color-primary-strong, #2d4160)}.att-detail-window{font-size:.8rem;color:#64748b}.time-display{font-size:1.25rem;font-weight:600;color:#0f172a}.hours-display{font-size:1.25rem;font-weight:600;color:var(--color-primary-strong, #2d4160)}.photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.photo-item{display:flex;flex-direction:column;gap:.5rem;min-width:0}.photo-item label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.attendance-photo{width:100%;max-width:none;aspect-ratio:4 / 3;border-radius:10px;border:1px solid #e2e8f0;object-fit:cover;background:#f8fafc}.observations-grid{display:flex;flex-wrap:wrap;gap:.75rem}.observation-item{display:flex}.badge{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-info{background-color:#dbeafe;color:#1e40af}.badge-danger{background-color:#fee2e2;color:#991b1b}.status-rejected{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#fee2e2;color:#991b1b}.status-approved{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#d1fae5;color:#065f46}.status-pending{display:inline-block;padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;background-color:#fef3c7;color:#92400e}.notes-text{color:#334155;line-height:1.6;white-space:pre-wrap;margin:0}.loading-state .spinner{width:3rem;height:3rem;border:4px solid #e2e8f0;border-top-color:var(--color-primary-strong, #2d4160);border-radius:50%;animation:attendance-detail-spin .6s linear infinite}@keyframes attendance-detail-spin{to{transform:rotate(360deg)}}.loading-state p{color:#64748b;font-size:1rem}@media(max-width:768px){.att-detail-hours-chip{margin-left:0;width:100%;align-items:flex-start}.attendance-detail-page .detail-header{flex-direction:column;align-items:stretch}.attendance-detail-page .header-actions{margin-left:0;justify-content:flex-start}.photos-grid,.attendance-detail-page .detail-grid{grid-template-columns:1fr}}.att-live-position-hint{margin:0 0 .75rem;color:#64748b;font-size:.875rem;line-height:1.4}.att-live-position-status{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0 0 .65rem;color:#334155;font-size:.9rem;line-height:1.4}.att-live-position-status.is-missing{color:#64748b}.att-live-position-status.is-stale{color:#92400e}.att-live-position-status__state{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.att-live-position-status__meta{color:#64748b;font-size:.85rem}.att-live-position-status.is-stale .att-live-position-status__meta{color:#b45309}.att-live-position-status__coords{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:#64748b;letter-spacing:.01em}.att-live-dot{width:.55rem;height:.55rem;border-radius:999px;background:#94a3b8;flex-shrink:0}.att-live-dot.is-online{background:#16a34a;box-shadow:0 0 0 4px #16a34a2e}.att-live-map-block{margin:.25rem 0 .75rem}.att-live-maps-link{display:inline-block;margin-bottom:.85rem;font-size:.88rem;font-weight:600;color:#1d4ed8;text-decoration:none}.att-live-maps-link:hover{text-decoration:underline}.att-gps-coords{margin-top:.5rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.sod-detail-page .sod-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.sod-detail-page .sod-detail-card-head h2{margin:0}.sod-badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.sod-badge--shift{background:#2d41601f;color:var(--color-primary-strong, #2d4160)}.sod-badge--off{background:#64748b24;color:#475569}.sod-detail-identity{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.sod-detail-identity .employee-profile-photo,.sod-detail-avatar{width:88px;height:88px;border-radius:12px;flex-shrink:0;object-fit:cover}.sod-detail-avatar{display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:1.75rem;font-weight:700}.sod-detail-identity__text{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 12rem}.sod-detail-identity__text strong{font-size:1.05rem;color:#0f172a}.sod-detail-identity__text span{font-size:.875rem;color:#64748b;text-transform:capitalize}.sod-detail-chip{display:flex;flex-direction:column;gap:.15rem;margin-left:auto;padding:.75rem 1rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;text-align:right}.sod-detail-chip small{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.sod-detail-chip strong{font-size:1.2rem;color:var(--color-primary-strong, #2d4160);white-space:nowrap}.sod-detail-window{font-size:.8rem;color:#64748b;white-space:nowrap}.sod-detail-link{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;padding:0;margin-top:.15rem;color:var(--color-primary-strong, #2d4160);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;width:fit-content}.sod-detail-link:hover{color:var(--color-primary-hover, #3a5482)}.sod-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.sod-metric{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.sod-metric small{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.sod-metric strong{font-size:1.15rem;color:#0f172a;font-variant-numeric:tabular-nums}.sod-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.sod-compare-col{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.sod-compare-col--override{border-color:#2d416047;background:#2d41600a}.sod-compare-label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.sod-compare-template{color:#0f172a;font-size:.95rem}.sod-compare-time{color:#0f172a;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}.sod-compare-meta{color:#64748b;font-size:.85rem}.sod-reason-text{margin:0}.sod-detail-muted{margin:0;color:#64748b}@media(max-width:720px){.sod-metric-grid,.sod-compare{grid-template-columns:1fr}.sod-detail-chip{margin-left:0;width:100%;text-align:left}}.stl-name-cell{display:flex;flex-direction:column;gap:.15rem;min-width:8rem}.stl-code{font-size:.75rem;color:#64748b;letter-spacing:.02em}.stl-shift{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:.25rem;font-size:.8rem;font-weight:600;background:#e2e8f0;color:#334155}.stl-shift--morning{background:#fef3c7;color:#92400e}.stl-shift--afternoon{background:#ffedd5;color:#9a3412}.stl-shift--night{background:#e0e7ff;color:#3730a3}.stl-shift--mixed{background:#f1f5f9;color:#475569}.stl-flags{display:flex;flex-wrap:wrap;gap:.35rem;max-width:16rem}.stl-flag{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:.25rem;font-size:.72rem;font-weight:500;background:#f1f5f9;color:#64748b}.stl-flag--on{background:#dcfce7;color:#166534}.stl-flag--flex{background:#e0f2fe;color:#075985}.stl-flex-cell{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem;color:#334155;white-space:nowrap;min-width:7.5rem}.flex-duration-inputs{width:100%;color:#0f172a}.flex-duration-inputs .form-label{color:#334155}.flex-duration-inputs .form-input{color:#111827;background-color:#fff}.flex-duration-inputs .form-helper{color:#475569}.stw-editor{margin:1.25rem 0 .5rem;padding:1rem 0 0;border-top:1px solid #e2e8f0;color:#0f172a}.stw-editor__header h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:650;color:#0f172a}.stw-editor__hint{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:#475569}.stw-editor__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.75rem}.stw-day{border:1px solid #cbd5e1;border-radius:10px;padding:.75rem;background:#f8fafc;min-height:7rem;color:#0f172a}.stw-day--active{background:#fff;border-color:#5b7db8;box-shadow:0 1px 2px #0f172a0f}.stw-day__toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem;color:#0f172a;cursor:pointer;margin-bottom:.65rem}.stw-day__toggle input{width:1rem;height:1rem;accent-color:#456298;flex-shrink:0}.stw-day__times{display:flex;flex-direction:column;gap:.5rem;color:#0f172a}.stw-day__off{margin:.25rem 0 0;font-size:.85rem;color:#64748b}.stw-editor .form-label{color:#334155}.stw-editor .form-input{color:#111827;background-color:#fff;border-color:#cbd5e1}.stw-editor .form-helper{color:#64748b}@media(max-width:640px){.stw-editor__grid{grid-template-columns:1fr}}.schedule-template-form-page,.schedule-template-form-page .form-before-submit{color:#0f172a}.schedule-template-form-page .stw-form-error{margin-top:.75rem;margin-bottom:0;font-size:.9rem;line-height:1.45;color:#b91c1c;font-weight:500}.schedule-template-form-page .loading-state p{color:#475569}.company-crop-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:120000;padding:1rem}.company-crop-modal{width:min(540px,100%);background:#fff;border-radius:14px;border:1px solid #dbe3f0;box-shadow:0 24px 70px #0f172a3d;padding:1rem 1rem .9rem}.company-crop-modal h3{margin:0 0 .8rem;font-size:1rem;color:#1f2937}.company-crop-viewport{width:220px;height:220px;border-radius:12px;margin:0 auto .9rem;overflow:hidden;background:#f8fafc;border:1px solid #d1d9e6;position:relative}.company-crop-viewport img{position:absolute;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.company-crop-controls{display:grid;gap:.6rem}.company-crop-controls label{display:grid;gap:.3rem;font-size:.82rem;color:#475569}.company-crop-controls input[type=range]{width:100%}.company-crop-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.company-profile-page .company-hero{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.15rem 0 .85rem;margin-bottom:.35rem;border-bottom:1px solid #f1f5f9}.company-profile-page .company-hero-logo{width:72px;height:72px;border-radius:14px;border:1px solid #e2e8f0;background:#f1f5f9;color:#334155;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;overflow:hidden;flex-shrink:0}.company-profile-page .company-hero-logo-img{width:100%;height:100%;object-fit:cover}.company-profile-page .company-hero-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;flex:1}.company-profile-page .company-hero-meta strong{color:#0f172a;font-size:1.1rem;font-weight:700;line-height:1.3}.company-profile-page .company-hero-meta small{color:#64748b;font-size:.8125rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.company-profile-page .company-logo-upload{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1d5db;background:#fff;color:#334155;border-radius:10px;padding:.5rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.company-profile-page .company-logo-upload:hover{background:#f8fafc;border-color:#94a3b8}.company-profile-page .company-logo-upload input{display:none}.company-profile-page .company-profile-grid.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;max-width:44rem}.company-profile-page .company-profile-grid--identity.detail-grid{max-width:36rem}.company-profile-page .company-profile-grid--currency.detail-grid{grid-template-columns:minmax(0,18rem);max-width:18rem}.company-profile-page .company-profile-section-hint{margin:0 0 1rem;max-width:44rem;color:#64748b;font-size:.875rem;line-height:1.45}.company-profile-page .company-profile-input{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;padding:.58rem .75rem;font-size:.92rem;color:#0f172a;background:#fff;min-height:2.5rem}.company-profile-page .company-profile-input:focus{outline:none;border-color:#64748b;box-shadow:0 0 0 3px #64748b26}.company-profile-page .company-profile-field-hint{display:block;margin-top:.4rem;color:#64748b;font-size:.8rem;line-height:1.4}.company-profile-page .company-profile-readonly{display:inline-flex;align-items:center;min-height:2.5rem;width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;padding:.58rem .75rem;font-size:.92rem;color:#334155;background:#f8fafc}.company-profile-page .company-profile-readonly--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.company-profile-page .company-status-badge{display:inline-flex;align-items:center;min-height:1.85rem;padding:.2rem .7rem;border-radius:999px;font-size:.8125rem;font-weight:650;border:1px solid transparent}.company-profile-page .company-status-badge--trial{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.company-profile-page .company-status-badge--active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.company-profile-page .company-status-badge--suspended{background:#fffbeb;color:#b45309;border-color:#fde68a}.company-profile-page .company-status-badge--closed{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.company-profile-page .company-profile-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:.85rem 0 .25rem}.company-profile-page .company-profile-actions .btn,.company-profile-page .company-profile-actions button{width:auto;min-width:9.5rem}.company-profile-page .company-profile-offices-link{text-decoration:none}.company-profile-page .detail-item p{margin:0}@media(max-width:720px){.company-profile-page .company-profile-grid.detail-grid,.company-profile-page .company-profile-grid--currency.detail-grid{grid-template-columns:1fr;max-width:none}}.office-work-schedule{display:flex;flex-direction:column;gap:.9rem;width:100%}.office-work-schedule__label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.office-work-schedule__days{display:flex;flex-wrap:wrap;gap:.5rem}.office-work-schedule__chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:10px;padding:.45rem .75rem;font-size:.84rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.office-work-schedule__chip:hover{border-color:#cbd5e1;background:#f8fafc}.office-work-schedule__chip.is-active{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.office-work-schedule__chip input{margin:0;accent-color:#334155}.office-work-schedule__grid{display:flex;flex-direction:column;gap:.55rem}.office-work-schedule__row{display:grid;grid-template-columns:minmax(6.5rem,8rem) 1fr;gap:.75rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:.7rem .85rem}.office-work-schedule__row-title{font-size:.875rem;font-weight:700;color:#1e293b}.office-work-schedule__times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.office-work-schedule__times label{display:flex;flex-direction:column;gap:.28rem;min-width:0}.office-work-schedule__times span{font-size:.72rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.office-work-schedule__times input{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;padding:.45rem .55rem;font-size:.9rem;color:#0f172a;background:#fff}.office-work-schedule__times input:focus{outline:none;border-color:#64748b;box-shadow:0 0 0 3px #64748b1f}.office-work-schedule__empty{margin:0;border:1px dashed #cbd5e1;border-radius:10px;padding:.85rem 1rem;color:#64748b;font-size:.875rem;background:#f8fafc}@media(max-width:640px){.office-work-schedule__row{grid-template-columns:1fr;gap:.55rem}}.subscription-plans-page .subscription-plans-alerts{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem}.subscription-plans-page .subscription-plans-alerts .alert-message{white-space:pre-line}.subscription-plans-page .billing-hub-stack,.subscription-plans-page .billing-hub-grid{display:flex;flex-direction:column;gap:.85rem}.subscription-plans-page .billing-hub-column{display:flex;flex-direction:column;gap:.85rem;min-width:0}.subscription-plans-page .billing-outstanding-box{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.subscription-plans-page .billing-auto-renew-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem;font-size:.9rem;color:#0f172a;cursor:pointer}.subscription-plans-page .billing-auto-renew-row input{width:1rem;height:1rem;accent-color:#2563eb}.subscription-plans-page .billing-interval-switch,.subscription-plans-page .billing-legal-links{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.subscription-plans-page .billing-legal-links-row{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.subscription-plans-page .billing-legal-links-row a{color:#2563eb;font-size:.84rem;text-decoration:none}.subscription-plans-page .billing-legal-links-row a:hover{text-decoration:underline}.subscription-plans-page .billing-interval-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.subscription-plans-page .billing-interval-filter-wrap{margin-bottom:.75rem}.subscription-plans-page .billing-interval-filter-wrap .subscription-plans-card-hint{margin-bottom:.5rem}.subscription-plans-page .billing-interval-chip{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:.28rem .75rem;font-size:.78rem;font-weight:600;cursor:pointer}.subscription-plans-page .billing-interval-chip.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.subscription-plans-page .billing-summary-strip{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.subscription-plans-page .billing-badge{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;width:fit-content;max-width:100%;border-radius:999px;padding:.22rem .62rem;font-size:.72rem;font-weight:700;line-height:1.25;border:1px solid transparent;white-space:nowrap;vertical-align:middle}.subscription-plans-page .billing-badge--success{background:#ecfdf5;border-color:#86efac;color:#166534}.subscription-plans-page .billing-badge--warning{background:#fffbeb;border-color:#fbbf24;color:#92400e}.subscription-plans-page .billing-badge--danger{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.subscription-plans-page .billing-badge--neutral{background:#f8fafc;border-color:#cbd5e1;color:#475569}.subscription-plans-page .billing-badge--info{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.subscription-plans-page .billing-badge--scheduled{background:#f5f3ff;border-color:#c4b5fd;color:#5b21b6}.subscription-plans-page .billing-badge--upgrade{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.subscription-plans-page .billing-badge--downgrade{background:#f8fafc;border-color:#cbd5e1;color:#475569}.subscription-plans-page .billing-badge--current{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.subscription-plans-page .billing-section-intro{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0}.subscription-plans-page .billing-section-intro-desc{margin:0 0 .5rem;color:#475569;font-size:.88rem;line-height:1.5}.subscription-plans-page .billing-section-intro-effect{display:flex;align-items:flex-start;gap:.45rem;margin:0;color:#1e40af;font-size:.82rem;line-height:1.45}.subscription-plans-page .billing-section-intro-icon{flex-shrink:0;margin-top:.12rem;color:#3b82f6}.subscription-plans-page .billing-subsection-intro{margin-bottom:.65rem}.subscription-plans-page .billing-subsection-intro-title{margin:0 0 .35rem;color:#0f172a;font-size:.92rem;font-weight:700}.subscription-plans-page .billing-settings-block--first{margin-top:0;padding-top:0;border-top:none}.subscription-plans-page .billing-danger-zone-effect{margin-bottom:.75rem;color:#991b1b}.subscription-plans-page .billing-danger-zone-effect .billing-section-intro-icon{color:#dc2626}.subscription-plans-page .billing-outstanding-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;align-items:center}.subscription-plans-page .billing-badge--cycle{text-transform:uppercase;letter-spacing:.03em}.subscription-plans-page .plan-card-badges{display:flex;flex-wrap:wrap;gap:.35rem}.subscription-plans-page .plan-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:stretch}@media(max-width:1280px){.subscription-plans-page .plan-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.subscription-plans-page .plan-cards-grid{grid-template-columns:1fr}}.subscription-plans-page .billing-settings-block{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.subscription-plans-page .billing-compact-btn.btn-small{padding:.32rem .65rem;font-size:.76rem;font-weight:600;gap:.3rem;min-height:0;width:auto;max-width:100%;flex:0 0 auto}.subscription-plans-page .billing-compact-btn .btn-icon{font-size:.72rem}.subscription-plans-page .billing-outstanding-actions--compact{margin-top:.35rem;display:inline-flex;width:fit-content;max-width:100%}.subscription-plans-page .billing-settings-block .billing-outstanding-actions--compact{align-self:flex-start}.subscription-plans-page .billing-payment-summary{margin:0 0 .35rem;color:#64748b;font-size:.82rem;line-height:1.4}.subscription-plans-page .billing-subsection-intro{margin-bottom:.5rem}.subscription-plans-page .billing-section-intro-effect{font-size:.78rem}.subscription-plans-page .billing-scheduled-change-banner{margin-bottom:.85rem;padding:.85rem 1rem;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.subscription-plans-page .billing-scheduled-cancel-hint{color:#1d4ed8;font-weight:600}.subscription-plans-page .billing-danger-zone{margin-top:.75rem;padding:.85rem 1rem;border:1px solid #fca5a5;border-radius:10px;background:#fef2f2}.subscription-plans-page .billing-danger-zone-title{margin:0 0 .35rem;color:#b91c1c;font-size:.92rem;font-weight:700}.subscription-plans-page .billing-danger-zone-hint{margin:0 0 .75rem;color:#991b1b;font-size:.84rem;line-height:1.45}.subscription-plans-page .billing-payment-method-label{margin:0 0 .5rem;color:#0f172a;font-size:.88rem;font-weight:600}.subscription-plans-page .plan-card-item{border:1px solid #dbe3f0;border-radius:12px;padding:.85rem;background:#fff;display:flex;flex-direction:column;gap:.45rem;height:100%}.subscription-plans-page .plan-card-item.scheduled{border:2px solid #c4b5fd;background:linear-gradient(180deg,#faf5ff,#f5f3ff);box-shadow:0 0 0 2px #8b5cf61f}.subscription-plans-page .plan-card-item.current{border:2px solid #3b82f6;background:linear-gradient(180deg,#eff6ff,#eef3fb);box-shadow:0 0 0 2px #3b82f626}.subscription-plans-page .plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.subscription-plans-page .plan-card-head strong{color:#0f172a;font-size:.98rem;font-weight:800}.subscription-plans-page .plan-card-price{margin:0;color:#1f2937;font-size:.92rem;font-weight:600}.subscription-plans-page .plan-card-pricing{display:flex;flex-direction:column;gap:.2rem}.subscription-plans-page .plan-card-price-main{margin:0;color:#0f172a;font-size:1.28rem;font-weight:800;line-height:1.15}.subscription-plans-page .plan-card-price-amount{letter-spacing:-.02em}.subscription-plans-page .plan-card-price-annual{margin:0;color:#64748b;font-size:.84rem;font-weight:600}.subscription-plans-page .plan-card-price-annual.highlight{color:#166534}.subscription-plans-page .plan-card-savings-line{margin:0;color:#15803d;font-size:.8rem;font-weight:700;line-height:1.35}.subscription-plans-page .plan-card-savings-badge{flex-shrink:0}.subscription-plans-page .plan-card-item.annual-purchase{border-color:#86efac}.subscription-plans-page .plan-card-item.annual-purchase.current{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.subscription-plans-page .plan-card-description{margin:0;color:#64748b;font-size:.82rem;line-height:1.35;min-height:2.2em}.subscription-plans-page .plan-card-meta{display:flex;flex-wrap:wrap;gap:.35rem;color:#475569;font-size:.78rem}.subscription-plans-page .plan-card-item .btn{margin-top:auto}.subscription-plans-page .subscription-plans-table-wrap{overflow-x:auto;margin:0 -.15rem}.subscription-plans-page .subscription-plans-table{width:100%;border-collapse:collapse;font-size:.8125rem}.subscription-plans-page .subscription-plans-table th,.subscription-plans-page .subscription-plans-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:middle}.subscription-plans-page .subscription-plans-table th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#fafbfc}.subscription-plans-page .subscription-plans-table tbody tr:hover td{background:#f8fafc}.subscription-plans-page .subscription-plans-table tbody tr:last-child td{border-bottom:none}.subscription-plans-page .subscription-plans-card-hint{margin:0 0 .75rem;color:#64748b;font-size:.875rem;line-height:1.45}.device-event-badge{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;font-size:.75rem;font-weight:600;color:#475569}.device-event-badge__icon{flex-shrink:0;font-size:.9rem}.device-event-badge__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-event-icon--login{color:#15803d}.device-event-icon--logout{color:#c2410c}.device-event-icon--heartbeat{color:#7e22ce}.device-event-icon--tracking{color:#1d4ed8}.device-event-icon--tracking-paused{color:#a16207}.device-event-icon--health{color:#0f766e}.device-event-icon--error{color:#b91c1c}.device-event-icon--other{color:#64748b}.device-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;width:100%}.device-summary-chips,.device-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.device-summary-chip{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#f1f5f9;color:#334155}.device-summary-chip--online{background:#22c55e1f;color:#15803d}.device-summary-chip--offline{background:#94a3b833;color:#475569}.device-summary-chip--blocked{background:#f59e0b2e;color:#b45309}.device-filter-chip{border:1px solid #dbe2ea;background:#fff;color:#475569;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer}.device-filter-chip:hover{border-color:#94a3b8}.device-filter-chip.is-active{border-color:#1d4ed8;background:#3b82f61f;color:#1d4ed8}.device-employee-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.device-employee-code{font-size:.75rem;color:#64748b;padding-left:2.5rem}.device-info-cell{display:flex;flex-direction:column;gap:.15rem;min-width:9rem}.device-info-cell__primary{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.device-platform{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#e2e8f0;color:#334155}.device-platform--android{background:#22c55e26;color:#15803d}.device-platform--ios{background:#3b82f61f;color:#1d4ed8}.device-model{font-weight:600;color:#0f172a}.device-info-cell__secondary{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;color:#475569}.device-info-cell__muted{font-size:.72rem;color:#94a3b8}.device-status-stack{display:flex;flex-wrap:wrap;gap:.35rem}.device-status{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.device-status--online{background:#22c55e1f;color:#15803d}.device-status--offline{background:#94a3b833;color:#334155}.device-status--tracking{background:#3b82f61f;color:#1d4ed8}.device-status--inactive{background:#ef44441a;color:#b91c1c}.device-status--blocked{background:#f59e0b26;color:#b45309}.device-status--blocked-btn{display:inline-flex;align-items:center;gap:.3rem;border:none;cursor:pointer;font:inherit;line-height:1.2}.device-status--blocked-btn:hover,.device-status--blocked-btn:focus-visible{background:#f59e0b47;outline:none}.device-blocked-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;border:none;border-radius:999px;background:#f59e0b2e;color:#b45309;cursor:pointer;flex-shrink:0}.device-blocked-icon-btn:hover,.device-blocked-icon-btn:focus-visible{background:#f59e0b52;outline:none}.device-battery{display:flex;align-items:center;gap:.45rem;min-width:5.5rem}.device-battery__track{flex:1;height:.45rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.device-battery__fill{height:100%;border-radius:inherit;background:#16a34a}.device-battery--low .device-battery__fill{background:#dc2626}.device-battery__label{font-size:.8rem;font-weight:600;color:#334155;min-width:2.4rem}.device-battery--low .device-battery__label{color:#b91c1c}.device-activity-cell{display:flex;flex-direction:column;gap:.15rem;min-width:8rem}.device-activity-cell__ago{font-size:.85rem;font-weight:600;color:#0f172a}.device-activity-cell__time{font-size:.72rem;color:#64748b}.device-activity-cell--stale .device-activity-cell__ago{color:#b45309}.device-map-link{color:#1d4ed8;font-weight:600;font-size:.85rem;text-decoration:none}@media(max-width:720px){.device-list-toolbar{flex-direction:column;align-items:stretch}}.device-detail-page .device-detail-employee{margin-bottom:1rem}.device-detail-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;word-break:break-all}.device-detail-status-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.device-detail-status-row .device-status{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.device-detail-status-row .device-status--online{background:#22c55e1f;color:#15803d}.device-detail-status-row .device-status--offline{background:#94a3b833;color:#334155}.device-detail-status-row .device-status--tracking{background:#3b82f61f;color:#1d4ed8}.device-detail-status-row .device-status--inactive{background:#ef44441a;color:#b91c1c}.device-detail-status-row .device-status--blocked{background:#f59e0b26;color:#b45309}.device-day-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin-bottom:.85rem}.device-day-metric{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.device-day-metric--dead{border-color:#fdba74;background:#fb923c14}.device-day-metric__label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.device-day-metric strong{font-size:1.05rem;color:#0f172a}.device-day-metric small{color:#64748b;font-size:.78rem}.device-day-narrative{margin:0 0 .5rem;color:#334155;font-size:.9rem;line-height:1.45}.device-day-link{margin:0;font-size:.85rem}.device-day-link a{color:#1d4ed8;font-weight:600;text-decoration:none}.device-day-link a:hover{text-decoration:underline}.device-break-list,.device-place-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.55rem}.device-break-list__item,.device-place-list li{display:grid;grid-template-columns:1fr auto auto;gap:.5rem .75rem;align-items:center;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:8px}.device-break-list__item strong,.device-place-list li strong{display:block;color:#0f172a}.device-break-list__item span,.device-place-list li span{display:block;color:#64748b;font-size:.8rem}.device-place-list li em,.device-break-list__item em{font-style:normal;color:#475569;font-size:.8rem;font-weight:600}.device-detail-map{margin-top:.75rem;min-height:300px}.device-map-legend{display:flex;flex-wrap:wrap;gap:.55rem .85rem;margin:.75rem 0 0;font-size:.75rem;color:#475569}.device-map-legend__item{display:inline-flex;align-items:center;gap:.35rem}.device-map-legend__item:before{content:"";width:.55rem;height:.55rem;border-radius:999px;background:#60a5fa}.device-map-legend__item--in:before{background:#22c55e}.device-map-legend__item--break:before{background:#fbbf24}.device-map-legend__item--dead:before{background:#fb923c}.device-map-legend__item--out:before{background:#f43f5e}.device-map-legend__item--live:before{background:#2563eb}.device-detail-empty{margin:0;color:#64748b;font-size:.9rem}.device-map-link{color:#1d4ed8;font-weight:600;text-decoration:none;font-size:.8rem}.device-map-link:hover{text-decoration:underline}.device-detail-back-link{border:1px solid #dbe2ea;background:#fff;border-radius:8px;padding:.45rem .9rem;cursor:pointer;font-weight:600}@media(max-width:720px){.device-break-list__item,.device-place-list li{grid-template-columns:1fr}}.devices-home-wrapper{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0);padding-bottom:1.5rem;box-sizing:border-box}.devices-stats-section{width:100%;margin-bottom:1rem}.devices-features-section{display:flex;flex-direction:column;gap:1.25rem}.devices-load-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:.75rem .9rem;margin-top:.6rem}.devices-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:.75rem}.devices-visual-grid--single-row{grid-template-columns:repeat(3,minmax(0,1fr))}.devices-panel{border:1px solid #dbe3f0;background:#fff;border-radius:12px;padding:.75rem}.devices-panel h3{margin:0 0 .6rem;font-size:.9rem;color:#0f172a}.devices-bars{display:grid;gap:.5rem}.devices-bar-row{display:grid;grid-template-columns:1.35fr 1fr auto;gap:.5rem;align-items:center}.devices-bar-row span{font-size:.8rem;color:#334155}.devices-bar-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.devices-bar-fill{height:100%;background:linear-gradient(90deg,#5b7db8,#4f46e5)}.devices-bar-row strong{font-size:.8rem;color:#1e293b}.devices-features-title{font-size:1.3rem;font-weight:700;color:#0f172a;margin:0}.devices-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.devices-feature-card-link{text-decoration:none;color:inherit;display:block;height:100%}.devices-feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;display:flex;align-items:center;gap:.9rem;transition:all .2s ease;height:100%;min-height:124px;position:relative}.devices-feature-card:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.devices-feature-card-header{display:flex;align-items:center}.devices-feature-icon-wrapper{width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.devices-feature-icon{font-size:1rem}.devices-feature-card-content{flex:1;min-width:0}.devices-feature-card-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#0f172a}.devices-feature-card-description{margin:0;color:#475569;font-size:.85rem;line-height:1.3}.devices-feature-arrow{color:#94a3b8;font-size:.85rem}@media(max-width:1100px){.devices-visual-grid--single-row{grid-template-columns:1fr}}.notifications-toolbar{display:flex;flex-direction:column;gap:.85rem;width:100%}.notifications-toolbar__filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1rem;align-items:end}.notifications-toolbar__switch{display:flex;align-items:center;min-height:2.75rem;padding-bottom:.15rem}.notifications-details-badges{display:inline-flex;flex-wrap:wrap;gap:.4rem}.notifications-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:0}.notifications-details-grid dt{margin:0 0 .2rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ui-text-muted, #64748b)}.notifications-details-grid dd{margin:0;color:var(--ui-text, #0f172a);word-break:break-word}.notifications-details-grid__full{grid-column:1 / -1}.notifications-details-error{color:var(--ui-danger-text, #b91c1c);font-weight:600}.notifications-details-pre{margin:0;max-height:180px;overflow:auto;padding:.65rem .75rem;border-radius:.5rem;border:1px solid var(--ui-border, #e2e8f0);background:var(--ui-surface-muted, #f8fafc);font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.notifications-toolbar__filters,.notifications-details-grid{grid-template-columns:1fr}}.portfolio-my-tickets-card-link{display:block;text-decoration:none;color:inherit;margin-top:.75rem;margin-bottom:.75rem}.portfolio-my-tickets-card{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border:1px solid #c7d2fe;background:linear-gradient(135deg,#eef2ff,#fff 55%);border-radius:14px;padding:1rem 1.1rem;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.portfolio-my-tickets-card:hover{border-color:#a5b4fc;box-shadow:0 10px 24px #4f46e51f;transform:translateY(-1px)}.portfolio-my-tickets-card-header{display:flex;align-items:flex-start;gap:.75rem;min-width:220px;flex:1}.portfolio-my-tickets-card-icon{font-size:1.35rem;color:#4338ca;margin-top:.15rem}.portfolio-my-tickets-card-header h3{margin:0 0 .2rem;font-size:1rem;font-weight:700;color:#0f172a}.portfolio-my-tickets-card-header p{margin:0;font-size:.82rem;color:#475569}.portfolio-my-tickets-metrics{display:flex;flex-wrap:wrap;gap:.65rem;flex:2}.portfolio-my-tickets-metric{min-width:120px;flex:1;border:1px solid #dbe3f0;background:#fff;border-radius:12px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.15rem}.portfolio-my-tickets-metric span{font-size:.78rem;color:#64748b}.portfolio-my-tickets-metric strong{font-size:1.5rem;line-height:1.1;color:#0f172a}.portfolio-my-tickets-metric--done strong{color:#15803d}.portfolio-my-tickets-card-arrow{color:#6366f1;font-size:.95rem;margin-left:auto}@media(max-width:768px){.portfolio-my-tickets-card{flex-direction:column;align-items:stretch}.portfolio-my-tickets-card-arrow{align-self:flex-end}}.portfolio-catalog-chip{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap;text-transform:capitalize;line-height:1.35}.portfolio-catalog-not-defined{color:var(--ui-danger-text);font-weight:600}.portfolio-form-catalog-chip-preview{margin-bottom:.5rem}.portfolio-list-page-alerts{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;margin-bottom:1rem;padding:0}.portfolio-list-page-alerts__secondary{margin-top:.75rem}.portfolio-project-name-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.portfolio-project-name-cell__thumb{width:2.75rem;height:2.75rem;border-radius:.5rem;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0;background:#f8fafc}.portfolio-project-name-cell__thumb--placeholder{opacity:.95;object-position:center}.portfolio-project-name-cell__text{min-width:0;font-weight:600;line-height:1.3}.portfolio-project-group{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-width:0}.portfolio-project-group__leading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0}.portfolio-project-group__label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portfolio-project-group__link{color:inherit;text-decoration:none;min-width:0}.portfolio-project-group__link:hover{text-decoration:underline}.portfolio-project-group__count{flex-shrink:0;font-size:.8rem;font-weight:600;color:#475569;white-space:nowrap}.portfolio-client-group{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.35rem 0}.portfolio-client-group__leading{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;min-width:0}.portfolio-client-group__label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.portfolio-client-group__identity{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.portfolio-client-group__avatar{width:2rem;height:2rem;border-radius:999px;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0;background:#f8fafc}.portfolio-client-group__name{font-weight:600;color:#0f172a}.portfolio-client-group__link{font-size:.85rem;color:#4338ca;text-decoration:none}.portfolio-client-group__link:hover{text-decoration:underline}.portfolio-client-group__count{font-size:.85rem;color:#64748b;white-space:nowrap}.task-status-badge{display:inline-block;white-space:nowrap;max-width:none}.data-table th.task-status-cell,.data-table td.task-status-cell{white-space:nowrap}.project-file-preview-overlay{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;padding:1rem;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.project-file-preview-modal{width:min(1100px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;border-radius:14px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 28px 60px #0f172a47;overflow:hidden}.project-file-preview-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid #f1f5f9}.project-file-preview-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a;line-height:1.3}.project-file-preview-modal__subtitle{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.project-file-preview-modal__header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.project-file-preview-modal__link-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-size:.8rem;font-weight:600;text-decoration:none}.project-file-preview-modal__link-btn:hover{background:#f8fafc;border-color:#cbd5e1}.project-file-preview-modal__close{border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.project-file-preview-modal__close:hover{background:#f8fafc;color:#0f172a}.project-file-preview-modal__body{flex:1;min-height:0;background:#0f172a;display:grid;place-items:center}.project-file-preview-modal__image{max-width:100%;max-height:min(78vh,780px);object-fit:contain;display:block}.project-file-preview-modal__frame{width:100%;height:min(78vh,780px);border:0;background:#fff}.project-file-preview-modal__fallback{width:min(480px,100%);margin:2rem 1rem;padding:1.5rem;border-radius:12px;background:#fff;color:#334155;text-align:center}.project-file-preview-modal__fallback p{margin:0 0 1rem;line-height:1.45}.project-file-preview-modal__fallback-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}@media(max-width:720px){.project-file-preview-modal__link-btn span{display:none}.project-file-preview-modal__frame,.project-file-preview-modal__image{max-height:min(70vh,640px);height:min(70vh,640px)}}.portfolio-ticket-source{font-size:.85rem;color:var(--color-text-secondary, #475569)}.portfolio-ticket-source--link{color:#2563eb;font-weight:500;text-decoration:none}.portfolio-ticket-source--link:hover{text-decoration:underline}.portfolio-contact-link{color:#2563eb;font-weight:500;text-decoration:none}.portfolio-contact-link:hover{text-decoration:underline}.portfolio-client-address-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0;max-width:22rem}.portfolio-client-address-cell__text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b;font-size:.875rem;line-height:1.35}.portfolio-client-address-cell__map{color:#2563eb;font-size:.78rem;font-weight:600;text-decoration:none;width:fit-content}.portfolio-client-address-cell__map:hover{text-decoration:underline}.portfolio-comment-content-cell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.portfolio-project-create-schedule-option{margin:0;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.portfolio-project-create-schedule-option__hint{margin:.5rem 0 0;padding-left:2.75rem;font-size:.875rem;color:#64748b;line-height:1.45}.portfolio-project-address-field__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:.55rem}.portfolio-project-address-field__hint{margin:0;flex:1 1 12rem;font-size:.8125rem;color:#64748b;line-height:1.4}.portfolio-project-address-field__preview{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:8px;background:#f1f5f9;color:#334155;font-size:.875rem;line-height:1.4}.portfolio-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid transparent;white-space:nowrap}.portfolio-status-badge--propuesta{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.portfolio-status-badge--discovery,.portfolio-status-badge--alcance_definitivo{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.portfolio-status-badge--contrato{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.portfolio-status-badge--desarrollo,.portfolio-status-badge--qa{background:#ecfeff;color:#0e7490;border-color:#a5f3fc}.portfolio-status-badge--deploy{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-status-badge--soporte{background:#f0fdf4;color:#15803d;border-color:#86efac}.portfolio-maps-link{color:#2563eb;text-decoration:none;font-weight:500}.portfolio-maps-link:hover{text-decoration:underline}.portfolio-visibility-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.portfolio-visibility-badge--internal{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.portfolio-visibility-badge--client{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-file-actions{display:inline-flex;gap:.45rem;align-items:center;justify-content:center}.portfolio-file-icon-link{width:1.85rem;height:1.85rem;border-radius:9px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.82rem;transition:background .15s ease,border-color .15s ease,transform .15s ease}.portfolio-file-icon-link:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)}.portfolio-file-icon-link--download{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.portfolio-file-icon-link--download:hover{background:#d1fae5;border-color:#6ee7b7}.portfolio-file-name-cell{display:flex;align-items:flex-start;gap:.7rem;min-width:0;max-width:min(360px,42vw)}.portfolio-file-name-cell__icon{width:2.35rem;height:2.35rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;border:1px solid transparent}.portfolio-file-name-cell__icon--pdf{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.portfolio-file-name-cell__icon--image{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.portfolio-file-name-cell__icon--spreadsheet{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-file-name-cell__icon--document{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.portfolio-file-name-cell__icon--archive{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.portfolio-file-name-cell__icon--other{background:#f8fafc;color:#475569;border-color:#e2e8f0}.portfolio-file-name-cell__icon--clickable{cursor:pointer;border:0;font:inherit}.portfolio-file-name-cell__icon--clickable:hover{filter:brightness(.96)}.portfolio-file-name-cell__title--link{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;text-align:left;font:inherit;font-weight:600;color:inherit;cursor:pointer}.portfolio-file-name-cell__title--link:hover{text-decoration:underline;color:var(--ui-link, #1d4ed8)}button.portfolio-file-name-cell__thumb{cursor:pointer;border:0;padding:0;font:inherit;background:transparent}button.portfolio-file-icon-link{cursor:pointer;appearance:none;background:transparent}.portfolio-file-name-cell__thumb{width:2.75rem;height:2.75rem;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid #e2e8f0;background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:0 1px 2px #0f172a0f}.portfolio-file-name-cell__thumb img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-file-name-cell__thumb:hover{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f633}.portfolio-file-name-cell__thumb .portfolio-file-name-cell__icon{width:100%;height:100%;border-radius:0;border:0}.portfolio-file-name-cell__body{display:grid;gap:.18rem;min-width:0}.portfolio-file-name-cell__title{margin:0;color:#0f172a;font-weight:650;font-size:.92rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-file-name-cell__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;color:#64748b;font-size:.78rem;line-height:1.3}.portfolio-file-name-cell__ext{display:inline-flex;align-items:center;padding:.05rem .4rem;border-radius:6px;background:#f1f5f9;color:#334155;font-weight:700;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.portfolio-file-name-cell__desc{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.portfolio-file-name-cell__ticket{color:#1d4ed8;font-weight:600}.portfolio-file-uploaded-at{display:grid;gap:.1rem;min-width:0}.portfolio-file-uploaded-at__primary{color:#0f172a;font-weight:600;font-size:.86rem;white-space:nowrap}.portfolio-file-uploaded-at__secondary{color:#94a3b8;font-size:.75rem;white-space:nowrap}.portfolio-empty-optional{color:#94a3b8;font-weight:500;font-size:.85rem}.portfolio-doc-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.portfolio-catalog-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap;text-transform:capitalize}.portfolio-not-defined{color:#dc2626;font-weight:600}.portfolio-inline-status{min-width:10rem}.portfolio-inline-status-select{width:100%;max-width:12.5rem;font-size:.75rem;font-weight:600;text-transform:capitalize;border-radius:.375rem;padding:.25rem .4rem;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer}.portfolio-inline-status-select:disabled{opacity:.65;cursor:wait}.portfolio-inline-status-select--pending_review,.portfolio-inline-status-select--under_review,.portfolio-inline-status-select--quoting{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.portfolio-inline-status-select--quoted,.portfolio-inline-status-select--in_progress,.portfolio-inline-status-select--on_hold{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.portfolio-inline-status-select--approved,.portfolio-inline-status-select--completed{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-inline-status-select--rejected,.portfolio-inline-status-select--cancelled,.portfolio-inline-status-select--archived{background:#f8fafc;color:#475569;border-color:#cbd5e1}.portfolio-contact-role-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.portfolio-contact-role-badge--primary{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.portfolio-contact-role-badge--billing{background:#fef3c7;color:#b45309;border-color:#fde68a}.portfolio-contact-role-badge--technical{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-contact-role-badge--other{background:#f8fafc;color:#475569;border-color:#cbd5e1}.portfolio-primary-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.portfolio-primary-badge--yes{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.portfolio-primary-badge--no{background:#f8fafc;color:#64748b;border-color:#e2e8f0}.portfolio-project-time-indefinite{color:#64748b;font-style:italic}.portfolio-end-date-infinite{font-size:1.25rem;font-weight:700;color:#64748b;line-height:1;font-family:Segoe UI Symbol,Noto Sans Symbols2,sans-serif}.portfolio-client-identity-cell{display:flex;align-items:center;gap:.7rem;min-width:0;max-width:22rem}.portfolio-client-identity-cell__body{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.portfolio-client-identity-cell__name{display:block;font-weight:600;color:#0f172a;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.portfolio-client-list-avatar{width:2.25rem;height:2.25rem;border-radius:999px;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.portfolio-client-type-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent}.portfolio-client-type-badge--company{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.portfolio-client-type-badge--person{background:#ecfeff;color:#0e7490;border-color:#a5f3fc}.portfolio-cover-field{position:relative;margin-bottom:.35rem}.portfolio-cover-field--compact .portfolio-cover-field__layout{flex-direction:column;gap:.55rem;flex-wrap:nowrap}.portfolio-cover-field--compact .portfolio-cover-field__preview{width:100%;max-width:168px;height:168px}.portfolio-cover-field--compact .portfolio-cover-field__meta{min-width:0;width:100%;max-width:168px;padding-top:0}.portfolio-cover-field--compact .portfolio-cover-field__hint{max-width:none;font-size:.74rem}.portfolio-cover-field__label{display:block;font-weight:600;margin-bottom:.55rem;color:#1e293b;font-size:.92rem}.portfolio-cover-field__layout{display:flex;gap:1.35rem;align-items:flex-start;flex-wrap:wrap}.portfolio-cover-field__preview{position:relative;width:168px;height:168px;border-radius:14px;border:2px dashed #cbd5e1;background:linear-gradient(155deg,#f8fafc,#eef2ff 45%,#f1f5f9);cursor:pointer;padding:0;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;flex-shrink:0}.portfolio-cover-field__preview:hover{border-color:#3b82f6;box-shadow:0 10px 28px #2563eb24}.portfolio-cover-field__preview:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.portfolio-cover-field__preview--has-image{border-style:solid;border-color:#e2e8f0}.portfolio-cover-field__preview-img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-cover-field__placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:#64748b;padding:.5rem;text-align:center}.portfolio-cover-field__placeholder-icon{font-size:2.1rem;opacity:.55}.portfolio-cover-field__placeholder-text{font-size:.78rem;font-weight:600;line-height:1.25;max-width:9rem}.portfolio-cover-field__preview-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:#0f172a85;color:#fff;font-size:.74rem;font-weight:600;opacity:0;transition:opacity .2s ease;pointer-events:none}.portfolio-cover-field__preview-overlay svg{font-size:1.1rem}.portfolio-cover-field__preview:hover .portfolio-cover-field__preview-overlay{opacity:1}.portfolio-cover-field__meta{flex:1;min-width:200px;padding-top:.15rem}.portfolio-cover-field__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .45rem;font-size:.86rem}.portfolio-cover-field__dot{width:3px;height:3px;border-radius:999px;background:#cbd5e1;margin:0 .1rem}.portfolio-cover-field__link{border:none;background:none;padding:0;cursor:pointer;color:#2563eb;font-weight:600;text-decoration:underline;text-underline-offset:2px;font-size:inherit}.portfolio-cover-field__link:hover{color:#1d4ed8}.portfolio-cover-field__link--danger{color:#b91c1c}.portfolio-cover-field__link--danger:hover{color:#991b1b}.portfolio-cover-field__hint{margin:0;font-size:.8rem;color:#64748b;line-height:1.45;max-width:28rem}.portfolio-cover-field__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.project-files-upload__dropzone{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;border:2px dashed #cbd5e1;border-radius:.5rem;background:#f8fafc;text-align:center}.project-files-upload__dropzone--active{border-color:#3b82f6;background:#eff6ff}.project-files-upload__dropzone--disabled{opacity:.6;pointer-events:none}.project-files-upload__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.project-files-upload__hint{margin:0;font-size:.875rem;color:#64748b}.project-files-upload__browse{padding:.35rem .85rem;border:1px solid #cbd5e1;border-radius:.375rem;background:#fff;color:#334155;font-size:.875rem;font-weight:600;cursor:pointer}.project-files-upload__browse:hover:not(:disabled){border-color:#94a3b8;background:#f1f5f9}.project-files-upload__list{margin:.75rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.project-files-upload__item{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#fff}.project-files-upload__name{flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-files-upload__size{flex-shrink:0;font-size:.75rem;color:#64748b}.project-files-upload__remove{flex-shrink:0;padding:.2rem .5rem;border:none;background:transparent;color:#b91c1c;font-size:.75rem;font-weight:600;cursor:pointer}.project-files-upload__remove:hover:not(:disabled){text-decoration:underline}.payment-installments-editor{display:flex;flex-direction:column;gap:.75rem;width:100%}.payment-installments-editor__list{display:flex;flex-direction:column;gap:.5rem}.payment-installments-editor__empty{margin:0;color:var(--text-muted, #6b7280);font-size:.9rem}.payment-installments-editor__row{display:grid;grid-template-columns:minmax(10rem,1.6fr) 7.5rem 5.5rem 7rem 8.5rem 5.5rem auto;gap:.4rem;align-items:center}.payment-installments-editor__input,.payment-installments-editor__select{width:100%;min-height:2.25rem;border:1px solid var(--border-color, #d1d5db);border-radius:.375rem;padding:.35rem .5rem;background:var(--surface, #fff)}.payment-installments-editor__input--num{text-align:right}.payment-installments-editor__status{font-size:.75rem;text-transform:uppercase;color:var(--text-muted, #6b7280)}@media(max-width:900px){.payment-installments-editor__row{grid-template-columns:1fr 1fr}}.fleet-locations-map{width:100%;margin:0 0 1rem}.fleet-locations-map__canvas{width:100%;border-radius:12px;border:1px solid #dbe4ee;overflow:hidden;background:#f1f5f9;z-index:0}.fleet-locations-map--pick .fleet-locations-map__canvas{border-color:#93c5fd;box-shadow:0 0 0 1px #2563eb1f}.fleet-locations-map__hint{margin:0 0 .5rem;color:#475569;font-size:.88rem;line-height:1.4}.fleet-locations-map__hint--error{color:#b91c1c}.fleet-locations-map__empty{margin:0 0 1rem;padding:.9rem 1rem;border-radius:12px;border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b;font-size:.9rem;line-height:1.45}.fleet-locations-map__popup{min-width:140px;font-size:.85rem;line-height:1.35;color:#0f172a}.fleet-locations-map__popup-type{margin-top:.2rem;color:#64748b;text-transform:capitalize}.fleet-locations-map__popup-address{margin-top:.35rem;color:#334155}.fleet-locations-list-map{margin:0 0 1rem;padding:.85rem .95rem .75rem;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#f1f5f9)}.fleet-locations-list-map__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.65rem}.fleet-locations-list-map__title{margin:0;font-size:.95rem;font-weight:700;color:#0f172a}.fleet-locations-list-map__meta{margin:0;font-size:.82rem;color:#64748b}.fleet-locations-list-map .fleet-locations-map{margin-bottom:0}.fleet-location-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.fleet-location-cell__primary{color:#0f172a;font-weight:600;line-height:1.3}.fleet-location-cell__secondary{color:#64748b;font-size:.82rem;line-height:1.3}.fleet-location-map-action{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap}.fleet-location-map-action:hover{background:#dbeafe;color:#1e40af}.fleet-location-map-action--disabled{border-color:#e2e8f0;background:#f8fafc;color:#94a3b8;cursor:default;pointer-events:none}.fleet-location-form-map{margin:0 0 1rem}.fleet-location-form-map__meta{display:grid;gap:.3rem;margin-bottom:.65rem;color:#475569;font-size:.9rem}.fleet-location-form-map__meta a{color:#1d4ed8;font-weight:600;text-decoration:underline}.fleet-location-form-map__undefined{color:#dc2626;font-weight:600}.portfolio-project-daily-summary-card h2,.portfolio-project-schedule-card h2{margin-bottom:.35rem}.portfolio-project-schedule-hint{margin:0 0 1rem;font-size:.9rem;color:#64748b;line-height:1.45}.portfolio-project-schedule-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.portfolio-project-daily-summary-hint{margin:0 0 1rem;font-size:.9rem;color:#64748b;line-height:1.45}.portfolio-project-lifecycle-card h2{margin-bottom:.35rem}.portfolio-project-lifecycle-hint{margin:0 0 .85rem;font-size:.875rem;color:#64748b;line-height:1.45}.portfolio-project-lifecycle-steps{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0 0 1rem;padding:0}.portfolio-project-lifecycle-step{padding:.3rem .65rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:.78rem;font-weight:600}.portfolio-project-lifecycle-step--done{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.portfolio-project-lifecycle-step--current{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 0 0 2px #3b82f626}.portfolio-project-lifecycle-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.portfolio-project-execution-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.portfolio-project-execution-badge--active{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}.portfolio-project-execution-badge--paused{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.portfolio-project-execution-badge--cancelled{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.portfolio-project-lifecycle-final{font-size:.875rem;color:#047857;font-weight:600}.portfolio-project-map-link{color:#2563eb;text-decoration:none;font-weight:600}.portfolio-project-map-link:hover{text-decoration:underline}.portfolio-project-location-map{margin-top:1.25rem}.portfolio-project-location-map__title{margin:0 0 .65rem;font-size:.95rem;font-weight:650;color:#0f172a}.portfolio-project-location-map .fleet-locations-map{margin-bottom:0}.portfolio-project-not-defined{color:#dc2626;font-weight:600}.portfolio-end-date-infinite{font-size:1.35rem;font-weight:700;color:#64748b;line-height:1;font-family:Segoe UI Symbol,Noto Sans Symbols2,sans-serif}.portfolio-project-client-layout{display:flex;gap:1rem;align-items:flex-start}.portfolio-project-client-avatar{width:4.5rem;height:4.5rem;border-radius:1rem;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.portfolio-project-client-body{min-width:0;flex:1}.portfolio-project-client-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.35rem}.portfolio-project-client-title-row h3{margin:0;font-size:1.1rem}.portfolio-project-client-type{display:inline-flex;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#eef2ff;color:#3730a3}.portfolio-project-client-address{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-top:.15rem}.portfolio-project-client-address .portfolio-project-muted{margin:0}.portfolio-project-client-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.portfolio-project-client-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}@media(max-width:640px){.portfolio-project-client-layout{flex-direction:column}}.project-generate-schedule-hint{margin:0 0 1rem;font-size:.92rem;color:#64748b;line-height:1.45;max-width:52rem}.project-generate-schedule-error{margin:0 0 1rem;color:#b91c1c;font-size:.9rem}.project-generate-schedule-callout{margin:0 0 .85rem;padding:.65rem .85rem;border-radius:.65rem;border:1px dashed #cbd5e1;background:#f8fafc;color:#475569;font-size:.86rem;line-height:1.4}.project-generate-schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding:.55rem .75rem;border-radius:.65rem;background:#f1f5f9}.project-generate-schedule-toolbar__left{min-width:0}.project-generate-schedule-select-all.checkbox-field,.project-generate-schedule-item__select .checkbox-field{margin-bottom:0}.project-generate-schedule-select-all .checkbox-wrapper,.project-generate-schedule-item__select .checkbox-wrapper{padding:.35rem .55rem;border-radius:.65rem}.project-generate-schedule-count{font-size:.82rem;font-weight:650;color:#64748b;padding:.25rem .65rem;border-radius:999px;background:#fff;border:1px solid #e2e8f0}.project-generate-schedule-count--ready{color:#166534;background:#ecfdf5;border-color:#bbf7d0}.project-generate-schedule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.project-generate-schedule-item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem .85rem;padding:.7rem .85rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.project-generate-schedule-item--selected{border-color:#93c5fd;background:#f8fbff;box-shadow:0 0 0 1px #3b82f61f}.project-generate-schedule-item__select{display:inline-flex;align-items:center;margin:0}.project-generate-schedule-item__select .switch-track{margin-top:0}.project-generate-schedule-thumb{width:3.5rem;height:3.5rem;border-radius:.6rem;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc;padding:0;cursor:pointer;flex-shrink:0}.project-generate-schedule-thumb:hover{border-color:#93c5fd}.project-generate-schedule-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-generate-schedule-kind{width:3.5rem;height:3.5rem;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-size:1.25rem;cursor:pointer;flex-shrink:0;padding:0}.project-generate-schedule-kind:disabled{cursor:default;opacity:.7}.project-generate-schedule-kind--pdf{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.project-generate-schedule-kind--image{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.project-generate-schedule-kind--document{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.project-generate-schedule-kind--spreadsheet,.project-generate-schedule-kind--archive,.project-generate-schedule-kind--other{background:#f8fafc;color:#475569;border-color:#e2e8f0}.project-generate-schedule-item__text{min-width:0;display:grid;gap:.3rem;margin:0;padding:.15rem 0;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:.45rem}.project-generate-schedule-item__text:hover:not(:disabled) .project-generate-schedule-item__name{color:#1d4ed8}.project-generate-schedule-item__text:disabled{cursor:default}.project-generate-schedule-item__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0}.project-generate-schedule-item__name{margin:0;font-size:.95rem;font-weight:650;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.project-generate-schedule-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.project-generate-schedule-item__ext{display:inline-flex;padding:.1rem .45rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-generate-schedule-item__type{display:inline-flex;padding:.1rem .5rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:.72rem;font-weight:650}.project-generate-schedule-phases{margin:0 0 1rem 1.1rem;padding:0;color:#334155;line-height:1.45}.project-generate-schedule-preview-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.project-generate-schedule-draft-docs{margin:0 0 .85rem;font-size:.82rem;color:#64748b}.project-generate-schedule-draft-dates{margin:0 0 .85rem;font-size:.86rem;font-weight:600;color:#334155}.project-generate-schedule-draft-empty{margin:.35rem 0;color:#94a3b8;font-size:.85rem}.project-generate-schedule-draft-phases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.project-generate-schedule-draft-phase{border:1px solid #e2e8f0;border-radius:.85rem;background:#f8fafc;padding:.55rem .75rem;transition:border-color .15s ease,background .15s ease}.project-generate-schedule-draft-phase.is-open{border-color:#bfdbfe;background:#f8fbff}.project-generate-schedule-draft-phase__head,.project-generate-schedule-draft-task__head,.project-generate-schedule-draft-objective{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.project-generate-schedule-draft-toggle{display:flex;align-items:flex-start;gap:.55rem;flex:1;min-width:0;margin:0;padding:.2rem .15rem;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:.45rem}.project-generate-schedule-draft-toggle:hover{background:#94a3b81f}.project-generate-schedule-draft-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.project-generate-schedule-draft-chevron{flex-shrink:0;width:.85rem;height:.85rem;margin-top:.28rem;color:#64748b;transform:rotate(-90deg);transition:transform .15s ease}.project-generate-schedule-draft-chevron.is-open{transform:rotate(0)}.project-generate-schedule-draft-chevron--sm{width:.75rem;height:.75rem;margin-top:.2rem}.project-generate-schedule-draft-phase__titles{display:grid;gap:.3rem;min-width:0}.project-generate-schedule-draft-phase__title{margin:0;font-size:1rem;font-weight:700;color:#0f172a}.project-generate-schedule-draft-phase__body{margin-top:.55rem;padding-top:.55rem;border-top:1px solid #e2e8f0}.project-generate-schedule-draft-meta{display:flex;flex-wrap:wrap;gap:.35rem}.project-generate-schedule-draft-meta>span{display:inline-flex;padding:.1rem .45rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:650}.project-generate-schedule-draft-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.project-generate-schedule-draft-sprint-group{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.project-generate-schedule-draft-sprint-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.15rem 0 .1rem;padding:.35rem .55rem;border-radius:.55rem;background:#eef2ff;color:#312e81;font-size:.8rem;font-weight:750;letter-spacing:.01em}.project-generate-schedule-draft-sprint-label span{font-weight:650;color:#6366f1;font-size:.72rem}.project-generate-schedule-draft-sprint-tasks{list-style:none;margin:0;padding:0 0 0 .35rem;display:flex;flex-direction:column;gap:.45rem;border-left:2px solid #c7d2fe}.project-generate-schedule-draft-task{border:1px solid #e2e8f0;border-radius:.7rem;background:#fff;padding:.45rem .6rem}.project-generate-schedule-draft-task.is-open{border-color:#cbd5e1;box-shadow:0 0 0 1px #94a3b81f}.project-generate-schedule-draft-task__body{display:grid;gap:.3rem;min-width:0}.project-generate-schedule-draft-task__body strong{display:block;color:#0f172a;font-size:.92rem}.project-generate-schedule-draft-task__panel{margin-top:.45rem;padding:.55rem .15rem .2rem 1.5rem;border-top:1px solid #f1f5f9}.project-generate-schedule-draft-desc,.project-generate-schedule-draft-billing-line{margin:0 0 .4rem;color:#64748b;font-size:.82rem;line-height:1.4}.project-generate-schedule-draft-billing-line{color:#166534;font-weight:650}.project-generate-schedule-draft-objectives{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.project-generate-schedule-draft-objective-item{border:1px solid #f1f5f9;border-radius:.55rem;background:#f8fafc;padding:.25rem .4rem}.project-generate-schedule-draft-objective-item.is-open{border-color:#e2e8f0;background:#fff}.project-generate-schedule-draft-objective .project-generate-schedule-draft-toggle span{display:block;font-size:.85rem;color:#334155;font-weight:600}.project-generate-schedule-draft-objective__body{padding:0 .35rem .35rem 1.35rem}.project-generate-schedule-draft-objective__body small{display:block;color:#64748b;font-size:.78rem;line-height:1.35}@media(max-width:720px){.project-generate-schedule-item{grid-template-columns:auto auto minmax(0,1fr)}.project-generate-schedule-item>.btn{grid-column:1 / -1;width:100%}}.pds-date-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pds-date-input{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;box-shadow:0 1px 2px #0f172a0f}.pds-date-input svg{color:var(--color-primary, #456298);flex-shrink:0}.pds-date-input input{border:none;background:transparent;font-size:.9rem;color:#0f172a;font-weight:500}.pds-date-input input:focus{outline:none}.pds-date-quick{display:flex;gap:.35rem}.pds-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:10px;margin-bottom:.25rem}.pds-banner--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.pds-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.pds-kpi{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 3px #0f172a0f}.pds-kpi-icon{font-size:1.15rem}.pds-kpi-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#64748b}.pds-kpi-value{font-size:1.5rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;color:#0f172a}.pds-kpi--team{border-top:3px solid #3b82f6;background:linear-gradient(160deg,#eff6ff,#fff 55%)}.pds-kpi--team .pds-kpi-icon{color:#2563eb}.pds-kpi--hours{border-top:3px solid #8b5cf6;background:linear-gradient(160deg,#f5f3ff,#fff 55%)}.pds-kpi--hours .pds-kpi-icon{color:#7c3aed}.pds-kpi--tasks{border-top:3px solid #f59e0b;background:linear-gradient(160deg,#fffbeb,#fff 55%)}.pds-kpi--tasks .pds-kpi-icon{color:#d97706}.pds-kpi--expenses{border-top:3px solid #10b981;background:linear-gradient(160deg,#ecfdf5,#fff 55%)}.pds-kpi--expenses .pds-kpi-icon{color:#059669}.pds-kpi-sub{display:block;margin-top:.25rem;font-size:.75rem;color:#64748b;font-weight:500}.pds-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pds-section-card.detail-card{box-shadow:0 1px 3px #0f172a0d}.pds-section-title{display:inline-flex;align-items:center;gap:.5rem}.pds-section-icon{font-size:1rem}.pds-section-card--team{border-left:4px solid #3b82f6}.pds-section-card--team .pds-section-icon{color:#2563eb}.pds-section-card--labor{border-left:4px solid #8b5cf6}.pds-section-card--labor .pds-section-icon{color:#7c3aed}.pds-section-card--labor-costs{border-left:4px solid #0f766e}.pds-section-card--labor-costs .pds-section-icon{color:#0f766e}.pds-section-card--tasks{border-left:4px solid #f59e0b}.pds-section-card--tasks .pds-section-icon{color:#d97706}.pds-section-card--expenses{border-left:4px solid #10b981}.pds-section-card--expenses .pds-section-icon{color:#059669}.pds-metrics-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.pds-metric-chip{display:inline-flex;flex-direction:column;gap:.12rem;padding:.4rem .7rem;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:.8rem}.pds-metric-chip-label{color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.pds-metric-chip strong{color:#0f172a;font-variant-numeric:tabular-nums}.pds-empty-main{margin:0 0 .35rem;font-size:1rem;color:#334155}.pds-team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.pds-team-item{display:flex;gap:.75rem;align-items:flex-start;padding:.55rem .65rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.pds-team-avatar{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center}.pds-team-body{flex:1;min-width:0}.pds-team-body strong{display:block;margin-bottom:.35rem;color:#0f172a}.pds-team-bars{display:flex;flex-direction:column;gap:.22rem;margin-bottom:.28rem}.pds-bar{display:block;height:5px;border-radius:4px;min-width:4px;max-width:100%}.pds-bar--worklog{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.pds-bar--ticket{background:linear-gradient(90deg,#fcd34d,#f59e0b)}.pds-team-body small{color:#64748b;font-size:.78rem}.pds-timeline{list-style:none;margin:0;padding:0 0 0 .35rem;border-left:2px solid #e2e8f0}.pds-timeline-item{position:relative;padding:0 0 .9rem 1rem}.pds-timeline-item:last-child{padding-bottom:0}.pds-timeline-marker{position:absolute;left:-.45rem;top:.35rem;width:.55rem;height:.55rem;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 3px #ede9fe}.pds-timeline-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem;align-items:baseline}.pds-timeline-head strong{color:#0f172a}.pds-time-badge{font-size:.78rem;font-weight:600;color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;padding:.18rem .5rem;border-radius:6px}.pds-timeline-meta{font-size:.88rem;color:#475569}.pds-timeline-cost{display:block;margin-top:.25rem;font-size:.82rem;color:#0f766e;font-variant-numeric:tabular-nums}.pds-timeline-note{margin:.35rem 0 0;font-size:.82rem;color:#64748b;line-height:1.45}.pds-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.pds-task-item{padding:.7rem .8rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.pds-task-head{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;margin-bottom:.45rem}.pds-task-head strong{font-size:.92rem;color:#0f172a}.pds-task-status{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b45309;background:#fffbeb;border:1px solid #fde68a;padding:.18rem .45rem;border-radius:999px;white-space:nowrap}.pds-progress-track{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden}.pds-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .25s ease}.pds-task-meta{margin:.4rem 0 0;font-size:.8rem;color:#64748b}.pds-session-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.8rem;color:#475569}.pds-session-list li{margin-bottom:.2rem}.pds-expense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pds-expense-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem .65rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.pds-expense-item strong{color:#0f172a}.pds-expense-who{display:block;font-size:.8rem;color:#64748b;margin-top:.15rem}.pds-expense-right{text-align:right;flex-shrink:0}.pds-expense-amount{display:block;font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a}.pds-source-badge{display:inline-block;margin-top:.25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:999px}.pds-source-badge--hr{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.pds-source-badge--portfolio{background:#d1fae5;color:#047857;border:1px solid #a7f3d0}.pds-source-badge--hr-work-log{background:#ccfbf1;color:#0f766e;border:1px solid #99f6e4}.pds-source-badge--task-ticket-labor{background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe}.pds-note-card .detail-card-body{padding-top:0}.pds-note-toggle{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--color-primary, #456298);cursor:pointer;text-align:left}.pds-note-toggle:hover{color:var(--color-primary-hover, #3a5482);text-decoration:underline}.pds-note-pre{margin:.75rem 0 0;padding:1rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.55;color:#334155;max-height:320px;overflow:auto}@media(max-width:900px){.pds-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pds-sections-grid{grid-template-columns:1fr}}@media(max-width:520px){.pds-kpi-grid{grid-template-columns:1fr}.pds-date-toolbar{width:100%}.pds-page .detail-header .header-actions{width:100%;justify-content:flex-start}}.pdsh-report-count{display:inline-flex;min-width:2rem;justify-content:center;padding:.15rem .55rem;border-radius:999px;font-variant-numeric:tabular-nums;font-weight:600;font-size:.875rem;background:var(--color-primary-soft, #e6edf8);color:var(--color-primary-strong, #2d4160)}.pdsh-recent-dates{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.pdsh-recent-dates button.active,.pdsh-project-cell{font-weight:600}.pdsh-kpi-cell{font-variant-numeric:tabular-nums;color:var(--color-text-muted, #64748b)}.pdsh-empty-day{padding:2rem 1rem;text-align:center;color:var(--color-text-muted, #64748b)}.pdsh-empty-day p{margin:.35rem 0 0}.pdwl-page .pdwl-date{font-weight:500;text-transform:capitalize}.pdwl-page .pdwl-kpi{font-variant-numeric:tabular-nums;color:var(--color-text-muted, #64748b)}.portfolio-comment-detail-ticket-banner{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;margin-bottom:.25rem;border-radius:.5rem;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.portfolio-comment-detail-ticket-banner p{margin:.25rem 0 0}.portfolio-comment-detail-muted{color:#78716c;font-size:.88rem}.portfolio-comment-detail-link{display:inline-flex;align-items:center;color:#2563eb;font-weight:500;text-decoration:none}.portfolio-comment-detail-link:hover{text-decoration:underline}.portfolio-comment-detail-content__body{padding:1rem 1.1rem;border-radius:.5rem;background:#f8fafc;border:1px solid #e2e8f0;white-space:pre-wrap;word-break:break-word;line-height:1.55}.portfolio-client-detail-identity{display:flex;gap:1.25rem;align-items:flex-start}.portfolio-client-detail-avatar{width:5.5rem;height:5.5rem;border-radius:1rem;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.portfolio-client-detail-identity-body{min-width:0;flex:1}.portfolio-client-detail-address{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.portfolio-client-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.portfolio-client-kpi{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;min-width:0}.portfolio-client-kpi__label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.portfolio-client-kpi__value{font-size:1.25rem;font-weight:700;color:#0f172a;line-height:1.2;word-break:break-word}.portfolio-client-kpi__value--gain{color:#047857}.portfolio-client-kpi__value--cost{color:#b91c1c}.portfolio-client-kpi__hint{font-size:.78rem;color:#64748b;line-height:1.35}.portfolio-client-status-breakdown{margin-top:1.15rem}.portfolio-client-status-breakdown h3{margin:0 0 .55rem;font-size:.9rem;font-weight:600;color:#334155}.portfolio-client-status-breakdown ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem 1rem}.portfolio-client-status-breakdown li{display:inline-flex;align-items:center;gap:.4rem}.portfolio-client-status-breakdown__count{font-size:.85rem;font-weight:700;color:#0f172a}.portfolio-client-section-actions{display:flex;justify-content:flex-end;margin-bottom:.75rem}.portfolio-client-section-actions button{display:inline-flex;align-items:center;gap:.4rem}.portfolio-client-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.portfolio-client-project-list__item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#fff}.portfolio-client-project-list__main{min-width:0;display:flex;flex-direction:column;gap:.35rem}.portfolio-client-project-list__name{font-weight:600;color:#1d4ed8;text-decoration:none}a.portfolio-client-project-list__name:hover{text-decoration:underline}.portfolio-client-project-list__badges{display:flex;flex-wrap:wrap;gap:.35rem}.portfolio-client-project-list__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.85rem;color:#475569;text-align:right}.portfolio-client-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.portfolio-client-contact-list li{display:flex;flex-direction:column;gap:.2rem}.portfolio-client-contact-list__links{display:flex;flex-wrap:wrap;gap:.65rem}.portfolio-client-detail-page .portfolio-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portfolio-client-detail-page .portfolio-related-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem;color:#334155}.portfolio-client-detail-page .portfolio-related-head b{font-size:1.25rem}.portfolio-client-detail-page .portfolio-related-card-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.portfolio-client-detail-page .portfolio-related-actions-inline{display:flex;flex-wrap:wrap;gap:.5rem}.portfolio-client-detail-page .portfolio-project-map-link{color:#2563eb;font-size:.85rem;font-weight:600;text-decoration:none}.portfolio-client-detail-page .portfolio-project-map-link:hover{text-decoration:underline}@media(max-width:960px){.portfolio-client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-client-detail-page .portfolio-related-grid{grid-template-columns:1fr}}@media(max-width:640px){.portfolio-client-detail-identity{flex-direction:column}.portfolio-client-kpi-grid{grid-template-columns:1fr}.portfolio-client-project-list__meta{align-items:flex-start;text-align:left}}.task-calendar-page{display:flex;flex-direction:column;min-height:calc(100vh - 8rem)}.task-calendar-filter-bar{margin-bottom:.85rem}.task-calendar-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;width:100%}.task-calendar-toolbar__field{display:flex;flex-direction:column;gap:.3rem;min-width:12rem;flex:1 1 12rem;max-width:18rem}.task-calendar-toolbar__field label{font-size:.78rem;font-weight:600;color:var(--ui-text-secondary, #475569)}.task-calendar-legend{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;color:var(--ui-text-muted, #64748b);font-size:.84rem;margin-bottom:.85rem}.task-calendar-legend__item{display:inline-flex;align-items:center;gap:.4rem}.task-calendar-legend__sep{width:1px;height:1rem;background:var(--ui-border-strong, #cbd5e1)}.task-calendar-legend__swatch{width:.85rem;height:.85rem;border-radius:4px}.task-calendar-legend__swatch--task{background:var(--color-primary, #4f6fa8)}.task-calendar-legend__swatch--ticket{background:#3d8b84}.task-calendar-legend__swatch--on-time{background:var(--ui-success-text, #166534)}.task-calendar-legend__swatch--late{background:var(--ui-danger-text, #991b1b)}.task-calendar-legend__swatch--done{background:var(--ui-neutral-text, #334155)}.task-calendar-shell{background:var(--ui-surface, #fff);border:1px solid var(--ui-border, #e2e8f0);border-radius:12px;padding:.85rem;min-height:36rem}.task-calendar-shell .fc{--fc-border-color: var(--ui-border, #e2e8f0);--fc-button-bg-color: var(--color-primary, #4f6fa8);--fc-button-border-color: var(--color-primary, #4f6fa8);--fc-button-hover-bg-color: var(--color-primary-hover, #3a5482);--fc-button-hover-border-color: var(--color-primary-hover, #3a5482);--fc-button-active-bg-color: var(--color-primary-strong, #2d4160);--fc-button-active-border-color: var(--color-primary-strong, #2d4160);--fc-today-bg-color: rgba(79, 111, 168, .12);--fc-event-border-color: transparent;font-family:inherit}.task-calendar-shell .fc .fc-toolbar-title{font-size:1.15rem;font-weight:700;color:var(--ui-text, #0f172a)}.task-calendar-shell .fc .fc-daygrid-day-top{position:relative;z-index:4;background:transparent;padding-bottom:.15rem}.task-calendar-shell .fc .fc-daygrid-day-events{margin-top:.2rem;position:relative;z-index:1}.task-calendar-shell .fc .fc-daygrid-day-number{padding:.2rem .35rem;margin:.2rem .25rem 0;font-weight:600;color:var(--ui-text-secondary, #334155)}.task-calendar-shell .fc .fc-day-today{background:var(--fc-today-bg-color)!important;box-shadow:inset 0 0 0 2px #4f6fa866}.task-calendar-shell .fc .fc-day-today .fc-daygrid-day-number{background:var(--color-primary, #4f6fa8);color:#fff;border-radius:999px;min-width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 1px 4px #4f6fa859}.task-calendar-shell .fc .fc-timegrid-col.fc-day-today{background:#4f6fa80f!important}.task-calendar-shell .fc .fc-list-day.fc-day-today .fc-list-day-cushion{background:#4f6fa81f}.task-calendar-shell .fc .fc-button{border-radius:8px;text-transform:capitalize;font-weight:600;box-shadow:none}.task-calendar-shell .fc .fc-button-primary.fc-goToday-button{background:var(--color-primary, #4f6fa8);border-color:var(--color-primary, #4f6fa8)}.task-calendar-shell .fc .fc-button-primary.fc-goToday-button:hover{background:var(--color-primary-hover, #3a5482);border-color:var(--color-primary-hover, #3a5482)}.task-calendar-shell .fc .fc-daygrid-event,.task-calendar-shell .fc .fc-timegrid-event{border-radius:0;padding:2px 3px;font-size:.8rem;line-height:1.25;cursor:pointer;white-space:normal;overflow:visible;background:transparent!important;border:none!important;box-shadow:none!important}.task-calendar-shell .fc .fc-daygrid-block-event .fc-event-main{color:inherit}.task-calendar-shell .fc .fc-daygrid-event .fc-event-main,.task-calendar-shell .fc .fc-timegrid-event .fc-event-main{padding:0}.task-cal-event-card{display:flex;flex-direction:column;gap:.14rem;padding:.38rem .42rem .34rem;min-width:0;height:100%;min-height:4.85rem;max-height:6.5rem;overflow:hidden;border-radius:7px;background:var(--ui-surface, #ffffff);color:var(--ui-text, #0f172a);border:1px solid var(--ui-border-strong, #cbd5e1);box-shadow:0 1px 4px #2d41601a}.task-cal-event-card--task{border-left:3px solid var(--color-primary, #4f6fa8)}.task-cal-event-card--ticket{border-left:3px solid #3d8b84}.task-cal-event-card--timing-on-time{background:var(--ui-success-bg, #ecfdf3);border-color:var(--ui-success-border, #86efac)}.task-cal-event-card--timing-late{background:var(--ui-danger-bg, #fef2f2);border-color:var(--ui-danger-border, #fca5a5)}.task-cal-event-card--timing-done{background:var(--ui-surface-muted, #f8fafc);border-color:var(--ui-neutral-border, #cbd5e1);opacity:.92}.task-cal-event-card--timing-on-time{border-left-color:var(--ui-success-text, #166534)}.task-cal-event-card--timing-late{border-left-color:var(--ui-danger-text, #991b1b)}.task-cal-event-card--timing-done{border-left-color:var(--ui-neutral-text, #334155)}.task-cal-event-card__top{display:flex;align-items:center;gap:.32rem;min-width:0}.task-cal-event-card__timing{flex-shrink:0;margin-left:auto;font-size:.58rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.12rem .35rem;line-height:1.2;white-space:nowrap}.task-cal-event-card__timing--on-time{background:var(--ui-success-bg, #ecfdf3);color:var(--ui-success-text, #166534);border:1px solid var(--ui-success-border, #86efac)}.task-cal-event-card__timing--late{background:var(--ui-danger-bg, #fef2f2);color:var(--ui-danger-text, #991b1b);border:1px solid var(--ui-danger-border, #fca5a5)}.task-cal-event-card__timing--done{background:var(--ui-neutral-bg, #f1f5f9);color:var(--ui-neutral-text, #334155);border:1px solid var(--ui-neutral-border, #cbd5e1)}.task-cal-event-card__top-text{display:flex;flex-direction:column;gap:.02rem;min-width:0;flex:1}.task-cal-event-card__project{font-size:.74rem;font-weight:700;line-height:1.2;color:var(--ui-text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-cal-event-card__phase{font-size:.68rem;line-height:1.2;color:var(--ui-text-secondary, #475569);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-cal-event-card__schedule{font-size:.66rem;line-height:1.2;font-weight:600;color:var(--ui-neutral-text, #334155);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-cal-event-card__task{font-size:.72rem;font-weight:700;line-height:1.25;color:var(--color-primary-strong, #2d4160);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-cal-event-card__ticket{font-size:.7rem;font-weight:700;line-height:1.2;color:#2f6f6a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-cal-event-card__footer{display:flex;align-items:center;gap:.28rem;margin-top:auto;padding-top:.12rem}.task-cal-event-card__progress-wrap{display:flex;align-items:center;gap:.22rem;flex:1;min-width:0}.task-cal-event-card__progress-track{flex:1;height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden}.task-cal-event-card--timing-on-time .task-cal-event-card__progress-fill{height:100%;border-radius:inherit;background:var(--ui-success-text, #166534)}.task-cal-event-card--timing-late .task-cal-event-card__progress-fill{height:100%;border-radius:inherit;background:var(--ui-danger-text, #991b1b)}.task-cal-event-card--timing-done .task-cal-event-card__progress-fill{height:100%;border-radius:inherit;background:var(--ui-neutral-text, #334155)}.task-cal-event-card__progress-value{font-size:.64rem;font-weight:700;color:#334155;flex-shrink:0;min-width:1.75rem;text-align:right}.task-cal-event-card__project-img{width:1.3rem;height:1.3rem;border-radius:5px;object-fit:cover;flex-shrink:0;background:#f1f5f9;border:1px solid #e2e8f0}.task-cal-event-card__executor-img{width:1.15rem;height:1.15rem;border-radius:999px;object-fit:cover;flex-shrink:0;border:1.5px solid #e2e8f0}.task-cal-event-card__executor-initials{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-grid;place-items:center;font-size:.54rem;font-weight:700;color:#334155;background:#f1f5f9;border:1.5px solid #cbd5e1;flex-shrink:0}.task-calendar-shell .fc-event.task-cal-event--task,.task-calendar-shell .fc-event.task-cal-event--ticket{background:transparent;color:inherit}.task-calendar-shell .fc .fc-list-event-title{font-weight:600}.task-calendar-shell .fc .fc-list-event-time{font-variant-numeric:tabular-nums;white-space:nowrap}.task-calendar-error{margin:0 0 .85rem;padding:.75rem .9rem;border-radius:8px;background:var(--ui-danger-bg, #fef2f2);color:var(--ui-danger-text, #991b1b);border:1px solid var(--ui-danger-border, #fca5a5);font-size:.9rem}.task-calendar-modal-overlay{position:fixed;inset:0;z-index:120000;display:grid;place-items:center;padding:calc(var(--navbar-total-height, 74px) + .85rem) clamp(1rem,3vw,2.5rem) calc(var(--footer-height, 62px) + .85rem);box-sizing:border-box;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.task-calendar-modal{width:min(80rem,100%);max-width:80rem;max-height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 28px 60px #0f172a47}.task-calendar-modal--detail{width:min(80rem,100%);max-width:80rem}.task-cal-modal-preview{display:flex;flex-direction:column;gap:.85rem;padding:.85rem;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.task-cal-modal-preview--task{border-left:4px solid var(--color-primary, #4f6fa8)}.task-cal-modal-preview--ticket{border-left:4px solid #3d8b84}.task-cal-modal-preview__card-wrap .task-cal-event-card{min-height:auto;max-height:none;box-shadow:0 2px 8px #0f172a1a}.task-cal-modal-preview__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem .35rem;font-size:.72rem;color:#64748b;line-height:1.35}.task-cal-modal-preview__breadcrumb span:nth-child(odd){color:#334155;font-weight:600}.task-cal-modal-preview__meta{display:flex;flex-direction:column;gap:.55rem}.task-cal-modal-preview__schedule{display:flex;flex-direction:column;gap:.4rem}.task-cal-modal-preview__schedule-block{display:flex;align-items:flex-start;gap:.45rem}.task-cal-modal-preview__icon{flex-shrink:0;margin-top:.12rem;color:#64748b;font-size:.78rem}.task-cal-modal-preview__schedule-label{font-size:.86rem;font-weight:600;color:#0f172a;line-height:1.35}.task-cal-modal-preview__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding-top:.15rem}.task-cal-modal-preview__progress{display:flex;align-items:center;gap:.4rem;flex:1;min-width:8rem}.task-cal-modal-preview__progress-track{flex:1;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.task-cal-modal-preview--task .task-cal-modal-preview__progress-fill{height:100%;border-radius:inherit;background:var(--color-primary, #4f6fa8)}.task-cal-modal-preview--ticket .task-cal-modal-preview__progress-fill{height:100%;border-radius:inherit;background:#3d8b84}.task-cal-modal-preview__progress-value{font-size:.78rem;font-weight:700;color:#475569;min-width:2.2rem;text-align:right}.task-cal-modal-preview__executor{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#334155}.task-calendar-modal__section{display:flex;flex-direction:column;gap:.75rem;padding:.9rem;border-radius:12px;background:var(--ui-surface-muted, #f8fafc);border:1px solid var(--ui-border, #e2e8f0)}.task-calendar-modal__section-title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.task-calendar-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem 1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--ui-border, #e2e8f0);flex-shrink:0;background:linear-gradient(180deg,var(--ui-surface, #fff) 0%,var(--ui-surface-muted, #f8fafc) 100%)}.task-calendar-modal__header-text{min-width:0;flex:1 1 auto}.task-calendar-modal__header h2{margin:0;font-size:1.2rem;font-weight:700;color:var(--ui-text, #0f172a);letter-spacing:-.01em}.task-calendar-modal__header p{margin:.35rem 0 0;font-size:.86rem;color:var(--ui-text-muted, #64748b);line-height:1.4;max-width:48rem}.task-calendar-modal__header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.45rem;flex:0 0 auto;max-width:none}.task-calendar-modal__header-actions .btn{flex:0 0 auto;width:auto;white-space:nowrap}.task-calendar-modal__close{border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:10px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.task-calendar-modal__close:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}.task-calendar-modal__body{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.35rem 1.15rem;overflow-y:auto;flex:1 1 auto;min-height:0}.task-calendar-modal__form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem 1rem;align-items:start}.task-calendar-modal__form-col{display:flex;flex-direction:column;gap:.85rem;min-width:0}.task-calendar-modal__fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}.task-calendar-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.task-calendar-modal__field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.task-calendar-modal__field label{font-size:.78rem;font-weight:600;color:#475569}.task-calendar-modal__field--full{grid-column:1 / -1}.task-calendar-modal__hint{margin:0;font-size:.8rem;color:#64748b}.task-calendar-modal__error{margin:0;padding:.65rem .75rem;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;font-size:.86rem;color:#b91c1c}.task-calendar-modal__warning{margin:0;padding:.65rem .75rem;border-radius:8px;background:#fffbeb;color:#92400e;border:1px solid #fcd34d;font-size:.84rem;line-height:1.4}.task-calendar-modal__schedule-note{margin:0;font-size:.8rem;color:#475569;line-height:1.35}.task-calendar-modal__footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;padding:.9rem 1.2rem 1.05rem;border-top:1px solid #eef2f7;flex-shrink:0;background:#fff;box-shadow:0 -8px 20px #0f172a0a}.task-calendar-modal__footer-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;align-items:center;justify-content:flex-end;width:auto;max-width:100%}.task-calendar-modal__footer-actions .btn{flex:0 0 auto;width:auto;white-space:nowrap}.task-calendar-type-toggle{display:flex;gap:.3rem;padding:.28rem;border-radius:12px;background:var(--ui-neutral-bg, #f1f5f9);width:100%}.task-calendar-type-toggle button{flex:1;border:0;background:transparent;color:var(--ui-text-secondary, #475569);border-radius:9px;padding:.55rem .75rem;font-size:.86rem;font-weight:650;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.task-calendar-type-toggle button.is-active{background:var(--ui-surface, #fff);color:var(--color-primary-strong, #2d4160);box-shadow:0 1px 4px #2d41601f}@media(max-width:900px){.task-calendar-modal,.task-calendar-modal--detail{width:100%;max-width:100%}.task-calendar-modal__form-layout{grid-template-columns:1fr}}@media(max-width:720px){.task-calendar-modal-overlay{padding:calc(var(--navbar-total-height, 74px) + .5rem) .65rem calc(var(--footer-height, 62px) + .5rem);place-items:stretch center;align-content:center}.task-calendar-modal,.task-calendar-modal--detail{width:100%;max-width:none;max-height:100%;border-radius:14px}.task-calendar-modal__form-layout,.task-calendar-modal__fields,.task-calendar-modal__row{grid-template-columns:1fr}.task-calendar-modal__field--full{grid-column:auto}.task-calendar-modal__body{padding:.85rem 1rem}.task-calendar-modal__header{flex-direction:column;align-items:stretch}.task-calendar-modal__header-actions{justify-content:flex-start}.task-calendar-shell{min-height:28rem;padding:.5rem}}.task-team-person-list{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0}.task-team-person-list__empty{color:#94a3b8}.task-team-person-list__more{font-size:.75rem;font-weight:600;color:#64748b;padding-left:.15rem}.task-team-person-chip{display:inline-flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.task-team-person-chip__photo{flex-shrink:0;object-fit:cover;border-radius:999px;border:1px solid #e2e8f0;background:#f1f5f9}.task-team-person-chip--sm .task-team-person-chip__photo{width:1.75rem;height:1.75rem}.task-team-person-chip--md .task-team-person-chip__photo{width:2.25rem;height:2.25rem}.task-team-person-chip__meta{display:flex;flex-direction:column;min-width:0;gap:.05rem}.task-team-person-chip__name{font-size:.8125rem;font-weight:600;color:#0f172a;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-team-person-chip--sm .task-team-person-chip__name{font-size:.8125rem;font-weight:500}.task-team-person-chip__badge{font-size:.6875rem;font-weight:600;color:#1d4ed8;line-height:1.2}.task-team-person-chip--leader .task-team-person-chip__name{color:#1e3a8a}.task-team-person-list--wrap{flex-direction:row;flex-wrap:wrap;gap:.55rem .85rem}.task-team-person-list--wrap .task-team-person-chip{padding:.3rem .65rem .3rem .3rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.task-team-person-list--wrap .task-team-person-chip--leader{background:#eff6ff;border-color:#bfdbfe}.task-time-span-indefinite{color:#64748b;font-style:italic}.task-project-schedule-end-infinite{display:inline-flex;align-items:center;justify-content:center;min-width:1.25em;line-height:1;vertical-align:middle;color:#475569}.task-project-schedule-end-infinite-glyph{font-size:1.35rem;font-weight:700;font-family:Times New Roman,"DejaVu Serif",Georgia,"Noto Serif","STIX Two Math",Symbol,serif!important;line-height:1}.schedule-phase-planning-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;font-size:.95rem;vertical-align:middle}.schedule-phase-planning-icon--manual{color:#b45309;background:#fffbeb;border:1px solid #fcd34d}.schedule-phase-planning-icon--auto{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.task-project-schedule-list__project-thumb{width:2rem;height:2rem;border-radius:.35rem;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0;vertical-align:middle;display:inline-block}.task-schedule-phase-group{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;width:100%;font-weight:700;color:#0f172a}.task-schedule-phase-group__leading{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.task-schedule-phase-group__project-thumb{width:2rem;height:2rem;border-radius:.35rem;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0;display:inline-block}.task-schedule-phase-group__schedule{display:inline-flex;align-items:flex-start;gap:.35rem;flex-wrap:wrap;min-width:0}.task-schedule-phase-group__label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.task-schedule-phase-group__name{font-size:.98rem;font-weight:700;color:#0f172a;white-space:nowrap}.task-phase-type-inline{display:inline-block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.task-schedule-phase-group__count{flex-shrink:0;font-size:.8rem;font-weight:700;color:#1e3a5f;background:#dbeafe;border:1px solid #bfdbfe;border-radius:999px;padding:.2rem .65rem}.task-phase-task-group__leading{display:inline-flex;align-items:center;gap:.85rem;flex-wrap:wrap;min-width:0}.task-schedule-phase-group__name:hover{color:#1d4ed8}.task-phase-task-group__phase{display:inline-flex;align-items:baseline;min-width:0}.task-phase-task-group__phase:before{content:"·";margin-right:.85rem;color:#94a3b8;font-weight:700}.task-ticket-group__task{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.task-ticket-group__task--with-sep:before{content:"·";margin-right:.4rem;color:#94a3b8;font-weight:700}.task-teams-list .table-container{overflow-x:hidden}.task-teams-list .table-search .search-input{max-width:none;min-width:0}.task-teams-list .data-table{table-layout:fixed;width:100%}.task-teams-list .data-table th,.task-teams-list .data-table td{vertical-align:middle;overflow:hidden}.task-teams-list .data-table th.task-teams-list__name,.task-teams-list .data-table td.task-teams-list__name{width:14%;white-space:nowrap;text-overflow:ellipsis}.task-teams-list .data-table td.task-teams-list__name{font-weight:600;color:#0f172a}.task-teams-list .data-table th.task-teams-list__members,.task-teams-list .data-table td.task-teams-list__members{width:28%}.task-teams-list .data-table th.task-teams-list__leader,.task-teams-list .data-table td.task-teams-list__leader{width:18%}.task-teams-list .data-table th.task-teams-list__description,.task-teams-list .data-table td.task-teams-list__description{width:22%;white-space:normal}.task-teams-list__desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;color:#64748b;font-size:.8125rem;word-break:break-word}.task-teams-list__muted{color:#94a3b8}.task-teams-list .data-table th.task-teams-list__status,.task-teams-list .data-table td.task-teams-list__status{width:6.5rem;white-space:nowrap;overflow:visible}.task-teams-list .actions-column,.task-teams-list .actions-cell{width:3.5rem;overflow:visible}@media(max-width:900px){.task-teams-list .table-container{overflow-x:auto}}.task-team-detail-page .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-team-detail-page .task-team-detail__status{display:inline-flex;align-items:center}.task-team-detail-page .detail-description .notes-text{margin:0;white-space:pre-wrap;line-height:1.5;color:#334155}.task-team-detail-page .task-team-detail__muted{margin:0;color:#94a3b8}@media(max-width:900px){.task-team-detail-page .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.task-team-detail-page .detail-grid{grid-template-columns:1fr}}.task-team-members-field{color:#0f172a}.task-team-members-field__header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.task-team-members-field__header .form-label{margin-bottom:0;color:#0f172a}.task-team-members-field__count{font-size:.8125rem;font-weight:600;color:#334155;white-space:nowrap}.task-team-members-field__hint{margin:0 0 .65rem;color:#334155!important;font-size:.875rem;line-height:1.45}.task-team-members-field__search{margin-bottom:.75rem;color:#0f172a}.task-team-members-field__search::placeholder{color:#64748b;opacity:1}.task-team-members-field__empty{margin:0;padding:.75rem .85rem;border:1px dashed #94a3b8;border-radius:10px;color:#334155;font-size:.875rem;background:#f8fafc}.task-team-members-field__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem;max-height:min(22rem,50vh);overflow:auto;padding:.15rem}.task-team-members-field__item{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.task-team-members-field__item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0d}.task-team-members-field__item--selected{border-color:#86b7fe;background:#f8fbff;box-shadow:0 0 0 1px #4f6fa81f}.task-team-members-field__item--leader{border-color:#93c5fd}.task-team-members-field__checkbox{flex-shrink:0;margin:0}.task-team-members-field__photo{width:2.25rem;height:2.25rem;border-radius:999px;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.task-team-members-field__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.task-team-members-field__name{font-size:.875rem;font-weight:600;color:#0f172a;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-team-members-field__badge{font-size:.6875rem;font-weight:700;color:#1e40af}.task-team-members-field__meta{font-size:.75rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-staff-pending-at-start{color:#64748b;font-style:italic}.phase-deps-field{display:flex;flex-direction:column;gap:.5rem;width:100%}.phase-deps-field .form-label{margin-bottom:0}.phase-deps-field__help{font-size:.75rem;color:#6b7280;line-height:1.45;margin:0}.phase-deps-field__empty{font-size:.875rem;color:#6b7280;padding:.75rem 1rem;border:1px dashed #d1d5db;border-radius:.375rem;background:#f9fafb;margin:0}.phase-deps-field__chips{display:flex;flex-wrap:wrap;gap:.35rem;min-height:.25rem}.phase-deps-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.8125rem;font-weight:500;color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.phase-deps-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;padding:0;border:none;border-radius:50%;background:transparent;color:#1d4ed8;font-size:1rem;line-height:1;cursor:pointer}.phase-deps-chip__remove:hover{background:#1d4ed81f}.phase-deps-field__list{display:flex;flex-direction:column;gap:.35rem;max-height:11rem;overflow-y:auto;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;background:#fff}.phase-deps-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;color:#111827}.phase-deps-option:hover{background:#f3f4f6}.phase-deps-option input{width:1rem;height:1rem;margin:0;flex-shrink:0;accent-color:#2563eb}.phase-deps-field__list--typed{max-height:16rem;gap:.45rem}.phase-deps-option--typed{flex-direction:column;align-items:stretch;gap:.35rem}.phase-deps-option__check{display:flex;align-items:center;gap:.5rem;cursor:pointer}.phase-deps-option__meta{display:flex;gap:.4rem;padding-left:1.5rem}.phase-deps-option__meta select,.phase-deps-option__meta input[type=number]{font-size:.8rem;border:1px solid #d1d5db;border-radius:.3rem;padding:.25rem .4rem;background:#fff;color:#111827}.phase-deps-option__meta select{min-width:4.5rem}.phase-deps-option__meta input[type=number]{width:4.5rem}.task-schedule-preview{display:flex;flex-direction:column;gap:.55rem;padding:.75rem .85rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.task-schedule-preview__note{margin:0;font-size:.84rem;color:#475569;line-height:1.4}.task-schedule-preview__warning{margin:0;padding:.6rem .7rem;border-radius:8px;background:#fffbeb;color:#92400e;border:1px solid #fcd34d;font-size:.84rem;line-height:1.4}.task-hierarchy-path{margin:0 0 .85rem;padding:.7rem .95rem;border-radius:8px;background:var(--color-primary-soft, #e6edf8);border:1px solid var(--color-primary-soft-hover, #d7e2f3)}.task-hierarchy-path__nav{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .2rem;font-size:.9rem;line-height:1.4;color:var(--color-primary-strong, #2d4160)}.task-hierarchy-path__item{display:inline-flex;align-items:center;gap:.25rem .2rem;min-width:0}.task-hierarchy-path__sep{margin:0 .3rem;color:#64748b;font-weight:600;-webkit-user-select:none;user-select:none}.task-hierarchy-path__link,.task-hierarchy-path__text{color:#0f172a;font-weight:700;text-decoration:none;min-width:0}.task-hierarchy-path__link .entity-name-with-code__name,.task-hierarchy-path__text .entity-name-with-code__name{color:#0f172a}.task-hierarchy-path__link .entity-name-with-code__code,.task-hierarchy-path__text .entity-name-with-code__code{color:#475569;font-weight:600}.task-hierarchy-path__link:hover,.task-hierarchy-path__link:hover .entity-name-with-code__name{color:var(--color-primary, #456298);text-decoration:underline}.task-hierarchy-path__empty{margin:0;font-size:.875rem;line-height:1.45;color:#475569}.phase-task-objectives{width:100%}.phase-task-objectives__panel{border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(165deg,#f8fafc,#fff 48%,#f1f5f9);box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a0f;padding:1rem 1.1rem 1.15rem}.phase-task-objectives__hint{margin:0 0 .85rem;font-size:.8125rem;line-height:1.45;color:#64748b}.phase-task-objectives__empty{margin:0 0 1rem;padding:.85rem 1rem;font-size:.875rem;line-height:1.45;color:#64748b;text-align:center;background:#ffffffbf;border:1px dashed #cbd5e1;border-radius:10px}.phase-task-objectives__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.phase-task-objectives__card{margin:0;border-radius:10px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease}.phase-task-objectives__card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.phase-task-objectives__card--completed{background:#f8fafc;border-color:#bbf7d0}.phase-task-objectives__card--completed:hover{border-color:#86efac;box-shadow:0 1px #16653414}.phase-task-objectives__completed-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.45rem .55rem;border-radius:8px;background:#dcfce7a6;border:1px solid #bbf7d0}.phase-task-objectives__completed-badge{flex-shrink:0;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#14532d;background:#bbf7d0;border-radius:999px}.phase-task-objectives__completed-hint{font-size:.78rem;line-height:1.35;color:#166534;min-width:0}.phase-task-objectives__card-body{display:flex;flex-direction:column;gap:.75rem;padding:.85rem .95rem}.phase-task-objectives__cell-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;margin-bottom:.3rem}@media(min-width:720px){.phase-task-objectives__cell--desc .phase-task-objectives__cell-label{margin-bottom:.35rem}.phase-task-objectives__meta-row .phase-task-objectives__cell-label{display:none}}.phase-task-objectives__cell{min-width:0}.phase-task-objectives__cell--desc{width:100%}.phase-task-objectives__desc{display:block;width:100%;min-height:6.5rem;max-height:14rem;padding:.6rem .75rem;font-size:.9rem;line-height:1.5;font-family:inherit;resize:vertical;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.phase-task-objectives__desc:hover{border-color:#cbd5e1}.phase-task-objectives__desc:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb26}.phase-task-objectives__desc[readonly]{cursor:default;color:#475569;background:#f1f5f9;border-color:#e2e8f0;resize:none}.phase-task-objectives__select:disabled,.phase-task-objectives__weight-input:disabled{cursor:not-allowed;opacity:.85;color:#64748b;background:#f1f5f9;border-color:#e2e8f0}.phase-task-objectives__icon-btn:disabled{cursor:not-allowed;opacity:.45;color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.phase-task-objectives__icon-btn--danger:disabled{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}.phase-task-objectives__meta-row{display:flex;flex-wrap:wrap;gap:.65rem .85rem;align-items:flex-end}@media(min-width:720px){.phase-task-objectives__meta-row{flex-wrap:nowrap;justify-content:flex-end;gap:.75rem}.phase-task-objectives__meta-row .phase-task-objectives__cell:not(.phase-task-objectives__cell--action){flex:0 0 auto}.phase-task-objectives__meta-row .phase-task-objectives__cell--weight{flex:0 0 4.75rem}.phase-task-objectives__meta-row .phase-task-objectives__cell:first-of-type{flex:0 0 8.25rem}}.phase-task-objectives__select{width:100%;min-width:0;padding:.45rem .55rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}@media(min-width:720px){.phase-task-objectives__meta-row .phase-task-objectives__cell:first-of-type .phase-task-objectives__select{width:8.25rem}}.phase-task-objectives__select:hover{border-color:#cbd5e1}.phase-task-objectives__select:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.phase-task-objectives__weight-input{width:100%;padding:.45rem .5rem;font-size:.875rem;text-align:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}@media(min-width:720px){.phase-task-objectives__weight-input{width:4.75rem}}.phase-task-objectives__weight-input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.phase-task-objectives__cell--action{display:flex;flex-direction:column;align-items:stretch;margin-left:auto}@media(min-width:720px){.phase-task-objectives__cell--action{margin-left:0;align-items:center}}.phase-task-objectives__cell--action .phase-task-objectives__icon-btn{align-self:flex-end}@media(min-width:720px){.phase-task-objectives__cell--action .phase-task-objectives__icon-btn{align-self:center}}.phase-task-objectives__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.phase-task-objectives__icon-btn svg{width:14px;height:14px}.phase-task-objectives__icon-btn:hover{background:#f8fafc;color:#334155;border-color:#cbd5e1}.phase-task-objectives__icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb33}.phase-task-objectives__icon-btn--danger{color:#b91c1c;border-color:#fecaca;background:#fff5f5}.phase-task-objectives__icon-btn--danger:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.phase-task-objectives__add{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.85rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;color:#1e40af;background:linear-gradient(180deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.phase-task-objectives__add:hover{background:linear-gradient(180deg,#dbeafe,#bfdbfe);border-color:#60a5fa}.phase-task-objectives__add:active{transform:scale(.99)}.phase-task-objectives__add:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}.phase-task-objectives__add svg{width:14px;height:14px;flex-shrink:0}.phase-tasks-form-page .form-section-fields,.phase-tasks-form-page .form-section--grid .form-section-fields{gap:1rem 1.25rem}@media(min-width:900px){.phase-tasks-form-page .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.75rem;align-items:start}.phase-tasks-form-page .form-fields>.form-section:nth-child(1),.phase-tasks-form-page .form-fields>.form-section:nth-child(2),.phase-tasks-form-page .form-fields>.form-section:nth-child(3),.phase-tasks-form-page .form-fields>.form-section:nth-child(6),.phase-tasks-form-page .form-fields>.form-section:nth-child(7){grid-column:1 / -1}.phase-tasks-form-page .form-section-fields,.phase-tasks-form-page .form-section--grid .form-section-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.phase-tasks-form-page .form-fields>.form-section:nth-child(1) .form-section-fields,.phase-tasks-form-page .form-fields>.form-section:nth-child(1).form-section--grid .form-section-fields,.phase-tasks-form-page .form-fields>.form-section:nth-child(6) .form-section-fields,.phase-tasks-form-page .form-fields>.form-section:nth-child(6).form-section--grid .form-section-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:899px){.phase-tasks-form-page .form-fields{display:flex;flex-direction:column;gap:1.5rem}}.project-schedule-detail-page .detail-item--progress,.task-detail-page .detail-item--progress{grid-column:span 1}.project-schedule-detail-page .schedule-phase-panel.detail-list-item{display:flex;gap:0;margin:0 -1.25rem;padding:0;border:0;border-top:1px solid #f1f5f9;border-radius:0;background:transparent;box-shadow:none}.project-schedule-detail-page .detail-card-body>.schedule-phase-panel.detail-list-item:first-child,.project-schedule-detail-page .detail-card-body>.detail-empty-hint+.schedule-phase-panel.detail-list-item{border-top:none}.project-schedule-detail-page .schedule-phase-panel .task-sched-detail-phase__accent{flex:0 0 3px;background:var(--color-primary, #456298);border-radius:0}.project-schedule-detail-page .schedule-phase-panel .task-sched-detail-phase__inner{flex:1;min-width:0;padding:1rem 1.25rem 1rem 1rem}.project-schedule-detail-page .task-sched-detail-phase__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:.6rem}.project-schedule-detail-page .task-sched-detail-phase__title-block{display:flex;align-items:center;gap:.5rem;min-width:0}.project-schedule-detail-page .task-sched-detail-phase__index{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:6px;font-size:.75rem;font-weight:700;color:var(--color-primary-strong, #2d4160);background:var(--color-primary-soft, #e6edf8)}.project-schedule-detail-page .task-sched-detail-phase__title-block h3{margin:0;font-size:.9375rem;font-weight:600;color:#0f172a;line-height:1.35}.project-schedule-detail-page .task-sched-detail-phase__actions{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.project-schedule-detail-page .task-sched-detail-phase__action{font-size:.8125rem;font-weight:600;color:var(--color-primary-strong, #2d4160);text-decoration:none}.project-schedule-detail-page .task-sched-detail-phase__action:hover{color:var(--color-primary-hover, #3a5482);text-decoration:underline}.project-schedule-detail-page .task-sched-detail-phase-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem .75rem;margin:0 0 .6rem}.project-schedule-detail-page .task-sched-detail-phase-metric{margin:0}.project-schedule-detail-page .task-sched-detail-phase-metric dt{margin:0 0 .15rem;font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.project-schedule-detail-page .task-sched-detail-phase-metric dd{margin:0;font-size:.875rem;font-weight:500;color:#0f172a}.project-schedule-detail-page .task-schedule-detail-phase__desc{margin:0 0 .6rem;font-size:.875rem;line-height:1.5;color:#475569}.project-schedule-detail-page .schedule-detail-table-wrap,.task-detail-page .schedule-detail-table-wrap{overflow-x:auto;margin-top:.25rem;border-radius:8px;border:1px solid #e2e8f0}.project-schedule-detail-page .schedule-detail-table,.task-detail-page .schedule-detail-table{width:100%;border-collapse:collapse;font-size:.8125rem}.project-schedule-detail-page .schedule-detail-table th,.project-schedule-detail-page .schedule-detail-table td,.task-detail-page .schedule-detail-table th,.task-detail-page .schedule-detail-table td{border-bottom:1px solid #f1f5f9;padding:.5rem .65rem;text-align:left;vertical-align:middle}.project-schedule-detail-page .schedule-detail-table th,.task-detail-page .schedule-detail-table th{background:#f8fafc;font-weight:600;color:#475569;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.project-schedule-detail-page .schedule-detail-table td,.task-detail-page .schedule-detail-table td{color:#0f172a;background:#fff}.project-schedule-detail-page .schedule-detail-table tbody tr:last-child td,.task-detail-page .schedule-detail-table tbody tr:last-child td{border-bottom:none}.project-schedule-detail-page .schedule-detail-table a,.task-detail-page .schedule-detail-table a{color:var(--color-primary-strong, #2d4160);font-weight:600;text-decoration:none}.project-schedule-detail-page .schedule-detail-table a:hover,.task-detail-page .schedule-detail-table a:hover{color:var(--color-primary-hover, #3a5482);text-decoration:underline}.project-schedule-detail-page .schedule-detail-instructions-cell,.task-detail-page .schedule-detail-instructions-cell{max-width:280px;line-height:1.45;color:#475569}.project-schedule-detail-page .schedule-detail-text-danger,.task-detail-page .schedule-detail-text-danger{color:#991b1b;font-weight:600}.project-schedule-detail-page .schedule-lookahead-list,.project-schedule-detail-page .schedule-delay-list,.project-schedule-detail-page .schedule-update-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}.project-schedule-detail-page .schedule-lookahead-list li,.project-schedule-detail-page .schedule-delay-list li,.project-schedule-detail-page .schedule-update-list li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:.4rem;background:#f8fafc}.project-schedule-detail-page .schedule-lookahead-list strong,.project-schedule-detail-page .schedule-delay-list strong,.project-schedule-detail-page .schedule-update-list strong{font-size:.85rem;color:#0f172a}.project-schedule-detail-page .schedule-lookahead-list span,.project-schedule-detail-page .schedule-delay-list span,.project-schedule-detail-page .schedule-update-list span{font-size:.78rem;color:#64748b}.project-schedule-detail-page .schedule-update-form{display:grid;gap:.65rem;margin-bottom:.75rem}.project-schedule-detail-page .schedule-update-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:#334155}.project-schedule-detail-page .schedule-update-form textarea{font:inherit;font-weight:400;font-size:.85rem;border:1px solid #cbd5e1;border-radius:.375rem;padding:.45rem .55rem;resize:vertical;color:#0f172a;background:#fff}@media(max-width:768px){.project-schedule-detail-page .schedule-phase-panel.detail-list-item{margin-left:-1rem;margin-right:-1rem}.project-schedule-detail-page .schedule-phase-panel .task-sched-detail-phase__inner{padding:.85rem 1rem}}.project-schedule-detail-page .schedule-baseline-select{width:100%;max-width:100%;font:inherit;font-size:.875rem;border:1px solid #cbd5e1;border-radius:.375rem;padding:.4rem .5rem;color:#0f172a;background:#fff}.detail-page,.employee-detail-page{width:100%;max-width:var(--page-fluid-max-width);margin-inline:auto;padding:var(--page-shell-padding-block) var(--page-shell-padding-inline);padding-bottom:1.5rem;box-sizing:border-box;color:#0f172a}.detail-header{margin:0;padding:0;border:none;min-width:0}.detail-header .page-heading{margin-bottom:1.75rem}.header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.625rem}.header-actions>*{display:inline-flex;align-items:center;flex:0 0 auto}.header-actions .btn{width:auto;max-width:100%;height:var(--btn-height-md, 2.5rem);min-height:var(--btn-height-md, 2.5rem);box-shadow:none}.header-actions__group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex:0 0 auto}.header-actions__group--danger{margin-left:.15rem;padding-left:.75rem;border-left:1px solid #e2e8f0}.detail-content{display:flex;flex-direction:column;gap:1.25rem;color:#0f172a}.detail-content.detail-content--boxed{padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0f172a0f}.detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:0;overflow:hidden;color:#0f172a}.detail-card>h2,.detail-card-toolbar{margin:0;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;background:#fafbfc}.detail-card>h2{font-size:.9375rem;font-weight:700;color:#334155;letter-spacing:.01em}.detail-card-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.detail-card-toolbar h2{margin:0;padding:0;border:0;background:transparent;font-size:.9375rem;font-weight:700;color:#334155}.detail-card-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.detail-card:not(:has(.detail-card-body)){padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.detail-card:not(:has(.detail-card-body))>h2{margin:-1.25rem -1.25rem 0;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;background:#fafbfc;font-size:.9375rem;font-weight:700;color:#334155}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem 1.25rem}@media(min-width:1280px){.detail-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}.detail-photo-row{display:flex;justify-content:flex-start;align-items:center}.detail-item{display:flex;flex-direction:column;gap:.3rem;min-width:0;max-width:100%}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.detail-item p,.detail-item__value{font-size:.9375rem;color:#0f172a;margin:0;line-height:1.45;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.detail-item__value{display:flex;flex-direction:column;gap:.35rem}.detail-item p a{color:var(--color-primary-strong, #2d4160);font-weight:600}.detail-item p a:hover{color:var(--color-primary-hover, #3a5482)}.detail-photo,.employee-photo{width:64px;height:64px;border-radius:10px;object-fit:cover;border:1px solid #e2e8f0}.detail-description{margin-top:.25rem;padding-top:1rem;border-top:1px solid #f1f5f9}.detail-progress{display:flex;flex-direction:column;gap:.4rem;width:100%;max-width:18rem}.detail-progress__pct{font-variant-numeric:tabular-nums;font-weight:700;font-size:.9375rem;color:#0f172a}.detail-progress__track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.detail-progress__fill{height:100%;border-radius:999px;background:var(--color-primary, #456298);transition:width .35s ease}.detail-card .detail-subsection,.detail-card .detail-list-item{margin-left:-1.25rem;margin-right:-1.25rem;padding:1rem 1.25rem;border-top:1px solid #f1f5f9;background:transparent}.detail-card .detail-subsection:first-child,.detail-card .detail-list-item:first-child{border-top:none}.token-display{display:flex;align-items:center;gap:1rem;padding:.65rem .75rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.token-display code{flex:1;font-family:monospace;font-size:.82rem;color:#111827;word-break:break-all}.notes-text{color:#334155;line-height:1.6;white-space:pre-wrap;font-size:.9375rem}.detail-empty-hint,.related-loading{margin:0;color:#64748b;font-size:.875rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.loading-state .spinner{width:2.5rem;height:2.5rem;border:3px solid #e2e8f0;border-top-color:var(--color-primary, #456298);border-radius:50%;animation:detail-page-spin .6s linear infinite}@keyframes detail-page-spin{to{transform:rotate(360deg)}}.loading-state p{color:#64748b;font-size:.9375rem}.detail-page-error-state{align-items:flex-start;padding:1.5rem 0 2rem}.detail-page-error-state p[role=alert]{margin:0 0 1rem;color:#b91c1c;font-weight:600}@media(max-width:768px){.detail-header .page-heading{margin-bottom:1.35rem}.header-actions{justify-content:flex-start;margin-left:0}.header-actions__group--danger{margin-left:0;padding-left:0;border-left:none;width:100%}.detail-grid{grid-template-columns:1fr}.detail-card-body{padding:1rem}.detail-card .detail-subsection,.detail-card .detail-list-item{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}}.detail-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;align-items:stretch}.detail-related-card.detail-card{display:flex;flex-direction:column;min-height:100%}.detail-related-grid>.detail-related-card.detail-card{background:#fafbfc;border-radius:10px;transition:border-color .15s ease,background .15s ease}.detail-related-grid>.detail-related-card.detail-card:hover{border-color:#cbd5e1;background:#f8fafc}.detail-related-card .detail-card-toolbar{padding:.75rem 1rem;gap:.5rem}.detail-related-card .detail-card-toolbar>h2{flex:1;min-width:0;margin:0;font-size:.9rem;font-weight:inherit}.detail-related-grid>.detail-related-card .detail-card-body{padding:.85rem 1rem 1rem;gap:.65rem;flex:1;display:flex;flex-direction:column;min-height:0}.detail-related-card__head{display:inline-flex;align-items:center;gap:.55rem;width:100%;min-width:0}.detail-related-card__icon{width:1.65rem;height:1.65rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#e6edf8;color:var(--color-primary-strong, #2d4160);font-size:.8rem}.detail-related-card__title{flex:1;min-width:0;font-size:.9rem;font-weight:700;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-related-card__count{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--color-primary-strong, #2d4160);background:#e6edf8;border-radius:999px;padding:.12rem .5rem;flex-shrink:0;line-height:1.2}.detail-related-card__toolbar{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-shrink:0}.detail-related-card__footer{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;margin-top:auto;padding-top:.35rem}.detail-related-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;flex:1;min-height:0}.detail-related-row{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem 0;border-bottom:1px solid #f1f5f9;font-size:.8125rem;color:#334155;min-width:0}.detail-related-row:first-child{padding-top:0}.detail-related-row:last-child{border-bottom:none;padding-bottom:0}.detail-related-row--empty{justify-content:flex-start;color:#64748b;border-bottom:none}.detail-related-row--error{color:#991b1b}.detail-related-row__line{display:inline-flex;align-items:center;gap:.35rem;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-related-row__inline-icon{font-size:.72rem;color:#475569;flex:0 0 auto}.detail-related-row__leading{flex-shrink:0}.detail-related-row__body{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.detail-related-row__title{font-weight:600;color:#0f172a;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.detail-related-row__meta{color:#64748b;font-size:.72rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.detail-related-row__actions{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.detail-related-row>.btn{flex-shrink:0;margin-left:auto}.detail-related-row>.btn.btn-ghost,.detail-related-row__actions .btn.btn-ghost{border:1px solid #dbe5f1;background:#f8fafc;color:#334155;padding:.3rem .45rem;min-height:2rem}.detail-related-row>.btn.btn-ghost:hover:not(:disabled),.detail-related-row__actions .btn.btn-ghost:hover:not(:disabled){background:#eef2f7;border-color:#cbd5e1}.detail-related-row__media{width:2.35rem;height:2.35rem;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid #e2e8f0;background:#f8fafc;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font:inherit}.detail-related-row__media:disabled{cursor:default;opacity:.75}.detail-related-row__media img{width:100%;height:100%;object-fit:cover;display:block}.detail-related-row__media-icon{width:1.85rem;height:1.85rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;border:1px solid transparent;padding:0;cursor:pointer;font:inherit;background:#f8fafc;color:#475569;border-color:#e2e8f0}.detail-related-row__media-icon:disabled{cursor:default;opacity:.7}.detail-related-row__media-icon--pdf{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.detail-related-row__media-icon--image{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.detail-related-row__media-icon--spreadsheet{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.detail-related-row__media-icon--document{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.detail-related-row__media-icon--archive{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.detail-related-row__media-icon--other{background:#f8fafc;color:#475569;border-color:#e2e8f0}.detail-related-row__ext{display:inline-flex;padding:.05rem .35rem;border-radius:5px;background:#f1f5f9;color:#475569;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;margin-left:.35rem;vertical-align:middle}.detail-related-row__title-btn{display:inline-flex;align-items:center;gap:.35rem;min-width:0;max-width:100%;margin:0;padding:0;border:0;background:transparent;font:inherit;font-weight:650;color:#0f172a;cursor:pointer;text-align:left}.detail-related-row__title-btn:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.detail-related-row__title-btn:disabled{cursor:default}.detail-related-row__link{color:#2563eb;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:.35rem;cursor:pointer;font:inherit;border-radius:6px}.detail-related-row__link:hover{background:#eff6ff}.detail-related-row__link--download{color:#047857}.detail-related-row__link--download:hover{background:#ecfdf5}@media(max-width:1100px){.detail-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.detail-related-grid{grid-template-columns:1fr}}.task-ticket-detail-page.detail-page{max-width:var(--page-fluid-max-width, min(100%, 1520px))}.task-ticket-detail-page .ticket-detail-header.detail-header{align-items:stretch;margin-bottom:1.25rem;padding:1.1rem 1.2rem;gap:1rem 1.25rem;border-radius:16px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 2px #0f172a0a,0 8px 28px #0f172a0f}.task-ticket-detail-page .ticket-detail-header__main.detail-header-left{align-items:flex-start;gap:1rem 1.25rem;min-width:0}.task-ticket-detail-page .ticket-detail-header__back{flex-shrink:0;padding-top:.15rem}.task-ticket-detail-page .ticket-detail-header__hero.detail-hero{gap:.55rem;min-width:0;flex:1}.task-ticket-detail-page .ticket-detail-header__title{display:flex;align-items:flex-start;gap:.75rem;margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.25;color:#0f172a;letter-spacing:-.03em;font-weight:800}.task-ticket-detail-page .ticket-detail-header__title-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;margin-top:.08rem;border-radius:12px;background:linear-gradient(145deg,#eff6ff,#e0f2fe);border:1px solid #bfdbfe;color:#1e40af;font-size:1.1rem}.task-ticket-detail-page .ticket-detail-header__title-icon svg{display:block;opacity:.95}.task-ticket-detail-page .ticket-detail-header__title-text{min-width:0;word-break:break-word}.task-ticket-detail-page .ticket-detail-header__meta.ticket-detail-hero-meta{margin-top:0}.task-ticket-detail-page .ticket-detail-header__actions.header-actions{align-self:center;margin-left:auto;padding:.35rem .45rem;border:none;background:transparent;box-shadow:none}.task-ticket-detail-page .ticket-detail-header__actions.header-actions .btn{box-shadow:none}@media(max-width:720px){.task-ticket-detail-page .ticket-detail-header.detail-header,.task-ticket-detail-page .ticket-detail-header__main.detail-header-left{flex-direction:column;align-items:stretch}.task-ticket-detail-page .ticket-detail-header__back{padding-top:0}.task-ticket-detail-page .ticket-detail-header__actions.header-actions{margin-left:0;align-self:stretch;justify-content:flex-start;padding:0}.task-ticket-detail-page .ticket-detail-header__actions.header-actions button{width:auto;min-width:0}}.task-ticket-detail-page .detail-content{gap:1.15rem}.task-ticket-detail-page .detail-content.detail-content--overview-unified{padding:0;gap:0;background:transparent;border:none;box-shadow:none}.ticket-detail-overview{border-radius:14px;border:1px solid #e8edf4;background:#fff;box-shadow:0 1px 2px #0f172a0a,0 8px 28px #0f172a12;overflow:hidden}.ticket-detail-overview__section{padding:1.15rem 1.3rem;border-bottom:1px solid #eef2f7}.ticket-detail-overview__section:last-child{border-bottom:none}.ticket-detail-overview__heading{display:flex;align-items:center;gap:.4rem;margin:0 0 .95rem;padding-bottom:.65rem;border-bottom:1px solid #f1f5f9;font-size:1.02rem;font-weight:700;color:#1e3a5f;letter-spacing:-.01em}.ticket-detail-overview__footer-actions{margin-top:1rem;padding-top:.85rem;border-top:1px solid #f1f5f9}.ticket-linked-task__stats.detail-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem}.ticket-linked-task__block{margin-top:1rem;padding-top:1rem;border-top:1px solid #eef2f7}.ticket-linked-task__block--objective{padding:.95rem 1.05rem;border-radius:10px;background:#f8fafc;border:1px solid #e8eef4;border-top:1px solid #e8eef4}.ticket-linked-task__subheading{margin:0 0 .45rem;font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ticket-linked-task__prose{margin:0;color:#334155}.ticket-linked-task__objective-line{margin:0;font-size:.95rem;color:#0f172a;line-height:1.45}.ticket-linked-task__objective-title{font-weight:600}.ticket-linked-task__objective-meta{color:#64748b;font-weight:500}.ticket-linked-task__empty{margin:0;color:#64748b}.ticket-detail-intro--tight{margin-top:0;margin-bottom:.65rem}.ticket-execution-section__lead{max-width:min(48rem,100%);font-size:.84rem;line-height:1.45;color:#475569}.ticket-execution-kpis{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.35rem}.ticket-execution-kpi{flex:1 1 200px;min-width:0;padding:.7rem .9rem;border-radius:10px;background:#f8fafc;border:1px solid #eef2f7}.ticket-execution-kpi__label{display:block;margin-bottom:.3rem;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ticket-execution-kpi__value{margin:0;font-size:.95rem;font-weight:600;color:#0f172a;line-height:1.35}.ticket-execution-kpi__sep{font-weight:500;color:#94a3b8}.ticket-execution-kpi__meta{font-weight:500;color:#64748b;font-size:.88rem}.ticket-execution-estimates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem 1rem;padding-top:.85rem;margin-top:.35rem;border-top:1px solid #f1f5f9}@media(max-width:900px){.ticket-execution-estimates{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.ticket-execution-estimates{grid-template-columns:1fr}}.ticket-execution-estimate-row{display:flex;flex-direction:column;gap:.12rem;padding:.35rem 0;min-width:0}.ticket-execution-estimate-row__label{font-size:.8rem;font-weight:600;color:#64748b;line-height:1.3}.ticket-execution-estimate-row__value{font-size:.92rem;font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.35;word-break:break-word}.task-ticket-detail-page .detail-card{border-radius:12px;border:1px solid #e2e8f0;background:#fff;box-shadow:none}.task-ticket-detail-page .detail-card .detail-card-body{padding:1.2rem 1.25rem}.task-ticket-detail-page .detail-card h2{display:flex;align-items:center;gap:.4rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9;font-size:1.05rem;font-weight:700;color:#1e3a5f;letter-spacing:-.01em}.task-ticket-detail-page .detail-item label{text-transform:none;letter-spacing:normal;font-weight:600;color:#64748b;font-size:.875rem}.ticket-detail-hero-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem}.ticket-detail-hero-meta span{display:inline-flex;align-items:center;background:#f1f5f9;color:#475569;font-size:.81rem;font-weight:600;padding:.28rem .65rem;border-radius:999px;border:1px solid #e2e8f0;line-height:1.3;max-width:100%;white-space:normal}.ticket-detail-tabbar{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.5rem;padding:.4rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px}.ticket-detail-tab{border:1px solid transparent;background:#fff;color:#475569;border-radius:11px;padding:.5rem 1rem;min-height:44px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.ticket-detail-tab:hover:not(:disabled){border-color:#c9d9ee;background:#f8fbff;color:#0f172a}.ticket-detail-tab--active{background:#4f6fa8;color:#fff;border-color:#4f6fa8;box-shadow:0 2px 12px #4f6fa847}.ticket-detail-tab:disabled{opacity:.55;cursor:not-allowed}.ticket-detail-tab:focus-visible{outline:2px solid #4f6fa8;outline-offset:2px}.ticket-detail-intro{margin:0 0 .85rem;color:#64748b;font-size:.88rem;line-height:1.45}.ticket-detail-intro--compact-top{margin-top:0}.ticket-detail-intro--after-duration{margin-bottom:.85rem}.task-ticket-detail-page .ticket-detail-card--time{background:linear-gradient(165deg,#f8fbff,#fff 40% 100%);border-color:#cfe0f5}.task-ticket-detail-page .ticket-detail-card--time .ticket-time-card__duration-wrap{margin:0 0 .65rem;padding:1rem 1.15rem;border-radius:14px;background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid #bfdbfe;box-shadow:inset 0 1px #ffffffbf}.task-ticket-detail-page .ticket-detail-locked-hint{color:#92400e;margin-top:.5rem}.task-ticket-detail-page .ticket-detail-duration--running{color:#15803d}.task-ticket-detail-page .ticket-detail-card--time .ticket-detail-duration{margin:0 0 .35rem;font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:800;color:#0c4a6e;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15}.task-ticket-detail-page .ticket-time-card__duration-caption{margin:0;font-size:.78rem;font-weight:700;color:#0369a1;letter-spacing:.04em;text-transform:uppercase}.task-ticket-detail-page .ticket-detail-card--time .ticket-detail-intro--after-duration{margin-top:.1rem;margin-bottom:.45rem}.ticket-detail-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.task-ticket-detail-page .ticket-detail-card--time .ticket-detail-actions{margin-top:.85rem;padding-top:1rem;border-top:1px solid #e8edf4}@media(max-width:640px){.task-ticket-detail-page .ticket-detail-card--time .ticket-detail-actions{display:grid;grid-template-columns:1fr 1fr}.task-ticket-detail-page .ticket-detail-card--time .ticket-detail-actions>*{width:100%;min-height:2.75rem}}.ticket-detail-session-open{margin:.85rem 0 0;font-size:.88rem;color:#14532d;padding:.65rem .85rem;background:linear-gradient(180deg,#ecfdf5,#f0fdf4);border:1px solid #86efac;border-radius:12px;line-height:1.45}.ticket-detail-alert{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:12px;padding:.75rem 1rem;margin-bottom:.9rem;font-size:.9rem}.ticket-detail-form-panel{border:1px solid #e2e8f0;border-radius:12px;padding:.95rem 1rem;background:linear-gradient(180deg,#fbfcfe,#f5f8fc);box-shadow:inset 0 1px #ffffffd9;margin-bottom:1rem}.ticket-detail-form-panel+.ticket-detail-form-panel{margin-top:.85rem}.ticket-detail-embedded-form .form-field,.ticket-detail-embedded-form .checkbox-field{margin-bottom:0}.ticket-detail-comment-form{display:flex;flex-direction:column;gap:0}.task-ticket-detail-page .form-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:1rem;justify-content:flex-end;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}.task-ticket-detail-page .form-actions button,.task-ticket-detail-page .form-actions .btn{flex:0 0 auto;width:auto}@media(max-width:640px){.task-ticket-detail-page .form-actions{flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.task-ticket-detail-page .form-actions button,.task-ticket-detail-page .form-actions .btn{flex:0 0 auto;width:auto}}.ticket-detail-resource-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}@media(min-width:520px){.ticket-detail-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.ticket-detail-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.ticket-detail-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ticket-detail-resource-grid .ticket-detail-resource-name,.ticket-detail-resource-form-actions{grid-column:1 / -1}.related-list.ticket-detail-list-below-form{margin-top:0}.ticket-detail-attachment-list .ticket-detail-attachment-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem;padding:.65rem .5rem;border-bottom:1px solid #eef2f7}.ticket-detail-attachment-list .ticket-detail-attachment-row:last-child{border-bottom:none}.ticket-detail-attachment-main{flex:1;min-width:0}.ticket-detail-attachment-name{display:block;font-weight:600;color:#0f172a;font-size:.92rem;word-break:break-word}.ticket-detail-attachment-meta{display:block;margin-top:.2rem}.ticket-detail-attachment-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;flex-shrink:0}.ticket-detail-attachment-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.82rem;font-weight:600;color:#334155;background:#fff;border:1px solid #dbe5f1;border-radius:8px;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.ticket-detail-attachment-btn:hover{background:#f8fbff;border-color:#4f6fa8;color:#0f172a}.ticket-detail-attachment-btn--primary{color:#1e3a5f;border-color:#c9d9ee;background:#f0f5fc}.ticket-detail-attachment-btn--primary:hover{background:#e8f0fc;border-color:#4f6fa8}.ticket-detail-stock-table-wrap{width:100%;overflow-x:auto;margin-bottom:.25rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.ticket-detail-stock-table{width:100%;border-collapse:collapse;font-size:.88rem}.ticket-detail-stock-table thead th{text-align:left;padding:.5rem .65rem;background:#f1f5f9;color:#475569;font-weight:700;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ticket-detail-stock-table tbody td{padding:.45rem .65rem;border-bottom:1px solid #eef2f7;vertical-align:middle}.ticket-detail-stock-table tbody tr:last-child td{border-bottom:none}.ticket-detail-stock-table-num{text-align:right;font-variant-numeric:tabular-nums}.ticket-detail-stock-row{cursor:pointer;outline:none}.ticket-detail-stock-row:focus-visible{box-shadow:inset 0 0 0 2px #4f6fa8}.ticket-detail-stock-row:hover{background:#f8fbff}.ticket-detail-stock-row--selected{background:#eff6ff}.ticket-detail-stock-row--selected td{font-weight:600;color:#0f172a}.ticket-detail-mutable-row{display:flex;flex-direction:column;gap:.5rem}.ticket-detail-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.ticket-detail-inline-edit{width:100%;display:flex;flex-direction:column;gap:.65rem}.schedule-gantt{display:flex;flex-direction:column;gap:.65rem}.schedule-gantt__empty{margin:0;color:#64748b;font-size:.9rem}.schedule-gantt__legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;font-size:.78rem;color:#475569}.schedule-gantt__swatch{width:.85rem;height:.55rem;border-radius:2px;display:inline-block;margin-right:.3rem;vertical-align:middle}.schedule-gantt__swatch.is-planned{background:#3b82f6}.schedule-gantt__swatch.is-baseline{background:#cbd5e1}.schedule-gantt__swatch.is-critical{background:#dc2626}.schedule-gantt__swatch.is-near{background:#f59e0b}.schedule-gantt__scale{display:flex;justify-content:space-between;font-size:.72rem;color:#94a3b8;padding-left:11.5rem}.schedule-gantt__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:28rem;overflow:auto}.schedule-gantt__row{display:grid;grid-template-columns:11rem 1fr;gap:.5rem;align-items:center;min-height:1.85rem}.schedule-gantt__label{display:flex;flex-direction:column;gap:.05rem;min-width:0}.schedule-gantt__label strong{font-size:.8rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-gantt__label small{font-size:.68rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-gantt__track{position:relative;height:1.35rem;border-radius:4px;background:repeating-linear-gradient(90deg,#f8fafc,#f8fafc 24%,#f1f5f9 24% 25%);border:1px solid #e2e8f0}.schedule-gantt__bar{position:absolute;top:50%;transform:translateY(-50%);height:.65rem;border-radius:3px;min-width:4px}.schedule-gantt__bar.is-baseline{height:.95rem;background:#cbd5e1;opacity:.85;z-index:1}.schedule-gantt__bar.is-planned{background:#3b82f6;z-index:2}.schedule-gantt__bar.is-planned.is-critical{background:#dc2626}.schedule-gantt__bar.is-planned.is-near{background:#f59e0b}@media(max-width:720px){.schedule-gantt__row{grid-template-columns:1fr}.schedule-gantt__scale{padding-left:0}}.project-schedule-form-page .form-section-fields,.project-schedule-form-page .form-section--grid .form-section-fields{gap:1rem 1.25rem}@media(min-width:900px){.project-schedule-form-page .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.75rem;align-items:start}.project-schedule-form-page .form-fields>.form-section:nth-child(1){grid-column:1 / -1}.project-schedule-form-page .form-section-fields,.project-schedule-form-page .form-section--grid .form-section-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.project-schedule-form-page .form-fields>.form-section:nth-child(1) .form-section-fields,.project-schedule-form-page .form-fields>.form-section:nth-child(1).form-section--grid .form-section-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:899px){.project-schedule-form-page .form-fields{display:flex;flex-direction:column;gap:1.5rem}}.schedule-phase-form-page .form-section-fields,.schedule-phase-form-page .form-section--grid .form-section-fields{gap:1rem 1.25rem}@media(min-width:900px){.schedule-phase-form-page .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.75rem;align-items:start}.schedule-phase-form-page .form-fields>.form-section:nth-child(1),.schedule-phase-form-page .form-fields>.form-section:nth-child(2),.schedule-phase-form-page .form-fields>.form-section:nth-child(5){grid-column:1 / -1}.schedule-phase-form-page .form-section-fields,.schedule-phase-form-page .form-section--grid .form-section-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.schedule-phase-form-page .form-fields>.form-section:nth-child(1) .form-section-fields,.schedule-phase-form-page .form-fields>.form-section:nth-child(1).form-section--grid .form-section-fields,.schedule-phase-form-page .form-fields>.form-section:nth-child(4) .form-section-fields,.schedule-phase-form-page .form-fields>.form-section:nth-child(4).form-section--grid .form-section-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:899px){.schedule-phase-form-page .form-fields{display:flex;flex-direction:column;gap:1.5rem}}.wh-label{position:relative;box-sizing:border-box;border:1.5px solid #0f172a;background:#fff;color:#0f172a;display:flex;flex-direction:column;overflow:hidden;page-break-inside:avoid;break-inside:avoid;flex-shrink:0}.wh-label__index{position:absolute;top:.08in;left:.1in;z-index:1;font-size:8pt;font-weight:700;color:#64748b}.wh-label__remove{position:absolute;top:.04in;right:.04in;z-index:3;width:.28in;height:.28in;border:none;border-radius:4px;background:#fee2e2;color:#b91c1c;font-size:14px;line-height:1;cursor:pointer;display:none}.wh-label:hover .wh-label__remove,.wh-label:focus-within .wh-label__remove{display:inline-flex;align-items:center;justify-content:center}.wh-label__header{flex:0 0 auto;display:flex;align-items:flex-start;gap:.1in;padding:.08in .12in .06in;border-bottom:1px solid #0f172a;background:#f8fafc;min-height:.52in;color:#0f172a}.wh-label__header-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.04in}.wh-label__name{margin:0;min-width:0;font-size:11pt;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.01em;word-break:break-word;color:inherit}.wh-label__chips{display:flex;flex-wrap:wrap;gap:.04in;align-items:center}.wh-label__chip{display:inline-flex;align-items:center;max-width:100%;padding:.01in .05in;border-radius:2px;border:1px solid currentColor;font-size:6.5pt;font-weight:700;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wh-label__chip--kind{border-width:1.5px}.wh-label__body{flex:1 1 auto;display:grid;grid-template-columns:.72in minmax(0,1fr) .95in;gap:.1in;align-items:center;padding:.1in .12in;min-height:0}.wh-label__photo{width:.72in;height:.72in;object-fit:cover;border:1px solid #94a3b8;background:#f1f5f9}.wh-label__meta{min-width:0;display:flex;flex-direction:column;gap:.05in}.wh-label__row{display:grid;gap:.02in}.wh-label__key{font-size:6.5pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569}.wh-label__val{font-size:9pt;font-weight:700;line-height:1.15;word-break:break-word}.wh-label__val--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8pt}.wh-label__qr{display:flex;align-items:center;justify-content:center}.wh-label__qr-frame{position:relative;width:.9in;height:.9in;border:1px solid #cbd5e1;background:#fff;flex-shrink:0}.wh-label__qr-code{width:100%;height:100%;object-fit:contain;display:block}.wh-label__qr-logo{position:absolute;top:50%;left:50%;width:22%;height:22%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#fff;border-radius:3px;box-shadow:0 0 0 1.5px #fff;overflow:hidden;pointer-events:none}.wh-label__qr-logo img{width:86%;height:86%;object-fit:contain;display:block}.wh-label__qr-missing{font-size:7pt;font-weight:700;color:#94a3b8;text-align:center}@media(max-width:860px){.wh-label{width:100%!important;max-width:4in;height:auto!important;min-height:2in}.wh-label__remove{display:inline-flex;align-items:center;justify-content:center}}.product-label-modal-overlay{position:fixed;inset:0;z-index:10000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem}.product-label-modal{width:min(560px,96vw);background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;outline:none}.product-label-modal__header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e5e7eb}.product-label-modal__header h2{margin:0;font-size:1.05rem;color:#0f172a}.product-label-modal__header p{margin:.25rem 0 0;font-size:.85rem;color:#64748b}.product-label-modal__close{border:none;background:transparent;cursor:pointer;font-size:1.1rem;color:#64748b}.product-label-modal__preview{padding:1rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;background:#e8eef5}.product-label-modal__spec{margin:0;align-self:stretch;font-size:.78rem;color:#475569;font-weight:600}.product-label-card{display:grid;grid-template-columns:1fr 120px;gap:.85rem;border:1px solid #dbe2ea;border-radius:10px;padding:.9rem;background:#f8fafc}.product-label-card__main{display:flex;gap:.75rem;min-width:0}.product-label-card__photo{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid #e2e8f0;background:#fff;flex-shrink:0}.product-label-card__name{margin:0;font-size:1.05rem;line-height:1.25;color:#0f172a;word-break:break-word}.product-label-card__sku{margin:.25rem 0 0;font-size:.8rem;color:#64748b}.product-label-card__uom{display:inline-block;margin-top:.45rem;padding:.2rem .55rem;border-radius:999px;background:#3b82f61f;color:#1d4ed8;font-size:.78rem;font-weight:700}.product-label-card__qr{display:flex;align-items:center;justify-content:center}.product-label-card__qr img{width:112px;height:112px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.product-label-card__qr p{margin:0;font-size:.8rem;color:#94a3b8;text-align:center}.product-label-modal__actions{display:flex;flex-wrap:wrap;gap:.55rem;padding:0 1.1rem 1.1rem}.product-label-modal__queue-msg{margin:0 1.1rem .85rem;padding:.55rem .75rem;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-size:.88rem}.product-label-modal__queue-msg a{color:#1d4ed8;font-weight:700}@media(max-width:560px){.product-label-card{grid-template-columns:1fr}}.inventory-scan-page .inventory-scan-card{display:grid;gap:1rem}.inventory-scan-card__top{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start}.inventory-scan-card__photo{flex:0 0 180px;max-width:100%}.inventory-scan-card__photo img{width:100%;max-width:180px;height:140px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;display:block}.inventory-scan-card__qr-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.55rem}.inventory-scan-card__qr{flex:0 0 auto}.inventory-scan-card__qr img{width:120px;height:120px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;display:block}.inventory-scan-card__meta{flex:1 1 220px;min-width:0}.inventory-scan-card__meta .detail-grid{width:100%}.inventory-scan-card__meta .detail-item p,.inventory-scan-card__meta .detail-item__value{overflow-wrap:anywhere;word-break:break-word}.inventory-scan-actions{display:flex;flex-wrap:wrap;gap:.5rem}.inventory-scan-list{display:flex;flex-direction:column;gap:.75rem}.inventory-scan-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc)}.inventory-scan-list__item--link{text-decoration:none;color:inherit;cursor:pointer}.inventory-scan-list__item--link:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0d}.inventory-scan-list__title{margin:0;font-size:.98rem;font-weight:600;color:#0f172a}.inventory-scan-list__meta{margin:.35rem 0 0;color:#64748b;font-size:.85rem;line-height:1.4}.inventory-scan-list__qty{font-weight:700;font-size:1.05rem;color:#0f172a;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.inventory-scan-list__metrics{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;min-width:6.5rem;text-align:right;font-variant-numeric:tabular-nums}.inventory-scan-list__metric{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem}.inventory-scan-list__metric-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;line-height:1.2}.inventory-scan-list__metric-value{font-size:.98rem;font-weight:700;color:#0f172a;line-height:1.25;white-space:nowrap}.inventory-scan-list__metric-value--muted{font-size:.88rem;font-weight:600;color:#334155}.inventory-scan-list__metric-value--up,.inventory-scan-list__metric-value--down{display:inline-flex;align-items:center;gap:.28rem}.inventory-scan-list__metric-value--up{color:#b91c1c}.inventory-scan-list__metric-value--down{color:#15803d}.inventory-scan-list__price-icon{flex-shrink:0;width:.7rem;height:.7rem}.inventory-scan-context-banner{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:.92rem}.inventory-scan-description{margin:1rem 0 0;color:#475569;font-size:.9rem;line-height:1.45}.inventory-scan-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.inventory-scan-kpi{padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc)}.inventory-scan-kpi__label{display:block;font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.inventory-scan-kpi__value{margin:.35rem 0 0;font-size:1.35rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.inventory-scan-kpi__value--sm{font-size:1.05rem}.inventory-scan-kpi__value--up{color:#b91c1c}.inventory-scan-kpi__value--down{color:#15803d}.inventory-scan-stale-control{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-bottom:.85rem}.inventory-scan-stale-control label{font-size:.82rem;font-weight:600;color:#475569}.inventory-scan-stale-control select{min-width:8rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:.9rem;font-weight:600;padding:.35rem .55rem}.inventory-scan-bins{display:flex;flex-wrap:wrap;gap:.45rem}.inventory-scan-bin{display:inline-flex;align-items:center;justify-content:center;min-width:4.5rem;padding:.35rem .55rem;border-radius:8px;border:1px dashed #94a3b8;background:#f8fafc;color:#334155;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.inventory-scan-bin--empty{border-color:#86efac;background:#f0fdf4;color:#166534}.inventory-scan-list__delta{font-size:.78rem;font-weight:700;opacity:.9}.inventory-scan-list__title a,.inventory-scan-list__meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}.inventory-scan-list__title a:hover,.inventory-scan-list__meta a:hover{color:#0f172a}.inventory-product-name-link{border:none;background:none;padding:0;margin:0;color:#1d4ed8;font:inherit;font-weight:600;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.inventory-product-name-link:hover{color:#1e3a8a}.work-schedule-field{margin:0}.work-schedule-field__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.25rem}.work-schedule-field__header .form-label{margin:0}.work-schedule-field__actions{display:flex;flex-wrap:wrap;gap:.4rem}.work-schedule-field__btn{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:8px;padding:.3rem .65rem;font-size:.8rem;font-weight:600;cursor:pointer}.work-schedule-field__btn:hover{background:#f1f5f9;border-color:#94a3b8}.work-schedule-field__help{margin:0 0 .65rem;color:#64748b;font-size:.82rem}.work-schedule-field__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.work-schedule-field__cols-head{display:none}.work-schedule-field__row{display:grid;grid-template-columns:minmax(7.5rem,1.1fr) minmax(5.5rem,1fr) minmax(5.5rem,1fr);align-items:center;gap:.4rem .5rem}.work-schedule-field__day{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;color:#0f172a;min-width:0}.work-schedule-field__day span{white-space:nowrap}.work-schedule-field__row .form-input{min-width:0;padding:.35rem .4rem;font-size:.88rem}.work-schedule-field__row .form-input:disabled{opacity:.45;background:#eef2f7}@media(max-width:900px){.work-schedule-field__grid{grid-template-columns:1fr}}@media(max-width:520px){.work-schedule-field__row{grid-template-columns:1fr 1fr}.work-schedule-field__day{grid-column:1 / -1}}.po-lines-editor{margin:0;padding:0}.po-lines-editor:not(.po-lines-editor--embedded){margin:0 0 1.25rem;padding:1rem 0 0;border-top:1px solid #e5e7eb}.po-lines-editor--embedded .po-lines-editor__header{margin-bottom:.85rem}.po-lines-editor__header{display:flex;align-items:flex-start;justify-content:flex-end;gap:1rem;margin-bottom:1rem}.po-lines-editor:not(.po-lines-editor--embedded) .po-lines-editor__header{justify-content:space-between}.po-lines-editor__header .form-section-title{margin-bottom:.25rem}.po-lines-editor__rows{display:flex;flex-direction:column;gap:.85rem}.po-lines-editor__row{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(6rem,.7fr) minmax(7rem,.9fr) minmax(8rem,.9fr) auto;gap:.75rem 1rem;align-items:end}.po-lines-editor__row--no-cost{grid-template-columns:minmax(12rem,2fr) minmax(6rem,.7fr) minmax(8rem,.9fr) auto}.po-lines-editor__row--purpose{grid-template-columns:minmax(12rem,1.6fr) minmax(5rem,.6fr) minmax(6rem,.8fr) minmax(7rem,.8fr) minmax(10rem,1.2fr) auto}.po-lines-editor__row--purpose.po-lines-editor__row--no-cost{grid-template-columns:minmax(12rem,1.6fr) minmax(5rem,.6fr) minmax(7rem,.8fr) minmax(10rem,1.2fr) auto}.po-lines-editor__bin{grid-column:1 / -2;display:grid;grid-template-columns:repeat(4,minmax(5rem,1fr));gap:.75rem 1rem}.po-lines-editor__field{min-width:0}.po-lines-editor__actions{display:flex;align-items:center;padding-bottom:.15rem}@media(max-width:900px){.po-lines-editor__row,.po-lines-editor__row--no-cost,.po-lines-editor__row--purpose,.po-lines-editor__row--purpose.po-lines-editor__row--no-cost{grid-template-columns:1fr 1fr}.po-lines-editor__field--product,.po-lines-editor__field--target,.po-lines-editor__bin{grid-column:1 / -1}.po-lines-editor__bin{grid-template-columns:1fr 1fr}.po-lines-editor__actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:720px){.po-lines-editor__header{flex-direction:column;align-items:stretch}}.gr-lines-editor{width:100%}.gr-lines-editor--embedded{margin:0}.gr-lines-editor__empty{margin:0;padding:.85rem 1rem;border:1px dashed #cbd5e1;border-radius:.55rem;background:#f8fafc;color:#475569;font-size:.875rem}.gr-lines-editor__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.gr-lines-editor__legend-text{margin:0;max-width:48rem;color:#64748b;font-size:.8rem;line-height:1.4}.gr-lines-editor__legend-text strong{color:#334155}.gr-lines-editor__summary{flex-shrink:0;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.75rem;font-weight:700;white-space:nowrap}.gr-lines-editor__table{border:1px solid #e2e8f0;border-radius:.65rem;overflow:hidden;background:#fff}.gr-lines-editor__thead,.gr-lines-editor__row{display:grid;grid-template-columns:2rem minmax(8rem,1.6fr) 3.5rem 4.75rem 5.75rem 7.5rem 4.75rem;gap:.45rem .55rem;align-items:center;padding:.5rem .65rem}.gr-lines-editor__thead{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.gr-lines-editor__row-wrap{border-bottom:1px solid #f1f5f9}.gr-lines-editor__row-wrap:last-child{border-bottom:0}.gr-lines-editor__row-wrap.is-skipped{opacity:.55;background:#f8fafc}.gr-lines-editor__row-wrap.is-damaged{background:#fffaf5}.gr-lines-editor__row-wrap.is-damaged .gr-lines-editor__row{border-left:3px solid #fb923c;padding-left:calc(.65rem - 3px)}.gr-lines-editor__row-wrap.is-split{background:#f8fafc}.gr-lines-editor__row-wrap.is-split.is-damaged{background:#fffaf5}.gr-lines-editor__split-badge{display:inline-flex;margin-top:.2rem;padding:.1rem .45rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.68rem;font-weight:700;width:fit-content}.gr-lines-editor__split-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;padding:0 .65rem .55rem 2.65rem}.gr-lines-editor__split-btn{border:1px solid #94a3b8;border-radius:.4rem;background:#fff;color:#334155;font-size:.75rem;font-weight:650;padding:.28rem .6rem;cursor:pointer}.gr-lines-editor__split-btn:hover:not(:disabled){border-color:#64748b;background:#f8fafc}.gr-lines-editor__split-btn:disabled{opacity:.5;cursor:not-allowed}.gr-lines-editor__split-btn--remove{border-color:#fdba74;color:#9a3412}.gr-lines-editor__split-hint{color:#64748b;font-size:.72rem;line-height:1.35}.gr-lines-editor__split-warn{margin:0;padding:.35rem .65rem .45rem 2.65rem;color:#b91c1c;font-size:.78rem;font-weight:600}.gr-lines-editor__col-check,.gr-lines-editor__col-product,.gr-lines-editor__col-meta,.gr-lines-editor__col-qty,.gr-lines-editor__col-price,.gr-lines-editor__col-cond,.gr-lines-editor__col-total{min-height:2.25rem;display:flex;align-items:center}.gr-lines-editor__col-check{justify-content:center;margin:0}.gr-lines-editor__col-check input{width:1rem;height:1rem;accent-color:#2563eb}.gr-lines-editor__col-product{min-width:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:.05rem}.gr-lines-editor__product{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:#0f172a;font-size:.9rem;font-weight:700;line-height:1.2}.gr-lines-editor__sku{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:#94a3b8;font-size:.72rem}.gr-lines-editor__col-meta{flex-direction:column;justify-content:center;align-items:center;gap:.05rem;text-align:center}.gr-lines-editor__open{color:#1d4ed8;font-size:.9rem;font-weight:750;line-height:1.1}.gr-lines-editor__meta-sub{color:#94a3b8;font-size:.65rem;font-weight:600;line-height:1}.gr-lines-editor__col-qty .form-field,.gr-lines-editor__col-price .form-field{margin:0;padding:0;gap:0;width:100%;display:block}.gr-lines-editor__col-qty .form-input,.gr-lines-editor__col-price .form-input,.gr-lines-editor__col-qty input,.gr-lines-editor__col-price input{box-sizing:border-box;width:100%;height:2.25rem;min-height:2.25rem;padding:0 .45rem;font-size:.85rem;line-height:1.2}.gr-lines-editor__col-cond{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.2rem;width:100%;height:2.25rem;min-height:2.25rem;padding:.15rem;border:1px solid #e2e8f0;border-radius:.4rem;background:#f8fafc}.gr-lines-editor__condition-btn{height:100%;min-height:0;border:0;border-radius:.3rem;background:transparent;color:#64748b;font-size:.72rem;font-weight:750;cursor:pointer;padding:0 .2rem;line-height:1}.gr-lines-editor__condition-btn:disabled{opacity:.5;cursor:not-allowed}.gr-lines-editor__condition-btn.is-active.is-ok{background:#dcfce7;color:#166534;box-shadow:inset 0 0 0 1px #86efac}.gr-lines-editor__condition-btn.is-active.is-broken{background:#ffedd5;color:#9a3412;box-shadow:inset 0 0 0 1px #fdba74}.gr-lines-editor__col-total{flex-direction:column;justify-content:center;align-items:flex-end;gap:.05rem;text-align:right}.gr-lines-editor__col-total strong{color:#0f172a;font-size:.88rem;font-weight:750;line-height:1.1}.gr-lines-editor__total-hint{color:#94a3b8;font-size:.65rem;font-weight:500;line-height:1}.gr-lines-editor__tracking{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem .75rem;padding:0 .65rem .7rem 2.6rem}.gr-lines-editor__tracking-field{display:grid;gap:.25rem;margin:0;font-size:.68rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.03em}.gr-lines-editor__tracking-field .form-field{margin:0;padding:0;gap:0;display:block}.gr-lines-editor__tracking-field .form-input,.gr-lines-editor__tracking-field input{box-sizing:border-box;height:2.25rem;min-height:2.25rem;padding:0 .45rem;font-size:.85rem;font-weight:500;text-transform:none;letter-spacing:normal}.gr-lines-editor__tracking-hint{margin:0;font-size:.72rem;font-weight:500;font-style:normal;color:#64748b;text-transform:none;letter-spacing:normal;line-height:1.35}.gr-lines-editor__damage{display:grid;gap:.55rem;padding:0 .65rem .7rem 2.6rem}.gr-lines-editor__damage-banner{margin:0;padding:.4rem .6rem;border-radius:.4rem;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.75rem;font-weight:600;line-height:1.35}.gr-lines-editor__damage-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:.65rem}.gr-lines-editor__damage-field{display:grid;gap:.3rem;align-content:start;font-size:.68rem;font-weight:700;color:#9a3412;text-transform:uppercase;letter-spacing:.03em}.gr-lines-editor__damage-field textarea{width:100%;min-height:3.5rem;padding:.5rem .6rem;border:1px solid #fdba74;border-radius:.4rem;background:#fff;color:#0f172a;font-size:.85rem;font-weight:400;text-transform:none;letter-spacing:normal;resize:vertical;line-height:1.35}.gr-lines-editor__upload{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .7rem;border:1px dashed #fb923c;border-radius:.4rem;background:#fff;color:#c2410c;font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:normal;cursor:pointer;width:fit-content}.gr-lines-editor__upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.gr-lines-editor__damage-hint{margin:0;color:#c2410c;font-size:.75rem;font-weight:500;text-transform:none;letter-spacing:normal}.gr-lines-editor__photos{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.4rem}.gr-lines-editor__photo{position:relative;border:1px solid #fed7aa;border-radius:.35rem;overflow:hidden;background:#fff}.gr-lines-editor__photo-img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.gr-lines-editor__photo-fallback{display:block;padding:.4rem;font-size:.65rem;color:#64748b;word-break:break-all}.gr-lines-editor__photo-remove{width:100%;border:0;border-top:1px solid #fed7aa;background:#fff7ed;color:#c2410c;font-size:.68rem;font-weight:700;cursor:pointer;padding:.25rem}.gr-lines-editor__photo-remove:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.gr-lines-editor__thead{display:none}.gr-lines-editor__row{grid-template-columns:2rem minmax(0,1fr) 4.5rem 5.5rem;grid-template-areas:"check product product product" "check meta qty price" "check cond cond total"}.gr-lines-editor__col-check{grid-area:check}.gr-lines-editor__col-product{grid-area:product}.gr-lines-editor__col-meta{grid-area:meta;align-items:flex-start}.gr-lines-editor__col-qty{grid-area:qty}.gr-lines-editor__col-price{grid-area:price}.gr-lines-editor__col-cond{grid-area:cond}.gr-lines-editor__col-total{grid-area:total}.gr-lines-editor__damage,.gr-lines-editor__tracking{padding-left:.65rem}.gr-lines-editor__damage-grid{grid-template-columns:1fr}}@media(max-width:560px){.gr-lines-editor__header{flex-direction:column}.gr-lines-editor__row{grid-template-columns:2rem 1fr;grid-template-areas:"check product" "check meta" "check qty" "check price" "check cond" "check total"}}.vr-q-lines{--vr-ink: #0f172a;--vr-muted: #334155;--vr-soft: #64748b;--vr-border: #cbd5e1;--vr-surface: #ffffff;--vr-hold: #9a3412;--vr-hold-bg: #fff7ed;--vr-hold-border: #fb923c;--vr-credit: #9a3412;--vr-accent: #1d4ed8;display:flex;flex-direction:column;gap:.85rem}.vr-q-lines__hint,.vr-q-lines__empty{margin:0;color:var(--vr-muted);font-size:.92rem;line-height:1.45}.vr-q-lines__filters{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--vr-border);border-radius:10px;background:#f8fafc}.vr-q-lines__filter-block{display:flex;flex-direction:column;gap:.45rem}.vr-q-lines__filter-title{display:flex;align-items:center;gap:.75rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--vr-ink)}.vr-q-lines__chips{display:flex;flex-wrap:wrap;gap:.45rem}.vr-q-lines__chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border:1px solid #64748b;border-radius:999px;background:#fff;color:var(--vr-ink);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.vr-q-lines__chip.is-on{border-color:#c2410c;background:var(--vr-hold-bg);color:var(--vr-hold);box-shadow:inset 0 0 0 1px #fb923c}.vr-q-lines__chip:disabled{opacity:.55;cursor:not-allowed}.vr-q-lines__scope{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;padding:.75rem .9rem;border:1px solid var(--vr-border);border-radius:10px;background:#f8fafc}.vr-q-lines__scope-label{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--vr-soft)}.vr-q-lines__scope-hint{color:var(--vr-muted);font-size:.84rem}.vr-q-lines__package-meta{margin-left:.45rem;color:#7c2d12;font-size:.8rem;font-weight:600}.vr-q-lines__linkish{border:0;background:transparent;color:var(--vr-accent);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0;padding:0}.vr-q-lines__linkish:disabled{opacity:.5;cursor:not-allowed}.vr-q-lines__toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.vr-q-lines__package-total{margin-left:auto;padding:.45rem .75rem;border-radius:8px;background:var(--vr-hold-bg);border:1px solid var(--vr-hold-border);color:var(--vr-credit);font-size:1rem}.vr-q-lines__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.vr-q-lines__card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid var(--vr-hold-border);border-radius:12px;background:linear-gradient(180deg,#fffaf5,#fff 42%);box-shadow:0 1px 2px #0f172a0a}.vr-q-lines__card.is-excluded{opacity:.58;filter:grayscale(.15);border-color:#cbd5e1;background:#f8fafc}.vr-q-lines__media{display:flex;flex-direction:column;gap:.55rem;align-items:center}.vr-q-lines__product-photo{width:112px;height:112px;border-radius:10px;border:1px solid #94a3b8;object-fit:cover;background:#e2e8f0}.vr-q-lines__include{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;color:var(--vr-ink)}.vr-q-lines__main{display:flex;flex-direction:column;gap:.65rem;min-width:0}.vr-q-lines__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.vr-q-lines__product-name{margin:0;color:var(--vr-ink);font-size:1.05rem;font-weight:800;line-height:1.25}.vr-q-lines__sku{margin:.15rem 0 0;color:var(--vr-muted);font-size:.86rem;font-weight:600}.vr-q-lines__hold-badge{flex-shrink:0;padding:.28rem .55rem;border-radius:999px;background:#9a3412;color:#fff7ed;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vr-q-lines__meta-row{display:flex;flex-wrap:wrap;gap:.4rem}.vr-q-lines__pill{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:6px;border:1px solid #94a3b8;background:#f1f5f9;color:var(--vr-ink);font-size:.8rem;font-weight:650}.vr-q-lines__pill--bin{border-color:var(--vr-hold-border);background:var(--vr-hold-bg);color:var(--vr-hold)}.vr-q-lines__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.vr-q-lines__stat{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border:1px solid var(--vr-border);border-radius:8px;background:#fff}.vr-q-lines__stat--credit{border-color:var(--vr-hold-border);background:var(--vr-hold-bg)}.vr-q-lines__stat-label{color:var(--vr-soft);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vr-q-lines__stat strong{color:var(--vr-ink);font-size:.98rem}.vr-q-lines__stat--credit strong{color:var(--vr-credit)}.vr-q-lines__qty{max-width:11rem}.vr-q-lines__notes{margin:0;padding:.65rem .75rem;border-radius:8px;border:1px solid #fdba74;background:#fff7ed;color:#7c2d12;font-size:.88rem;line-height:1.4}.vr-q-lines__notes-label{display:block;margin-bottom:.2rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#9a3412}.vr-q-lines__evidence{display:flex;flex-direction:column;gap:.45rem}.vr-q-lines__evidence-title{margin:0;color:var(--vr-ink);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vr-q-lines__evidence-empty{margin:0;color:var(--vr-muted);font-size:.86rem}.vr-q-lines__evidence-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.vr-q-lines__evidence-item{margin:0}.vr-q-lines__evidence-link{display:block;border-radius:8px;overflow:hidden;border:2px solid #ea580c;background:#fff}.vr-q-lines__evidence-photo{display:block;width:72px;height:72px;object-fit:cover}@media(max-width:900px){.vr-q-lines__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.vr-q-lines__card{grid-template-columns:1fr}.vr-q-lines__media{flex-direction:row;justify-content:flex-start}.vr-q-lines__product-photo{width:88px;height:88px}.vr-q-lines__package-total{margin-left:0;width:100%}}.po-submit-intent{display:flex;flex-direction:column;gap:.65rem;width:100%}.po-submit-intent__option{display:flex;gap:.75rem;align-items:flex-start;width:100%;margin:0;padding:.75rem .85rem;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:#0f172a;text-align:left;cursor:pointer;font:inherit}.po-submit-intent__option:hover{border-color:#94a3b8;background:#f8fafc}.po-submit-intent__option.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}.po-submit-intent__radio{margin-top:.2rem;flex-shrink:0;accent-color:#2563eb}.po-submit-intent__copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.po-submit-intent__title{margin:0;color:#0f172a;font-size:.95rem;font-weight:700;line-height:1.35}.po-submit-intent__hint{margin:0;color:#475569;font-size:.875rem;font-weight:400;line-height:1.4}.gr-putaway-hint{margin:0 0 .85rem;color:#475569;font-size:.9rem;line-height:1.4}.gr-putaway-list{display:grid;gap:.75rem}.gr-putaway-card{display:grid;grid-template-columns:88px minmax(0,1.4fr) auto minmax(120px,1fr) 88px auto;gap:.85rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem .85rem;background:#fff}.gr-putaway-card--damaged{background:#fff7ed;border-color:#fdba74}.gr-putaway-card--done{background:#f8fafc}.gr-putaway-photo,.gr-putaway-photo-empty{width:88px;height:88px;border-radius:8px;border:1px solid #cbd5e1;object-fit:cover;background:#f1f5f9}.gr-putaway-photo-empty{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.72rem;text-align:center;padding:.35rem;border-style:dashed}.gr-putaway-product{font-weight:700;color:#0f172a;font-size:1rem;line-height:1.25}.gr-putaway-meta{margin-top:.2rem;color:#64748b;font-size:.82rem}.gr-putaway-qty-block,.gr-putaway-loc-block{min-width:0}.gr-putaway-label{margin:0;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.gr-putaway-qty{margin:.1rem 0 0;font-weight:800;font-size:1.65rem;line-height:1;color:#0f172a}.gr-putaway-loc{margin:.1rem 0 0;font-size:1.25rem;font-weight:800;letter-spacing:.03em;color:#047857;line-height:1.15;word-break:break-word}.gr-putaway-loc--hold{color:#c2410c}.gr-putaway-loc--empty{color:#b45309;font-size:.95rem}.gr-putaway-bin{margin-top:.15rem;color:#475569;font-size:.8rem}.gr-putaway-qr{width:88px;text-align:center}.gr-putaway-qr img{width:80px;height:80px;display:block;margin:0 auto;border-radius:4px;background:#fff}.gr-putaway-qr-empty{width:80px;height:80px;margin:0 auto;border:1px dashed #cbd5e1;border-radius:4px;color:#94a3b8;font-size:.68rem;display:flex;align-items:center;justify-content:center}.gr-putaway-qr-cap{margin:.2rem 0 0;font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.gr-putaway-status{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2}.gr-putaway-status--pending{color:#b45309;border:1px solid #f59e0b33;background:#f59e0b14}.gr-putaway-status--hold{color:#c2410c;border:1px solid #ea580c33;background:#ea580c14}.gr-putaway-status--done{color:#047857;border:1px solid #10b98133;background:#10b98114}.gr-putaway-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;min-width:8.5rem}@media(max-width:960px){.gr-putaway-card{grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"photo product qty" "photo loc loc" "qr actions actions"}.gr-putaway-card>:nth-child(1){grid-area:photo}.gr-putaway-card>:nth-child(2){grid-area:product}.gr-putaway-card>:nth-child(3){grid-area:qty}.gr-putaway-card>:nth-child(4){grid-area:loc}.gr-putaway-card>:nth-child(5){grid-area:qr}.gr-putaway-card>:nth-child(6){grid-area:actions;justify-self:end}.gr-putaway-photo,.gr-putaway-photo-empty{width:72px;height:72px}.gr-putaway-qr img,.gr-putaway-qr-empty{width:64px;height:64px}}.label-queue-page{--lq-ink: #0f172a;--lq-muted: #64748b;--lq-line: #dbe3ee;--lq-paper: #ffffff;--lq-stage: #e8eef5;--lq-accent: #1d4ed8;--lq-accent-soft: rgba(29, 78, 216, .1);--lq-page-bg: #f4f7fb;--lq-gutter: clamp(1rem, 2.5vw, 2rem);--lq-max: 100%;margin-inline:calc(-1 * var(--layout-content-padding-x, 1.5rem));width:calc(100% + (2 * var(--layout-content-padding-x, 1.5rem)));max-width:none;min-height:calc(100vh - 4.5rem);padding:0 0 2.5rem;background:var(--lq-page-bg)}.label-queue-page__header{position:sticky;top:0;z-index:40;padding:.9rem var(--lq-gutter);background:var(--lq-page-bg);border-bottom:1px solid #cbd5e1;box-shadow:0 1px #f4f7fb,0 10px 18px #f4f7fb}.label-queue-page__header-inner{width:100%;max-width:var(--lq-max);margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:center}.label-queue-page__back{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--lq-line);background:#fff;color:#334155;cursor:pointer;padding:.45rem .75rem;border-radius:8px;font-size:.85rem;flex-shrink:0}.label-queue-page__back:hover{border-color:#94a3b8;color:var(--lq-ink)}.label-queue-page__eyebrow{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 .2rem;color:var(--lq-accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.label-queue-page__title-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.label-queue-page__title-block h1{margin:0;font-size:clamp(1.2rem,2vw,1.45rem);color:var(--lq-ink);line-height:1.2}.label-queue-page__count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;height:1.55rem;padding:0 .45rem;border-radius:999px;background:var(--lq-accent);color:#fff;font-size:.78rem;font-weight:700}.label-queue-page__title-block p{margin:.25rem 0 0;color:var(--lq-muted);font-size:.9rem}.label-queue-page__review-hint{margin-top:.2rem!important;color:#475569!important;font-size:.82rem!important}.label-queue-page__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.label-queue-empty{max-width:420px;margin:3.5rem auto 0;padding:2rem 1.5rem;text-align:center;background:var(--lq-paper);border:1px solid var(--lq-line);border-radius:16px;box-shadow:0 12px 28px #0f172a0f;width:calc(100% - (2 * var(--lq-gutter)))}.label-queue-empty__icon{width:3.25rem;height:3.25rem;margin:0 auto 1rem;border-radius:14px;display:grid;place-items:center;background:var(--lq-accent-soft);color:var(--lq-accent);font-size:1.35rem}.label-queue-empty h2{margin:0 0 .4rem;font-size:1.15rem;color:var(--lq-ink)}.label-queue-empty p{margin:0 0 1.15rem;color:var(--lq-muted);font-size:.92rem;line-height:1.45}.label-queue-workspace{width:100%;max-width:var(--lq-max);margin:1.25rem auto 0;padding:0 var(--lq-gutter)}.label-queue-workspace__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:.9rem}.label-queue-workspace__badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;background:#fff;border:1px solid var(--lq-line);color:#334155;font-size:.75rem;font-weight:700;letter-spacing:.02em}.label-queue-workspace__meta p{margin:0;color:var(--lq-muted);font-size:.88rem}.label-queue-stage{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.label-queue-rail{position:sticky;top:5.5rem;background:#fff;border:1px solid var(--lq-line);border-radius:14px;padding:.85rem .75rem;box-shadow:0 8px 20px #0f172a0d;max-height:calc(100vh - 8rem);overflow:auto}.label-queue-rail__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;padding:0 .2rem}.label-queue-rail__head h2{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569}.label-queue-rail__head span{display:inline-flex;min-width:1.4rem;height:1.4rem;align-items:center;justify-content:center;border-radius:999px;background:var(--lq-accent-soft);color:var(--lq-accent);font-size:.75rem;font-weight:700}.label-queue-rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.label-queue-rail__item{display:grid;grid-template-columns:4px minmax(0,1fr);gap:.55rem;align-items:stretch}.label-queue-rail__swatch{border-radius:99px;min-height:100%}.label-queue-rail__body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:start;padding:.45rem .4rem;border:1px solid #e8eef5;border-radius:10px;background:#f8fafc}.label-queue-rail__index{width:1.35rem;height:1.35rem;border-radius:6px;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:700}.label-queue-rail__copy{min-width:0}.label-queue-rail__name{margin:0;font-size:.8rem;font-weight:700;color:var(--lq-ink);line-height:1.25;text-transform:uppercase;word-break:break-word}.label-queue-rail__meta{margin:.15rem 0 0;font-size:.72rem;color:var(--lq-muted);line-height:1.3;word-break:break-word}.label-queue-rail__remove{border:none;background:transparent;color:#94a3b8;font-size:1.05rem;line-height:1;cursor:pointer;padding:0 .1rem}.label-queue-rail__remove:hover{color:#b91c1c}.label-queue-paper{position:relative;min-width:0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 40%),repeating-linear-gradient(-45deg,rgba(148,163,184,.08) 0,rgba(148,163,184,.08) 8px,transparent 8px,transparent 16px),var(--lq-stage);border:1px solid #c9d5e4;border-radius:18px;padding:clamp(1.1rem,2vw,1.75rem) clamp(1rem,3vw,2.25rem) clamp(1.25rem,2vw,1.85rem);box-shadow:inset 0 1px #ffffffb3}.label-queue-paper__edge{position:absolute;inset:.7rem;border:1px dashed rgba(100,116,139,.35);border-radius:10px;pointer-events:none}.label-queue-sheet{position:relative;z-index:1;display:grid;justify-content:center;max-width:8.5in;margin:0 auto;padding:.5in .16in;background:var(--lq-paper);border-radius:2px;box-shadow:0 1px 2px #0f172a0f,0 18px 40px #0f172a1f;overflow-x:auto}.label-queue-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--lq-line);border-radius:14px;box-shadow:0 8px 20px #0f172a0d}.label-queue-footer__copy{min-width:0}.label-queue-footer__title{margin:0;font-size:1rem;font-weight:700;color:var(--lq-ink)}.label-queue-footer__hint{margin:.2rem 0 .45rem;color:var(--lq-muted);font-size:.85rem}.label-queue-footer__size{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .65rem;font-size:.8rem;font-weight:600;color:var(--lq-ink)}.label-queue-footer__size select{max-width:16rem;padding:.35rem .5rem;border:1px solid var(--lq-line);border-radius:8px;background:#fff;font-weight:500}.label-queue-footer__link{display:inline-flex;align-items:center;gap:.4rem;color:var(--lq-accent);font-weight:600;font-size:.88rem;text-decoration:none}.label-queue-footer__link:hover{text-decoration:underline}@media(max-width:1100px){.label-queue-stage{grid-template-columns:1fr}.label-queue-rail{position:static;max-height:none}.label-queue-rail__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.55rem}}@media(max-width:860px){.label-queue-page__header-inner{grid-template-columns:1fr;align-items:start}.label-queue-page__actions{justify-content:flex-start}.label-queue-sheet{grid-template-columns:1fr!important;max-width:none;justify-items:center}}@media(max-width:640px){.label-queue-page{--lq-gutter: .9rem}.label-queue-paper{padding:.85rem .65rem 1rem}.label-queue-footer{align-items:stretch}.label-queue-footer .btn{width:100%}}@media print{.label-queue-page{background:#fff;min-height:auto;margin:0;width:auto;max-width:none;padding:0}.label-queue-page__header,.label-queue-workspace__meta,.label-queue-rail,.label-queue-footer,.label-queue-paper__edge,.wh-label__index,.wh-label__remove{display:none!important}.label-queue-stage,.label-queue-workspace,.label-queue-paper{max-width:none;margin:0;padding:0;border:none;background:transparent;box-shadow:none;border-radius:0;display:block}.label-queue-sheet{max-width:none;margin:0;padding:0;box-shadow:none;justify-content:space-between}}.inventory-count-counter-picker{display:grid;gap:.5rem;margin-bottom:1rem}.inventory-count-counter-picker__list{list-style:none;margin:0;padding:.35rem;max-height:16rem;overflow:auto;border:1px solid var(--border-color, #dbe2ea);border-radius:.5rem;background:var(--surface, #fff)}.inventory-count-counter-picker__row{display:flex;align-items:center;gap:.75rem;margin:0;padding:.55rem .65rem;border-radius:.4rem;cursor:pointer}.inventory-count-counter-picker__row:hover{background:var(--surface-muted, #f8fafc)}.inventory-count-counter-picker__row.is-selected{background:color-mix(in srgb,var(--primary, #2563eb) 8%,transparent)}.inventory-count-counter-picker__row input{flex-shrink:0;width:1rem;height:1rem;margin:0}.inventory-count-counter-picker__row .employee-inline-cell{flex:1;min-width:0}.inventory-count-counter-picker__empty{margin:0;padding:.75rem .85rem;border:1px dashed var(--border-color, #dbe2ea);border-radius:.5rem;color:var(--text-muted, #6b7280)}.inventory-count-wizard-summary{display:grid;gap:.75rem;margin:0 0 1rem}.inventory-count-wizard-summary>div{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.5rem}.inventory-count-wizard-summary dt{margin:0;font-weight:600;color:var(--text-muted, #6b7280)}.inventory-count-wizard-summary dd{margin:0}.inventory-count-wizard-location-samples{margin:0 0 1.25rem;padding-left:1.25rem;columns:2;gap:.5rem 1.5rem}.inventory-count-wizard-scope-rules{margin-top:1rem}.inventory-count-wizard-scope-rules__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-weight:600}.inventory-count-wizard-scope-rule-row{display:grid;grid-template-columns:minmax(8rem,10rem) 1fr auto;gap:.5rem;margin-bottom:.5rem}.inventory-count-session-detail .inventory-count-assign-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.inventory-count-session-detail .inventory-count-assign-row--stack{flex-direction:column;align-items:stretch}.inventory-count-session-detail .inventory-count-assign-row--stack .inventory-count-counter-picker{margin-bottom:0}.inventory-count-session-detail .inventory-count-assign-row select{min-width:16rem;min-height:6rem}.inventory-count-session-detail .inventory-count-assign-row input.form-control{min-width:14rem;min-height:auto}.inventory-count-reassign-panel{margin-top:1rem}.inventory-count-simple-list{margin:0;padding-left:1.25rem}.inventory-count-assignment-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.inventory-count-assignment-list__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.inventory-count-assignment-list__meta{color:var(--text-muted, #6b7280);font-size:.875rem}.inventory-count-field-label{display:block;margin-bottom:.35rem;font-weight:600}.inventory-count-variance-table-wrap{overflow-x:auto}.inventory-count-variance-table{width:100%;border-collapse:collapse}.inventory-count-variance-table th,.inventory-count-variance-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.inventory-count-schedule-calendar__shell{margin-top:.35rem;background:var(--ui-surface, #fff);border:1px solid var(--ui-border, #e2e8f0);border-radius:12px;padding:.85rem 1rem 1rem}.inventory-count-schedule-calendar__shell .fc{--fc-border-color: var(--ui-border, #e2e8f0);--fc-button-bg-color: var(--color-primary, #4f6fa8);--fc-button-border-color: var(--color-primary, #4f6fa8);--fc-button-hover-bg-color: var(--color-primary-hover, #3a5482);--fc-button-hover-border-color: var(--color-primary-hover, #3a5482);--fc-button-active-bg-color: var(--color-primary-strong, #2d4160);--fc-button-active-border-color: var(--color-primary-strong, #2d4160);--fc-page-bg-color: transparent;--fc-neutral-bg-color: #f8fafc;--fc-list-event-hover-bg-color: #f1f5f9;--fc-today-bg-color: rgba(79, 111, 168, .12);--fc-event-bg-color: var(--color-primary, #4f6fa8);--fc-event-border-color: transparent;--fc-event-text-color: #fff;font-family:inherit;color:var(--ui-text, #0f172a)}.inventory-count-schedule-calendar__shell .fc .fc-toolbar-title{font-size:1.15rem;font-weight:700;color:var(--ui-text, #0f172a)}.inventory-count-schedule-calendar__shell .fc .fc-col-header-cell-cushion{color:var(--color-primary-strong, #2d4160);font-weight:600}.inventory-count-schedule-calendar__shell .fc .fc-daygrid-day-number{padding:.2rem .35rem;margin:.2rem .25rem 0;font-weight:600;color:var(--ui-text-secondary, #334155)}.inventory-count-schedule-calendar__shell .fc .fc-day-other .fc-daygrid-day-number{color:var(--ui-text-muted, #64748b)}.inventory-count-schedule-calendar__shell .fc .fc-day-today{background:var(--fc-today-bg-color)!important;box-shadow:inset 0 0 0 2px #4f6fa866}.inventory-count-schedule-calendar__shell .fc .fc-day-today .fc-daygrid-day-number{background:var(--color-primary, #4f6fa8);color:#fff;border-radius:999px;min-width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.inventory-count-schedule-calendar__shell .fc .fc-button{text-transform:none;font-weight:600}.inventory-count-schedule-calendar__shell .fc .fc-list-day-cushion{background:var(--fc-neutral-bg-color);color:var(--ui-text, #0f172a)}.inventory-count-schedule-calendar__shell .fc .fc-list-event-title,.inventory-count-schedule-calendar__shell .fc .fc-list-event-time{color:var(--ui-text, #0f172a)}.inventory-count-schedule-calendar__status{margin:0 0 .65rem;color:var(--ui-text-secondary, #475569);font-size:.9rem;font-weight:500}.inventory-count-schedule-calendar__error{margin:0 0 .65rem;color:var(--ui-danger-text, #991b1b);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.55rem .75rem;font-size:.9rem}.inventory-count-schedule-calendar__hint{margin:.85rem 0 0;color:var(--ui-text-muted, #64748b);font-size:.875rem;line-height:1.4}.inventory-count-decision-toolbar{display:flex;flex-direction:column;gap:.25rem;min-width:min(100%,16rem)}.inventory-count-decision-toolbar select{min-width:14rem}.inventory-count-decision-center .btn-link{padding:0}.inventory-count-reports-page{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin-inline:auto;padding:var(--page-shell-padding-block, .375rem) var(--page-shell-padding-inline, 0) 1.5rem;box-sizing:border-box}.ic-reports-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin:0 0 1.25rem}.ic-reports-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;color:#475569}.ic-reports-filters input[type=date]{min-width:10.5rem;padding:.55rem .7rem;border:1px solid #d1d5db;border-radius:8px;font:inherit}.ic-reports-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.25rem}.ic-reports-kpi{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff;text-decoration:none;color:inherit}.ic-reports-kpi--ok{border-color:#bbf7d0;background:#f0fdf4}.ic-reports-kpi--warn{border-color:#fde68a;background:#fffbeb}.ic-reports-kpi--danger{border-color:#fecaca;background:#fef2f2}.ic-reports-kpi-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.ic-reports-kpi-value{font-size:1.45rem;font-weight:700;color:#0f172a}.ic-reports-kpi small{color:#64748b;font-size:.78rem;line-height:1.35}.ic-reports-charts,.ic-reports-panels-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.ic-reports-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.1rem}.ic-reports-panel--wide{grid-column:span 1}.ic-reports-panel h3{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:#0f172a}.ic-reports-dl{display:grid;grid-template-columns:1fr auto;gap:.55rem 1rem;margin:0}.ic-reports-dl>div{display:contents}.ic-reports-dl dt{margin:0;color:#64748b;font-size:.85rem}.ic-reports-dl dd{margin:0;text-align:right;font-weight:600;color:#0f172a}.ic-reports-table{width:100%;border-collapse:collapse;font-size:.88rem}.ic-reports-table th,.ic-reports-table td{padding:.55rem .4rem;border-bottom:1px solid #e2e8f0;text-align:left}.ic-reports-table th{color:#64748b;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.ic-reports-empty{margin:0;color:#94a3b8}.ic-reports-generated{margin:.5rem 0 0;color:#94a3b8;font-size:.8rem}@media(max-width:900px){.ic-reports-charts,.ic-reports-panels-row{grid-template-columns:1fr}}.fleet-dashboard-charts{align-items:start}.fleet-dashboard-insights{margin-top:.75rem}.fleet-dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.55rem;margin-top:.75rem}.fleet-type-select__preview{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;color:#334155;font-size:.88rem}.fleet-type-select__preview-icon{font-size:1.1rem;color:#2563eb}.fleet-type-select__legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.fleet-type-select__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.78rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.fleet-type-select__chip--active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.fleet-type-select__chip-icon{font-size:.95rem}.fleet-type-label{display:inline-flex;align-items:center;gap:.4rem}.fleet-type-label__icon{color:#2563eb;font-size:1rem}.fleet-catalog-icon-cell{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#2563eb1a;color:#1d4ed8}.fleet-color-swatch{display:inline-block;border-radius:999px;border:2px solid;box-shadow:inset 0 0 0 1px #ffffff59;flex-shrink:0}.fleet-color-swatch-row{display:inline-flex;align-items:center;gap:.6rem}.fleet-color-swatch-row__label{color:#334155;font-size:.88rem}.fleet-location-sync-actions{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0;margin:0}.fleet-location-sync-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff}.fleet-location-sync-banner p{margin:0;color:#475569;font-size:.92rem}.fleet-asset-images-field{width:100%}.fleet-asset-images-field__help{font-size:.88rem;color:#64748b;margin:0 0 1rem}.fleet-asset-images-field__grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.fleet-asset-images-field__card{width:120px;border:1px solid #d1d5db;border-radius:8px;padding:6px;background:#fff;display:flex;flex-direction:column;gap:6px}.fleet-asset-images-field__card--primary{border:2px solid #2563eb;box-shadow:0 0 0 1px #2563eb22}.fleet-asset-images-field__card--pending{border-style:dashed}.fleet-asset-images-field__thumb{width:100%;height:80px;object-fit:cover;border-radius:4px;display:block;cursor:pointer}.fleet-asset-images-field__badge{color:#2563eb;font-weight:600;font-size:.75rem;text-align:center}.fleet-asset-images-field__actions{display:flex;flex-direction:column;gap:4px}.fleet-asset-images-field__actions button{font-size:.72rem;padding:.2rem .35rem}.fleet-asset-images-field__empty{color:#64748b;font-size:.88rem}.fleet-asset-images-field__toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.fleet-asset-images-field__input{display:none}.fleet-asset-images-field__add-btn{display:inline-flex;align-items:center;gap:.4rem}.fleet-route-suggestions{margin:1.25rem 0 0;padding:1rem 1.1rem;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.fleet-route-suggestions__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.fleet-route-suggestions__title{margin:0 0 .25rem;font-size:1rem}.fleet-route-suggestions__hint,.fleet-route-suggestions__meta,.fleet-route-suggestions__empty{margin:.35rem 0 0;color:#64748b;font-size:.9rem}.fleet-route-suggestions__return{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:#334155}.fleet-route-suggestions__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}.fleet-route-suggestions__error,.fleet-route-suggestions__warning{margin:.75rem 0 0;color:#b45309;font-size:.9rem}.fleet-route-suggestions__error{color:#b91c1c}.fleet-route-suggestions__list{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.65rem}.fleet-route-suggestions__item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.fleet-route-suggestions__item-main{display:flex;flex-wrap:wrap;gap:.55rem .75rem;align-items:center}.fleet-route-suggestions__sequence{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.8rem;font-weight:700}.fleet-route-suggestions__arrow{margin:0 .35rem;color:#94a3b8}.fleet-route-suggestions__project{display:block;color:#64748b;font-size:.85rem}.fleet-route-suggestions__time{color:#475569;font-size:.85rem}.fleet-route-suggestions__item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.fleet-route-suggestions__exists,.fleet-route-suggestions__warning-inline{font-size:.8rem;color:#64748b}.fleet-route-suggestions__warning-inline{color:#b45309}.fleet-depreciation-entries{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.fleet-depreciation-entries__title{margin:0;font-size:1rem;color:#0f172a}.fleet-depreciation-entries__hint{margin:.35rem 0 0;color:#64748b;font-size:.88rem}.fleet-depreciation-entries__summary{margin:.85rem 0 0;color:#334155;font-size:.9rem}.fleet-depreciation-entries__meta,.fleet-depreciation-entries__error{margin:.75rem 0 0;font-size:.88rem}.fleet-depreciation-entries__error{color:#b91c1c}.fleet-depreciation-entries__table-wrap{margin-top:.85rem;overflow-x:auto}.fleet-depreciation-entries__table{width:100%;border-collapse:collapse;font-size:.88rem}.fleet-depreciation-entries__table th,.fleet-depreciation-entries__table td{padding:.55rem .65rem;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}.fleet-depreciation-entries__table th{color:#64748b;font-weight:600}.fleet-depreciation-entries__table td{color:#0f172a}.fleet-depreciation-entries__table tbody tr:last-child td{border-bottom:none}.fleet-inspection-photos{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.fleet-inspection-photos__title{margin:0 0 .35rem;font-size:1.05rem;color:#0f172a}.fleet-inspection-photos__hint{margin:0 0 .5rem;font-size:.88rem;color:#64748b}.fleet-inspection-photos__status{margin:0;font-size:.85rem;font-weight:600;color:#b45309}.fleet-inspection-photos__status--ok{color:#15803d}.fleet-inspection-photos__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.fleet-inspection-photos__slot{display:flex;flex-direction:column;gap:.45rem}.fleet-inspection-photos__label{font-size:.88rem;font-weight:600;color:#334155}.fleet-inspection-photos__required{color:#b91c1c;margin-left:.15rem}.fleet-inspection-photos__frame{aspect-ratio:4 / 3;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden}.fleet-inspection-photos__frame--filled{border-style:solid}.fleet-inspection-photos__image{width:100%;height:100%;object-fit:cover}.fleet-inspection-photos__placeholder{font-size:.82rem;color:#64748b;text-align:center;padding:.75rem}.fleet-inspection-photos__input{font-size:.82rem}.fleet-inspection-photos__bulk{margin-top:1rem}.fleet-work-team-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem}.fleet-work-team-pick-grid--projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.fleet-work-team-pick-empty{margin:0;padding:.75rem .85rem;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:.875rem;background:#f8fafc}.fleet-work-team-pick-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.fleet-work-team-pick-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0d}.fleet-work-team-pick-item--selected{border-color:#86b7fe;background:#f8fbff;box-shadow:0 0 0 1px #4f6fa81f}.fleet-work-team-pick-item__checkbox{flex-shrink:0;margin:0}.fleet-work-team-pick-item__thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.fleet-work-team-pick-item__thumb--round{border-radius:50%}.fleet-work-team-pick-item__text{min-width:0;display:flex;flex-direction:column;gap:.1rem}.fleet-work-team-pick-item__name{min-width:0;font-size:.875rem;font-weight:600;color:#0f172a;line-height:1.3;word-break:break-word}.fleet-work-team-pick-item__meta{display:block;font-size:.78rem;color:#64748b;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-work-team-pick-item__meta--details{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.fleet-work-team-pick-item--project{align-items:flex-start}.fleet-work-team-project-card{cursor:default}.fleet-work-team-field--error .form-label{color:#b91c1c}.fleet-work-team-field--error .form-input,.fleet-work-team-field--error select.form-input{border-color:#ef4444;box-shadow:0 0 0 1px #ef444426}.fleet-work-team-pick-grid--error{border:1px solid #ef4444;border-radius:10px;padding:.55rem;background:#fff5f5}.fleet-open-ended-date{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;font-size:1.1rem;font-weight:700;color:#0d9488}.fleet-route-recurrence-chips{display:flex;flex-wrap:wrap;gap:.4rem}.fleet-route-recurrence-chips--month{max-width:28rem}.fleet-route-recurrence-chip{min-width:2.4rem;padding:.35rem .55rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:.85rem;font-weight:600;cursor:pointer}.fleet-route-recurrence-chip:hover{border-color:#94a3b8;background:#f8fafc}.fleet-route-recurrence-chip.is-active{border-color:#0f766e;background:#ccfbf1;color:#115e59}.fleet-inspection-photo-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.fleet-inspection-photo-thumbs--compact{gap:.45rem}.fleet-inspection-photo-thumbs__item{margin:0;min-width:0}.fleet-inspection-photo-thumbs__frame{aspect-ratio:4 / 3;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center}.fleet-inspection-photo-thumbs__frame--filled{border-style:solid}.fleet-inspection-photo-thumbs__frame a{display:block;width:100%;height:100%}.fleet-inspection-photo-thumbs__image{width:100%;height:100%;object-fit:cover;display:block}.fleet-inspection-photo-thumbs__empty{color:#94a3b8;font-size:.85rem}.fleet-inspection-photo-thumbs__label{margin-top:.25rem;font-size:.72rem;color:#64748b;text-align:center;line-height:1.2}@media(max-width:720px){.fleet-inspection-photo-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}.fleet-asset-summary{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.fleet-asset-summary__photo{flex:0 0 220px;max-width:100%}.fleet-asset-summary__photo img{width:100%;max-width:220px;height:160px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;display:block;background:#f8fafc}.fleet-asset-summary__fields{flex:1 1 280px;min-width:0}.fleet-asset-images-panel{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.fleet-asset-images-panel--embedded{margin-top:0;padding-top:0;border-top:none}.fleet-related-section-toolbar{display:flex;gap:.5rem;flex-wrap:wrap}.fleet-related-list{display:flex;flex-direction:column;gap:0}.fleet-related-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:flex-start;padding:.7rem 0;border:none;border-bottom:1px solid #f1f5f9;border-radius:0;background:transparent;transition:background .15s ease}.fleet-related-item:last-child{border-bottom:none;padding-bottom:0}.fleet-related-item:first-child{padding-top:0}.fleet-related-item--with-thumb{grid-template-columns:72px minmax(0,1fr) auto;align-items:center}.fleet-related-item:hover{background:#f8fafc}.fleet-related-item--active{box-shadow:inset 3px 0 #86efac}.fleet-related-item--expiring{box-shadow:inset 3px 0 #fde68a}.fleet-related-item--expired{box-shadow:inset 3px 0 #fecaca;background:#fef2f2}.fleet-related-item--low{box-shadow:inset 3px 0 #fde68a;background:#fffbeb}.fleet-related-item__thumb img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;display:block;background:#fff}.fleet-related-item__body{min-width:0;display:flex;flex-direction:column;gap:.75rem}.fleet-related-item__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem}.fleet-related-item__title-wrap{min-width:0}.fleet-related-item__title{margin:0;font-size:.875rem;font-weight:650;color:#0f172a;line-height:1.25}.fleet-related-item__subtitle{margin:.2rem 0 0;font-size:.8125rem;color:#64748b}.fleet-related-item__badges{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.fleet-related-pill{display:inline-flex;padding:.18rem .55rem;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:600;white-space:nowrap}.fleet-related-item__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem 1rem;margin:0}.fleet-related-item__meta>div{min-width:0}.fleet-related-item__meta dt{margin:0 0 .15rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.fleet-related-item__meta dd{margin:0;font-size:.875rem;color:#334155;font-weight:500}.fleet-related-item__doc dd{display:inline-flex;align-items:center;gap:.35rem}.fleet-related-item__doc-icon{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:6px;background:#fee2e2;color:#b91c1c;font-size:.75rem}.fleet-related-item__actions{display:inline-flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:.3rem;min-width:0}.fleet-related-item__download,.fleet-related-item__edit{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.fleet-related-item__download{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.fleet-related-item__download:hover{background:#dbeafe;color:#1e40af}.fleet-related-item__edit{border:1px solid #e2e8f0;background:#fff;color:#475569}.fleet-related-item__edit:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.fleet-related-item__no-doc{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border-radius:8px;border:1px dashed #e2e8f0;background:#f8fafc;color:#94a3b8;font-size:.78rem;text-align:center}.fleet-related-item__side-badge{align-self:start;display:inline-flex;padding:.2rem .55rem;border-radius:999px;border:1px solid #fde68a;background:#fef3c7;color:#b45309;font-size:.75rem;font-weight:700;white-space:nowrap}@media(max-width:900px){.fleet-related-item,.fleet-related-item--with-thumb{grid-template-columns:1fr}.fleet-related-item--with-thumb .fleet-related-item__thumb{justify-self:start}.fleet-related-item__actions{flex-direction:row;flex-wrap:wrap;min-width:0}.fleet-related-item__download,.fleet-related-item__edit,.fleet-related-item__no-doc{flex:1 1 10rem}.fleet-related-item__side-badge{justify-self:start}}.fleet-day-route-page__header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.fleet-day-route-page__thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0}.fleet-day-route-page__date{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;color:#475569}.fleet-day-route-page__date input{border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .55rem;color:#0f172a;background:#fff}.fleet-day-route-page__map{min-height:420px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.fleet-day-route-page__map .day-route-map{min-height:420px;height:52vh}.fleet-day-route-page__meta,.fleet-day-route-page__empty{margin:0 0 .75rem;color:#64748b;font-size:.9rem}.fleet-day-route-page__meta{display:flex;align-items:center;gap:.4rem}.fleet-day-route-page__people,.fleet-day-route-page__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.fleet-day-route-page__people li,.fleet-day-route-page__list li{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.75rem .85rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.fleet-day-route-page__people li>div,.fleet-day-route-page__list li>div{display:grid;gap:.2rem}.fleet-day-route-page__people strong,.fleet-day-route-page__list strong{color:#0f172a;display:inline-flex;align-items:center;gap:.4rem}.fleet-day-route-page__people span,.fleet-day-route-page__list span{color:#64748b;font-size:.86rem}.fleet-day-route-page__people em,.fleet-day-route-page__list em{color:#334155;font-style:normal;font-size:.86rem}.fleet-day-route-page__chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.fleet-day-route-page__chip{border-radius:999px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-size:.78rem;padding:.2rem .55rem}@media(max-width:720px){.fleet-day-route-page__people li,.fleet-day-route-page__list li{flex-direction:column}}.fleet-work-team-detail-overview{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.fleet-work-team-detail-vehicle{display:flex;align-items:center;gap:.85rem;min-width:0}.fleet-work-team-detail-vehicle img{width:72px;height:72px;border-radius:12px;object-fit:cover;border:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.fleet-work-team-detail-vehicle__plate{font-size:1.05rem;font-weight:700;color:#0f172a}.fleet-work-team-detail-vehicle__name{font-size:.88rem;color:#64748b}.fleet-work-team-detail-badges{display:flex;flex-wrap:wrap;gap:.45rem}.fleet-work-team-detail-pill{display:inline-flex;padding:.2rem .65rem;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:600}.fleet-work-team-entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.9rem}.fleet-work-team-entity-grid--projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.fleet-entity-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.fleet-entity-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.fleet-entity-card--hero{background:linear-gradient(180deg,#f8fbff,#fff);border-color:#dbeafe}.fleet-entity-card--person{padding:.9rem}.fleet-entity-card--project{display:flex;flex-direction:column}.fleet-entity-card__header{display:flex;align-items:center;gap:.75rem;min-width:0}.fleet-entity-card--hero .fleet-entity-card__header{margin-bottom:.15rem}.fleet-entity-card__avatar-link{flex-shrink:0;line-height:0}.fleet-entity-card__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0;background:#f8fafc}.fleet-entity-card--hero .fleet-entity-card__avatar{width:64px;height:64px;border-color:#bfdbfe}.fleet-entity-card__header-text{min-width:0;display:flex;flex-direction:column;gap:.3rem}.fleet-entity-card__title{font-size:.95rem;font-weight:700;color:#0f172a;line-height:1.3;word-break:break-word}.fleet-entity-card__badge{display:inline-flex;align-self:flex-start;max-width:100%;padding:.12rem .5rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.72rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-entity-card__body{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem;min-width:0}.fleet-entity-card--project .fleet-entity-card__body{padding:.85rem .95rem .95rem;margin-top:0}.fleet-entity-card__cover-link{display:block;line-height:0}.fleet-entity-card__cover{width:100%;height:108px;object-fit:cover;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.fleet-entity-card__row{display:flex;align-items:center;gap:.55rem;min-width:0;font-size:.82rem;color:#475569}.fleet-entity-card__row-icon{width:1.35rem;height:1.35rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#f1f5f9;color:#64748b;font-size:.68rem}.fleet-entity-card__value{min-width:0;line-height:1.35}.fleet-entity-card__value--single-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-entity-card__value--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fleet-entity-card__value--empty{color:#94a3b8;font-style:italic}.fleet-entity-card__link{color:#2563eb;text-decoration:none;font-weight:500}.fleet-entity-card__link:hover{text-decoration:underline}.fleet-entity-card__footer-link{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;margin-top:.2rem;font-size:.78rem;font-weight:600;color:#4f6fa8;text-decoration:none}.fleet-entity-card__footer-link:hover{color:#2563eb;text-decoration:underline}.fleet-entity-card__footer-link svg{font-size:.68rem}.fleet-work-team-detail-empty{margin:0;color:#64748b;font-size:.9rem}.fleet-work-team-detail-note{margin:0;white-space:pre-wrap;color:#334155;line-height:1.55}@media(max-width:720px){.fleet-work-team-entity-grid,.fleet-work-team-entity-grid--projects{grid-template-columns:1fr}}.odo-status{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.3}.odo-status--pending{background:#fffbeb;color:#92400e}.odo-status--approved{background:#ecfdf5;color:#065f46}.odo-status--rejected{background:#fef2f2;color:#991b1b}.odo-status--canceled{background:#f1f5f9;color:#475569}.odo-status-cell{display:flex;flex-direction:column;gap:.2rem}.odo-status-note{color:#64748b;max-width:14rem}.odo-requested{color:#0f172a}.mkt-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;line-height:1.1}.mkt-badge--success{background:#22c55e24;color:#166534}.mkt-badge--danger{background:#ef444424;color:#b91c1c}.mkt-badge--indigo{background:#6366f126;color:#4338ca}.mkt-badge--violet{background:#8b5cf626;color:#6d28d9}.mkt-badge--neutral{background:#94a3b833;color:#334155}.mkt-badge--catalog-blue{background:#3b82f624;color:#1d4ed8}.mkt-badge--catalog-violet{background:#8b5cf624;color:#6d28d9}.mkt-badge--catalog-neutral{background:#64748b24;color:#334155}.mkt-product-cell{display:inline-flex;align-items:center;gap:.5rem;max-width:300px}.mkt-product-thumb{width:32px;height:32px;border-radius:6px;border:1px solid #dbe2ea;object-fit:cover;background:#fff;flex-shrink:0}.mkt-product-name{color:#0f172a;font-weight:600;font-size:.82rem;line-height:1.15}.audit-stats-section{width:100%;max-width:var(--page-fluid-max-width, min(100%, 1680px));margin:0 auto 1rem}.audit-load-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:.75rem .9rem;margin-top:.6rem}.audit-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:.75rem}.audit-visual-grid--single-row{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-panel{border:1px solid #dbe3f0;background:#fff;border-radius:12px;padding:.75rem}.audit-panel h3{margin:0 0 .6rem;font-size:.9rem;color:#0f172a}.audit-bars{display:grid;gap:.5rem}.audit-bar-row{display:grid;grid-template-columns:1.35fr 1fr auto;gap:.5rem;align-items:center}.audit-bar-row span{font-size:.8rem;color:#334155}.audit-bar-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.audit-bar-fill{height:100%;background:linear-gradient(90deg,#5b7db8,#4f46e5)}.audit-bar-row strong{font-size:.8rem;color:#1e293b}.audit-status-overview{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.6rem}.audit-status-card{border:1px solid #bbf7d0;background:#ecfdf5;border-radius:10px;padding:.55rem .6rem;display:flex;flex-direction:column}.audit-status-card.inactive{border-color:#fed7aa;background:#fff7ed}.audit-status-card span{color:#475569;font-size:.75rem}.audit-status-card strong{color:#0f172a;font-size:1.1rem}@media(max-width:1100px){.audit-visual-grid--single-row{grid-template-columns:1fr}}.offline-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#89a4c7,#6f8fbe);padding:2rem}.offline-container{background:#fff;border-radius:24px;padding:3rem;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px #00000026;animation:slideUp .6s ease-out}.offline-icon{width:120px;height:120px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:4rem;transition:all .3s ease}.offline-icon.offline{background:linear-gradient(135deg,#89a4c7,#6f8fbe);color:#fff;animation:pulse 2s ease-in-out infinite}.offline-icon.online{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;animation:bounce 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.offline-title{font-size:2rem;font-weight:700;color:#1a202c;margin-bottom:1rem;letter-spacing:-.02em}.offline-description{font-size:1.1rem;color:#718096;line-height:1.6;margin-bottom:2rem}.offline-tips{background:#f7fafc;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:left}.offline-tips h3{font-size:1.1rem;font-weight:600;color:#1a202c;margin-bottom:1rem;text-align:center}.offline-tips ul{list-style:none;padding:0;margin:0}.offline-tips li{padding:.75rem 0 .75rem 1.5rem;position:relative;color:#4a5568;font-size:.95rem;line-height:1.5}.offline-tips li:before{content:"•";position:absolute;left:0;color:#5b7db8;font-weight:700;font-size:1.2rem}.offline-retry-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5b7db859}.offline-retry-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5b7db866}.offline-retry-btn:active:not(:disabled){transform:translateY(0)}.offline-retry-btn:disabled{opacity:.6;cursor:not-allowed}.offline-retry-btn svg{animation:spin 2s linear infinite}@media(max-width:480px){.offline-container{padding:2rem 1.5rem}.offline-title{font-size:1.5rem}.offline-description{font-size:1rem}.offline-icon{width:100px;height:100px;font-size:3rem}}.maintenance-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));padding:2rem}.maintenance-container{background:#fff;border-radius:24px;padding:3rem;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #00000026;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.maintenance-icon{width:100px;height:100px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border-radius:50%;color:#fff;font-size:3rem;animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.maintenance-title{font-size:2rem;font-weight:700;color:#1a202c;margin-bottom:1rem;letter-spacing:-.02em}.maintenance-description{font-size:1.1rem;color:#718096;line-height:1.6;margin-bottom:1.5rem}.maintenance-details{background:#f7fafc;border-radius:12px;padding:1rem;margin-bottom:2rem}.maintenance-details p{font-size:.9rem;color:#4a5568;margin:0}.support-email-link{color:var(--color-primary, #5b7db8);text-decoration:none;font-weight:600;transition:color .2s ease}.support-email-link:hover{color:var(--color-primary-hover, #4f6fa8);text-decoration:underline}.maintenance-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center;font-size:.8rem;color:#718096;font-weight:500}.maintenance-footer strong{color:#1a202c;font-weight:700}.maintenance-footer .support-link{color:var(--color-primary, #5b7db8);text-decoration:none;font-size:.75rem;font-weight:500;transition:color .2s ease;margin-top:.25rem;display:inline-block}.maintenance-footer .support-link:hover{color:var(--color-primary-hover, #4f6fa8);text-decoration:underline}.maintenance-retry-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:var(--color-primary-gradient, linear-gradient(135deg, #6f8fbe 0%, #5b7db8 55%, #6a8ba9 100%));border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5b7db859}.maintenance-retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5b7db866}.maintenance-retry-btn:active{transform:translateY(0)}.maintenance-retry-btn svg{animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.maintenance-container{padding:2rem 1.5rem}.maintenance-title{font-size:1.5rem}.maintenance-description{font-size:1rem}}.language-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:8px;background:#ffffff1a;transition:background .2s ease}.language-selector:hover{background:#ffffff26}.language-icon{font-size:1rem;color:currentColor}.language-select{background:transparent;border:none;color:currentColor;font-size:.9rem;font-weight:500;cursor:pointer;outline:none;padding:.25rem .5rem;border-radius:4px;transition:background .2s ease}.language-select:hover{background:#ffffff1a}.language-select:focus{background:#ffffff26}.language-select option{background:#1a202c;color:#fff;padding:.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100vw;overflow-x:hidden}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;--color-bg: #1d1f22;--color-bg-light: #ffffff;--color-text: #e5e5e5;--color-text-dark: #222;--color-primary: #456298;--color-primary-hover: #3a5482;--color-primary-strong: #2d4160;--color-primary-soft: #e6edf8;--color-primary-soft-hover: #d7e2f3;--color-primary-contrast: #ffffff;--color-primary-gradient: linear-gradient(135deg, #5a7aad 0%, #456298 55%, #4d6d94 100%);--navbar-height: 60px;--sidebar-width: 240px;--form-shell-max-width: min(100%, 1520px)}[data-theme=dark]{--color-bg: #1d1f22;--color-text: #e5e5e5}[data-theme=light]{--color-bg: #ffffff;--color-text: #222}body{background:var(--color-bg);color:var(--color-text);width:100%;max-width:100vw;height:100%;overflow-x:hidden;overflow-y:auto}#root{width:100%;max-width:100vw;height:100%;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit;border:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}@keyframes spin{to{transform:rotate(360deg)}}
