*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100%}:root{--slack-purple:#611f69;--slack-purple-dark:#4a154b;--slack-sidebar-bg:#3f0e40;--slack-sidebar-hover:#350d36;--slack-sidebar-text:#fff;--slack-main-bg:#fff;--slack-border:#e0e0e0;--slack-text:#1d1c1d;--slack-text-muted:#616061;--slack-message-hover:#f8f8f8;--slack-link:#1264a3;--slack-mention:#1264a3;--slack-mention-bg:#e8f5fa;--slack-success:#007a5a;--slack-warning:#e8912d;--slack-danger:#e01e5a}.login-page{align-items:center;background:linear-gradient(135deg,#1a1d21,#2d3748);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:48px;text-align:center;width:100%}.login-logo{color:#1a1d21;font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.login-logo span{color:#1976d2}.login-subtitle{color:#666;font-size:15px;margin-bottom:32px}.login-divider{align-items:center;color:#999;display:flex;font-size:13px;margin:24px 0}.login-divider:after,.login-divider:before{background:#e0e0e0;content:"";flex:1 1;height:1px}.login-divider:before{margin-right:16px}.login-divider:after{margin-left:16px}.login-button{align-items:center;background-color:#24292e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:12px;justify-content:center;padding:14px 24px;transition:background-color .2s,transform .1s;width:100%}.login-button:hover{background-color:#1b1f23}.login-button:active{transform:scale(.98)}.login-button svg{flex-shrink:0}.login-footer{border-top:1px solid #e0e0e0;color:#999;font-size:13px;margin-top:32px;padding-top:24px}.login-footer a{color:#1976d2;text-decoration:none}.login-footer a:hover{text-decoration:underline}.layout{background-color:#f8f9fa;display:flex;height:100vh}.navigation{background-color:#1a1d21;color:#fff;display:flex;flex-direction:column;flex-shrink:0;justify-content:space-between;transition:width .2s ease;width:200px}.navigation.collapsed{width:56px}.nav-items{display:flex;flex-direction:column;gap:4px;padding:12px 8px}.nav-item{align-items:center;border-radius:6px;color:#ffffffb3;display:flex;gap:12px;overflow:hidden;padding:10px 12px;text-decoration:none;transition:background-color .15s,color .15s;white-space:nowrap}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#ffffff26;color:#fff}.nav-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.nav-label{font-size:14px;font-weight:500}.navigation.collapsed .nav-label{display:none}.navigation.collapsed .nav-item{justify-content:center;padding:10px}.nav-footer{border-top:1px solid #ffffff1a;gap:4px;padding:12px 8px}.nav-footer,.nav-user{align-items:center;display:flex}.nav-user{color:#ffffffb3;flex:1 1;font-size:13px;gap:8px;min-width:0;overflow:hidden;padding:8px}.nav-user .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation.collapsed .nav-user .nav-label{display:none}.navigation.collapsed .nav-footer{flex-direction:column;gap:4px}.navigation.collapsed .nav-user{display:none}.nav-logout,.nav-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px;transition:background-color .15s,color .15s}.nav-logout:hover,.nav-toggle:hover{background-color:#ffffff1a;color:#fff}.layout-content{flex:1 1;overflow:auto;padding:24px}.rate-cards-page{background-color:#f8f9fa;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.rate-cards-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:24px;padding:16px 24px}.rate-cards-header h1{color:#333;font-size:20px;font-weight:600;margin:0;white-space:nowrap}.project-filter{align-items:center;display:flex;gap:16px}.filter-input-wrapper{position:relative}.filter-input-wrapper input{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 32px 8px 12px;width:280px}.filter-input-wrapper input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.filter-input-wrapper input.has-selection{background-color:#e3f2fd;border-color:#1976d2}.clear-filter{align-items:center;background:#999;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px}.clear-filter:hover{background:#666}.suggestions-dropdown{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.rate-cards-page .suggestion-item{border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px}.rate-cards-page .suggestion-item:last-child{border-bottom:none}.rate-cards-page .suggestion-item:hover{background-color:#f5f5f5}.rate-cards-page .suggestion-item.highlighted{background-color:#e3f2fd}.rate-cards-page .suggestion-account{color:#888;font-size:11px}.rate-cards-page .suggestion-project{color:#333;font-size:14px;font-weight:500}.rate-cards-page .suggestion-ratecard{color:#1976d2;font-size:11px}.selected-ratecard{color:#555;font-size:13px}.selected-ratecard strong{color:#1976d2}.matrix-container{flex:1 1;min-height:0;overflow:auto;padding:24px}.rate-matrix{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:13px;overflow:hidden}.rate-matrix td,.rate-matrix th{border:1px solid #e0e0e0;padding:8px 10px;text-align:center;white-space:nowrap}.rate-card-header{color:#333;left:0;min-width:180px;text-align:left!important;z-index:3}.job-code-header,.rate-card-header{background-color:#f5f5f5;font-weight:600;position:-webkit-sticky;position:sticky;top:0}.job-code-header{color:#555;font-size:11px;max-width:80px;min-width:60px;z-index:2}.rate-card-name{background-color:#fff;border-right:2px solid #ccc;color:#333;font-weight:500;left:0;position:-webkit-sticky;position:sticky;text-align:left!important;z-index:1}.rate-card-row{cursor:pointer}.rate-card-row:hover .rate-card-name,.rate-card-row:hover .rate-cell.no-rate{background-color:#e8e8e8}.project-count-pill{background-color:#1976d2;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;min-width:20px;padding:2px 8px;text-align:center}.project-count-pill.zero{background-color:#9e9e9e}.rate-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:75px}.rate-cell.has-rate{color:#1a237e;cursor:default;font-weight:500}.rate-cell.zero-rate{color:#666}.rate-pence{font-size:.75em;opacity:.7}.rate-cell.no-rate{background-color:#fafafa;color:#ccc}.rate-cards-error,.rate-cards-loading{align-items:center;color:#666;display:flex;font-size:14px;height:100%;justify-content:center}.rate-cards-error{color:#d32f2f}.matrix-container::-webkit-scrollbar{height:8px;width:8px}.matrix-container::-webkit-scrollbar-track{background:#f1f1f1}.matrix-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.matrix-container::-webkit-scrollbar-thumb:hover{background:#aaa}.rate-card-panel{background-color:#fff;box-shadow:-4px 0 12px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:400px;z-index:100}.rate-card-panel.open{transform:translateX(0)}.panel-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:16px 20px}.panel-header h2{color:#333;font-size:18px;font-weight:600;margin:0}.panel-header .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.panel-header .close-btn:hover{background-color:#e0e0e0;color:#333}.panel-content{flex:1 1;overflow-y:auto;padding:20px}.panel-section{margin-bottom:24px}.panel-section h3{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.empty-message{color:#999;font-size:13px;font-style:italic;margin:0}.project-groups{gap:12px}.project-group,.project-groups{display:flex;flex-direction:column}.project-group{gap:6px}.project-group-account{color:#666;font-size:12px;font-weight:500}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tag{background-color:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-block;font-size:12px;padding:4px 10px}.rates-list{gap:6px;list-style:none;margin:0;padding:0}.rate-item-wrapper,.rates-list{display:flex;flex-direction:column}.rate-item{align-items:center;background-color:#f8f9fa;border-radius:4px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.rate-item.expandable{cursor:pointer}.rate-item.expandable:hover{background-color:#f0f0f0}.rate-item-left{align-items:center;display:flex;gap:8px}.expand-icon{color:#666;font-size:10px;transition:transform .15s}.expand-icon.expanded{transform:rotate(90deg)}.rate-item-jobcode{color:#333;font-size:13px}.employee-count-pill{background-color:#1976d2;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.employee-count-pill.zero{background-color:#9e9e9e}.rate-item-value{color:#1976d2;font-size:14px;font-weight:600}.rate-item-value .rate-pence{font-size:.75em;opacity:.7}.employee-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:4px 0 4px 28px}.employee-item{background-color:#fff;border-left:2px solid #1976d2;color:#555;font-size:12px;padding:4px 8px}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#f1f1f1}.panel-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#aaa}.bookings-page{background-color:#f8f9fa;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.bookings-page .bookings-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:24px;padding:12px 24px}.bookings-page .bookings-header h1{color:#333;font-size:18px;font-weight:600;margin:0;white-space:nowrap}.bookings-page .search-container{flex:1 1;max-width:400px}.bookings-page .search-input-wrapper{position:relative}.bookings-page .search-input-wrapper input{background-color:#fff;border:1px solid #ccc;border-radius:4px;font-size:13px;padding:6px 12px;width:100%}.bookings-page .search-input-wrapper input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.bookings-page .suggestions-dropdown{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.bookings-page .suggestion-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:row;gap:12px;justify-content:space-between;padding:5px 10px}.bookings-page .suggestion-item:last-child{border-bottom:none}.bookings-page .suggestion-item:hover{background-color:#f5f5f5}.bookings-page .suggestion-item.highlighted{background-color:#e3f2fd}.bookings-page .suggestion-type{border-radius:3px;color:#fff;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.bookings-page .suggestion-type.account{background-color:#7b1fa2}.bookings-page .suggestion-type.project{background-color:#1976d2}.bookings-page .suggestion-type.employee{background-color:#388e3c}.bookings-page .suggestion-label{color:#333;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookings-page .include-inactive-checkbox{align-items:center;color:#555;cursor:pointer;display:flex;font-size:12px;gap:6px;-webkit-user-select:none;user-select:none}.bookings-page .include-inactive-checkbox input{cursor:pointer;margin:0}.bookings-page .include-inactive-checkbox.disabled{cursor:not-allowed;opacity:.6}.bookings-page .include-inactive-checkbox.disabled input{cursor:not-allowed}.bookings-page .bookings-stats{align-items:center;display:flex;gap:8px;margin-left:auto}.bookings-page .stat-item{align-items:baseline;display:flex;gap:3px}.bookings-page .stat-value{color:#1976d2;font-size:16px;font-weight:600}.bookings-page .stat-label{color:#666;font-size:11px}.bookings-page .stat-divider{color:#ccc;font-size:14px}.bookings-page .draft-bookings-warning{align-items:flex-start;background-color:#fff3e0;border-bottom:1px solid #ffcc80;color:#e65100;display:flex;font-size:13px;gap:10px;padding:10px 24px}.bookings-page .draft-bookings-warning .warning-icon{align-items:center;background-color:#e65100;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:18px;justify-content:center;width:18px}.bookings-page .draft-bookings-warning .warning-text{line-height:1.4}.bookings-page .draft-bookings-warning strong{font-weight:600}.bookings-page .filters-bar{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;padding:8px 24px}.bookings-page .filters-label{color:#666;font-size:12px;font-weight:500}.bookings-page .filter-tag{align-items:center;background-color:#e0e0e0;border-radius:12px;display:inline-flex;font-size:12px;gap:4px;padding:3px 8px}.bookings-page .filter-tag.account{background-color:#f3e5f5;color:#7b1fa2}.bookings-page .filter-tag.project{background-color:#e3f2fd;color:#1565c0}.bookings-page .filter-tag.employee{background-color:#e8f5e9;color:#2e7d32}.bookings-page .filter-type{font-weight:500}.bookings-page .filter-value{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookings-page .filter-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;opacity:.6;padding:0 2px}.bookings-page .filter-remove:hover{opacity:1}.bookings-page .clear-filters{background:none;border:none;color:#1976d2;cursor:pointer;font-size:12px;margin-left:8px;padding:0}.bookings-page .clear-filters:hover{text-decoration:underline}.bookings-page .bookings-content{flex:1 1;min-height:0;overflow-y:auto;padding:16px 24px}.bookings-page .bookings-list{display:flex;flex-direction:column;gap:12px;max-width:1100px}.bookings-page .bp-account-group{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #00000014;overflow:hidden}.bookings-page .bp-account-header{align-items:center;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;gap:10px;padding:8px 12px}.bookings-page .bp-account-name{color:#333;flex:1 1;font-size:13px;font-weight:600}.bookings-page .bp-account-name.clickable{cursor:pointer}.bookings-page .bp-account-name.clickable:hover{color:#1976d2;text-decoration:underline}.bookings-page .bp-account-count{background-color:#7b1fa2;border-radius:10px;color:#fff;font-size:11px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.bookings-page .bp-projects-container{padding:0}.bookings-page .bp-project-group{border-bottom:1px solid #f0f0f0}.bookings-page .bp-project-group:last-child{border-bottom:none}.bookings-page .bp-project-header{align-items:center;background-color:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;padding:6px 12px 6px 20px}.bookings-page .bp-project-name{color:#333;font-size:12px;font-weight:500}.bookings-page .bp-project-name.clickable{cursor:pointer}.bookings-page .bp-project-name.clickable:hover{color:#1976d2;text-decoration:underline}.bookings-page .bp-rate-card-badge{background-color:#e3f2fd;border-radius:3px;color:#1565c0;font-size:10px;font-weight:500;padding:1px 6px}.bookings-page .bp-project-count{background-color:#e0e0e0;border-radius:8px;color:#666;font-size:10px;font-weight:600;margin-left:auto;padding:1px 6px}.bookings-page .bp-bookings-table{display:flex;flex-direction:column}.bookings-page .bp-booking-row{align-items:center;border-bottom:1px solid #f5f5f5;border-left:3px solid #4caf50;display:flex;font-size:12px;gap:12px;padding:5px 12px 5px 32px}.bookings-page .bp-booking-row:last-child{border-bottom:none}.bookings-page .bp-booking-row:hover{background-color:#fafafa}.bookings-page .bp-booking-row.future{border-left-color:#2196f3}.bookings-page .bp-booking-row.ended{border-left-color:#bdbdbd;opacity:.7}.bookings-page .bp-booking-row.rogue-draft{background-color:#fff3e0;border-left-color:#e65100}.bookings-page .bp-booking-row.rogue-draft:hover{background-color:#ffe0b2}.bookings-page .bp-booking-employee{align-items:center;color:#333;display:flex;font-weight:500;gap:4px;max-width:180px;min-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:180px}.bookings-page .bp-booking-employee .rogue-warning{align-items:center;background-color:#e65100;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:10px;font-weight:700;height:14px;justify-content:center;width:14px}.bookings-page .bp-booking-job{align-items:center;color:#666;display:flex;flex:1 1;gap:6px;min-width:180px}.bookings-page .bp-booking-status-badge{background-color:#fff3e0;border-radius:3px;color:#e65100;font-size:9px;font-weight:600;padding:1px 5px;text-transform:uppercase}.bookings-page .bp-booking-type-badge{background-color:#e3f2fd;border-radius:3px;color:#1565c0;font-size:9px;font-weight:600;padding:1px 5px;text-transform:capitalize}.bookings-page .bp-booking-type-badge.long-vacation{background-color:#ffebee;color:#c62828;font-weight:700}.bookings-page .bp-booking-rate{color:#1976d2;font-weight:500;min-width:80px;text-align:right}.bookings-page .bp-booking-rate .rate-decimals{font-size:.8em;opacity:.7}.bookings-page .bp-booking-dates{color:#666;min-width:160px}.bookings-page .bp-involvement{min-width:36px;text-align:center;width:36px}.bookings-page .bp-involvement-badge{background-color:#fff3e0;border-radius:3px;color:#e65100;display:inline-block;font-size:10px;font-weight:600;padding:1px 5px}.bookings-page .bp-status-badge{border-radius:3px;font-size:9px;font-weight:600;min-width:45px;padding:1px 6px;text-align:center;text-transform:uppercase}.bookings-page .bp-status-badge.active{background-color:#e8f5e9;color:#2e7d32}.bookings-page .bp-status-badge.future{background-color:#e3f2fd;color:#1565c0}.bookings-page .bp-status-badge.ended{background-color:#f5f5f5;color:#757575}.bookings-page .no-results{color:#666;font-size:14px;padding:40px 20px;text-align:center}.bookings-page .bookings-error,.bookings-page .bookings-loading{align-items:center;color:#666;display:flex;font-size:14px;height:100%;justify-content:center}.bookings-page .bookings-error{color:#d32f2f}.bookings-page .bookings-content::-webkit-scrollbar{width:8px}.bookings-page .bookings-content::-webkit-scrollbar-track{background:#f1f1f1}.bookings-page .bookings-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.bookings-page .bookings-content::-webkit-scrollbar-thumb:hover{background:#aaa}
/*# sourceMappingURL=main.d7654abd.css.map*/