body{
font-family:Arial;
margin:0;
background:#f7f7f7;
}

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:10px;
background:#333;
color:white;
}

#top-right{
display:flex;
gap:10px;
align-items:center;
}

#calendar{
padding:10px;
}

.day-row{
display:grid;
grid-template-columns:200px 40px 1fr 1fr 40px 1fr 1fr;
gap:5px;
margin-bottom:6px;
padding:6px;
background:white;
border-radius:4px;
}

.day-today{
border:3px solid #4caf50;
}

.day-closed{
opacity:0.4;
}

.shift-status{
width:30px;
height:30px;
border-radius:50%;
}

.status-red{background:#e74c3c;}
.status-orange{background:#f39c12;}
.status-green{background:#2ecc71;}
.status-gray{background:gray;}

.volunteer{
border:1px solid #ddd;
padding:6px;
cursor:pointer;
background:#fafafa;
}

.volunteer.empty{
background:#ecf0f1;
}

.highlight{
background:yellow;
}

.hidden{
display:none;
}

.popup{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
display:none;
}

.popup.visible{
display:flex;
align-items:center;
justify-content:center;
}

.popup-inner{
background:white;
padding:20px;
border-radius:6px;
width:300px;
position:relative;
}

.popup-close{
position:absolute;
top:6px;
right:8px;
cursor:pointer;
}

.error{
color:red;
margin-top:5px;
}

input,select,button{
padding:6px;
}

.shake{
animation:shake 0.4s;
}

@keyframes shake{
0%{transform:translateX(0)}
25%{transform:translateX(-5px)}
50%{transform:translateX(5px)}
75%{transform:translateX(-5px)}
100%{transform:translateX(0)}
}

@media(max-width:700px){

.day-row{
grid-template-columns:140px 30px 1fr 1fr 30px 1fr 1fr;
font-size:12px;
}

}

.autocomplete-suggestions {
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    max-height: 150px;
    overflow-y: auto;
    z-index: 1000;
}

.autocomplete-suggestions div {
    padding: 4px 8px;
    cursor: pointer;
}

.autocomplete-suggestions div:hover {
    background-color: #eee;
}

.volunteer-input {
    position: relative;
    width: 120px;
    padding: 2px 4px;
}
