.master-layout-body{gap:1.5rem;display:flex}.master-layout-list{border-right:1px solid #ddd;min-width:220px;padding-right:1rem}.master-layout-list ul{margin:0;padding:0;list-style:none}.master-layout-list button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.4rem .6rem;display:block}.master-layout-list button.selected{background:#e3f2fd;font-weight:700}.master-layout-detail{flex:1}.error-banner{color:#611a15;background:#fdecea;border:1px solid #f5c6cb;border-radius:4px;margin:.5rem 0;padding:.5rem .75rem}.site-form label{margin-bottom:.5rem;display:block}.site-form input{margin-top:.2rem;display:block}.site-actions{gap:.5rem;margin:.75rem 0;display:flex}.shift-types-section{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1rem}.shift-type-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.shift-type-row input{width:5rem}.shift-type-row input[type=text]{width:8rem}.employee-form label{margin-bottom:.5rem;display:block}.employee-form input{margin-top:.2rem;display:block}.employee-actions{gap:.5rem;margin:.75rem 0;display:flex}.checkbox-list{flex-wrap:wrap;gap:.75rem;margin:.5rem 0 1rem;display:flex}.checkbox-list label{align-items:center;gap:.3rem;font-weight:400;display:flex}.date-list-section{margin-top:1.5rem}.date-list-section ul{padding:0;list-style:none}.date-list-section li{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.date-add-row{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.holidays-page ul{padding:0;list-style:none}.holidays-page li{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.holidays-add-row{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.settings-page label{margin-bottom:.75rem;display:block}.settings-page input{margin-top:.2rem;display:block}.shift-grid-controls{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;display:flex}.shift-grid-site-checkboxes{flex-direction:column;gap:.3rem;display:flex}.shift-grid-site-checkboxes label{align-items:center;gap:.3rem;font-weight:400;display:flex}.shift-grid-status{font-weight:700}.shift-grid-table-wrapper{overflow-x:auto}.shift-grid-table{border-collapse:collapse;white-space:pre-line}.shift-grid-table th,.shift-grid-table td{vertical-align:top;border:1px solid #ddd;min-width:90px;padding:.3rem .5rem;font-size:.85rem}.shift-grid-table th{background:#f5f5f5;position:sticky;top:0}.shift-grid-table td.shift-grid-cell{cursor:pointer}.shift-grid-table td.shift-grid-cell:hover{background:#f0f7ff}.shift-grid-cell-panel{background:#fff;border-left:1px solid #ddd;width:280px;padding:1rem;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-2px 0 6px #0000001a}.shift-grid-cell-panel h2{margin-top:0;font-size:1rem}.shift-grid-cell-panel ul{padding:0;list-style:none}.shift-grid-cell-panel li{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.shift-grid-add-row{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.timeline-controls{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;display:flex}.timeline-site-radios{flex-direction:column;gap:.3rem;display:flex}.timeline-site-radios label{align-items:center;gap:.3rem;font-weight:400;display:flex}.timeline-scroll-wrapper{gap:.5rem;padding-bottom:1rem;display:flex;overflow-x:auto}.timeline-day-panel{border:1px solid #ddd;border-radius:4px;flex-shrink:0;min-width:160px}.timeline-day-header{border-bottom:1px solid #eee;padding:.3rem .5rem;font-size:.85rem;font-weight:700}.timeline-occupancy-band{height:8px}.timeline-day-body{min-height:120px;padding:.4rem}.timeline-shift-bar{white-space:pre-line;background:#90caf9;border-radius:3px;margin-bottom:.3rem;padding:.2rem .3rem;font-size:.75rem}.timeline-shift-bar.continuation{color:#555;background:#e1f0fb}.timeline-shift-bar-label{font-weight:700;display:block}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-nav{color:#fff;background:#1f2933;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.app-nav a{color:#fff;text-decoration:none}.app-title{margin-right:1rem;font-weight:700}.app-main{flex:1;padding:1.5rem}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
