#app-dialog:has(.staff-calendar){width:min(1240px,calc(100vw - 24px))}.staff-calendar .shift-hero{background:linear-gradient(120deg,#e2f3ed,#eaf0ff 62%,#fcead6)}.staff-cal-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.staff-cal-filters .check{align-self:end;min-height:44px;box-sizing:border-box}.staff-cal-toolbar,.staff-cal-toolbar>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.staff-cal-toolbar{justify-content:space-between;margin:12px 0 20px}.staff-cal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.staff-cal-metrics>article{padding:17px;border:1px solid #d5e5de;border-radius:16px;background:#f6faf8;min-width:0}.staff-cal-metrics>article:nth-child(2),.staff-cal-metrics>article:nth-child(5){background:#eef3fd;border-color:#d8e2f6}.staff-cal-metrics>article:nth-child(4),.staff-cal-metrics>article:nth-child(6){background:#fff3df;border-color:#f1dfbd}.staff-cal-metrics small{display:block;color:#567367;line-height:1.5}.staff-cal-metrics strong{display:block;font-size:25px;margin-top:8px;overflow-wrap:anywhere}.staff-cal-legend,.staff-cal-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.staff-cal-legend>span,.staff-cal-tag{display:inline-flex;border-radius:30px;padding:5px 9px;font-size:12px;background:#e9f0f8;color:#315e86}.staff-cal-legend .extra,.staff-cal-tag.extra{background:#fff0cf;color:#805619}.staff-cal-legend .cancelled,.staff-cal-tag.cancelled{background:#edf0f0;color:#67746f}.staff-cal-legend .overlap,.staff-cal-tag.overlap{background:#ffe7e6;color:#963f42}.staff-cal-scroll{max-width:100%;overflow:auto;max-height:580px;border:1px solid #d4e2dd;border-radius:15px;background:#fff}.staff-cal-table{min-width:1200px}.staff-cal-table.period-14{min-width:1600px}.staff-cal-axis,.staff-cal-timeline-row{display:grid;grid-template-columns:200px minmax(0,1fr)}.staff-cal-axis{position:sticky;top:0;z-index:3;background:#eef4f1;border-bottom:1px solid #cedfd5;min-height:48px;align-items:center}.staff-cal-axis>strong{position:sticky;left:0;background:#eef4f1;height:100%;display:flex;align-items:center;padding:10px 14px;box-sizing:border-box}.staff-cal-date-grid{display:grid;text-align:center;font-size:12px;font-weight:600;align-items:center}.staff-cal-date-grid.days-1{grid-template-columns:1fr}.staff-cal-date-grid.days-7{grid-template-columns:repeat(7,minmax(0,1fr))}.staff-cal-date-grid.days-14{grid-template-columns:repeat(14,minmax(0,1fr))}.staff-cal-date-grid>span{border-left:1px solid #d4e2dc;padding:9px 4px}.staff-cal-timeline-row{border-bottom:1px solid #e0e9e4;align-items:stretch}.staff-cal-timeline-row:last-child{border:0}.staff-cal-person{position:sticky;left:0;z-index:2;background:#fff;padding:12px 14px;border-right:1px solid #d6e3dd;overflow-wrap:anywhere;display:flex;flex-direction:column;justify-content:center}.staff-cal-person small{display:block;color:#637a70}.staff-cal-track{display:block;width:100%;min-width:0;overflow:visible}.staff-cal-grid-line{stroke:#e0e9e6;stroke-width:1}.staff-cal-bar{cursor:pointer;outline:none}.staff-cal-base{fill:#dbe8f8;stroke:#5780ae;stroke-width:1}.staff-cal-work{fill:#5780ae;pointer-events:none}.staff-cal-bar.extra .staff-cal-base{fill:#fff0cb;stroke:#bc8530}.staff-cal-bar.extra .staff-cal-work{fill:#c69a45}.staff-cal-bar.cancelled .staff-cal-base{fill:#eef0ef;stroke:#82948b;stroke-dasharray:5 3}.staff-cal-bar.cancelled .staff-cal-work{fill:#b7c3bb;opacity:.5}.staff-cal-bar.overlap .staff-cal-base{stroke:#c4444f;stroke-width:3}.staff-cal-bar:focus .staff-cal-base,.staff-cal-bar:hover .staff-cal-base{stroke:#173d34;stroke-width:3}.staff-cal-bar text{fill:#fff;font:11px Arial,sans-serif;pointer-events:none}.staff-cal-empty-text{fill:#71857b;font:12px Arial,sans-serif}.staff-cal-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.staff-cal-day{border:1px solid #d7e4dd;border-radius:16px;background:#f8fbf9;padding:14px;min-width:0}.staff-cal-day>header{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid #d8e5dd;padding-bottom:12px}.staff-cal-day>header>strong{font-size:17px}.staff-cal-day>header>small{color:#557267}.staff-cal-plan{padding:14px;border:1px solid #d8e3df;border-radius:12px;background:#fff;margin-bottom:10px;min-width:0;overflow-wrap:anywhere}.staff-cal-plan h4{margin:8px 0}.staff-cal-plan p{margin:8px 0;font-size:13px}.staff-cal-plan>small{display:block;color:#5e766a;font-size:12px}.staff-cal-plan .button{margin-top:12px}.staff-cal-plan.cancelled{background:#f0f3f1}.staff-cal-tags{margin:0 0 8px}.staff-cal-tag{padding:4px 7px;font-size:11px}.staff-cal-list-person{margin:18px 0;padding:18px;border:1px solid #d7e4dd;border-radius:16px;background:#f8fbf9}.staff-cal-list-person>h3{margin:0}.staff-cal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.staff-cal-empty{padding:15px;background:#eef4f0;border-radius:12px;color:#587366}.staff-cal-loading{padding:18px;border-radius:14px;background:linear-gradient(110deg,#eaf5ef,#edf1fc);color:#305f4d}@media(max-width:900px){.staff-cal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-cal-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.staff-cal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-cal-calendar,.staff-cal-list{grid-template-columns:1fr}.staff-cal-toolbar>div{gap:6px}.staff-cal-toolbar .button{padding:9px 11px;font-size:12px}.staff-cal-day{padding:12px}.staff-cal-metrics>article{padding:13px}.staff-cal-metrics strong{font-size:21px}}@media(max-width:420px){.staff-cal-filters{grid-template-columns:1fr}.staff-cal-metrics>article{padding:11px}.staff-cal-metrics strong{font-size:19px}.staff-cal-scroll{max-height:440px}.staff-cal-list-person{padding:12px}.staff-cal-plan{padding:12px}}

.staff-cal-hours{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));font-size:11px;color:#597468}.staff-cal-hours>span{padding:4px 5px;border-left:1px solid #dae6df}@media(max-width:680px){.staff-cal-axis,.staff-cal-timeline-row{grid-template-columns:120px minmax(0,1fr)}.staff-cal-table{min-width:960px}.staff-cal-table.period-14{min-width:1520px}.staff-cal-person{padding:10px;font-size:12px}}

.staff-cal-legend .availability,.staff-cal-tag.availability{background:#f0e9ff;color:#624395}.staff-cal-plan.availability{border-color:#d8c8ed;background:linear-gradient(135deg,#faf7ff,#f4effb)}.staff-cal-bar.availability .staff-cal-base{fill:#e9def7;stroke:#8c67b2;stroke-dasharray:4 2}.staff-cal-bar.availability .staff-cal-work{fill:#8c67b2}.staff-cal-bar.availability.cancelled .staff-cal-work{fill:#b7c3bb;opacity:.5}.staff-cal-metrics>article:nth-child(3),.staff-cal-metrics>article:nth-child(6),.staff-cal-metrics>article:nth-child(7){background:#f6f0fc;border-color:#e0d2ef}
