:root{--navy: #1a2332;--navy-light: #243447;--navy-hover: #2d4159;--orange: #ff9900;--orange-hover: #ec8f00;--orange-dim: rgba(255, 153, 0, .12);--bg: #f0f2f5;--white: #ffffff;--card-bg: #ffffff;--row-alt: #f9fafb;--row-pending: #fffdf5;--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--text-primary: #1a2332;--text-secondary: #5f6b7a;--text-light: #8a95a3;--border: #e5e7eb;--font: "Segoe UI", Arial, sans-serif;--sidebar-width: 240px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg);min-height:100vh}#root{min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--navy);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar__logo{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.sidebar__logo-icon{width:28px;height:28px;stroke:var(--orange);fill:none;stroke-width:1.5}.sidebar__logo-text{font-size:15px;font-weight:600;letter-spacing:-.3px;color:#fff}.sidebar__nav{flex:1;padding:16px 0}.sidebar__link{display:flex;align-items:center;gap:12px;padding:10px 20px;color:#ffffffa6;text-decoration:none;font-size:13px;font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:color .15s,background .15s}.sidebar__link:hover{color:#fff;background:var(--navy-hover)}.sidebar__link--active{color:var(--orange);background:var(--orange-dim)}.sidebar__link-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.sidebar__footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08)}.sidebar__user{display:flex;align-items:center;gap:10px;font-size:12px;color:#ffffffb3}.sidebar__user-avatar{width:32px;height:32px;border-radius:50%;background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--orange)}.sidebar__logout{margin-top:12px;font-size:12px;color:#ffffff80;cursor:pointer;border:none;background:none;padding:4px 0}.sidebar__logout:hover{color:#fff}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--white);border-bottom:1px solid var(--border)}.header__left{display:flex;flex-direction:column;gap:2px}.header__title{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.4px}.header__welcome{font-size:13px;color:var(--text-secondary);font-weight:400}.header__right{display:flex;align-items:center}.header__week-badge{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--border);color:var(--text-primary);font-size:12px;font-weight:600;letter-spacing:.3px;background:var(--white)}.main-content{margin-left:240px;flex:1;display:flex;flex-direction:column;min-height:100vh}.content-area{flex:1;padding:24px 32px;background:var(--card-bg);border:1px solid var(--border);margin:0 24px 24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.4px}.section-header,.checklist-category__title,.task-category__header,.focus-page__section-title{background:var(--navy);color:#fff;padding:10px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin:0;border:none}.week-navigation{display:flex;align-items:center;gap:8px;background:var(--white);padding:12px 16px;border:1px solid var(--border);margin-bottom:20px}.week-navigation__arrow,.week-nav-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--white);cursor:pointer;font-size:16px;color:var(--text-secondary);transition:border-color .15s,color .15s}.week-navigation__arrow:hover,.week-nav-arrow:hover{border-color:var(--text-primary);color:var(--text-primary)}.week-navigation__days,.week-days{display:flex;gap:4px;flex:1;justify-content:center}.week-navigation__day,.week-day-button{padding:6px 12px;border:1px solid transparent;background:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .15s}.week-navigation__day:hover,.week-day-button:hover{color:var(--text-primary);border-color:var(--border)}.week-navigation__day--selected,.week-day-button--selected{background:var(--navy);color:#fff;font-weight:600;border-color:var(--navy)}.shift-tabs{display:flex;gap:0;margin-bottom:20px}.shift-tab{padding:10px 24px;border:1px solid var(--border);border-bottom:2px solid transparent;background:var(--white);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.shift-tab--active{border-bottom-color:var(--navy);color:var(--text-primary);font-weight:600}.shift-tab:hover:not(.shift-tab--active){color:var(--text-primary)}.trainer-selector{margin-bottom:20px}.trainer-selector label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.trainer-selector select{width:280px;padding:8px 12px;border:1px solid var(--border);background:var(--white);font-size:13px;color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235f6b7a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.trainer-selector select:focus{outline:none;border-color:var(--navy)}.compliance-indicator{background:var(--white);border:1px solid var(--border);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:16px}.compliance-indicator__label{font-size:13px;font-weight:600;color:var(--text-secondary);min-width:80px}.compliance-indicator__bar{flex:1;height:8px;background:var(--bg);overflow:hidden}.compliance-indicator__fill{height:100%;transition:width .3s ease}.compliance-indicator__value{font-size:14px;font-weight:700;color:var(--text-primary);min-width:40px;text-align:right}.compliance-indicator-badge{border:none!important}.checklist-category{margin-bottom:24px}.checklist{display:flex;flex-direction:column;gap:0}.checklist-item,.task-item{display:flex;align-items:center;padding:10px 16px;background:var(--white);border:1px solid var(--border);border-top:none;gap:12px;transition:background .1s}.checklist-item:first-child,.task-item:first-child{border-top:1px solid var(--border)}.checklist-item:nth-child(2n),.task-item:nth-child(2n){background:var(--row-alt)}.checklist-item--pending,.task-item--pending{background:var(--row-pending)!important}.checklist-item:hover,.task-item:hover{background:#f3f4f6}.checklist-item label{flex:1;font-size:13px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:6px}.checklist-item .required-indicator{color:var(--red);font-weight:700}.checklist-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer}.checklist-item input[type=number],.checklist-item input[type=text]{width:100px;padding:4px 8px;border:1px solid var(--border);background:var(--white);font-size:13px;color:var(--text-primary)}.checklist-item input[type=number]:focus,.checklist-item input[type=text]:focus{outline:none;border-color:var(--navy)}.checklist-item input:disabled{opacity:.5;cursor:not-allowed}.checklist-empty{color:var(--text-light);font-size:13px;padding:20px;text-align:center}.task-category{margin-bottom:12px;border:1px solid var(--border);overflow:hidden}.task-category__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 16px;border:none;background:var(--navy);cursor:pointer;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.task-category__body{padding:0}.submit-button-container{margin-top:20px;display:flex;align-items:center;gap:12px}.submit-button{padding:10px 28px;background:var(--navy);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.submit-button:hover:not(:disabled){background:var(--navy-light)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.submit-error{font-size:12px;color:var(--red)}.save-status{margin-top:12px;font-size:12px;color:var(--text-light)}.save-status__saving{color:var(--text-secondary)}.save-status__saved{color:var(--green)}.save-status__error{color:var(--red)}.locked-message{background:var(--row-pending);border-left:3px solid var(--amber);padding:10px 16px;margin-bottom:16px;font-size:13px;color:var(--text-primary)}.checklist-loading,.checklist-error{padding:24px;text-align:center;font-size:13px;color:var(--text-secondary)}.checklist-error{color:var(--red)}.compliance-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border:1px solid var(--border)}.compliance-badge--high,.compliance-badge--green{background:#fff;color:#22c55e;border-color:#22c55e}.compliance-badge--mid,.compliance-badge--amber{background:#fff;color:#b45309;border-color:#f59e0b}.compliance-badge--low,.compliance-badge--red{background:#fff;color:#dc2626;border-color:#ef4444}.manager-page{padding:0}.compliance-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--border);font-size:12px}.compliance-table th{background:var(--navy);color:#fff;padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.compliance-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.compliance-table tr:nth-child(2n) td{background:var(--row-alt)}.compliance-table tr:hover td{background:#f3f4f6}.compliance-table .trainer-link{color:var(--text-primary);cursor:pointer;font-weight:500;text-decoration:underline}.mock-mode-banner{background:var(--row-pending);color:var(--text-secondary);padding:6px 12px;text-align:center;font-size:12px;font-weight:500;border-bottom:1px solid var(--border);position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:50}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--navy)}.login-card{background:var(--white);padding:40px;width:360px;border:1px solid var(--border)}.login-card h2{font-size:18px;font-weight:700;margin-bottom:24px;color:var(--text-primary)}.login-card label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.login-card input{width:100%;padding:8px 12px;border:1px solid var(--border);font-size:13px;margin-bottom:16px}.login-card input:focus{outline:none;border-color:var(--navy)}.login-card button{width:100%;padding:10px;background:var(--navy);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.login-card button:hover{background:var(--navy-light)}.login-error{color:var(--red);font-size:12px;margin-bottom:12px}.pillars-page{padding:0}.pillars-page__error{color:var(--red);font-size:13px}.pillars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pillar-card{background:var(--card-bg);border:1px solid var(--border);padding:16px 20px}.pillar-card:hover{border-color:var(--text-light)}.pillar-card__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pillar-card__status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pillar-card__status-dot--green{background:var(--green)}.pillar-card__status-dot--amber{background:var(--amber)}.pillar-card__status-dot--red{background:var(--red)}.pillar-card__name{font-size:15px;font-weight:600;color:var(--text-primary)}.pillar-card__details{display:flex;align-items:center;justify-content:space-between;gap:12px}.pillar-card__owner{font-size:13px;color:var(--text-secondary);font-weight:500}.pillar-card__updated{font-size:12px;color:var(--text-light)}.pillar-card__content-preview{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:10px 0 0;word-break:break-word}.pillar-card__edit-btn{margin-top:12px;padding:6px 14px;font-size:13px;font-weight:500;color:var(--white);background:var(--navy);border:none;cursor:pointer}.pillar-card__edit-btn:hover{background:var(--navy-light)}.pillar-editor{background:var(--white);border:2px solid var(--navy);padding:16px 20px}.pillar-editor__header{margin-bottom:10px}.pillar-editor__title{font-size:14px;font-weight:600;color:var(--text-primary)}.pillar-editor__textarea{width:100%;min-height:100px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-primary);border:1px solid var(--border);resize:vertical;line-height:1.5}.pillar-editor__textarea:focus{outline:none;border-color:var(--navy)}.pillar-editor__actions{display:flex;gap:8px;margin-top:12px}.pillar-editor__save-btn{padding:6px 16px;font-size:13px;font-weight:500;color:var(--white);background:var(--navy);border:none;cursor:pointer}.pillar-editor__save-btn:hover:not(:disabled){background:var(--navy-light)}.pillar-editor__save-btn:disabled{opacity:.5;cursor:not-allowed}.pillar-editor__cancel-btn{padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid var(--border);cursor:pointer}.pillar-editor__cancel-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.focus-page{padding:0}.focus-page__loading{padding:24px;text-align:center;font-size:13px;color:var(--text-secondary)}.focus-page__content-card{background:var(--white);border:1px solid var(--border);padding:20px 24px;margin-bottom:20px}.focus-page__announcement-text{font-size:15px;color:var(--text-primary);line-height:1.6;margin-bottom:8px}.focus-page__announcement-meta{font-size:12px;color:var(--text-light)}.focus-page__empty{color:var(--text-secondary);font-size:14px;text-align:center;padding:24px 0}.focus-page__acknowledge-section{background:var(--white);border:1px solid var(--border);padding:20px 24px;margin-bottom:20px}.focus-page__section-title{background:var(--navy);color:#fff;padding:8px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin:-20px -24px 16px}.focus-page__comment-input{width:100%;padding:10px 12px;border:1px solid var(--border);font-size:13px;font-family:var(--font);color:var(--text-primary);resize:vertical;margin-bottom:12px}.focus-page__comment-input:focus{outline:none;border-color:var(--navy)}.focus-page__acknowledge-btn{padding:10px 28px;background:var(--navy);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.focus-page__acknowledge-btn:hover:not(:disabled){background:var(--navy-light)}.focus-page__acknowledge-btn:disabled{opacity:.5;cursor:not-allowed}.focus-page__acknowledged-badge{background:#fff;color:#22c55e;border:1px solid #22c55e;padding:12px 20px;font-size:13px;font-weight:600;margin-bottom:20px}.focus-page__lists{display:grid;grid-template-columns:1fr 1fr;gap:16px}.focus-page__list-section{background:var(--white);border:1px solid var(--border);padding:16px 20px}.focus-page__trainer-list{list-style:none;padding:0;margin:0}.focus-page__trainer-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.focus-page__trainer-item:last-child{border-bottom:none}.focus-page__trainer-item--acknowledged{color:var(--text-primary)}.focus-page__trainer-item--pending{color:var(--text-secondary)}.focus-page__trainer-name{font-size:13px;font-weight:500}.focus-page__trainer-meta{font-size:11px;color:var(--text-light)}.focus-page__list-empty{font-size:13px;color:var(--text-light);text-align:center;padding:12px 0}.approval-actions{display:flex;gap:8px}.approval-actions__btn{padding:6px 14px;border:1px solid var(--border);font-size:12px;font-weight:600;cursor:pointer;background:var(--white);transition:background .15s}.approval-actions__btn:hover{opacity:.85}.approval-actions__btn--approve{color:#22c55e;border-color:#22c55e;background:#fff}.approval-actions__btn--approve:hover{background:#f0fdf4}.approval-actions__btn--decline{color:#ef4444;border-color:#ef4444;background:#fff}.approval-actions__btn--decline:hover{background:#fef2f2}.manager-dashboard{padding:0}.manager-dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.manager-dashboard__week-nav{display:flex;align-items:center;gap:12px}.manager-dashboard__week-nav button{padding:6px 14px;border:1px solid var(--border);background:var(--white);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.manager-dashboard__week-nav button:hover{border-color:var(--text-primary);color:var(--text-primary)}.manager-dashboard__week-label{font-size:13px;font-weight:600;color:var(--text-primary)}.manager-dashboard__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.manager-dashboard__section{background:var(--white);border:1px solid var(--border);padding:0;overflow:hidden}.manager-dashboard__section h2{background:var(--navy);color:#fff;padding:10px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0}.manager-dashboard__compliance,.manager-dashboard__trends,.manager-dashboard__drilldown{grid-column:1 / -1}.manager-dashboard__overall-rate{display:flex;align-items:center;gap:12px;padding:16px}.manager-dashboard__overall-rate .compliance-badge{font-size:18px;padding:4px 14px}.manager-dashboard__rate-label{font-size:13px;color:var(--text-secondary);font-weight:500}.manager-dashboard__table{width:100%;border-collapse:collapse;font-size:13px}.manager-dashboard__table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--border);background:var(--row-alt)}.manager-dashboard__table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.manager-dashboard__table tr:nth-child(2n) td{background:var(--row-alt)}.manager-dashboard__row{cursor:pointer;transition:background .1s}.manager-dashboard__row:hover td{background:#f3f4f6}.manager-dashboard__empty{font-size:13px;color:var(--text-light);text-align:center;padding:16px}.manager-dashboard__list{list-style:none;padding:0;margin:0}.manager-dashboard__list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}.manager-dashboard__list-item:last-child{border-bottom:none}.manager-dashboard__list-item:nth-child(2n){background:var(--row-alt)}.manager-dashboard__trainer-name{font-size:13px;font-weight:500;color:var(--text-primary)}.manager-dashboard__task-count{font-size:12px;color:var(--text-secondary)}.manager-dashboard__approval-item{flex-wrap:wrap}.manager-dashboard__approval-item>div{display:flex;align-items:center;gap:10px}.manager-dashboard__approval-date{font-size:12px;color:var(--text-light)}.manager-dashboard__drilldown-selector{display:flex;align-items:center;gap:10px;padding:16px}.manager-dashboard__drilldown-selector label{font-size:12px;font-weight:600;color:var(--text-secondary)}.manager-dashboard__drilldown-selector select{padding:6px 12px;border:1px solid var(--border);font-size:13px;color:var(--text-primary);background:var(--white);cursor:pointer}.manager-dashboard__drilldown-selector select:focus{outline:none;border-color:var(--navy)}.manager-dashboard__drilldown-detail{background:var(--row-alt);padding:16px 20px;border-top:1px solid var(--border)}.manager-dashboard__drilldown-detail h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.manager-dashboard__drilldown-detail p{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.holiday-page{padding:0}.holiday-page__title{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.4px;margin-bottom:20px}.holiday-page__error{color:var(--red);font-size:13px;margin-bottom:12px}.holiday-page__loading{padding:24px;text-align:center;font-size:13px;color:var(--text-secondary)}.holiday-grid{border:1px solid var(--border);overflow:hidden;background:var(--white)}.holiday-grid__header{display:grid;grid-template-columns:180px repeat(7,1fr);background:var(--navy);color:#fff}.holiday-grid__trainer-header,.holiday-grid__day-header{padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.holiday-grid__row{display:grid;grid-template-columns:180px repeat(7,1fr);border-bottom:1px solid var(--border)}.holiday-grid__row:last-child{border-bottom:none}.holiday-grid__row:nth-child(2n){background:var(--row-alt)}.holiday-grid__row:hover{background:#f3f4f6}.holiday-grid__trainer-cell{padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;border-right:1px solid var(--border)}.holiday-grid__cell{padding:8px 6px;display:flex;align-items:center;justify-content:center;min-height:40px;border-right:1px solid var(--border)}.holiday-grid__cell:last-child{border-right:none}.holiday-grid__cell--amber{background:#fef9c3}.holiday-grid__cell--green{background:#dcfce7}.holiday-grid__cell--red{background:#fecaca}.holiday-grid__cell--teal{background:#ccfbf1}.holiday-grid__status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.holiday-request-form{display:flex;align-items:flex-end;gap:12px;padding:16px 0;border-top:1px solid var(--border);margin-top:16px}.holiday-request-form__field label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.holiday-request-form__field select{padding:6px 12px;border:1px solid var(--border);font-size:13px;color:var(--text-primary);background:var(--white)}.holiday-request-form__submit{padding:8px 20px;background:var(--navy);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.holiday-request-form__submit:hover{background:var(--navy-light)}.focus-post-form{background:var(--white);border:1px solid var(--border);padding:20px 24px;margin-bottom:20px}.focus-post-form__title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.focus-post-form__textarea{width:100%;padding:10px 12px;border:1px solid var(--border);font-size:13px;font-family:var(--font);color:var(--text-primary);resize:vertical;margin-bottom:12px}.focus-post-form__textarea:focus{outline:none;border-color:var(--navy)}.focus-post-form__submit{padding:10px 28px;background:var(--navy);color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}.focus-post-form__submit:hover:not(:disabled){background:var(--navy-light)}.focus-post-form__submit:disabled{opacity:.5;cursor:not-allowed}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.compliance-badge--grey{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db}
