.manager-tabs { position: sticky; top: 8px; z-index: 20; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 20px 0 14px; padding: 5px; border: 1px solid #dce6ef; border-radius: 14px; background: #f7fbfded; box-shadow: 0 8px 24px #1d314912; backdrop-filter: blur(12px); }
.manager-tab { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; margin: 0; padding: 11px 10px; border-radius: 10px; color: #607083; background: transparent; font-size: 13px; font-weight: 850; }
.manager-tab:hover { color: #0b4f71; background: #eaf4f9; }
.manager-tab.is-active { color: #fff; background: #0b4f71; box-shadow: 0 4px 10px #0b4f7133; }
.manager-tab small { display: inline-grid; min-width: 20px; min-height: 20px; padding: 0 5px; place-items: center; border-radius: 999px; color: #0b4f71; background: #e6f1f6; font-size: 10px; font-weight: 900; }
.manager-tab.is-active small { color: #0b4f71; background: #fff; }
.manager-section { min-width: 0; animation: manager-section-in .16s ease-out; }
.metrics .metric-secondary { display: none; }
.more-section { padding: 4px 0; }
.more-intro { margin: 10px 2px 16px; }
.more-intro h2 { margin: 3px 0 5px; }
.more-intro p { margin: 0; color: #607083; font-size: 13px; }
.more-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.more-link { display: grid; gap: 6px; min-height: 118px; margin: 0; padding: 17px; color: #142033; background: #fff; border: 1px solid #dce6ef; text-align: left; box-shadow: 0 8px 25px #1d31490f; }
.more-link:hover { color: #fff; background: #0b4f71; border-color: #0b4f71; }
.more-link b { font-size: 17px; }
.more-link span { color: #607083; font-size: 12px; line-height: 1.45; }
.more-link:hover span { color: #eaf5fb; }
@keyframes manager-section-in { from { opacity: .5; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.action-queue-card { margin-bottom: 16px; }
.action-queue-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.action-queue-head h2 { margin: 3px 0 0; }
.action-queue-count { display: inline-grid; min-width: 28px; height: 28px; padding: 0 8px; place-items: center; border-radius: 999px; color: #fff; background: #b42318; font-size: 12px; font-weight: 900; }
.action-queue-list { display: grid; gap: 7px; margin-top: 12px; }
.action-queue-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; margin: 0; padding: 10px 12px; border: 1px solid #f5c2bc; border-left: 4px solid #b42318; border-radius: 10px; color: #142033; background: #fff8f7; text-align: left; }
.action-queue-item:hover { border-color: #e85d04; background: #fff2ec; }
.action-queue-item.warning { border-color: #f2d49f; border-left-color: #d97706; background: #fffbf2; }
.action-queue-item span { display: grid; min-width: 0; gap: 3px; }
.action-queue-item b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.action-queue-item small { overflow: hidden; color: #607083; text-overflow: ellipsis; white-space: nowrap; }
.action-queue-item i { flex: none; color: #0b4f71; font-size: 12px; font-style: normal; font-weight: 850; }
.replacement-hint { margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; color: #0b4f71; background: #eaf5fb; font-size: 13px; line-height: 1.45; }
.replacement-suggestions { display: grid; gap: 3px; margin-top: 9px; padding: 10px 12px; border-radius: 9px; color: #425466; background: #f5f8fb; font-size: 13px; line-height: 1.4; }
.replacement-suggestions small { color: #607083; }
.bot-integration-card { cursor: default; }
.bot-integration-card b { display: flex; align-items: center; gap: 7px; }
.bot-integration-card small { color: #b54708; font-size: 11px; }
.integration-status { padding: 3px 7px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.integration-status.is-ready { color: #067647; background: #dcfae6; }
.integration-status.is-warning { color: #b54708; background: #fff0c7; }
.employee-candidates-card { margin-top: 16px; }
.employee-candidates-list { display: grid; gap: 10px; margin-top: 14px; }
.employee-candidate { display: grid; gap: 12px; padding: 13px; border: 1px solid #f1d7a7; border-left: 4px solid #d97706; border-radius: 11px; background: #fffbf2; }
.employee-candidate-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.employee-candidate-head div { display: grid; min-width: 0; gap: 4px; }
.employee-candidate-head b { color: #142033; font-size: 15px; }
.employee-candidate-head span, .employee-candidate-head small { color: #607083; font-size: 12px; }
.employee-candidate-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; align-items: end; }
.employee-candidate-note { grid-column: 1 / -1; padding: 9px 10px; border-radius: 8px; color: #704214; background: #fff7ed; font-size: 12px; line-height: 1.4; }
.employee-candidate-actions { display: flex; flex-wrap: wrap; gap: 7px; grid-column: 1 / -1; }
.employee-candidate-actions button { width: auto; margin: 0; }
.employee-candidate-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; grid-column: 1 / -1; }
.employee-candidate-link label { margin: 0; }
.employee-candidate-link button { width: auto; margin: 0; white-space: nowrap; }
.opening-confirm-dialog { width: min(520px, calc(100vw - 28px)); }
.opening-confirm-meta { margin: 0 0 14px; padding: 10px 12px; border-radius: 9px; color: #425466; background: #f1f7fa; line-height: 1.45; }
.opening-confirm-check { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #425466; font-size: 13px; }
.opening-confirm-check input { width: auto; margin: 0; }
.opening-confirm-hint { margin: 12px 0 0; color: #607083; font-size: 12px; line-height: 1.45; }
.team-card { margin-bottom: 16px; }
.team-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.team-column { min-width: 0; padding: 14px; border: 1px solid #dce6ef; border-radius: 12px; background: #f8fbfd; }
.team-column-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.team-column-head h3 { margin: 0; color: #142033; font-size: 16px; }
.team-column-head p { margin: 4px 0 0; color: #607083; font-size: 12px; line-height: 1.4; }
.team-count { flex: none; padding: 4px 8px; border-radius: 999px; color: #0b4f71; background: #e6f1f6; font-size: 11px; font-weight: 850; white-space: nowrap; }
.employee-list { display: grid; gap: 8px; margin-top: 12px; }
.employee-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid #dce6ef; border-left: 4px solid #8aaabd; border-radius: 10px; background: #fff; }
.employee-row.is-unassigned { border-color: #f1d7a7; border-left-color: #d97706; background: #fffbf2; }
.employee-row-main { display: grid; min-width: 0; gap: 4px; }
.employee-row-main b { overflow: hidden; color: #142033; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.employee-row-main span { overflow: hidden; color: #607083; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.employee-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.employee-row-actions button { width: auto; margin: 0; white-space: nowrap; }
.employee-row-actions select { min-width: 170px; margin: 0; }
.assigned-team { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e4ebf1; }
.employee-list-assigned { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.employee-archive { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e4ebf1; }
.employee-archive-note { margin: 7px 0 0; color: #607083; font-size: 12px; line-height: 1.45; }
.employee-person-card.is-archived { border-style: dashed; background: #f8fafc; }
.today-columns { margin-top: 0; }
.point-status-card { margin-top: 16px; }
.point-status-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.point-status-head h2 { margin: 3px 0 0; }
.point-status-summary { color: #607083; font-size: 12px; font-weight: 800; text-align: right; }
.point-status-board { display: grid; gap: 8px; margin-top: 14px; }
.point-status-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 13px; border: 1px solid #dce8ee; border-left: 4px solid #8aaabd; border-radius: 11px; background: #f8fbfc; transition: box-shadow .16s ease, transform .16s ease; }
.point-status-row.is-success { border-color: #c9e5d3; border-left-color: #2f9e63; background: #f5fcf7; }
.point-status-row.is-warning { border-color: #f1d7a7; border-left-color: #d97706; background: #fffbf2; }
.point-status-row.is-danger { border-color: #f3c7c2; border-left-color: #b42318; background: #fff8f7; }
.point-status-row.is-focused { transform: translateY(-2px); box-shadow: 0 0 0 3px #0b6a9133, 0 10px 24px #1d31491c; }
.point-status-main { display: grid; min-width: 0; gap: 8px; }
.point-status-name { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.point-status-name b { color: #142033; font-size: 15px; }
.point-status-pill { padding: 3px 7px; border-radius: 999px; color: #425466; background: #eaf1f4; font-size: 11px; font-weight: 850; }
.is-success .point-status-pill { color: #067647; background: #dcfae6; }
.is-warning .point-status-pill { color: #9a3412; background: #fff0c7; }
.is-danger .point-status-pill { color: #b42318; background: #ffe3e0; }
.point-status-details { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; color: #607083; font-size: 12px; }
.point-status-shift { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.point-status-shift b { color: #425466; font-size: 11px; }
.point-status-shift small { color: #708090; }
.point-status-opening { font-weight: 750; }
.point-status-incident { color: #b42318; font-weight: 800; }
.point-status-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; min-width: 0; }
.point-status-action { width: auto; min-width: 126px; margin: 0; white-space: nowrap; }
.point-status-primary { color: #fff; background: #0b6a91; }
.point-status-action-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.today-next { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 16px 18px; }
.today-next h2 { margin: 3px 0 4px; }
.today-next p { margin: 0; color: #607083; font-size: 13px; }
.today-next-actions { display: flex; flex: none; gap: 8px; }
.today-next-actions button { width: auto; margin: 0; white-space: nowrap; }
.control-columns { margin-top: 0; }

.workspace-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 8px 0 14px; }
.workspace-intro h2 { margin: 3px 0 4px; font-size: 26px; }
.workspace-intro p { max-width: 620px; margin: 0; color: #607083; font-size: 13px; line-height: 1.5; }
.pvz-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.pvz-card { display: grid; gap: 13px; min-width: 0; padding: 16px; border: 1px solid #dce8ee; border-left: 5px solid #8aaabd; border-radius: 14px; background: #fff; box-shadow: 0 7px 20px #1d31490b; }
.pvz-card.is-success { border-color: #c9e5d3; border-left-color: #2f9e63; background: #f9fefa; }
.pvz-card.is-warning { border-color: #f1d7a7; border-left-color: #d97706; background: #fffdf8; }
.pvz-card.is-danger { border-color: #f3c7c2; border-left-color: #b42318; background: #fffafa; }
.pvz-card-head, .pvz-card-meta, .pvz-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pvz-card-head { align-items: flex-start; }
.pvz-card-head h3 { margin: 0; color: #142033; font-size: 18px; }
.pvz-card-head small, .pvz-card-meta small { color: #708090; font-size: 12px; }
.pvz-card-status { flex: none; padding: 4px 8px; border-radius: 999px; color: #425466; background: #eaf1f4; font-size: 11px; font-weight: 850; white-space: nowrap; }
.pvz-card.is-success .pvz-card-status { color: #067647; background: #dcfae6; }
.pvz-card.is-warning .pvz-card-status { color: #9a3412; background: #fff0c7; }
.pvz-card.is-danger .pvz-card-status { color: #b42318; background: #ffe3e0; }
.pvz-card-meta { align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; color: #425466; font-size: 13px; }
.pvz-card-meta span { display: grid; gap: 3px; min-width: 130px; }
.pvz-card-meta b { color: #142033; }
.pvz-card-alert { padding: 8px 10px; border-radius: 9px; color: #9a3412; background: #fff3d6; font-size: 12px; line-height: 1.4; }
.pvz-card-actions { justify-content: flex-start; flex-wrap: wrap; padding-top: 3px; border-top: 1px solid #e6eef2; }
.pvz-card-actions button { width: auto; margin: 0; padding: 9px 11px; font-size: 12px; }
.pvz-card-actions button:first-child { color: #fff; background: #0b6a91; }
.claim-panel { margin-top: 14px; }
.employee-roster { display: grid; gap: 12px; margin-bottom: 14px; }
.employee-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 12px 0; padding: 11px 13px; border: 1px solid #dce6ef; border-radius: 12px; background: #f8fbfd; }
.employee-view-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 4px; border-radius: 10px; background: #eaf1f6; }
.employee-view-tab { display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 0; padding: 8px 11px; border-radius: 8px; color: #607083; background: transparent; font-size: 12px; font-weight: 850; }
.employee-view-tab:hover { color: #0b4f71; background: #f7fbfd; }
.employee-view-tab.is-active { color: #fff; background: #0b4f71; }
.employee-view-tab small { display: inline-grid; min-width: 18px; height: 18px; padding: 0 5px; place-items: center; border-radius: 999px; color: #0b4f71; background: #fff; font-size: 10px; }
.employee-toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.employee-toolbar label { display: grid; gap: 5px; min-width: min(270px, 100%); color: #607083; font-size: 12px; font-weight: 750; }
.employee-toolbar select { margin: 0; }
.employee-toolbar button { width: auto; margin: 0; white-space: nowrap; }
.employee-roster-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: #142033; }
.employee-roster-head span { color: #607083; font-size: 12px; }
.employee-group { display: grid; gap: 8px; }
.employee-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.employee-group-head h3 { margin: 0; color: #142033; font-size: 17px; }
.employee-group-head span { color: #607083; font-size: 12px; font-weight: 800; }
.employee-person-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.employee-person-card { display: grid; gap: 10px; min-width: 0; padding: 13px; border: 1px solid #dce8ee; border-left: 4px solid #8aaabd; border-radius: 12px; background: #fff; }
.employee-person-card-compact { cursor: pointer; transition: box-shadow .16s ease, transform .16s ease; }
.employee-person-card-compact:hover, .employee-person-card-compact:focus-visible { outline: 0; transform: translateY(-1px); box-shadow: 0 0 0 3px #0b6a9126, 0 8px 20px #1d31491a; }
.employee-person-card.is-working { border-left-color: #2f9e63; background: #f8fdf9; }
.employee-person-card.is-free { border-left-color: #6b8eaa; }
.employee-person-card.is-warning { border-left-color: #d97706; background: #fffdf7; }
.employee-person-card.is-unassigned { border-left-color: #b42318; background: #fff9f8; }
.employee-person-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.employee-person-head b { color: #142033; font-size: 15px; }
.employee-person-head small { display: block; margin-top: 3px; color: #607083; font-size: 12px; }
.employee-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.employee-badges span { padding: 3px 7px; border-radius: 999px; color: #425466; background: #edf3f8; font-size: 11px; font-weight: 800; }
.employee-badges .telegram-connect-button { width: auto; margin: 0; padding: 3px 7px; border: 0; border-radius: 999px; color: #0b5f82; background: #e4f4fb; font-size: 11px; font-weight: 850; }
.employee-badges .telegram-connect-button:hover { color: #fff; background: #0b6a91; }
.employee-badges .is-money { color: #067647; background: #dcfae6; }
.employee-status-badge { color: #0b4f71 !important; background: #eaf5fb !important; }
.employee-person-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; color: #607083; font-size: 12px; }
.employee-person-details span { display: grid; gap: 3px; }
.employee-person-details b { color: #425466; font-size: 13px; }
.employee-person-actions { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 9px; border-top: 1px solid #e6eef2; }
.employee-person-actions button { width: auto; margin: 0; padding: 8px 10px; font-size: 12px; }
.employee-person-actions button:first-child { color: #fff; background: #0b6a91; }
.employee-person-empty { padding: 12px; border-radius: 10px; color: #708090; background: #f5f8fb; font-size: 13px; }
.employee-dialog { width: min(720px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 18px; box-shadow: 0 24px 80px #0d223a4d; }
.employee-dialog::backdrop { background: #0c1c2e99; backdrop-filter: blur(3px); }
.employee-dialog form { padding: 22px; }
.employee-detail-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.employee-detail-meta span { padding: 5px 8px; border-radius: 999px; color: #425466; background: #edf3f8; font-size: 11px; font-weight: 800; }
.employee-detail-meta .is-active { color: #067647; background: #dcfae6; }
.employee-detail-meta .is-inactive { color: #607083; background: #e9eef2; }
.employee-profile-fields { margin-bottom: 16px; }
.employee-detail-calendar, .employee-detail-claims { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e4ebf1; }
.employee-detail-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.employee-detail-section-head div { display: grid; gap: 3px; }
.employee-detail-section-head small { color: #607083; font-size: 12px; }
.employee-calendar-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #607083; font-size: 11px; }
.employee-calendar-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; background: #dce6ef; }
.employee-calendar-legend i.is-work { background: #2f9e63; }
.employee-calendar-legend i.is-inventory { background: #d97706; }
.employee-calendar-legend i.is-free { background: #dce6ef; }
.employee-calendar-weekdays, .employee-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.employee-calendar-weekdays { margin-bottom: 5px; color: #708090; font-size: 10px; font-weight: 850; text-align: center; }
.employee-calendar-cell { display: grid; min-height: 42px; margin: 0; padding: 5px; place-items: center; border: 1px solid #dce6ef; border-radius: 8px; color: #425466; background: #f8fbfd; font-size: 12px; }
.employee-calendar-cell small { color: #607083; font-size: 9px; font-weight: 750; }
.employee-calendar-cell.is-work { border-color: #bfe0ca; color: #067647; background: #effbf2; }
.employee-calendar-cell.is-inventory { border-color: #f1d7a7; color: #9a3412; background: #fff7e5; }
.employee-calendar-cell.is-selected { box-shadow: 0 0 0 2px #0b6a91; }
.employee-calendar-cell.is-empty { border-color: transparent; background: transparent; }
.employee-detail-claim-list { display: grid; gap: 7px; }
.employee-detail-claim { display: grid; gap: 3px; padding: 10px 11px; border-left: 3px solid #d97706; border-radius: 8px; background: #fffbf2; font-size: 12px; }
.employee-detail-claim span, .employee-detail-claim small { color: #607083; }
.employee-detail-actions { padding-top: 16px; border-top: 1px solid #e4ebf1; }

.manager-columns { grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); }
.subheading { margin-top: 22px; }
.calendar-card { margin-top: 16px; }
.pattern-panel { margin-top: 16px; }
.schedule-commandbar { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(180px, 1fr) auto auto; align-items: end; gap: 10px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #e4ebf1; }
.schedule-commandbar button { width: auto; margin: 0; white-space: nowrap; }
.calendar-howto { display: flex; gap: 9px; margin: -4px 0 16px; padding: 11px 13px; border-radius: 10px; color: #425466; background: #fff7ed; font-size: 13px; line-height: 1.45; }
.calendar-howto b { flex: none; color: #b54708; }
.payroll-guide-card { margin-top: 16px; }
.payroll-guide-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.payroll-guide-head h2 { margin: 3px 0 0; font-size: 22px; }
.payroll-guide-head .eyebrow { margin: 0; }
.period-chip { padding: 8px 11px; border-radius: 999px; color: #0b4f71; background: #eaf5fb; font-size: 12px; font-weight: 850; white-space: nowrap; }
.pay-rate-strip { display: flex; gap: 8px; margin: 16px 0 12px; overflow-x: auto; padding-bottom: 3px; }
.pay-rate-strip span { display: grid; flex: 0 0 auto; min-width: 128px; gap: 3px; padding: 10px 12px; border: 1px solid #cde5d8; border-radius: 10px; color: #067647; background: #f0fdf4; font-size: 13px; font-weight: 850; }
.pay-rate-strip span b { color: #425466; font-size: 11px; }
.pay-rate-strip span.is-missing { color: #b42318; border-color: #f6c7c2; background: #fff5f4; }
.payroll-formula { margin: 0; padding: 13px 14px; border-left: 4px solid #0b6a91; border-radius: 0 10px 10px 0; color: #425466; background: #f1f7fa; font-size: 13px; line-height: 1.55; }
.payroll-formula b { color: #173247; }
.manager-payroll-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 13px; }
.manager-payroll-metrics article { min-width: 0; padding: 13px; border-radius: 11px; background: #102a43; }
.manager-payroll-metrics span, .manager-payroll-metrics small { display: block; color: #bfdbeb; font-size: 11px; }
.manager-payroll-metrics strong { display: block; margin: 5px 0 3px; color: #fff; font-size: 21px; }
.payroll-lines { display: grid; gap: 7px; }
.payroll-line { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border-radius: 10px; background: #f5f8fb; }
.payroll-line div { display: grid; min-width: 0; gap: 3px; }
.payroll-line span { overflow: hidden; color: #607083; font-size: 12px; text-overflow: ellipsis; }
.payroll-line strong { color: #0b4f71; font-size: 13px; text-align: right; white-space: nowrap; }
.payroll-line.is-missing { background: #fff0ee; }
.payroll-line.is-missing strong { color: #b42318; }
.payroll-note { margin: 12px 0 0; color: #708090; font-size: 12px; }
.quick-actions { display: flex; gap: 9px; margin: 12px 0 0; overflow-x: auto; padding: 2px 1px 4px; }
.quick-actions button { width: auto; margin: 0; color: #0b4f71; background: #fff; border: 1px solid #d4e1ea; box-shadow: 0 5px 14px #1d314912; white-space: nowrap; }
.quick-actions button:hover { color: #fff; background: #0b4f71; }
.quick-actions span { display: inline-grid; width: 22px; height: 22px; margin-right: 3px; place-items: center; border-radius: 7px; color: #fff; background: #e85d04; }
.operation-panels { align-items: start; }
.operation-panel { position: relative; scroll-margin-top: 12px; }
.operation-panel summary { display: grid; gap: 3px; cursor: pointer; list-style: none; }
.operation-panel summary::-webkit-details-marker { display: none; }
.operation-panel summary::after { content: '+'; position: absolute; right: 18px; color: #0b4f71; font-size: 24px; font-weight: 500; }
.operation-panel[open] summary::after { content: '−'; }
.operation-panel summary span { padding-right: 28px; color: #142033; font-size: 18px; font-weight: 850; }
.operation-panel summary small { color: #708090; font-size: 12px; font-weight: 500; }
.operation-panel[open] summary { margin-bottom: 18px; padding-bottom: 13px; border-bottom: 1px solid #e5edf3; }
.operation-panel .hint { margin-top: -8px; }
#inventoryRecognition { display: grid; gap: 9px; margin-bottom: 18px; }
.inventory-recognition-row { display: grid; gap: 6px; padding: 12px; border: 1px solid #dce8ee; border-left: 4px solid #0b6a91; border-radius: 11px; background: #f8fbfd; }
.inventory-recognition-row.warning { border-color: #f1d7a7; border-left-color: #d97706; background: #fffbf2; }
.inventory-recognition-row b { color: #142033; }
.inventory-recognition-row span, .inventory-recognition-row small { color: #607083; font-size: 12px; line-height: 1.4; }
.row-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.row-actions button { width: auto; margin: 0; padding: 8px 10px; font-size: 12px; }
.row-actions .secondary-action { color: #0b4f71; background: #eaf5fb; }
.availability { margin: 12px 0 0; padding: 10px; border-radius: 9px; background: #f5f8fb; line-height: 1.45; }
.shift-editor-context { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; color: #0b4f71; background: #eaf5fb; font-size: 13px; font-weight: 850; }
.shift-time-summary { margin-top: 12px; padding: 11px 12px; border-radius: 10px; color: #425466; background: #f1f7fa; font-size: 13px; font-weight: 800; }
.shift-editor-error { margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; color: #b42318; background: #fff0ee; font-size: 13px; line-height: 1.45; }
.adjustment-warning { margin: -5px 0 15px; padding: 12px; border-radius: 10px; color: #704214; background: #fff7ed; font-size: 13px; line-height: 1.5; }
.adjustment-warning b { color: #9a3412; }
.pending-adjustment { border-left: 3px solid #f59e0b; background: #fffaf0; }
.shift-rate-preview { margin-top: 12px; padding: 11px 12px; border-radius: 10px; color: #067647; background: #ecfdf3; font-size: 13px; font-weight: 850; line-height: 1.45; }
.shift-rate-preview.is-missing { color: #b42318; background: #fff0ee; }

.shift-dialog { width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 18px; box-shadow: 0 24px 80px #0d223a4d; }
.shift-dialog::backdrop { background: #0c1c2e99; backdrop-filter: blur(3px); }
.shift-dialog form { padding: 22px; }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.dialog-head h2 { margin: 3px 0 0; font-size: 24px; }
.dialog-close { display: grid; width: 38px; height: 38px; margin: 0; padding: 0; place-items: center; border-radius: 50%; color: #526174; background: #edf3f8; font-size: 25px; line-height: 1; }
.dialog-close:hover { color: #fff; background: #0b4f71; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.dialog-actions button { width: auto; margin: 0; }
.telegram-link-dialog { width: min(520px, calc(100% - 24px)); padding: 0; border: 0; border-radius: 18px; box-shadow: 0 24px 80px #0d223a4d; }
.telegram-link-dialog::backdrop { background: #0c1c2e99; backdrop-filter: blur(3px); }
.telegram-link-dialog form { padding: 22px; }
.telegram-link-steps { margin: 14px 0; padding-left: 22px; color: #425466; line-height: 1.55; }
.telegram-link-code-wrap { display: grid; gap: 5px; padding: 14px; border-radius: 12px; color: #425466; background: #eef8fc; }
.telegram-link-code-wrap span { font-size: 12px; font-weight: 750; }
.telegram-link-code-wrap strong { color: #0b5f82; font-size: 24px; letter-spacing: 1px; }
.telegram-open-link { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 14px; border-radius: 9px; color: #fff; background: #0b6a91; font-weight: 850; text-decoration: none; }
.telegram-open-link:hover { background: #084d6a; }
.danger-action { color: #b42318; background: #fff0ee; }
.danger-action:hover { color: #fff; background: #b42318; }
.cancel-panel { margin-top: 14px; padding: 13px; border-radius: 11px; background: #fff0ee; }
.cancel-panel button { width: 100%; }

@media (max-width: 900px) {
  .schedule-commandbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .schedule-commandbar button { width: 100%; }
}
@media (max-width: 820px) {
  .manager-tabs { top: 5px; }
  .today-next { align-items: flex-start; flex-direction: column; }
  .today-next-actions { width: 100%; }
  .today-next-actions button { flex: 1 1 0; min-width: 0; }
  .manager-columns { grid-template-columns: 1fr; }
  .manager-payroll-metrics { grid-template-columns: 1fr; }
  .more-grid { grid-template-columns: 1fr; }
  .pvz-workspace, .employee-person-list { grid-template-columns: 1fr; }
  .team-columns { grid-template-columns: 1fr; }
  .employee-list-assigned { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .manager-tabs { top: 4px; gap: 3px; margin: 12px 0 10px; padding: 4px; border-radius: 12px; }
  .manager-tab { display: grid; gap: 2px; padding: 8px 3px; font-size: 11px; line-height: 1.1; }
  .manager-tab small { min-width: 17px; min-height: 17px; margin: 0 auto; padding: 0 4px; font-size: 9px; }
  .metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .metrics article { min-width: 0; }
  .point-status-head { display: grid; gap: 4px; }
  .point-status-summary { text-align: left; }
  .workspace-intro { display: grid; gap: 5px; }
  .workspace-intro h2 { font-size: 23px; }
  .pvz-card-meta { display: grid; grid-template-columns: 1fr 1fr; }
  .pvz-card-meta span { min-width: 0; }
  .pvz-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pvz-card-actions button { width: 100%; }
  .employee-person-details { grid-template-columns: 1fr 1fr; }
  .employee-person-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .employee-person-actions button { width: 100%; }
  .employee-toolbar { align-items: stretch; flex-direction: column; }
  .employee-view-tabs { width: 100%; }
  .employee-view-tab { flex: 1 1 0; justify-content: center; }
  .employee-toolbar-actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .employee-toolbar-actions button { width: 100%; }
  .employee-roster-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .point-status-row { grid-template-columns: 1fr; gap: 10px; }
  .point-status-actions { grid-column: 1; justify-content: flex-start; }
  .point-status-action { width: 100%; }
  .point-status-action-link { width: 100%; }
  .today-next { padding: 14px; }
  .today-next-actions button { white-space: normal; line-height: 1.15; }
  .action-queue-item { align-items: flex-start; flex-direction: column; gap: 5px; }
  .action-queue-item i { align-self: flex-end; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .wide { grid-column: auto; }
  .employee-candidate-form { grid-template-columns: 1fr; }
  .employee-candidate-link { grid-template-columns: 1fr; }
  .employee-candidate-link button { width: 100%; }
  .employee-candidate-actions { grid-column: auto; }
  .employee-candidate-actions button { width: 100%; }
  .employee-row { grid-template-columns: 1fr; align-items: stretch; }
  .employee-row-actions { justify-content: stretch; }
  .employee-row-actions button, .employee-row-actions select { width: 100%; min-width: 0; }
  .team-column-head { display: grid; gap: 7px; }
  .team-count { justify-self: start; }
  .calendar-card { padding: 13px; }
  .schedule-commandbar { grid-template-columns: 1fr 1fr; gap: 8px; }
  .schedule-commandbar label { grid-column: span 1; }
  .schedule-commandbar button { padding: 10px 8px; font-size: 12px; }
  .calendar-howto { display: grid; gap: 3px; }
  .payroll-guide-head { align-items: flex-start; }
  .period-chip { padding: 7px 9px; }
  .payroll-line { align-items: flex-start; flex-direction: column; gap: 6px; }
  .payroll-line strong { text-align: left; }
  .shift-dialog { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .shift-dialog form { padding: 18px 16px max(20px, env(safe-area-inset-bottom)); }
  .telegram-link-dialog { width: 100%; max-width: none; margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .telegram-link-dialog form { padding: 18px 16px max(20px, env(safe-area-inset-bottom)); }
  .employee-dialog { width: 100%; max-width: none; max-height: 92dvh; margin: auto 0 0; border-radius: 20px 20px 0 0; }
  .employee-dialog form { padding: 18px 16px max(20px, env(safe-area-inset-bottom)); }
  .employee-detail-section-head { display: grid; gap: 8px; }
  .employee-calendar-cell { min-height: 38px; padding: 4px 2px; }
  .dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .dialog-actions button { width: 100%; }
  .dialog-actions button:first-child { grid-column: 1 / -1; }
}

.employee-reserve-panel { margin-top: 14px; padding: 13px; border: 1px solid #dce6ef; border-radius: 12px; background: #f7fbfd; }
.employee-reserve-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.employee-reserve-head h3 { margin: 2px 0 0; font-size: 16px; }
.employee-reserve-panel .hint { margin: 9px 0 0; }
.employee-reserve-actions { margin-top: 10px; }
.reserve-toggle { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 8px; }
.reserve-toggle input { width: auto; }
