*,*:before,*:after{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#f5f3f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #7c5cf0;--primary-hover: #6b4fd8;--primary-light: #9e83b8;--secondary-color: #6b7280;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--background: #f5f3f8;--surface: #ffffff;--surface-elevated: #ffffff;--border-color: #e5e7eb;--text-primary: #1a1a1a;--text-secondary: #6b7280;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}body{margin:0;display:flex;position:relative;place-items:center;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f5f3f8,#ede9f7)}button{background-color:var(--primary-color);color:#fff;border-radius:var(--radius-md);padding:10px 20px;border:none;font-weight:500;font-size:14px;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.6;cursor:not-allowed}label{margin-bottom:12px;font-weight:500;color:var(--text-primary);font-size:14px}input{display:block;border-radius:var(--radius-md);margin:0;background-color:var(--surface);border:2px solid var(--border-color);padding:10px 14px;font-size:14px;transition:var(--transition);width:100%;box-sizing:border-box}input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #7c5cf01a}input::placeholder{color:var(--text-secondary);opacity:.7}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-hover)}.login-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:420px}.login-container form{background-color:var(--surface);padding:2.5rem 2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--border-color)}.login-logo{color:var(--primary-color);font-size:1.75rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.login-subtitle{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:0 0 1.75rem}.auth-header{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.auth-header+.login-subtitle{margin-bottom:1.5rem}.login-container label{display:block;margin-bottom:1rem}.login-container label:last-of-type{margin-bottom:0}.login-container input{display:block;border-radius:var(--radius-md);width:100%;padding:.75rem 1rem;background-color:var(--surface);border:1px solid var(--border-color);font-size:.9375rem;transition:var(--transition);box-sizing:border-box}.login-container input::placeholder{color:var(--text-secondary);opacity:.8}.login-container input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #7c5cf026}.company-setup{display:inline-flex;border:1px solid var(--border-color);margin-bottom:1rem;background-color:var(--surface);border-radius:var(--radius-md);height:43px}.company-setup button{flex:1;padding:.5rem 1rem;font-weight:500;font-size:.875rem;border:none;background-color:transparent;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:var(--transition);box-shadow:none}.company-setup button:hover{color:var(--text-primary);background-color:#ffffff80;transform:none}.company-setup button.selected{background-color:var(--primary-color);color:var(--surface);font-weight:600;box-shadow:var(--shadow-sm)}.login-button{width:100%;border-radius:var(--radius-md);padding:.75rem 1.25rem;margin-top:1rem;background-color:var(--primary-color);border:none;font-weight:600;color:#fff;font-size:.9375rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.login-button:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-button:active{transform:translateY(0)}.auth-link{display:block;margin-top:1.25rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:var(--transition);background:none;border:none;padding:0;width:100%;text-align:center}.auth-link:hover{color:var(--primary-color)}@media(max-width:480px){.login-container form{padding:2rem 1.5rem}.login-logo,.auth-header{font-size:1.5rem}.auth-header+.login-subtitle{margin-bottom:1.25rem}}.login-header{display:flex;flex-direction:column;align-items:center}.editing-container{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:clamp(1rem,5vw,70px);row-gap:1rem;justify-content:space-between;align-items:center;width:100%;max-width:100%}.dashboard-container{display:flex;flex-direction:column;position:relative;align-items:center;width:100%}.draft-calendar{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));width:100%;max-width:100%}.draft-day{background-color:var(--surface);padding:12px;display:flex;justify-content:center;align-items:center;flex-direction:column;margin:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:var(--transition)}.draft-day:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.day-of-week{margin:0;font-weight:600;color:var(--text-primary)}.shift{margin-bottom:.5rem;padding:8px 12px;background-color:var(--primary-light);border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:500;box-shadow:var(--shadow-sm)}.publish-modal-overlay{z-index:9999}.publish-modal-content{max-height:80vh;overflow-y:auto}.selection-buttons-container{margin-bottom:1.5rem;display:flex;gap:.75rem}.selection-button{background-color:var(--primary-light);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;cursor:pointer;font-weight:500;font-size:14px;transition:var(--transition);box-shadow:var(--shadow-sm)}.selection-button:hover{background-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.shifts-list-container{display:flex;flex-direction:column;gap:.75rem;width:100%;max-height:400px;overflow-y:auto;padding-right:4px}.shifts-list-container::-webkit-scrollbar{width:6px}.shifts-list-container::-webkit-scrollbar-track{background:var(--background);border-radius:3px}.shifts-list-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.shifts-list-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.shift-item{display:flex;align-items:center;padding:1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;background-color:var(--surface);transition:var(--transition)}.shift-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.shift-item.selected{background-color:#7c5cf014;border-color:var(--primary-color)}.shift-item input[type=checkbox]{margin-right:1rem;cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color)}.shift-item-content{flex:1}.shift-item-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.shift-item-date{font-size:14px;color:var(--text-secondary)}.shift-item-note{font-size:13px;color:var(--text-secondary);margin-top:4px;font-style:italic}.publish-form-buttons{margin-top:1.5rem;display:flex;justify-content:space-between;align-items:center}.delete-button:hover:not(:disabled){background-color:#d32f2f}.delete-button:disabled{opacity:.5;cursor:not-allowed}.dashboard-container>button{margin-bottom:20px;background-color:var(--success-color);font-weight:600;padding:12px 24px;box-shadow:var(--shadow-md)}.dashboard-container>button:hover{background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.schedule-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap;width:100%;max-width:100%}.schedule-title{margin:0}.schedule-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-toolbar button{padding:.5rem 1.25rem;font-weight:500;font-size:.9375rem;border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition)}.shift-view-toggle{display:inline-flex;padding:4px;gap:4px;background-color:var(--border-color);border-radius:var(--radius-md)}.shift-view-option{position:relative;transition:var(--transition)}.shift-view-toggle button{padding:.5rem 1.25rem;font-weight:500;font-size:.9375rem;background-color:transparent;color:var(--text-secondary);border:none;border-radius:calc(var(--radius-md) - 2px)}.shift-view-option:not(.active) button:hover{color:var(--text-primary);background-color:#ffffff80}.shift-view-option.active button{background-color:var(--surface);color:var(--primary-color);font-weight:600;box-shadow:var(--shadow-sm)}.schedule-toolbar .bulk-edit-btn{padding:.5rem 1.25rem;font-weight:500;font-size:.9375rem;background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.schedule-toolbar .bulk-edit-btn:hover{background-color:var(--primary-hover)}.overlay{height:100vh;width:100vw;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;top:0;left:0;z-index:9998;justify-content:center;align-items:center;display:flex;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shift-modal{background-color:var(--surface);display:flex;border-radius:var(--radius-lg);padding:32px;flex-direction:column;position:relative;width:480px;max-width:90vw;max-height:90vh;overflow-y:auto;align-items:stretch;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.shift-modal label{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:16px}.shift-modal input{display:block;width:100%;box-sizing:border-box}.add-shift-button{position:relative;display:flex;align-self:end}.shift-modal-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.shift-modal-header h2{margin:0;font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.close-button{background:none;border:none;font-size:28px;cursor:pointer;padding:4px 8px;color:var(--text-secondary);line-height:1;border-radius:var(--radius-sm);transition:var(--transition);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.close-button:hover{color:var(--text-primary);background-color:var(--background)}.form-buttons{display:flex;justify-content:space-between;width:100%;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.form-buttons-left{display:flex}.form-buttons-right{display:flex;gap:12px}.delete-button{background-color:var(--danger-color);color:#fff;border:none;border-radius:var(--radius-md);padding:10px 20px;cursor:pointer;font-weight:500;transition:var(--transition);box-shadow:var(--shadow-sm)}.delete-button:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.delete-button:disabled{cursor:not-allowed;opacity:.5}.submit{background-color:var(--primary-color);color:#fff;font-weight:500}.submit:hover{background-color:var(--primary-hover)}.calendar-container{background-color:var(--surface);border-radius:var(--radius-lg);padding:clamp(12px,2vw,20px);width:100%;max-width:100%;display:block;box-sizing:border-box;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transition:var(--transition)}.calendar-container:hover{box-shadow:var(--shadow-xl)}.page-container{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:stretch;padding:0;box-sizing:border-box}.schedule-content{width:100%;align-self:stretch;display:flex;flex-direction:column;align-items:stretch}.calendar-container .fc,.calendar-container .fc-daygrid-day-number,.calendar-container .fc-col-header-cell,.calendar-container .fc-col-header-cell-cushion,.calendar-container .fc-daygrid-day-top,.calendar-container .fc-event-title,.calendar-container .fc-event-title-container{color:#1a1a1a}.calendar-container .fc-button,.calendar-container .fc-today-button{color:#fff}@media(max-width:768px){.calendar-container{padding:12px}}.tooltip{background-color:var(--text-primary);color:#fff;z-index:9999;border-radius:var(--radius-md);position:absolute;padding:12px 16px;transform:translate(-50%,-8px);white-space:nowrap;box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;pointer-events:none;animation:fadeIn .15s ease-out;max-width:300px;white-space:normal;line-height:1.5}.tooltip span{display:flex;flex-direction:column;gap:4px}.tooltip:before{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--text-primary)}.swap-request-dialog{background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative}.swap-request-dialog .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.swap-request-dialog .modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600}.swap-request-dialog .close-button{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition)}.swap-request-dialog .close-button:hover{background-color:#7c5cf014;color:var(--text-primary)}.shift-info{background-color:#7c5cf00d;border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.shift-info p{margin:.5rem 0;color:var(--text-primary)}.shift-info p:first-child{margin-top:0}.shift-info p:last-child{margin-bottom:0}.request-type-selector{display:flex;gap:.75rem;margin-bottom:1.5rem}.request-type-button{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--surface);color:var(--text-primary);font-size:1rem;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;transition:var(--transition)}.request-type-button:hover{background-color:#7c5cf00d;border-color:var(--primary-color)}.request-type-button.selected{background-color:#7c5cf01a;border-color:var(--primary-color);color:var(--primary-color)}.request-type-button.selected:hover{background-color:#7c5cf026}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;background-color:var(--surface);color:var(--text-primary);transition:var(--transition)}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #7c5cf01a}.form-group textarea{resize:vertical;min-height:100px}.error-message{background-color:#ef44441a;color:#dc2626;padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.dialog-buttons{display:flex;gap:.75rem;justify-content:flex-end}.dialog-buttons button{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition);border:none}.cancel-button{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)!important}.cancel-button:hover{background-color:#7c5cf00d;color:var(--text-primary)}.submit-button{background-color:var(--primary-color);color:#fff}.submit-button:hover:not(:disabled){background-color:var(--primary-hover)}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.navbar{display:flex;flex-direction:column;align-items:left;justify-content:space-between;background-color:var(--surface);width:20vw;min-width:200px;height:100vh;top:0;left:0;position:fixed;z-index:9999;box-shadow:var(--shadow-md);border-right:1px solid var(--border-color);transition:transform .3s ease}.navbar-left{display:flex;align-items:center}.navbar-left .logo{font-size:24px;font-weight:700;color:var(--primary-color);text-decoration:none;letter-spacing:-.5px;transition:var(--transition);padding:8px 16px}.navbar-left .logo:hover{color:var(--primary-hover);transform:scale(1.05)}.navbar-right{display:flex;align-items:center;padding-bottom:1rem}.navbar-center{display:flex;flex-direction:column;justify-content:top;flex:1}.navbar-center a{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500;font-size:15px;padding:8px 16px;border-radius:var(--radius-md);transition:var(--transition);position:relative;text-align:left}.navbar-center a:hover{color:var(--primary-color);background-color:#7c5cf014}.navbar-center a.active{color:var(--primary-color);background-color:#7c5cf01f;font-weight:600}.navbar-center a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:var(--primary-color);border-radius:0 2px 2px 0}.navbar-right a{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-weight:500;font-size:14px;padding:8px 16px;border-radius:var(--radius-md);transition:var(--transition);width:100%}.navbar-right a:hover{color:var(--primary-color);background-color:#7c5cf014}.navbar-right a.active{color:var(--primary-color);background-color:#7c5cf01f;font-weight:600;width:100%}.navbar-right a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background-color:var(--primary-color);border-radius:0 2px 2px 0}@media(max-width:1024px){.navbar{width:70px;min-width:70px}.nav-label,.navbar-left .logo{display:none}.navbar-center a,.navbar-right a{justify-content:center;padding:12px 16px}}@media(max-width:768px){.navbar-center a,.navbar-right a{padding:12px 16px}}.availability-modal{background-color:var(--surface);display:flex;border-radius:var(--radius-lg);padding:32px;flex-direction:column;position:relative;width:480px;max-width:90vw;max-height:90vh;overflow-y:auto;justify-content:space-between;align-items:stretch;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h3{margin:0;flex:1}.close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s;border-radius:4px}.close-button:hover{color:var(--text-primary);background-color:#0000000d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.availability-modal label{display:flex;flex-direction:column;width:100%;margin-bottom:16px}.repeat-days{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0}.days-of-week{display:inline-flex;justify-content:center;align-items:center;margin-right:0;border-radius:50%;border:2px solid var(--border-color);height:36px;width:36px;cursor:pointer;font-weight:600;font-size:13px;color:var(--text-primary);transition:var(--transition);background-color:var(--surface)}.days-of-week:hover{border-color:var(--primary-color);background-color:#7c5cf014;transform:scale(1.1)}.days-of-week.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.form-buttons{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.form-buttons-right{display:flex;gap:12px;margin-left:auto}.cancel{background-color:var(--secondary-color);color:#fff;font-weight:500}.cancel:hover{background-color:#4b5563}.submit{background-color:var(--primary-color);color:#fff;font-weight:500;padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s,transform .2s}.submit:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.delete-button{background-color:#f44336;color:#fff;font-weight:500;padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.delete-button:hover{background-color:#d32f2f}.repeat-freq{display:flex;gap:12px;margin:12px 0}.availability-modal label.checkbox{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px;cursor:pointer}.availability-modal label.checkbox input{width:auto;margin:0;cursor:pointer;accent-color:var(--primary-color)}.conflict-dialog{background-color:var(--surface);display:flex;border-radius:var(--radius-lg);padding:32px;flex-direction:column;position:relative;width:500px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.conflict-message{margin-bottom:20px;color:var(--text-primary);font-size:1rem}.conflicting-rules-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;max-height:300px;overflow-y:auto;padding:12px;background-color:#00000005;border-radius:var(--radius-md)}.conflict-rule-item{padding:12px;background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md);border-left:3px solid #f44336}.rule-description{font-size:.9rem;color:var(--text-primary);line-height:1.5}.conflict-dialog-buttons{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border-color)}.cancel-button{background-color:var(--secondary-color);color:#fff;font-weight:500;padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.cancel-button:hover{background-color:#4b5563}.replace-button{background-color:#f44336;color:#fff;font-weight:500;padding:10px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s}.replace-button:hover{background-color:#d32f2f}.my-account-page{max-width:min(640px,100%)}.my-account-page .account-card{padding:1.5rem}.account-section{border-bottom:1px solid var(--border-color);padding:1.25rem 0}.account-section:last-of-type{border-bottom:none}.account-field{display:flex;flex-direction:column;gap:.5rem;width:100%}.account-label{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.account-value-display{font-size:.9375rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.account-input-display{font-size:.9375rem;color:var(--text-secondary);padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--transition)}.account-input-display:hover{border-color:var(--primary-color);color:var(--text-primary)}.account-input-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%}.edit-icon{width:16px;height:16px;opacity:.6;color:var(--text-secondary);flex-shrink:0}.account-input-display:hover .edit-icon{opacity:1;color:var(--primary-color)}.account-input{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface);font-family:inherit}.account-input.editable{border-color:var(--primary-color)}.account-input.editable:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #7c5cf026}.password-fields{display:flex;flex-direction:column;gap:1rem}.password-field{display:flex;flex-direction:column;gap:.375rem}.password-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.error-message{color:var(--danger-color);font-size:.875rem;margin-top:.5rem}.success-message{color:var(--success-color);font-size:.875rem;margin-top:.5rem}.account-actions{margin-top:1.5rem}.save-cancel-buttons{display:flex;gap:.75rem}.save-cancel-buttons .btn-primary,.save-cancel-buttons .btn-secondary{flex:1}.team-page .invite-code-section{margin-bottom:1.5rem}.team-page .invite-code-input{display:flex;gap:.75rem}.team-page .invite-code-input input{flex:1;padding:.625rem .875rem;font-size:.9375rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface)}.team-page .team-section{margin-top:1.5rem}.table-container{width:100%;overflow-x:auto;padding:0!important}.employee-table{width:100%;border-collapse:collapse;font-size:.9375rem;color:var(--text-primary)}.employee-table th,.employee-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.employee-table th{font-weight:600;color:var(--text-secondary);background-color:#00000005}.employee-table tbody tr:hover{background-color:#7c5cf008}.employee-table tbody tr:last-child td{border-bottom:none}@media(max-width:480px){.employee-table,.employee-table thead,.employee-table tbody,.employee-table th,.employee-table td,.employee-table tr{display:block;width:100%}.employee-table thead{display:none}.employee-table tbody tr{margin-bottom:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;background-color:var(--surface)}.employee-table td{display:flex;justify-content:space-between;padding:.5rem 0;border:none;border-bottom:1px solid var(--border-color);font-size:.875rem}.employee-table td:last-child{border-bottom:none}.employee-table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);flex:1}}.swap-requests-page{display:flex;min-height:100vh}.swap-requests-content{flex:1;min-width:0;width:100%;box-sizing:border-box;background-color:#fff;border-radius:var(--radius-lg)}.swap-requests-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.pending-badge{background-color:var(--primary-color);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem}.filter-tabs{display:inline-flex;padding:4px;gap:4px;margin-bottom:1.5rem;background-color:var(--border-color);border-radius:var(--radius-md)}.filter-tabs button{padding:.5rem 1.25rem;font-weight:500;font-size:.9375rem;border:none;background-color:transparent;color:var(--text-secondary);border-radius:calc(var(--radius-md) - 2px);cursor:pointer;transition:var(--transition)}.filter-tabs button:hover:not(.active){color:var(--text-primary);background-color:#ffffff80}.filter-tabs button.active{background-color:var(--surface);color:var(--primary-color);font-weight:600;box-shadow:var(--shadow-sm)}.requests-list{display:flex;flex-direction:column;gap:1.5rem}.swap-request-card{background-color:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.request-info h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.request-meta{display:flex;gap:1rem;color:var(--text-secondary);font-size:.875rem}.status-badge{padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background-color:#ffc10733;color:#f57c00}.status-badge.approved{background-color:#4caf5033;color:#2e7d32}.status-badge.rejected{background-color:#f4433633;color:#c62828}.request-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.detail-row{display:flex;gap:.5rem;color:var(--text-primary)}.detail-row strong{min-width:120px;color:var(--text-secondary)}.detail-row.reason{flex-direction:column;gap:.25rem}.detail-row.reason span{padding-left:0;color:var(--text-primary)}.request-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.approve-button,.reject-button{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;border:none;transition:var(--transition)}.approve-button{background-color:var(--primary-color);color:#fff}.approve-button:hover{background-color:var(--primary-hover)}.reject-button{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.reject-button:hover{background-color:#f443361a;color:#c62828;border-color:#c62828}.approve-button.small,.reject-button.small{padding:.4rem .9rem;font-size:.85rem}.waiting-partner{font-size:.9rem;color:var(--text-secondary)}.cover-bids-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.cover-bids-section strong{display:block;margin-bottom:.5rem;color:var(--text-primary)}.cover-bids-section .no-bids{margin:.5rem 0 0;font-size:.9rem;color:var(--text-secondary)}.bids-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bid-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:#00000008;border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary)}.bid-actions{display:flex;gap:.5rem}@media(max-width:768px){.request-header{flex-direction:column;gap:1rem}.request-meta,.detail-row{flex-direction:column;gap:.25rem}.detail-row strong{min-width:auto}.request-actions{flex-direction:column}.approve-button,.reject-button{width:100%}}.available-shifts-page{display:flex;min-height:100vh}.available-shifts-content{flex:1;min-width:0;width:100%;box-sizing:border-box;padding:1.5rem;background-color:#fff;border-radius:var(--radius-lg)}.available-shifts-page .page-header{margin-bottom:1.5rem}.cover-requests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.cover-request-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.cover-request-card .shift-info{flex:1}.cover-request-card .shift-info h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.cover-request-card .shift-info p{margin:.25rem 0;font-size:.9rem;color:var(--text-secondary)}.request-cover-btn{flex-shrink:0;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;border:none;background:var(--primary-color);color:#fff;cursor:pointer;transition:var(--transition)}.request-cover-btn:hover:not(:disabled){background:var(--primary-hover)}.request-cover-btn:disabled{opacity:.6;cursor:not-allowed}.own-label,.requested-label{flex-shrink:0;font-size:.875rem;color:var(--text-secondary)}.requested-label{font-weight:500;text-align:center}@media(max-width:768px){.cover-request-card{flex-direction:column;align-items:stretch}.request-cover-btn{width:100%}}#root{width:100vw;min-height:100vh;margin:0;padding:0;overflow:hidden}.app-container{display:flex;min-height:100vh;width:100vw;justify-content:center;overflow:hidden}.main-content{margin-left:20vw;flex:1;min-width:0;width:100%;min-height:100vh;overflow:auto;box-sizing:border-box;padding:clamp(1rem,2.5vw,2rem)}@media(max-width:1024px){.main-content{margin-left:70px;padding:clamp(.75rem,2vw,1.5rem)}}@media(max-width:480px){.main-content{padding:.75rem}}.login-register{display:flex;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);width:100%;box-sizing:border-box}.page{width:100%;max-width:100%;min-height:0;box-sizing:border-box;flex-direction:column}.page-header{margin-bottom:1.5rem}.page-title{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.page-subtitle{margin:0;font-size:.9375rem;color:var(--text-secondary)}.section-label{display:block;font-weight:600;font-size:.9375rem;color:var(--text-primary);margin-bottom:.5rem}.content-card{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:1.25rem}.loading-state,.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--text-secondary);font-size:.9375rem}.empty-state p{margin:0}.btn-primary{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;border:none;background-color:var(--primary-color);color:#fff;cursor:pointer;transition:var(--transition)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.btn-secondary:hover:not(:disabled){color:var(--text-primary);background-color:#7c5cf00f;border-color:var(--primary-color)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}
