/* calendar.css - full verbatim content will be inserted */
.cal-mask{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999
}

.cal{
  background:var(--panel);
  border:2px solid var(--line);
  border-radius:14px;
  padding:16px;
  min-width:960px;
  max-width:96vw
}

.cal-h{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px
}

.cal-h .title{
  font-weight:700;
  letter-spacing:.3px
}

.cal-h .nav{
  display:flex;
  gap:8px
}

.cal-btn{
  background:#173239;
  border:1px solid var(--line);
  color:#fff;
  padding:8px 12px;
  border-radius:10px;
  cursor:pointer;
  font-size:14px
}
.cal-btn:hover{filter:brightness(1.05)}

.cal-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px
}

.cal-dow{
  font-size:13px;
  opacity:.8;
  text-align:center
}

.cal-cell{
  position:relative;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:12px;
  cursor:pointer;
  font-size:22px
}
.cal-cell:hover{background:#13222a}
.cal-cell.muted{opacity:.45}

.cal-foot{
  display:flex;
  justify-content:flex-end;
  margin-top:12px
}

.cal-tip{
  position:fixed;
  z-index:10000;
  pointer-events:none;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  max-width:360px;
  box-shadow:0 6px 22px rgba(0,0,0,.35);
  display:none
}
.cal-tip .hdr{
  font-weight:700;
  margin-bottom:6px
}
.cal-tip .item{
  display:flex;
  gap:8px;
  align-items:center;
  margin:4px 0
}
.cal-tip .time{opacity:.9;min-width:64px}
.cal-tip .name{flex:1}
.cal-tip .chan{opacity:.8}

.cal-dot{
  position:absolute;
  left:50%;
  bottom:6px;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#ff4e4e;
  box-shadow:0 0 0 1px rgba(0,0,0,.25)
}
