:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#163622;background-color:#f9fbf9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-page-bg: #f9fbf9;--color-card-bg: #ffffff;--color-sidebar-bg: #173622;--color-sidebar-text: #e8f3e8;--color-sidebar-active: #253f2e;--color-sidebar-accent: #77b34d;--color-primary: #2e6b44;--color-primary-hover: #3d8a58;--color-primary-text: #ffffff;--color-secondary: #cde4d1;--color-accent: #e4f0db;--color-muted-bg: #edf5ed;--color-muted-text: #5a7a61;--color-text: #163622;--color-border: #ccddd3;--color-focus: #2e6b44;--color-error: #cc3333;--color-success: #2e6b44;--color-warning: #d4a017;--color-chart-1: #2e6b44;--color-chart-2: #5c8a36;--color-chart-3: #7ab870;--color-chart-4: #3d7a60;--color-chart-5: #4d8080}a{font-weight:500;color:#2e6b44;text-decoration:inherit}a:hover{color:#3d8a58}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#f9fbf9;color:#163622}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid #ccddd3;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;color:#163622;cursor:pointer;transition:border-color .25s}button:hover{border-color:#2e6b44}button:focus,button:focus-visible{outline:4px auto #2e6b44}:root{--sidebar-width: 260px}*{box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:row}.sidebar{width:var(--sidebar-width);min-height:100vh;background:#173622;display:flex;flex-direction:column;border-right:1px solid #253f2e;position:fixed;left:0;top:0;bottom:0;transition:width .2s ease}.sidebar.collapsed{width:70px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #253f2e;gap:.5rem}.sidebar-brand{padding:0;border-bottom:none;overflow:hidden;flex:1;min-width:0}.sidebar-brand a{font-size:1.2rem;font-weight:700;color:#e8f3e8;text-decoration:none;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.sidebar-brand .brand-icon{font-size:1.4rem;flex-shrink:0}.sidebar-brand .brand-text{transition:opacity .2s ease}.sidebar.collapsed .sidebar-brand .brand-text{opacity:0;width:0;overflow:hidden}.sidebar-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:6px;border-radius:6px;transition:background .2s;flex-shrink:0}.sidebar-toggle:hover{background:#2e6b444d}.sidebar-toggle .toggle-line{display:block;width:18px;height:2px;background:#e8f3e8;border-radius:1px;transition:background .2s}.sidebar-toggle:hover .toggle-line{background:#fff}.sidebar-nav{flex:1;list-style:none;margin:0;padding:1rem 0;overflow-y:auto}.sidebar-nav li{margin:.25rem .75rem}.sidebar.collapsed .sidebar-nav li{margin:.25rem .5rem}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;color:#e8f3e8;text-decoration:none;padding:.75rem 1rem;border-radius:8px;transition:all .2s;font-size:.95rem;overflow:hidden}.sidebar.collapsed .sidebar-nav a{justify-content:center;padding:.75rem}.sidebar-nav a:hover{color:#fff;background:#77b34d26}.sidebar-nav a.active{color:#fff;background:#253f2e}.sidebar-nav .nav-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}.sidebar-nav .nav-label{flex:1;white-space:nowrap;transition:opacity .2s ease}.sidebar.collapsed .sidebar-nav .nav-label{opacity:0;width:0;overflow:hidden}.sidebar-user{padding:1rem;border-top:1px solid #253f2e;background:#173622}.sidebar.collapsed .sidebar-user{padding:.75rem .5rem}.sidebar-user .user-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;overflow:hidden}.sidebar.collapsed .sidebar-user .user-info{display:none}.sidebar-user .user-name{color:#e8f3e8;font-weight:500;font-size:.95rem;white-space:nowrap}.sidebar-user .user-role{color:#e8f3e8;font-size:.8rem;background:#253f2e;padding:.2rem .5rem;border-radius:4px;width:fit-content}.sidebar-user .btn-logout{width:100%;background:transparent!important;border:1px solid #77b34d!important;color:#e8f3e8!important;padding:.5rem!important;font-size:.85rem;border-radius:6px;cursor:pointer;transition:all .2s}.sidebar.collapsed .sidebar-user .btn-logout{padding:.5rem .25rem!important;font-size:.75rem}.sidebar-user .btn-logout:hover{background:#253f2e!important;color:#fff!important}.main-content{flex:1;padding:2rem;margin-left:var(--sidebar-width);max-width:calc(100% - var(--sidebar-width));width:100%;transition:margin-left .2s ease,max-width .2s ease}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0}.loading{text-align:center;padding:3rem;color:#5a7a61;font-size:1.2rem}.error-container{background:#fef2f2;border:1px solid #cc3333;border-radius:8px;padding:2rem;text-align:center;color:#c33}.error-container h2{margin-top:0}.error-message{background:#fee2e2;border:1px solid #cc3333;color:#c33;padding:1rem;border-radius:4px;margin:1rem 0}.success-message{background:#e4f0db;border:1px solid #2e6b44;color:#fff;padding:1rem;border-radius:4px;margin:1rem 0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header h1{margin:0}.dashboard .status-badge{font-size:.85rem;background:#edf5ed;padding:.5rem 1rem;border-radius:6px}.status-ok{color:#5a7a61;font-weight:700}.status-error{color:#c33;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.dashboard-card{background:#fff;border-radius:8px;padding:1rem 1.25rem;border:1px solid #ccddd3}.dashboard-card h3{margin:0 0 .75rem;font-size:.9rem;color:#5a7a61;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.4rem}.dashboard-card.absences-card{min-width:200px}.no-absences{display:flex;align-items:center;gap:.5rem;color:#5a7a61;font-size:.85rem;padding:.5rem 0}.no-absences svg{color:#2e6b44}.absences-list{display:flex;flex-direction:column;gap:.4rem;max-height:150px;overflow-y:auto}.absence-item-compact{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;background:#edf5ed;border-radius:4px;font-size:.8rem}.absence-employee{color:#163622;font-weight:500}.absence-type-tag{padding:.15rem .4rem;border-radius:3px;font-size:.7rem;text-transform:uppercase;font-weight:600}.absence-type-tag.sick{background:#e76f51;color:#163622}.absence-type-tag.no_show{background:#9b2226;color:#163622}.absence-type-tag.late{background:#f4a261;color:#f9fbf9}.absence-type-tag.left_early{background:#e9c46a;color:#f9fbf9}.absence-type-tag.other{background:#6c757d;color:#163622}.absences-total{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #ccddd3;font-size:.75rem;color:#5a7a61;text-align:right}.mini-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.mini-stat{display:flex;flex-direction:column;align-items:center}.mini-stat-value{font-size:1.5rem;font-weight:700;color:#163622;line-height:1.2}.mini-stat-value.optimal{color:#2e6b44}.mini-stat-value.under{color:#c33}.mini-stat-value.over{color:#4d8080}.mini-stat-target{font-size:1rem;color:#5a7a61;font-weight:400}.mini-stat-label{font-size:.75rem;color:#5a7a61;text-transform:uppercase;margin-top:.25rem}.manning-table-section{background:#fff;border-radius:8px;padding:1rem;border:1px solid #ccddd3}.manning-table-section h2{margin:0 0 1rem;font-size:1rem;color:#163622}.manning-table-container{max-height:400px;overflow-y:auto}.manning-table{width:100%;border-collapse:collapse;font-size:.9rem}.manning-table th{background:#edf5ed;padding:.6rem .75rem;text-align:left;font-size:.75rem;text-transform:uppercase;color:#5a7a61;position:sticky;top:0;z-index:1}.manning-table th.center,.manning-table td.center{text-align:center}.manning-table td{padding:.5rem .75rem;border-bottom:1px solid #ccddd3}.manning-table .area-name{font-weight:500;color:#163622}.manning-table .shift-name{color:#5a7a61;font-size:.85rem}.manning-table .scheduled{font-weight:700;color:#163622}.manning-table .target,.manning-row.manning-optimal .scheduled{color:#5a7a61}.manning-row.manning-under .scheduled{color:#c33}.manning-row.manning-over .scheduled{color:#4d8080}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.status-pill.optimal{background:#e4f0db;color:#2e6b44}.status-pill.under{background:#fef2f2;color:#c33}.status-pill.over{background:#e8f4f4;color:#4d8080}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;text-align:center;border:1px solid #ccddd3}.stat-card h3{margin:0 0 .5rem;font-size:.9rem;color:#5a7a61;text-transform:uppercase}.stat-number{font-size:2rem;font-weight:700;color:#163622;margin:0}.manning-section{margin-bottom:2rem}.manning-section h2{margin:0 0 1rem;font-size:1.25rem}.manning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.manning-card{background:#fff;border-radius:8px;padding:1.25rem;text-align:center;border:2px solid #ccddd3;transition:all .2s}.manning-card h3{margin:0 0 .75rem;font-size:1rem;color:#163622}.manning-numbers{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.manning-scheduled{color:#163622}.manning-separator{color:#5a7a61;margin:0 .25rem}.manning-target{color:#5a7a61}.manning-status{font-size:.85rem;font-weight:500}.manning-card.manning-optimal{border-color:#2e6b44;background:#e4f0db}.manning-card.manning-optimal .manning-status{color:#2e6b44}.manning-card.manning-under{border-color:#c33;background:#fef2f2}.manning-card.manning-under .manning-status,.manning-card.manning-under .manning-scheduled{color:#c33}.manning-card.manning-over{border-color:#4d8080;background:#e8f4f4}.manning-card.manning-over .manning-status,.manning-card.manning-over .manning-scheduled{color:#4d8080}table,.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}th,td{padding:1rem;text-align:left;border-bottom:1px solid #ccddd3}th{background:#edf5ed;font-weight:600;text-transform:uppercase;font-size:.85rem;color:#5a7a61}tbody tr:hover{background:#2e6b441a}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.badge-fulltime{background:#cde4d1;color:#163622}.badge-parttime{background:#dde0f7;color:#363660}.badge-casual{background:#f5d5e5;color:#5a2a40}.status-active,.status-inactive{color:#5a7a61}.filter-buttons button,.view-toggle button{padding:.5rem 1rem;background:#fff;border:none;border-radius:4px;color:#5a7a61;cursor:pointer;transition:all .2s}.filter-buttons button:hover,.view-toggle button:hover,.filter-buttons button.active,.view-toggle button.active{background:#2e6b44;color:#fff}.controls-panel{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.date-range{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #ccddd3}.date-range label,.generate-form label{display:flex;align-items:center;gap:.5rem;color:#5a7a61}.date-range input,.generate-form input{padding:.5rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px;color:#163622}.generate-controls h3{margin:0 0 1rem;font-size:1rem}.skill-targets-section{background:#edf5ed;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.skill-targets-section h3{margin:0 0 .25rem;font-size:1rem;color:#163622}.skill-targets-desc{margin:0 0 .75rem;font-size:.8rem;color:#5a7a61}.skill-targets-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.skill-target-item{display:flex;align-items:center;gap:.4rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:6px;padding:.35rem .6rem;font-size:.85rem}.skill-target-label{font-weight:600;color:#163622}.skill-target-count{color:#5a7a61;font-size:.8rem}.skill-target-remove{background:none;border:none;color:#5a7a61;cursor:pointer;padding:0;display:flex;align-items:center;transition:color .15s}.skill-target-remove:hover{color:#e74c3c}.skill-target-add{display:flex;gap:.5rem;align-items:center}.skill-target-add select{padding:.4rem .6rem;border-radius:4px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:.85rem}.skill-count-input{width:55px;padding:.4rem;text-align:center;border-radius:4px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:.85rem}.skill-add-btn{padding:.4rem .8rem!important;font-size:.85rem!important}.generate-form{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.generate-form input[type=number]{width:80px}button{padding:.5rem 1rem;background:#fff;border:none;border-radius:4px;color:#163622;cursor:pointer;transition:all .2s}button:hover:not(:disabled){background:#2e6b44;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#2e6b44;color:#fff}.btn-primary:hover:not(:disabled){background:#3d8a58}.generate-all-section{background:#edf5ed;border:1px solid #ccddd3;border-radius:8px;padding:1rem;margin-bottom:1rem}.generate-all-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.generate-all-controls label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#163622}.generate-all-controls input[type=date],.generate-all-controls select{padding:.4rem .6rem;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:.85rem}.btn-generate-all{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#2e6b44,#1f5233);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.btn-generate-all:hover:not(:disabled){background:linear-gradient(135deg,#3d8a58,#2e6b44);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-generate-all:disabled{opacity:.6;cursor:not-allowed}.btn-publish-all{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#2196f3,#1565c0);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.btn-publish-all:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#2196f3);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.btn-publish-all:disabled{opacity:.6;cursor:not-allowed}.generate-all-hint{margin:.75rem 0 0;font-size:.8rem;color:#9db4a0;font-style:italic}.roster-categories{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.category-group{background:#edf5ed;border:1px solid #ccddd3;border-radius:8px;overflow:hidden}.category-label{padding:.5rem .75rem;background:#fff;color:#163622;font-weight:600;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase}.category-areas{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .6rem}.area-card-compact{flex:1 1 180px;max-width:260px;background:#edf5ed;border:1px solid #ccddd3;border-radius:6px;padding:.5rem .65rem;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:.3rem}.area-card-compact:hover{border-color:#5a7a61;background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00000040}.area-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.area-card-name{font-weight:600;font-size:.85rem;color:#163622;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.area-card-time{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#5a7a61;white-space:nowrap}.area-card-bottom{display:flex;align-items:center;gap:.4rem;color:#5a7a61;font-size:.8rem}.manning-value-compact{font-weight:700;color:#163622;font-size:.9rem}.btn-edit-manning-compact{background:transparent;border:1px solid #ccddd3;color:#5a7a61;padding:2px 4px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;line-height:1}.btn-edit-manning-compact:hover{background:#2e6b44;color:#fff}.manning-edit-inline{display:flex;align-items:center;gap:.35rem;flex:1}.manning-edit-inline input{width:46px;padding:.15rem .3rem;font-size:.85rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:3px;color:#163622;text-align:center}.btn-save-small{background:#2e6b44;border:none;color:#fff;padding:.2rem .4rem;border-radius:3px;cursor:pointer;display:flex;align-items:center}.btn-save-small:hover{background:#3d8a58}.btn-cancel-small{background:transparent;border:1px solid #a05a5a;color:#c33;padding:.2rem .4rem;border-radius:3px;cursor:pointer;font-size:.8rem}.btn-cancel-small:hover{background:#c333}.roster-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn-back{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid #ccddd3;color:#5a7a61;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-back:hover{background:#2e6b44;color:#fff}.work-area-info-header{flex:1}.work-area-info-header h1{margin:0 0 .25rem}.work-area-meta{display:flex;gap:1rem;color:#5a7a61;font-size:.9rem}.work-area-meta span{display:flex;align-items:center;gap:.35rem}.roster-week-view{display:flex;flex-direction:column;gap:1rem}.week-nav{display:flex;align-items:center;gap:.75rem;background:#fff;padding:.75rem 1rem;border-radius:8px;border:1px solid #ccddd3}.week-nav .nav-btn{background:#edf5ed;border:1px solid #ccddd3;color:#163622;padding:.5rem .75rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;transition:background .2s}.week-nav .nav-btn:hover{background:#2e6b44;color:#fff}.week-nav-label{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.week-range{font-weight:600;font-size:1rem}.week-fy-label{font-size:.75rem;color:#5a7a61;font-weight:500;letter-spacing:.3px}.week-nav .today-btn{background:#2e6b44;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.week-nav .today-btn:hover{background:#5a7a61;color:#f9fbf9}.week-grid-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #ccddd3}.week-grid-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}.week-grid-table th,.week-grid-table td{padding:.5rem .6rem;text-align:center;border:1px solid #ccddd3}.week-grid-table thead th{background:#edf5ed;font-weight:600;font-size:.8rem;white-space:nowrap}.wg-employee-col{text-align:left!important;min-width:150px;position:sticky;left:0;z-index:2;background:#edf5ed}.wg-day-col{width:65px}.wg-day-col .wg-day-name{display:block;font-size:.75rem;color:#5a7a61}.wg-day-col .wg-day-num{display:block;font-size:.95rem}.wg-day-col.today{background:#2e6b44!important;color:#fff!important}.wg-day-col.weekend{color:#5a7a61}.wg-day-col.public-holiday{background:#dc35451a!important;color:#c33}.wg-day-col.public-holiday .wg-day-name{color:#c33}.wg-day-col.closed-day{background:#dc354526!important;color:#c33}.wg-day-col .holiday-indicator{font-size:.6rem;margin-left:2px}.wg-total-col{width:50px;background:#edf5ed}.wg-employee-cell{text-align:left!important;position:sticky;left:0;z-index:1;background:#fff;white-space:nowrap;padding:.3rem .5rem!important}.wg-emp-info{display:flex;flex-direction:column;gap:2px}.wg-emp-name{font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:.4rem}.wg-emp-meta{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:#5a7a61}.wg-emp-badge{padding:1px 4px;border-radius:3px;font-weight:600;font-size:.6rem;margin-right:2px}.wg-emp-badge.role-team-leader{background:#1e3a5f;color:#bfdbfe}.wg-emp-badge.role-step-up{background:#4a4a2a;color:#c9c97a}.wg-emp-badge.skill{background:#2e6b44;color:#fff}.wg-emp-role{display:block;font-size:.7rem;color:#5a7a61;margin-top:1px}.wg-emp-role.role-team-lead,.wg-emp-role.role-team-leader{color:#163622}.wg-emp-role.role-step-up{color:#5a7a61}.wg-day-cell{vertical-align:middle}.wg-day-cell.working{background:#2e6b4440;color:#163622;font-weight:600}.wg-day-cell .start-time-display{display:flex;flex-direction:column;align-items:center;font-size:.7rem;font-weight:600;color:#163622}.wg-day-cell.has-absence{background:linear-gradient(135deg,#9b59b6,#8e44ad)!important;color:#fff;position:relative}.wg-day-cell.has-absence:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(0,0,0,.1) 3px,rgba(0,0,0,.1) 6px);pointer-events:none}.absence-label{font-weight:700;font-size:.7rem;text-transform:uppercase;position:relative;z-index:1}.wg-day-cell.off{color:#5a7a614d}.wg-day-cell.today{background:#2e6b4433}.wg-day-cell.today.working{background:#2e6b448c}.wg-total-cell{font-weight:700;font-size:.9rem;background:#edf5ed}.wg-totals-row td{background:#edf5ed!important;font-weight:600;font-size:.85rem;border-top:2px solid #ccddd3}.wg-totals-row .wg-day-cell.under{color:#e76f51}.wg-totals-row .wg-day-cell.total{color:#5a7a61}.wg-day-cell.editable{cursor:pointer;transition:all .15s}.wg-day-cell.editable:hover{background:#2e6b444d!important;transform:scale(1.05)}.wg-day-cell.editable.working:hover{background:#e76f514d!important}.wg-day-cell .add-hint{color:#5a7a614d}.wg-day-cell.editable:hover .add-hint{color:#2e6b44}.wg-add-row{background:#2e6b441a}.wg-add-row td{padding:.5rem}.wg-add-row em{color:#5a7a61;font-size:.85rem}.add-to-day-btn{background:#2e6b44;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:.7;transition:all .2s;margin:0 auto}.add-to-day-btn:hover{opacity:1;transform:scale(1.15)}.wg-day-cell.public-holiday{background:#dc354526!important}.wg-day-cell.public-holiday.working{background:#dc354559!important}.wg-day-cell.closed-day{background:#dc354540!important;position:relative}.wg-day-cell.closed-day:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(220,53,69,.15) 3px,rgba(220,53,69,.15) 6px);pointer-events:none}.add-cell{text-align:center}.is-me-row td{background:#16362214!important}.is-me-row .wg-employee-cell{border-left:3px solid #163622;background:#16362214!important}.roster-list{display:flex;flex-direction:column;gap:1.5rem}.shift-count{margin-left:auto;background:#2e6b44;padding:.25rem .75rem;border-radius:20px;font-size:.8rem}.employee-name{font-weight:600}.employee-role{font-size:.85rem;color:#163622}.shift-name{font-size:.8rem;color:#163622}.settings-section{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.settings-section h2{margin:0 0 .5rem}.section-description{color:#5a7a61;margin-bottom:1.5rem}.working-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.day-card{background:#2e6b44;padding:1rem;border-radius:8px;text-align:center;display:flex;flex-direction:column;gap:.75rem}.day-card.active{border:2px solid #163622}.day-card.inactive{border:2px solid #f9fbf9;opacity:.6}.day-card .day-name{font-weight:600;color:#163622}.btn-active{background:#edf5ed!important;color:#163622!important}.btn-inactive{background:#edf5ed!important;color:#5a7a61!important}.work-area-days-list{display:flex;flex-direction:column;gap:.35rem}.work-area-days-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fff;border-radius:6px;gap:1rem}.work-area-label{display:flex;align-items:center;gap:.5rem;min-width:140px}.work-area-name{font-weight:500;font-size:.85rem;color:#163622}.work-area-count{font-size:.7rem;color:#5a7a61;background:#edf5ed;padding:.15rem .4rem;border-radius:8px}.work-area-days{display:flex;gap:.25rem}.day-toggle-btn{width:28px;height:28px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:.7rem;font-weight:600;transition:all .15s;display:flex;align-items:center;justify-content:center}.day-toggle-btn.active{background:#2e6b44;color:#fff;border-color:#ccddd3}.day-toggle-btn.active:hover:not(:disabled){background:#fff;border-color:#ccddd3}.day-toggle-btn.inactive{background:#edf5ed;color:#5a7a61;border-color:#ccddd3}.day-toggle-btn.inactive:hover:not(:disabled){background:#edf5ed;color:#5a7a61}.day-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.department-groups{display:flex;flex-direction:column;gap:.5rem}.department-group{background:#fff;border:1px solid #ccddd3;border-radius:8px;overflow:hidden;transition:border-color .2s}.department-group.expanded{border-color:#ccddd3}.department-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:transparent;border:none;color:#163622;cursor:pointer;font-size:1rem;text-align:left;transition:background .15s}.department-group-header:hover{background:#2e6b4426}.department-group-info{display:flex;align-items:center;gap:.6rem}.department-group-info>div{display:flex;flex-direction:column;gap:.1rem}.department-group-label{font-weight:600;font-size:.95rem}.department-group-desc{font-size:.8rem;color:#5a7a61}.department-group-badge{background:#edf5ed;color:#5a7a61;padding:.25rem .65rem;border-radius:12px;font-size:.8rem;font-weight:500;white-space:nowrap}.department-group.expanded .department-group-badge{background:#2e6b444d;color:#163622}.department-days-grid{display:flex;gap:.4rem;padding:0 1rem 1rem;flex-wrap:wrap}.department-day-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .75rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.85rem;font-weight:500;min-width:56px;transition:all .15s}.department-day-btn.active{background:#edf5ed;border-color:#ccddd3;color:#163622}.department-day-btn.active:hover:not(:disabled){background:#fff}.department-day-btn.inactive{background:#edf5ed;border-color:#ccddd3;color:#5a7a61}.department-day-btn.inactive:hover:not(:disabled){background:#edf5ed;border-color:#5a7a61}.department-day-name{font-weight:600;font-size:.8rem}.settings-section.danger-zone{background:#fef2f2;border:1px solid #992222}.settings-section.danger-zone h2{color:#c33}.danger-action{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem;background:#0003;border-radius:8px}.danger-info h3{margin:0 0 .5rem;font-size:1rem;color:#163622}.danger-info p{margin:0;color:#a89090;font-size:.9rem}.btn-danger{background:#5a3a3a!important;color:#c33!important;border:1px solid #992222!important;padding:.75rem 1.5rem!important;white-space:nowrap}.btn-danger:hover:not(:disabled){background:#6a4a4a!important;color:#e99a9a!important}.confirm-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.confirm-warning{color:#c33;font-weight:600;margin:0;font-size:.9rem}.btn-danger-confirm{background:#922!important;color:#163622!important;padding:.75rem 1.5rem!important;white-space:nowrap}.btn-danger-confirm:hover:not(:disabled){background:#a55a5a!important}.btn-cancel{background:transparent!important;color:#5a7a61!important;border:1px solid #ccddd3!important}.btn-cancel:hover:not(:disabled){background:#fff!important;color:#163622!important}.danger-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.danger-actions-grid .danger-action{flex-direction:column;align-items:flex-start;gap:1rem}.danger-actions-grid .danger-info h3{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.danger-actions-grid .danger-info p{font-size:.85rem;line-height:1.4}.danger-actions-grid .btn-danger{width:100%;text-align:center}.confirm-dialog{background:#8b4a4a4d;border:1px solid #992222;border-radius:8px;padding:1rem;margin-bottom:1rem}.confirm-dialog .confirm-warning{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.confirm-buttons{display:flex;gap:.75rem;justify-content:flex-end}.rules-list{list-style:none;padding:0;margin:0}.rules-list li{padding:.5rem 0;color:#5a7a61}.closed-days-section h2{display:flex;align-items:center;gap:.5rem;color:#dc3545}.closed-days-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.closed-day-item{display:flex;align-items:center;gap:1rem;background:#dc354526;border-left:4px solid #dc3545;padding:.75rem 1rem;border-radius:0 8px 8px 0}.closed-day-icon{font-size:1.2rem}.closed-day-info{display:flex;flex-direction:column;gap:.2rem}.closed-day-info strong{color:#c33;font-size:1rem}.closed-day-desc{font-size:.8rem;color:#5a7a61}.closed-days-upcoming{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #444}.closed-days-upcoming h4{color:#5a7a61;font-size:.9rem;margin-bottom:.75rem}.upcoming-closed-list{display:flex;flex-direction:column;gap:.5rem}.upcoming-closed-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:6px;font-size:.85rem}.upcoming-date{color:#c33;font-weight:500}.upcoming-name{color:#5a7a61}.five-days-settings{display:flex;flex-direction:column;gap:.75rem}.five-days-item{background:#edf5ed;border-radius:8px;padding:.75rem 1rem}.five-days-item .toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.five-days-item input[type=checkbox]{width:18px;height:18px;accent-color:#2e6b44;cursor:pointer}.five-days-item .toggle-text{display:flex;flex-direction:column;gap:.2rem}.five-days-item .toggle-text strong{color:#163622;font-size:.95rem}.five-days-item .toggle-status{font-size:.8rem;color:#5a7a61}.no-shifts{color:#5a7a61;font-style:italic}.daily-manning-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.daily-manning-controls label{font-weight:600;color:#163622}.daily-manning-controls select{padding:.5rem 1rem;border-radius:6px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:.95rem;cursor:pointer;min-width:200px}.daily-manning-controls select:focus{outline:none;border-color:#5a7a61}.daily-manning-info{margin-bottom:1rem;padding:.75rem 1rem;background:#edf5ed;border-radius:6px;color:#5a7a61;font-size:.9rem}.daily-manning-info strong{color:#163622}.daily-manning-grid{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.daily-manning-day{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem;background:#edf5ed;border-radius:8px;border:2px solid #f9fbf9;min-width:70px;position:relative}.daily-manning-day.custom{border-color:#ccddd3;background:#edf5ed}.daily-manning-day .day-label{font-weight:600;font-size:.85rem;color:#163622}.daily-manning-day .manning-input{width:55px;padding:.4rem;text-align:center;border-radius:4px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:1rem;font-weight:600}.daily-manning-day .manning-input:focus{outline:none;border-color:#5a7a61;background:#edf5ed}.daily-manning-day .custom-badge{position:absolute;top:-8px;right:-8px;background:#2e6b44;color:#fff;font-size:.65rem;padding:.15rem .4rem;border-radius:8px;font-weight:600}.daily-manning-actions{display:flex;gap:1rem}.daily-manning-actions .btn-primary{background:#2e6b44;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.daily-manning-actions .btn-primary:hover:not(:disabled){background:#6a9c6b}.daily-manning-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.daily-manning-actions .btn-secondary{background:transparent;color:#5a7a61;border:1px solid #ccddd3;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .15s}.daily-manning-actions .btn-secondary:hover:not(:disabled){background:#edf5ed;color:#163622}.loading-inline{color:#5a7a61;font-style:italic;padding:1rem 0}.start-times-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.start-time-input-group{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#edf5ed;border-radius:8px;border:2px solid #f9fbf9}.start-time-input-group:first-child{border-color:#ccddd3;background:#edf5ed}.start-time-label{font-weight:600;font-size:.85rem;color:#163622}.start-time-input{padding:.6rem;border-radius:4px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:1rem;font-weight:500}.start-time-input:focus{outline:none;border-color:#5a7a61;background:#edf5ed}.roster-patterns{padding:1rem}.roster-patterns .page-header{margin-bottom:1.5rem}.roster-patterns .page-header h1{display:flex;align-items:center;gap:.75rem;color:#163622;margin-bottom:.5rem}.roster-patterns .page-description{color:#5a7a61;font-size:.95rem}.patterns-controls{margin-bottom:1rem}.patterns-controls .search-input{max-width:300px}.patterns-info{background:#edf5ed;border-radius:8px;padding:1rem;margin-bottom:1.5rem;border-left:4px solid #ccddd3}.patterns-info p{margin:0;color:#163622;font-size:.9rem}.contract-groups{display:flex;flex-direction:column;gap:1rem}.contract-group{background:#edf5ed;border-radius:8px;overflow:hidden}.contract-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem;background:transparent;border:none;color:#163622;cursor:pointer;font-size:1rem;text-align:left;transition:background .15s}.contract-group-header:hover{background:#2e6b4426}.contract-group-info{display:flex;align-items:center;gap:.75rem}.contract-group-info>div{display:flex;flex-direction:column;gap:.15rem}.contract-group-label{font-weight:600;font-size:1rem}.contract-group-desc{font-size:.8rem;color:#5a7a61}.contract-group-badge{background:#edf5ed;color:#5a7a61;padding:.3rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.patterns-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;padding:0 1rem 1rem}.pattern-card{background:#edf5ed;border-radius:8px;padding:1rem;border:1px solid transparent;transition:border-color .2s}.pattern-card.editing{border-color:#ccddd3}.pattern-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.employee-name{font-weight:600;color:#163622;font-size:.95rem}.has-pattern-badge{display:flex;align-items:center;gap:.3rem;background:#2e6b444d;color:#5a7a61;padding:.2rem .5rem;border-radius:10px;font-size:.7rem}.pattern-display{display:flex;flex-direction:column;gap:.5rem}.pattern-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.pattern-label{color:#5a7a61}.pattern-value{color:#163622;font-family:monospace;letter-spacing:2px}.pattern-value.not-set{color:#5a7a61;font-style:italic;letter-spacing:normal;font-family:inherit}.pattern-editor{display:flex;flex-direction:column;gap:.75rem}.pattern-week{display:flex;flex-direction:column;gap:.4rem}.pattern-week label{font-size:.8rem;color:#5a7a61;font-weight:500}.day-buttons{display:flex;gap:.25rem}.day-btn{width:32px;height:32px;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#5a7a61;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.day-btn:hover{border-color:#ccddd3;background:#fff}.day-btn.selected{background:#2e6b44;border-color:#ccddd3;color:#fff}.day-count{font-size:.75rem;color:#5a7a61}.pattern-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-edit-small{background:#fff;border:1px solid #ccddd3;color:#163622;padding:.35rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .15s}.btn-edit-small:hover{background:#2e6b44}.btn-primary-small{background:#2e6b44;border:none;color:#fff;padding:.35rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .15s}.btn-primary-small:hover{background:#6b9b6b}.btn-secondary-small{background:transparent;border:1px solid #ccddd3;color:#5a7a61;padding:.35rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s}.btn-secondary-small:hover{border-color:#2e6b44;color:#fff}.settings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #ccddd3;padding-bottom:.5rem}.tab-btn{background:transparent;border:none;padding:.75rem 1.25rem;color:#5a7a61;font-size:1rem;cursor:pointer;border-radius:4px 4px 0 0;transition:all .2s}.tab-btn:hover{background:#fff;color:#163622}.tab-btn.active{background:#2e6b44;color:#fff;border-bottom:2px solid #163622;margin-bottom:-2px}.employee-controls{margin-bottom:1.5rem}.search-filter-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:.75rem 1rem;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:1rem}.search-input::placeholder{color:#2e6b44}.filter-select{padding:.75rem 1rem;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:1rem;min-width:150px}.employee-form{background:#fff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.employee-form h3{margin:0 0 1rem;color:#163622}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#5a7a61;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:1rem}.form-group.checkbox-group label{flex-direction:row;display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-group.checkbox-group input[type=checkbox]{width:18px;height:18px}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-primary{background:#2e6b44!important;color:#fff!important;border:none!important;padding:.75rem 1.5rem!important;border-radius:4px!important;cursor:pointer!important;font-weight:500!important}.btn-primary:hover:not(:disabled){background:#3d8a58!important}.btn-secondary{background:transparent!important;color:#5a7a61!important;border:1px solid #ccddd3!important;padding:.75rem 1.5rem!important;border-radius:4px!important;cursor:pointer!important}.btn-secondary:hover:not(:disabled){background:#fff!important;color:#163622!important}.employee-list-table{overflow-x:auto}.employee-list-table table{width:100%;border-collapse:collapse;font-size:.95rem}.employee-list-table th,.employee-list-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #ccddd3}.employee-list-table th{background:#fff;color:#5a7a61;font-weight:600;text-transform:uppercase;font-size:.8rem}.employee-list-table tbody tr:hover{background:#ffffff0d}.employee-list-table .inactive-row{opacity:.5}.employee-list-table .no-results{text-align:center;color:#5a7a61;padding:2rem!important}.contract-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.contract-badge.full_time{background:#edf5ed;color:#163622}.contract-badge.part_time{background:#4a4a2a;color:#c9c97a}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.status-badge.active{background:#edf5ed;color:#163622}.status-badge.inactive{background:#fef2f2;color:#c33}.actions-cell{white-space:nowrap}.btn-edit,.btn-delete,.btn-transfer{background:transparent;border:none;padding:.5rem;cursor:pointer;font-size:1rem;opacity:.7;transition:opacity .2s}.btn-edit:hover,.btn-delete:hover,.btn-transfer:hover{opacity:1}.btn-transfer{color:#2e6b44}.btn-transfer:disabled{opacity:.3;cursor:not-allowed}.delete-confirm{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.delete-confirm span{color:#c33}.btn-danger-small{background:#922!important;color:#163622!important;border:none!important;padding:.25rem .5rem!important;border-radius:4px!important;font-size:.8rem!important;cursor:pointer!important}.btn-secondary-small{background:transparent!important;color:#5a7a61!important;border:1px solid #ccddd3!important;padding:.25rem .5rem!important;border-radius:4px!important;font-size:.8rem!important;cursor:pointer!important}.employee-count{margin-top:1rem;color:#5a7a61;font-size:.9rem;text-align:right}.no-data{text-align:center;color:#5a7a61;padding:2rem}.today-roster{background:#fff;border-radius:8px;padding:1.5rem}.today-roster h2{margin:0 0 1rem}.roster-calendar{background:#fff;border-radius:8px;padding:1.5rem}.calendar-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.employee-select{display:flex;align-items:center;gap:1rem}.employee-select label{display:flex;align-items:center;gap:.75rem;font-weight:500}.employee-select select{padding:.75rem 1rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px;color:#163622;font-size:1rem;min-width:250px;cursor:pointer}.employee-select select:focus{outline:none;border-color:#ccddd3}.employee-select optgroup{font-weight:700;color:#5a7a61}.employee-select option{padding:.5rem}.employee-info-card{display:flex;align-items:center;gap:1rem;background:#edf5ed;padding:1rem 1.5rem;border-radius:8px;border-left:4px solid #ccddd3}.employee-avatar{width:50px;height:50px;background:#2e6b44;margin:0;font-size:1.25rem;min-width:200px;text-align:center}.employee-avatar .employee-details h3{margin:0 0 .25rem;font-size:1.1rem}.employee-avatar .employee-meta{display:flex;gap:.5rem;margin:0 0 .25rem}.employee-avatar .role-badge{background:#edf5ed;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.employee-avatar .contract-badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;text-transform:capitalize}.employee-avatar .contract-full_time{background:#edf5ed;color:#163622}.employee-avatar .contract-part_time{background:#363660;color:#a8a8e8}.employee-avatar .contract-casual{background:#5a2a40;color:#e07494}.employee-avatar .shift-summary{margin:0;color:#5a7a61;font-size:.85rem}.employee-avatar .shift-summary strong{color:#163622;font-size:1.1rem}.employee-avatar .month-navigation{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #ccddd3;border-bottom:1px solid #ccddd3}.nav-btn{padding:.5rem 1rem;background:#edf5ed;border:none;border-radius:4px;color:#163622;cursor:pointer;transition:background .2s}.nav-btn:hover{background:#2e6b44}.today-btn{margin-left:auto;padding:.5rem 1rem;background:#2e6b44;border:none;border-radius:4px;color:#fff;cursor:pointer}.calendar-grid{margin-top:1rem}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.weekday{text-align:center;padding:.4rem;background:#edf5ed;font-weight:600;font-size:.7rem;color:#5a7a61;border-radius:4px}.weekday.weekend{color:#c33}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:70px;background:#edf5ed;border-radius:3px;padding:.35rem;display:flex;flex-direction:column;transition:all .2s}.calendar-day.empty{background:transparent}.calendar-day:not(.empty):hover{background:#fff;transform:scale(1.02)}.calendar-day.today{border:2px solid #ccddd3;background:#2e6b4433}.calendar-day.weekend{background:#edf5ed}.calendar-day.has-shifts{background:#fff}.day-number{font-weight:600;font-size:.75rem;margin-bottom:.25rem;color:#5a7a61}.calendar-day.today .day-number{color:#163622;font-weight:700}.calendar-day.weekend .day-number{color:#c33}.calendar-day.public-holiday{background:#dc354526!important;border-left:3px solid #dc3545}.calendar-day.public-holiday .day-number{color:#c33}.calendar-day.closed-day{background:#dc354540!important;border-left:3px solid #dc3545}.calendar-day.closed-day:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(220,53,69,.1) 4px,rgba(220,53,69,.1) 8px);pointer-events:none;z-index:0}.calendar-day .holiday-badge{font-size:.65rem;margin-left:4px}.day-shifts{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.shift-chip{background:#2e6b44;padding:.15rem .35rem;border-radius:2px;font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-chip.highlighted{background:#5a7a61;color:#f9fbf9;font-weight:600}.shift-chip.has-absence{background:linear-gradient(135deg,#9b59b6,#8e44ad);position:relative}.shift-chip.has-absence:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);border-radius:inherit;pointer-events:none}.shift-chip.has-absence .absence-reason{font-size:.55rem;text-transform:uppercase;font-weight:600;letter-spacing:.02em}.absence-indicator{color:#ffd60a;flex-shrink:0}.shift-employee{font-weight:500}.shift-time-badge{font-size:.5rem;font-weight:600;background:#0003;padding:.05rem .15rem;border-radius:2px;margin-left:.15rem}.shift-time{font-weight:600}.more-shifts{font-size:.55rem;color:#5a7a61;text-align:center;padding:.15rem}.edit-mode-btn{margin-left:auto;background:transparent;border:1px solid #ccddd3;color:#5a7a61;padding:.25rem .5rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.65rem;transition:all .2s}.edit-mode-btn:hover{background:#2e6b44;color:#fff}.edit-mode-btn.active{background:#2e6b44;color:#fff;border-color:#ccddd3}.edit-mode-banner{background:linear-gradient(90deg,#2e6b44,#ccddd3);color:#fff;padding:.35rem .7rem;border-radius:4px;margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem;font-size:.65rem}.calendar-grid.edit-mode .calendar-day{transition:all .2s}.calendar-day.drag-over{background:#2e6b444d!important;border:2px dashed #2e6b44}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.15rem}.add-shift-btn{background:#2e6b44;border:none;color:#fff;width:12px;height:12px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:.7;transition:all .2s}.add-shift-btn:hover{opacity:1;transform:scale(1.1)}.shift-chip.draggable{cursor:grab;display:flex;align-items:center;gap:.1rem}.shift-chip.draggable:active{cursor:grabbing}.shift-chip.dragging{opacity:.5;transform:scale(.95)}.drag-handle{color:#ffffff80;flex-shrink:0}.remove-shift-btn{background:#0000004d;border:none;color:#163622;width:10px;height:10px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin-left:auto;opacity:.7;transition:all .2s;flex-shrink:0}.remove-shift-btn:hover{opacity:1;background:#c1121f}.modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:1.5rem;min-width:320px;max-width:90vw;box-shadow:0 10px 40px #00000026;border:1px solid #ccddd3}.modal-content h3{margin:0 0 1rem;color:#163622}.shift-action-modal{min-width:280px;max-width:360px;padding:1.1rem}.shift-action-subtitle{margin:-.35rem 0 1rem;color:#5a7a61;font-size:.9rem}.shift-action-buttons{justify-content:flex-end;flex-wrap:wrap}.modal-body{margin-bottom:1.5rem}.employee-select-dropdown{width:100%;padding:.75rem;border-radius:6px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:1rem}.employee-select-dropdown:focus{outline:none;border-color:#5a7a61}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-secondary{background:transparent;border:1px solid #666;color:#5a7a61;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.btn-secondary .transfer-modal{min-width:360px;max-width:450px}.btn-secondary .transfer-employee-name{font-size:1.1rem;font-weight:600;color:#163622;margin:0 0 1.5rem}.btn-secondary .transfer-details{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.btn-secondary .transfer-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.btn-secondary .transfer-label{color:#5a7a61;font-size:.9rem}.btn-secondary .transfer-value{color:#163622;font-weight:500}.btn-secondary .transfer-value.highlight{color:#2e6b44;font-weight:600}.btn-secondary .transfer-arrow{text-align:center;font-size:1.5rem;color:#2e6b44;padding:.5rem 0}.btn-secondary .transfer-details .form-group{margin:.5rem 0}.btn-secondary .transfer-details .form-group label{display:block;color:#5a7a61;font-size:.9rem;margin-bottom:.35rem}.btn-secondary .transfer-details .form-group select,.btn-secondary .transfer-details .form-group input{width:100%;padding:.6rem;border-radius:6px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:.95rem}.btn-secondary .transfer-details .form-group select:focus,.btn-secondary .transfer-details .form-group input:focus{outline:none;border-color:#5a7a61}.btn-secondary .transfer-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-secondary .pending-transfer-info,.btn-secondary .new-transfer-form{text-align:left}.btn-secondary:hover{background:#ffffff1a}.btn-primary{background:#2e6b44;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#3d8a58}.btn-primary:disabled{background:#ccddd3;cursor:not-allowed;opacity:.6}.upcoming-shifts{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ccddd3}.upcoming-shifts h3{margin:0 0 1rem;font-size:1.1rem}.shifts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.upcoming-shift-item{display:flex;align-items:center;gap:1rem;background:#edf5ed;padding:.75rem 1rem;border-radius:8px;transition:transform .2s}.upcoming-shift-item:hover{transform:translate(4px)}.shift-date{display:flex;flex-direction:column;align-items:center;background:#2e6b44;padding:.5rem .75rem;border-radius:6px;min-width:50px}.shift-date .day{font-size:1.25rem;font-weight:700;line-height:1}.shift-date .month{font-size:.7rem;text-transform:uppercase}.shift-info{display:flex;flex-direction:column}.shift-info .weekday{font-weight:500;font-size:.9rem;background:transparent;padding:0;text-align:left}.shift-info .shift-type{font-size:.8rem;color:#5a7a61}.work-area-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #ccddd3;padding-bottom:0;overflow-x:auto;flex-wrap:wrap;max-height:180px}.work-area-tab{display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;background:#edf5ed;border:1px solid #ccddd3;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s;position:relative;bottom:-2px;min-width:fit-content;flex-shrink:0}.work-area-tab:hover{background:#fff}.work-area-tab.active{background:#2e6b44;border-color:#ccddd3}.work-area-tab .tab-name{font-size:.85rem;font-weight:600;color:#163622;white-space:nowrap}.work-area-tab .tab-info{display:none}.work-area-tab.active .tab-info{color:#fffc}.work-area-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.work-area-selector label{font-weight:600;color:#5a7a61}.work-area-selector select{padding:.75rem 1rem;border-radius:4px;border:1px solid #ccddd3;background:#edf5ed;color:#163622;font-size:1rem;min-width:200px}.work-area-info{display:flex;gap:1.5rem;color:#5a7a61;font-size:.9rem}.work-area-info span{display:flex;align-items:center;gap:.5rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f9fbf9,#e4f0db,#cde4d1);padding:2rem}.login-container{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2.5rem;margin:0;color:#163622}.login-header p{color:#5a7a61;margin:.5rem 0 0}.login-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 8px 32px #0000001a;border:1px solid #ccddd3}.login-form h2{margin:0 0 1.5rem;text-align:center;color:#163622}.login-error{background:#fef2f2;border:1px solid #992222;color:#c33;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;text-align:center;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#5a7a61;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;background:#fff;border:1px solid #ccddd3;border-radius:6px;color:#163622;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#2e6b44}.form-group input::placeholder{color:#5a7a61}.btn-login{width:100%;padding:.875rem;background:#2e6b44!important;border:none;border-radius:6px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-login:hover:not(:disabled){background:#3d8a58!important}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-help{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ccddd3;text-align:center}.login-help p{margin:.25rem 0;font-size:.8rem;color:#5a7a61}.employee-roster{max-width:1000px;margin:0 auto}.employee-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.employee-header h1{margin:0}.work-area-badge{background:#2e6b44;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.roster-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #ccddd3}.roster-tab{padding:1rem 1.5rem;background:#fff;border:1px solid #ccddd3;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s;position:relative;bottom:-2px;color:#5a7a61}.roster-tab:hover{background:#2e6b44;color:#fff}.roster-tab.active{background:#2e6b44;border-color:#ccddd3;color:#fff}.my-roster-section h2,.team-roster-section h2{margin:0 0 .5rem}.shifts-list-employee{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.shift-card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #ccddd3}.shift-card-date{background:#2e6b44;padding:.75rem 1rem;font-weight:600}.shift-card-info{padding:1rem}.shift-card-shift{color:#5a7a61;font-size:.9rem}.roster-entry.is-me{background:#2e6b44;border-left:3px solid #163622}.me-badge{background:#163622;color:#f9fbf9;font-size:.7rem;padding:.15rem .4rem;border-radius:4px;margin-left:.5rem;font-weight:600}.calendar-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.calendar-nav-btn{background:#edf5ed;border:1px solid #ccddd3;color:#163622;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-size:1.25rem;transition:all .2s}.calendar-nav-btn:hover{background:#2e6b44}.calendar-title{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.calendar-title h2{margin:0;font-size:1.5rem}.today-btn{background:#2e6b44;border:none;color:#fff;padding:.35rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.today-btn:hover{background:#3d8a58}.calendar-grid{background:#edf5ed;border-radius:8px;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.weekday-label{padding:.75rem;text-align:center;font-weight:600;color:#5a7a61;font-size:.85rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{aspect-ratio:1;padding:.5rem;border:1px solid #ccddd3;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.25rem;min-height:60px;transition:all .2s}.calendar-day:hover{background:#fff}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:#fff;border-color:#ccddd3}.calendar-day.today .day-number{background:#2e6b44;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.has-shift{background:#2e6b4440}.day-number{font-size:.9rem;font-weight:500;color:#163622}.calendar-shifts{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center}.calendar-shift-dot{background:#5a7a61;color:#f9fbf9;font-size:.65rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:.15rem;padding:0 .35rem}.shift-time-label{font-size:.6rem;font-weight:600}.calendar-legend{display:flex;gap:2rem;margin-top:1.5rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;color:#5a7a61;font-size:.9rem}.legend-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.legend-dot.has-shift{background:#5a7a61;color:#f9fbf9}.legend-dot.today-marker{background:#2e6b44;border:2px solid #5a7a61}.availability-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3}.availability-section h2{margin:0 0 .5rem}.availability-section .section-description{color:#5a7a61;margin:0 0 1.5rem}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.availability-day{background:#edf5ed;border:2px solid #ccddd3;border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;gap:.5rem}.availability-day:hover{border-color:#5a7a61;transform:translateY(-2px)}.availability-day.available{background:#2e6b4433;border-color:#ccddd3}.availability-day.unavailable{background:#b4505026;border-color:#c33}.availability-day.saving{opacity:.6;cursor:wait}.availability-day .day-name{font-weight:600;font-size:1.1rem}.availability-day .availability-status{font-size:.85rem;color:#5a7a61}.availability-day.available .availability-status{color:#163622}.availability-day.unavailable .availability-status{color:#c33}.availability-info{margin-top:1.5rem;text-align:center;color:#5a7a61;font-size:.9rem}.availability-info p{margin:0}.set-roster-section{max-width:640px}.ra-pending-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#d4a01726;border:1px solid rgba(212,160,23,.3);border-radius:8px;margin-bottom:1rem;font-size:.85rem;color:#d4a017}.ra-pending-detail{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.25rem}.ra-cancel-btn{display:inline-flex;align-items:center;gap:3px;padding:.2rem .5rem;border:1px solid rgba(212,160,23,.4);border-radius:4px;background:transparent;color:#d4a017;font-size:.75rem;cursor:pointer}.ra-cancel-btn:hover{background:#d4a01726}.ra-form{display:flex;flex-direction:column;gap:1.25rem;background:#edf5ed;border-radius:8px;padding:1.5rem}.ra-form .form-group label{font-weight:500;color:#163622;display:block;margin-bottom:.35rem}.ra-form select{padding:.6rem .75rem;border:1px solid #ccddd3;border-radius:6px;background:#fff;color:#163622;font-size:.95rem;width:100%}.ra-quarter-display{padding:.6rem .75rem;border:1px solid #ccddd3;border-radius:6px;background:#edf5ed;color:#163622;font-size:.95rem;font-weight:600}.ra-grid-section h3{margin:0 0 .15rem;font-size:.95rem;color:#163622}.ra-week-hint{font-weight:400;font-size:.75rem;color:#5a7a61}.ra-grid-hint{font-size:.8rem;color:#5a7a61;margin:0 0 .5rem}.ra-day-grid{display:flex;gap:6px}.ra-day-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:.6rem 0;border-radius:6px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.ra-day-cell.active{background:#2e6b44;color:#fff}.ra-day-cell.inactive{background:#2e6b444d;color:#5a7a61}.ra-day-cell.disabled{opacity:.35;pointer-events:none}.ra-day-cell:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0003}.ra-day-short{font-size:.75rem;font-weight:600;letter-spacing:.3px}.ra-day-indicator{font-size:.8rem}.ra-consecutive{display:flex;flex-direction:column;gap:.25rem}.ra-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#163622}.ra-checkbox-label input[type=checkbox]{accent-color:#2e6b44;width:16px;height:16px}.ra-history{margin-top:2rem}.ra-history h3{margin:0 0 .75rem;font-size:1rem}.ra-locked-banner{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#2e6b4433;border:1px solid #ccddd3;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#5a7a61;font-size:.85rem}.ra-locked-banner svg{color:#2e6b44;flex-shrink:0}.ra-change-request-btn{margin-left:auto;padding:.4rem .9rem;background:#2e6b44;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background .2s}.ra-change-request-btn:hover{background:#fff}.ra-change-banner{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#d9770626;border:1px solid rgba(217,119,6,.4);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#fbbf24;font-size:.85rem}.ra-change-banner svg{color:#f59e0b;flex-shrink:0}.ra-change-badge{display:inline-flex;align-items:center;background:#d9770640;color:#fbbf24;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.03em}.ra-superseded-badge{display:inline-flex;align-items:center;background:#64748b40;color:#94a3b8;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.03em}.ra-alternating-badge{display:inline-flex;align-items:center;background:#6366f133;color:#a5b4fc;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.03em}.leave-card.superseded,.agreement-card.superseded{opacity:.55}.ra-alternating-toggle{margin:.75rem 0 .5rem}.ra-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:8px;color:#5a7a61;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.ra-toggle-btn:hover{background:#fff}.ra-toggle-btn.active{background:#6366f126;border-color:#6366f180;color:#a5b4fc}.ra-toggle-btn.active:hover{background:#6366f140}.ra-pdf-btn{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.35rem .75rem;background:#2e6b4433;border:1px solid #ccddd3;border-radius:6px;color:#5a7a61;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .2s}.ra-pdf-btn:hover{background:#2e6b4459;color:#163622}.ra-pdf-btn:disabled{opacity:.5;cursor:not-allowed}.leave-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3}.leave-section h2{margin:0 0 .5rem}.leave-section .section-description{color:#5a7a61;margin:0 0 1.5rem}.leave-form{background:#edf5ed;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.leave-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.leave-form .form-group{display:flex;flex-direction:column;gap:.5rem}.leave-form .form-group label{font-weight:500;color:#163622}.leave-form input[type=date],.leave-form textarea{padding:.75rem;border:1px solid #ccddd3;border-radius:6px;background:#fff;color:#163622;font-size:1rem}.leave-form input[type=date]:focus,.leave-form textarea:focus{outline:none;border-color:#ccddd3}.leave-form textarea{resize:vertical;min-height:80px}.leave-form .submit-btn{background:#2e6b44;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.5rem}.leave-form .submit-btn:hover:not(:disabled){background:#3d8a58}.leave-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}.leave-history{margin-top:2rem}.leave-history h3{margin:0 0 1rem;font-size:1.1rem}.leave-list{display:flex;flex-direction:column;gap:.75rem}.leave-card{background:#edf5ed;border-radius:8px;padding:1rem;border-left:4px solid #ccddd3}.leave-card.leave-pending{border-left-color:#d4a017}.leave-card.leave-approved{border-left-color:#2e6b44}.leave-card.leave-rejected{border-left-color:#c33}.leave-card .leave-dates{font-weight:600;margin-bottom:.5rem}.leave-card .leave-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.leave-card .leave-reason{color:#5a7a61;font-size:.9rem}.leave-card .leave-status{font-size:.85rem;font-weight:500;padding:.25rem .75rem;border-radius:20px}.leave-card .status-pending{background:#d4a01733;color:#d4a017}.leave-card .status-approved{background:#2e6b4433;color:#5a7a61}.leave-card .status-rejected{background:#c333;color:#c33}.leave-card .leave-notes{margin-top:.5rem;font-size:.85rem;color:#5a7a61;font-style:italic}.agreement-card{border-left-color:#ccddd3!important}.agreement-card.status-pending{border-left-color:#d4a017!important}.agreement-card.status-approved{border-left-color:#2e6b44!important}.agreement-card.status-rejected{border-left-color:#c33!important}.leave-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.leave-card-employee strong{display:block;font-size:1rem}.leave-card-meta{font-size:.8rem;color:#5a7a61}.leave-card-status .status-badge{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:12px;text-transform:capitalize}.status-badge.pending{background:#d4a01733;color:#d4a017}.status-badge.approved{background:#2e6b4433;color:#5a7a61}.status-badge.rejected{background:#c333;color:#c33}.agreement-patterns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}.agreement-section{background:#2e6b4480;border-radius:6px;padding:.75rem}.agreement-section-current{opacity:.7}.agreement-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#5a7a61;margin:0 0 .5rem}.agreement-day-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.agreement-day-label{font-size:.7rem;color:#5a7a61;min-width:55px;font-weight:500}.agreement-day-pills{display:flex;gap:2px}.day-pill{width:28px;height:20px;font-size:.6rem;display:flex;align-items:center;justify-content:center;border-radius:3px;font-weight:500}.day-pill.active{background:#2e6b44;color:#fff}.day-pill.inactive{background:#2e6b444d;color:#5a7a61}.agreement-consec{font-size:.7rem;color:#5a7a61;margin-top:.25rem}.leave-card-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(46,107,68,.2)}.admin-notes-input{padding:.5rem .75rem;border:1px solid #ccddd3;border-radius:6px;background:#fff;color:#163622;font-size:.85rem;width:100%}.admin-notes-input::placeholder{color:#5a7a61}.action-buttons{display:flex;gap:.5rem}.btn-approve{display:flex;align-items:center;gap:4px;padding:.5rem 1rem;border:none;border-radius:6px;background:#2e6b44;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-approve:hover:not(:disabled){background:#3d8a58}.btn-reject{display:flex;align-items:center;gap:4px;padding:.5rem 1rem;border:none;border-radius:6px;background:#c33;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-reject:hover:not(:disabled){background:#c06060}.btn-approve:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed}.leave-card-notes{font-size:.8rem;color:#5a7a61;margin-top:.5rem;font-style:italic}.agreement-pdf-row{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(46,107,68,.15)}.btn-pdf{display:flex;align-items:center;gap:4px;padding:.4rem .8rem;border:1px solid #ccddd3;border-radius:6px;background:transparent;color:#5a7a61;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-pdf:hover:not(:disabled){background:#2e6b4433;color:#163622}.btn-pdf:disabled{opacity:.5;cursor:not-allowed}.agreement-date{font-size:.75rem;color:#5a7a61}.swaps-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3}.swaps-section h2{margin:0 0 .5rem}.swaps-section h3{margin:0 0 1rem;font-size:1.1rem}.swaps-section .section-description{color:#5a7a61;margin:0 0 1.5rem}.swap-form-container{background:#edf5ed;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.swap-form{display:flex;flex-direction:column;gap:1rem}.swap-form .form-group{display:flex;flex-direction:column;gap:.5rem}.swap-form .form-group label{font-weight:500;color:#163622}.swap-form select{padding:.75rem;border:1px solid #ccddd3;border-radius:6px;background:#fff;color:#163622;font-size:1rem}.swap-form select:focus{outline:none;border-color:#ccddd3}.swap-form select:disabled{opacity:.6;cursor:not-allowed}.swap-requests-container{background:#edf5ed;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.swap-list{display:flex;flex-direction:column;gap:.75rem}.swap-card{background:#fff;border-radius:8px;padding:1rem;border-left:4px solid #ccddd3}.swap-card.incoming{border-left-color:#d4a017;background:#fff}.swap-card.status-pending_partner,.swap-card.status-pending_admin{border-left-color:#d4a017}.swap-card.status-approved{border-left-color:#2e6b44}.swap-card.status-rejected,.swap-card.status-cancelled{border-left-color:#c33}.swap-card .swap-info{font-size:1rem;margin-bottom:.75rem}.swap-card .swap-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.swap-card .swap-shift{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#edf5ed;border-radius:4px;font-size:.9rem}.swap-card .swap-shift .label{color:#5a7a61;font-size:.8rem}.swap-card .swap-actions{display:flex;gap:.75rem;margin-top:.5rem}.swap-card .swap-status-info{margin-bottom:.5rem}.swap-card .swap-status-info .status{font-size:.85rem;font-weight:500;padding:.25rem .75rem;border-radius:20px}.swap-card .swap-status-info .status.pending{background:#d4a01733;color:#d4a017}.swap-card .swap-status-info .status.approved{background:#2e6b4433;color:#5a7a61}.swap-card .swap-status-info .status.rejected{background:#c333;color:#c33}.swap-card .swap-status-info .status.cancelled{background:#78787833;color:#5a7a61}.swap-card .swap-notes{margin-top:.5rem;font-size:.85rem;color:#5a7a61;font-style:italic}.btn-success{background:#2e6b44;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-success:hover{background:#3d8a58}.btn-danger{background:#c33;color:#163622;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#c33}.btn-secondary{background:#fff;color:#163622;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#2e6b44}.leave-requests-admin{max-width:1200px;margin:0 auto}.leave-requests-admin .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.leave-requests-admin .page-header h1{margin:0}.pending-badge{background:#d4a017;color:#f9fbf9;padding:.35rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.filter-bar{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px}.filter-bar label{font-weight:500;color:#5a7a61}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;background:#edf5ed;border:1px solid #ccddd3;color:#5a7a61;border-radius:6px;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#5a7a61;color:#163622}.filter-btn.active{background:#2e6b44;border-color:#ccddd3;color:#fff}.work-area-groups{display:flex;flex-direction:column;gap:2rem}.work-area-group{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3}.work-area-title{margin:0 0 1rem;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.work-area-title .count{font-size:.9rem;color:#5a7a61;font-weight:400}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{background:#edf5ed;border-radius:8px;padding:1.25rem;border:1px solid #ccddd3}.request-card.request-pending{border-color:#d4a017}.request-card.request-approved{border-color:#ccddd3}.request-card.request-rejected{border-color:#c33}.request-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.employee-info{display:flex;flex-direction:column;gap:.25rem}.employee-info .employee-name{font-weight:600;font-size:1.1rem}.employee-info .employee-email{color:#5a7a61;font-size:.85rem}.status-badge{padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500;text-transform:capitalize}.status-badge.status-pending{background:#d4a01733;color:#d4a017}.status-badge.status-approved{background:#2e6b4433;color:#5a7a61}.status-badge.status-rejected{background:#c333;color:#c33}.request-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.request-details .date-range{display:flex;align-items:center;gap:.5rem;font-weight:500}.request-details .days-count{color:#5a7a61;font-weight:400}.request-details .reason{color:#163622}.request-details .reason .label{color:#5a7a61}.request-details .submitted{font-size:.85rem;color:#5a7a61}.request-actions{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid #ccddd3}.request-actions .notes-input input{width:100%;padding:.6rem .75rem;background:#fff;border:1px solid #ccddd3;border-radius:6px;color:#163622}.request-actions .notes-input input:focus{outline:none;border-color:#5a7a61}.action-buttons{display:flex;gap:.75rem}.approve-btn,.reject-btn{padding:.6rem 1.25rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.approve-btn{background:#2e6b44;color:#fff}.approve-btn:hover:not(:disabled){background:#3d8a58}.reject-btn{background:#c33;color:#163622}.reject-btn:hover:not(:disabled){background:#c33}.approve-btn:disabled,.reject-btn:disabled{opacity:.6;cursor:not-allowed}.admin-notes{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #ccddd3;font-size:.9rem;color:#5a7a61;font-style:italic}.admin-notes .label{font-style:normal;font-weight:500}.success-message{background:#2e6b4433;border:1px solid #ccddd3;color:#163622;padding:1rem;border-radius:8px;margin-bottom:1rem}.shift-swaps-admin{max-width:1200px;margin:0 auto}.shift-swaps-admin .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.shift-swaps-admin .page-header h1{margin:0}.swaps-list{display:flex;flex-direction:column;gap:1rem}.swap-admin-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #ccddd3;border-left:4px solid #ccddd3}.swap-admin-card.status-pending_admin{border-left-color:#d4a017}.swap-admin-card.status-pending_partner{border-left-color:#6aa0c0}.swap-admin-card.status-approved{border-left-color:#2e6b44}.swap-admin-card.status-rejected{border-left-color:#c33}.swap-admin-card.status-cancelled{border-left-color:#5a7a61}.swap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.swap-employees{display:flex;align-items:center;gap:.75rem;font-size:1.1rem}.swap-employees .employee-name{font-weight:600}.swap-employees .swap-arrow{color:#2e6b44;font-size:1.2rem}.swap-work-area{background:#edf5ed;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;color:#5a7a61}.swap-shifts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.swap-shift-card{background:#edf5ed;border-radius:8px;padding:1rem}.swap-shift-card .shift-owner{font-size:.85rem;color:#5a7a61;margin-bottom:.5rem}.swap-shift-card .shift-date{font-weight:600;margin-bottom:.25rem}.swap-shift-card .shift-time{color:#2e6b44}.swap-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.swap-status-badge{font-size:.85rem;font-weight:500;padding:.35rem .75rem;border-radius:20px}.swap-status-badge.pending_admin{background:#d4a01733;color:#d4a017}.swap-status-badge.pending_partner{background:#6aa0c033;color:#8ec4e8}.swap-status-badge.approved{background:#2e6b4433;color:#5a7a61}.swap-status-badge.rejected{background:#c333;color:#c33}.swap-status-badge.cancelled{background:#78787833;color:#5a7a61}.partner-accepted,.swap-date{font-size:.85rem;color:#5a7a61}.swap-admin-notes{margin-top:.75rem;padding:.75rem;background:#edf5ed;border-radius:6px;font-size:.9rem;color:#5a7a61}.swap-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #ccddd3}.swap-actions .admin-notes-input{margin-bottom:.75rem}.swap-actions .admin-notes-input input{width:100%;padding:.75rem;border:1px solid #ccddd3;border-radius:6px;background:#edf5ed;color:#163622;font-size:.95rem}.swap-actions .admin-notes-input input:focus{outline:none;border-color:#5a7a61}.swap-actions .action-buttons{display:flex;gap:.75rem}.absence-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-item{background:#edf5ed;padding:.75rem 1rem;border-radius:8px;border-left:3px solid #ccddd3;display:flex;flex-direction:column;min-width:80px}.stat-value{font-size:1.5rem;font-weight:700;color:#163622}.stat-label{font-size:.75rem;color:#5a7a61}.absence-list{display:flex;flex-direction:column;gap:1rem}.absence-day-card{background:#edf5ed;border-radius:8px;overflow:hidden}.absence-day-card.today{border:2px solid #ccddd3}.absence-day-card.weekend{background:#2a3832}.absence-day-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#edf5ed}.absence-day-date{display:flex;flex-direction:column;align-items:center;min-width:60px}.absence-day-date .day-name{font-size:.7rem;color:#5a7a61;text-transform:uppercase}.absence-day-date .day-num{font-size:1.5rem;font-weight:700;color:#163622}.absence-day-date .month-name{font-size:.7rem;color:#5a7a61}.absence-day-stats{display:flex;gap:1rem;flex:1}.absence-day-stats .roster-count{color:#5a7a61;font-size:.85rem}.absence-day-stats .absence-count{color:#e76f51;font-size:.85rem;font-weight:600}.add-absence-btn{background:#2e6b44;border:none;color:#fff;padding:.4rem .75rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.3rem;font-size:.8rem;transition:all .2s}.add-absence-btn:hover{background:#fff}.absence-day-list{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.absence-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0003;border-radius:6px;border-left:3px solid #e76f51}.absence-type-badge{display:flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;color:#163622}.absence-employee{flex:1;font-weight:500;color:#163622}.absence-reason{font-size:.8rem;color:#5a7a61;font-style:italic}.delete-absence-btn{background:transparent;border:none;color:#5a7a61;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.delete-absence-btn:hover{background:#c1121f;color:#163622}.no-absences{padding:1rem;text-align:center;color:#5a7a61;font-size:.85rem}.absence-chip{padding:.15rem .35rem;border-radius:2px;font-size:.6rem;color:#163622;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day.has-absences{background:#e76f5126}.roster-badge{background:#2e6b44;color:#fff;font-size:.55rem;padding:.1rem .3rem;border-radius:8px;font-weight:600}.add-absence-modal{min-width:400px}.add-absence-modal .form-group{margin-bottom:1rem}.add-absence-modal .form-group label{display:block;margin-bottom:.5rem;color:#5a7a61;font-size:.85rem}.add-absence-modal select,.add-absence-modal textarea{width:100%;padding:.6rem;border-radius:6px;border:1px solid #ccddd3;background:#fff;color:#163622;font-size:.9rem}.add-absence-modal select:focus,.add-absence-modal textarea:focus{outline:none;border-color:#5a7a61}.add-absence-modal textarea{resize:vertical;min-height:60px}.absence-type-selector{display:flex;flex-wrap:wrap;gap:.5rem}.absence-type-btn{display:flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border:2px solid;border-radius:6px;background:transparent;cursor:pointer;font-size:.8rem;transition:all .2s}.absence-type-btn:hover{transform:translateY(-1px)}.absence-type-btn.selected{transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.quick-add-section{margin-bottom:1rem}.btn-quick-add{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,#e76f51,#f4a261);color:#163622;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.btn-quick-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e76f5166}.quick-add-modal{max-width:500px;width:90%}.quick-add-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #ccddd3;margin-bottom:1rem}.quick-add-modal .modal-header h3{display:flex;align-items:center;gap:.5rem;color:#f4a261;margin:0}.quick-add-modal .close-btn{background:transparent;border:none;color:#5a7a61;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.quick-add-modal .close-btn:hover{color:#163622}.quick-add-row{display:flex;gap:1rem;margin-bottom:1rem}.quick-add-row .form-group{flex:1}.quick-add-row .form-group:first-child{flex:0 0 140px}.quick-add-modal .form-group{margin-bottom:1rem}.quick-add-modal .form-group label{display:block;color:#5a7a61;font-size:.8rem;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.quick-add-modal input[type=date],.quick-add-modal select{width:100%;padding:.5rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px;color:#163622;font-size:.9rem}.quick-add-modal input[type=date]:focus,.quick-add-modal select:focus{outline:none;border-color:#5a7a61}.search-input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px}.search-input-wrapper svg{color:#5a7a61;flex-shrink:0}.search-input-wrapper input{flex:1;background:transparent;border:none;color:#163622;font-size:.9rem}.search-input-wrapper input::placeholder{color:#6b8a7a}.search-input-wrapper input:focus{outline:none}.search-input-wrapper:focus-within{border-color:#5a7a61}.absence-type-selector.compact{gap:.35rem}.absence-type-selector.compact .absence-type-btn{padding:.4rem .5rem;min-width:auto}.absence-type-selector.compact .absence-type-btn span{display:none}.employee-grid{display:flex;flex-wrap:wrap;gap:.4rem;max-height:250px;overflow-y:auto;padding:.5rem;background:#edf5ed;border-radius:6px;border:1px solid #ccddd3}.employee-chip{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px;color:#5a7a61;font-size:.8rem;cursor:pointer;transition:all .15s}.employee-chip:hover{border-color:#5a7a61;color:#163622}.employee-chip.selected{background:#2e6b44;border-color:#5a7a61;color:#fff}.employee-chip.selected svg{color:#5a7a61}.loading-small{color:#5a7a61;font-size:.85rem;padding:1rem;text-align:center}.no-employees{color:#5a7a61;font-size:.85rem;padding:1rem;text-align:center;width:100%}.employee-management{padding:1.5rem}.employee-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.employee-management .page-header h1{margin:0;color:#163622;font-size:1.5rem}.employee-search{position:relative;margin-bottom:1.5rem;max-width:400px}.employee-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#5a7a61}.employee-search input{width:100%;padding:.75rem 2.5rem .75rem 40px;background:#edf5ed;border:1px solid #ccddd3;border-radius:8px;color:#163622;font-size:.95rem}.employee-search input:focus{outline:none;border-color:#ccddd3}.employee-search input::placeholder{color:#5a7a61}.employee-search .clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#5a7a61;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.employee-search .clear-search:hover{color:#163622;background:#ffffff1a}.work-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:1.5rem}.work-area-category{display:flex;flex-direction:column;gap:.75rem}.category-title{color:#5a7a61;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;padding-bottom:.25rem;border-bottom:1px solid #ccddd3}.work-area-box{background:#edf5ed;border:1px solid #ccddd3;border-radius:8px;overflow:hidden}.work-area-box.collapsed{border-radius:8px}.work-area-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#edf5ed;cursor:pointer;transition:background .15s}.work-area-header:hover{background:#fff}.work-area-header .header-left{display:flex;align-items:center;gap:.5rem;color:#163622}.work-area-header h3{margin:0;font-size:.95rem;font-weight:600}.work-area-header .employee-count{color:#5a7a61;font-size:.85rem;margin:0}.work-area-content{padding:0}.employee-table{width:100%;border-collapse:collapse;font-size:.85rem}.employee-table th{padding:.6rem .75rem;text-align:left;background:#edf5ed;color:#5a7a61;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #ccddd3}.employee-table td{padding:.5rem .75rem;color:#163622;vertical-align:middle}.employee-table tbody tr{border-bottom:2px solid #edf5ed}.employee-table tbody tr:last-child{border-bottom:none}.employee-table tbody tr:hover{background:#2e6b441a}.employee-table .inactive-row{opacity:.5}.employee-table .employee-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.employee-table .inactive-badge{font-size:.7rem;padding:.15rem .4rem;background:#fef2f2;color:#c33;border-radius:3px}.employee-table .empty-value{color:#5a7a61}.employee-table .actions-col{width:100px;text-align:center}.level-badge{display:inline-block;padding:.2rem .5rem;background:#3d5a50;color:#5a7a61;border-radius:4px;font-size:.75rem;font-weight:600}.contract-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.contract-badge.full-time{background:#edf5ed;color:#5a7a61}.contract-badge.part-time{background:#4a4a2a;color:#c9c97a}.contract-badge.casual{background:#edf5ed;color:#7ac9c9}.role-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.role-badge.team-leader{background:#1e3a5f;color:#bfdbfe}.role-badge.step-up{background:#4a4a2a;color:#c9c97a}.skill-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;margin-right:.2rem}.action-buttons{display:flex;justify-content:center;gap:.25rem}.btn-icon{background:transparent;border:none;padding:.4rem;cursor:pointer;color:#5a7a61;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#2e6b4433;color:#163622}.btn-icon.danger:hover{background:#e0747433;color:#c33}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.employee-form-modal{max-width:600px;width:90%}.employee-form-modal h3{margin:0 0 1.5rem;color:#163622;font-size:1.25rem}.employee-form-modal .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.employee-form-modal .form-group{display:flex;flex-direction:column;gap:.35rem}.employee-form-modal .form-group label{color:#5a7a61;font-size:.85rem;font-weight:500}.employee-form-modal .form-group input,.employee-form-modal .form-group select{padding:.6rem .75rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:6px;color:#163622;font-size:.9rem}.employee-form-modal .form-group input:focus,.employee-form-modal .form-group select:focus{outline:none;border-color:#ccddd3}.employee-form-modal .checkbox-group{flex-direction:row;align-items:center}.employee-form-modal .checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.employee-form-modal .checkbox-group input[type=checkbox]{width:16px;height:16px;accent-color:#2e6b44}.employee-form-modal .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ccddd3}.employee-table .delete-confirm{display:flex;justify-content:center;gap:.25rem}@media(max-width:1200px){.work-area-grid{grid-template-columns:1fr}}@media(max-width:600px){.employee-form-modal .form-grid{grid-template-columns:1fr}.employee-table{font-size:.8rem}.employee-table th,.employee-table td{padding:.4rem .5rem}}.bulk-action-buttons{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn-bulk-action{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;color:#fff;min-width:160px;justify-content:center}.btn-bulk-action.add{background:linear-gradient(135deg,#2e6b44,#ccddd3);box-shadow:0 2px 8px #2e6b444d}.btn-bulk-action.add:hover{background:linear-gradient(135deg,#6a9a69,#4a6a50);transform:translateY(-2px);box-shadow:0 4px 12px #2e6b4466}.btn-bulk-action.remove{background:linear-gradient(135deg,#c33,#922);box-shadow:0 2px 8px #b546464d}.btn-bulk-action.remove:hover{background:linear-gradient(135deg,#c33,#b33333);transform:translateY(-2px);box-shadow:0 4px 12px #b5464666}.btn-bulk-action.transfer{background:linear-gradient(135deg,#4a7ab5,#3a5a8b);box-shadow:0 2px 8px #4a7ab54d}.btn-bulk-action.transfer:hover{background:linear-gradient(135deg,#5a8ac5,#4a6a9b);transform:translateY(-2px);box-shadow:0 4px 12px #4a7ab566}.btn-bulk-action:disabled{opacity:.6;cursor:not-allowed;transform:none}.view-buttons-group{display:flex;gap:.5rem;margin-left:auto}.btn-view-action{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid #555;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;background:#3a3a3a;color:#163622}.btn-view-action:hover:not(:disabled){background:#4a4a4a;border-color:#5a7a61}.btn-view-action:disabled{opacity:.6;cursor:not-allowed}.view-modal{max-width:800px;width:95%}.view-table{width:100%;border-collapse:collapse;margin-top:1rem}.view-table th,.view-table td{padding:.75rem;text-align:left;border-bottom:1px solid #444}.view-table th{background:#edf5ed;font-weight:600;color:#5a7a61}.view-table tbody tr:hover{background:#edf5ed}.view-table .reason-termination{color:#c33;font-weight:500}.view-table .reason-resigned{color:#e0b674;font-weight:500}.btn-cancel-action{padding:.375rem .75rem;font-size:.8rem;border:1px solid #cc3333;border-radius:4px;background:transparent;color:#c33;cursor:pointer;transition:all .2s}.btn-cancel-action:hover{background:#b5464633}.no-data{text-align:center;color:#5a7a61;padding:2rem;font-style:italic}.bulk-modal{max-width:900px;width:95%}.bulk-modal h3{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:#163622;font-size:1.25rem}.bulk-warning{background:#b5464626;border:1px solid rgba(181,70,70,.3);color:#c33;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.bulk-info{background:#4a7ab526;border:1px solid rgba(74,122,181,.3);color:#7ab5e0;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.bulk-table-container{overflow-x:auto;margin-bottom:1rem;border:1px solid #ccddd3;border-radius:8px}.bulk-table{width:100%;border-collapse:collapse;font-size:.9rem}.bulk-table th{padding:.75rem;text-align:left;background:#edf5ed;color:#5a7a61;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #ccddd3;white-space:nowrap}.bulk-table td{padding:.5rem;border-bottom:3px solid #edf5ed;color:#163622;vertical-align:middle}.bulk-table tbody tr:last-child td{border-bottom:none}.bulk-table tbody tr:hover{background:#2e6b4414}.bulk-table .row-number{color:#5a7a61;font-weight:600;width:30px;text-align:center}.bulk-table input,.bulk-table select{width:100%;padding:.5rem .6rem;background:#edf5ed;border:1px solid #ccddd3;border-radius:4px;color:#163622;font-size:.85rem}.bulk-table input:focus,.bulk-table select:focus{outline:none;border-color:#ccddd3;background:#fff}.bulk-table input::placeholder{color:#5a7a61}.bulk-table input[type=date]{min-width:140px}.bulk-remove-modal{max-width:500px}.bulk-remove-modal .bulk-table select{min-width:300px}.bulk-modal .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #ccddd3}.btn-danger{background:linear-gradient(135deg,#c33,#922);color:#163622;border:none;padding:.65rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-danger:hover{background:linear-gradient(135deg,#c33,#b33333)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.no-employees{padding:1.5rem;text-align:center;color:#5a7a61;font-style:italic}.draft-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;background:#fef3cd;color:#856404;border:1px solid #ffc107;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem;vertical-align:middle}.btn-publish{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#28a745;color:#163622;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-publish:hover{background:#218838}.btn-publish:disabled{opacity:.6;cursor:not-allowed}.status-summary-inline{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.status-count{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.15rem .5rem;border-radius:10px;font-weight:500}.status-count.draft{background:#fff3cd;color:#856404}.status-count.published,.status-count.pending{background:#cce5ff;color:#004085}.status-count.confirmed{background:#d4edda;color:#155724}.status-count.declined{background:#f8d7da;color:#721c24}.status-count.awaiting-reoffer{background:#ffe5cc;color:#854d0e}.status-count.unfilled{background:#e2e3e5;color:#383d41}.status-draft{background-color:#ffc10733!important;font-weight:600}.status-pending{background-color:#ffc10714!important}.status-declined{background-color:#dc354514!important}.status-awaiting-reoffer{background-color:#fd7e1414!important}.status-unfilled{background-color:#6c757d14!important}.status-confirmed{background-color:#28a7450f!important}.status-call-in-pending{background-color:#ffc1071f!important;border-left:3px solid #ffc107!important}.cell-status-dot{display:inline-block;font-size:.6rem;margin-left:.25rem;vertical-align:middle;line-height:1}.cell-status-dot.draft,.cell-status-dot.pending{color:#ffc107}.cell-status-dot.confirmed{color:#28a745}.cell-status-dot.declined{color:#dc3545}.cell-status-dot.awaiting-reoffer{color:#fd7e14}.cell-status-dot.unfilled{color:#6c757d}.cell-status-dot.call-in-pending{color:#ffc107;font-size:.55rem}.start-time-display.draft,.start-time-display.pending{opacity:.65}.start-time-display.call-in-pending{opacity:.7}.call-in-label{font-size:.5rem;font-weight:700;letter-spacing:.04em;color:#e67e22;line-height:1;margin-top:1px}.start-time-display.declined{opacity:.45;text-decoration:line-through;color:#5a7a61}.pending-offers-banner{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:1px solid #81c784;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.pending-offers-header{display:flex;align-items:center;gap:.5rem;color:#2e7d32;margin-bottom:.25rem}.pending-offers-header h3{margin:0;font-size:1rem;font-weight:600}.pending-offers-desc{font-size:.82rem;color:#558b2f;margin:0 0 .75rem}.pending-offers-list{display:flex;flex-direction:column;gap:.5rem}.offer-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #c8e6c9;border-radius:8px;padding:.6rem .85rem;gap:.75rem}.offer-info{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.offer-date{font-weight:600;font-size:.88rem;color:#333}.offer-time{font-size:.82rem;color:#5a7a61;background:#f0f0f0;padding:.1rem .4rem;border-radius:4px}.offer-area{font-size:.78rem;color:#777}.offer-actions{display:flex;gap:.4rem;flex-shrink:0}.btn-accept{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .7rem;background:#28a745;color:#163622;border:none;border-radius:5px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-accept:hover{background:#218838}.btn-accept:disabled{opacity:.6;cursor:not-allowed}.btn-decline{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .7rem;background:#dc3545;color:#163622;border:none;border-radius:5px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-decline:hover{background:#c82333}.btn-decline:disabled{opacity:.6;cursor:not-allowed}.btn-sms{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:#17a2b8;color:#163622;border:none;border-radius:5px;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-sms:hover{background:#138496}.btn-sms:disabled{opacity:.6;cursor:not-allowed}
