.public-header-actions{display:flex;align-items:center;gap:12px}.public-header-actions a{text-decoration:none}.schedule-public-page{min-height:100vh;background:#f5f6fa}.schedule-public-content{max-width:1700px;margin:0 auto;padding:28px 32px 45px}.schedule-page{min-width:0}.schedule-heading{align-items:flex-end}.month-navigator{display:flex;align-items:center;gap:8px;padding:8px}.month-navigator input{border:0;background:transparent;font:inherit;font-weight:700;padding:7px;min-width:145px}.schedule-legend{display:flex;gap:13px;flex-wrap:wrap;margin:0 0 14px;color:var(--muted);font-size:.7rem}.schedule-legend span{display:flex;align-items:center;gap:5px}.schedule-legend i{width:13px;height:13px;border:1px solid #d8dce4;border-radius:3px;background:#fff}.schedule-legend i.off{background:#38db55;border-color:#2cc446}.schedule-legend i.duty{background:#ffe53b;border-color:#e3ca19}.schedule-legend i.absence{background:#ef2b29;border-color:#cf1b19}.schedule-legend i.sick{background:#ed19b8;border-color:#cd109c}.schedule-legend i.vacation{background:#2737df;border-color:#1d2bc6}.schedule-legend i.balanced{background:#20dfe4;border-color:#16bdc1}.schedule-table-wrap{overflow:auto;max-height:calc(100vh - 245px);border-radius:12px}.work-schedule-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:.69rem}.work-schedule-table th,.work-schedule-table td{height:38px;border-right:1px solid #dfe2e8;border-bottom:1px solid #dfe2e8;padding:0;text-align:center;background:#fff}.work-schedule-table thead th{position:sticky;top:0;z-index:7;background:#f3f5f8}.work-schedule-table .employee-column{position:sticky;left:0;z-index:5;min-width:170px;max-width:170px;padding:0 12px;text-align:left;background:#fff}.work-schedule-table thead .employee-column{z-index:9;background:#f3f5f8;text-transform:capitalize}.work-schedule-table .day-column{min-width:45px}.work-schedule-table .day-column b,.work-schedule-table .day-column span{display:block}.work-schedule-table .day-column span{font-size:.6rem;color:var(--muted);font-weight:500;text-transform:uppercase}.work-schedule-table .weekend{background:#f0f1ff}.work-schedule-table thead .weekend{background:#e6e8ff}.work-schedule-table .duty-column{position:sticky;right:0;z-index:5;min-width:72px;background:#f7f8fa;border-left:2px solid #cfd4dd}.work-schedule-table thead .duty-column{z-index:9;font-size:.62rem}.work-schedule-table .schedule-group th{position:sticky;left:0;z-index:6;height:27px;background:#e7e9ed;border-bottom:1px solid #aeb5c0;text-align:center;font-weight:800;font-size:.7rem;letter-spacing:.02em}.shift-cell{min-width:45px;position:relative;font-weight:650}.shift-cell button{appearance:none;border:0;background:transparent;width:100%;height:100%;padding:0;color:inherit;font:inherit;cursor:pointer}.shift-cell button:hover{outline:2px solid var(--accent);outline-offset:-2px}.shift-cell.off{background:#38db55}.shift-cell.vacation{background:#2737df;color:#fff}.shift-cell.sick{background:#ed19b8;color:#fff}.shift-cell.absence{background:#ef2b29;color:#fff}.shift-cell.balanced{background:#20dfe4}.shift-cell.duty{background:#ffe53b;color:#172033}.shift-cell i{position:absolute;right:2px;top:2px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#172033;color:#fff;font-size:.52rem;font-style:normal}.shift-dialog{width:min(460px,calc(100vw - 30px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(14,24,43,.25)}.shift-dialog::backdrop{background:rgba(16,25,42,.45)}.shift-dialog form{display:grid;gap:15px;padding:22px}.shift-dialog header{display:flex;justify-content:space-between;align-items:flex-start}.shift-dialog h2{margin:2px 0 0}.dialog-close{border:0;background:#f0f2f5;border-radius:8px;width:32px;height:32px;font-size:1.3rem;cursor:pointer}.shift-dialog label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:700}.shift-dialog input,.shift-dialog select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;font:inherit;color:var(--text)}.shift-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shift-dialog .duty-check{display:flex;align-items:center;gap:9px;background:#fff8c8;border-radius:9px;padding:11px;color:#5e5200}.shift-dialog .duty-check input{width:auto}.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:3px}.danger{color:var(--red)}
@media(max-width:760px){.public-header{align-items:flex-start;gap:12px}.public-header-actions{align-items:flex-end;flex-direction:column}.schedule-public-content{padding:18px 12px 35px}.schedule-heading{align-items:flex-start}.schedule-table-wrap{max-height:calc(100vh - 300px)}.work-schedule-table .employee-column{min-width:125px;max-width:125px;padding:0 8px}.work-schedule-table .day-column,.shift-cell{min-width:42px}.dialog-actions{grid-template-columns:1fr 1fr}.dialog-actions span{display:none}}
.schedule-heading-actions{display:flex;align-items:center;gap:10px}.direct-schedule-link{text-decoration:none;white-space:nowrap}
@media(max-width:760px){.schedule-heading-actions{align-items:flex-start;flex-direction:column}}
